diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000000..412eeda78dc --- /dev/null +++ b/.gitattributes @@ -0,0 +1,22 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp +*.sln merge=union +*.csproj merge=union +*.vbproj merge=union +*.fsproj merge=union +*.dbproj merge=union + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000000..41157decdae --- /dev/null +++ b/.gitignore @@ -0,0 +1,152 @@ +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results + +[Dd]ebug/ +[Rr]elease/ +x64/ +build/ +[Bb]in/ +[Oo]bj/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml +*.pubxml + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +#packages/ + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + +############# +## Windows detritus +############# + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac crap +.DS_Store diff --git a/Perspex.UnitTests/Perspex.UnitTests.csproj b/Perspex.UnitTests/Perspex.UnitTests.csproj new file mode 100644 index 00000000000..33ff73f5aaf --- /dev/null +++ b/Perspex.UnitTests/Perspex.UnitTests.csproj @@ -0,0 +1,105 @@ + + + + Debug + AnyCPU + {2905FF23-53FB-45E6-AA49-6AF47A172056} + Library + Properties + Perspex.UnitTests + Perspex.UnitTests + v4.5 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + False + ..\packages\Rx-Core.2.1.30214.0\lib\Net45\System.Reactive.Core.dll + + + False + ..\packages\Rx-Interfaces.2.1.30214.0\lib\Net45\System.Reactive.Interfaces.dll + + + False + ..\packages\Rx-Linq.2.1.30214.0\lib\Net45\System.Reactive.Linq.dll + + + + + + + + + + + + + + + + + + + + + + {3c9f40da-d2a5-43a1-a272-e965876c6d46} + Perspex + + + + + + + + + + False + + + False + + + False + + + False + + + + + + + + \ No newline at end of file diff --git a/Perspex.UnitTests/PerspexObjectTests.cs b/Perspex.UnitTests/PerspexObjectTests.cs new file mode 100644 index 00000000000..e6ddeec82d3 --- /dev/null +++ b/Perspex.UnitTests/PerspexObjectTests.cs @@ -0,0 +1,313 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.UnitTests +{ + using System; + using System.Linq; + using System.Reactive.Linq; + using Microsoft.VisualStudio.TestTools.UnitTesting; + + [TestClass] + public class PerspexObjectTests + { + [TestInitialize] + public void Initialize() + { + // Ensure properties are registered. + PerspexProperty p; + p = Class1.FooProperty; + p = Class2.BarProperty; + } + + [TestMethod] + public void GetProperties_Returns_Registered_Properties() + { + string[] names = PerspexObject.GetProperties(typeof(Class1)).Select(x => x.Name).ToArray(); + + CollectionAssert.AreEqual(new[] { "Foo", "Baz" }, names); + } + + [TestMethod] + public void GetProperties_Returns_Registered_Properties_For_Base_Types() + { + string[] names = PerspexObject.GetProperties(typeof(Class2)).Select(x => x.Name).ToArray(); + + CollectionAssert.AreEqual(new[] { "Bar", "Foo", "Baz" }, names); + } + + [TestMethod] + public void GetValue_Returns_Default_Value() + { + Class1 target = new Class1(); + + Assert.AreEqual("foodefault", target.GetValue(Class1.FooProperty)); + } + + [TestMethod] + public void GetValue_Returns_Overridden_Default_Value() + { + Class2 target = new Class2(); + + Assert.AreEqual("foooverride", target.GetValue(Class1.FooProperty)); + } + + [TestMethod] + public void GetValue_Returns_Set_Value() + { + Class1 target = new Class1(); + + target.SetValue(Class1.FooProperty, "newvalue"); + + Assert.AreEqual("newvalue", target.GetValue(Class1.FooProperty)); + } + + [TestMethod] + public void GetValue_Returns_Inherited_Value() + { + Class1 parent = new Class1(); + Class2 child = new Class2 { Parent = parent }; + + parent.SetValue(Class1.BazProperty, "changed"); + + Assert.AreEqual("changed", child.GetValue(Class1.BazProperty)); + } + + [TestMethod] + public void ClearValue_Clears_Value() + { + Class1 target = new Class1(); + + target.SetValue(Class1.FooProperty, "newvalue"); + target.ClearValue(Class1.FooProperty); + + Assert.AreEqual("foodefault", target.GetValue(Class1.FooProperty)); + } + + [TestMethod] + public void SetValue_Raises_PropertyChanged() + { + Class1 target = new Class1(); + bool raised = false; + + target.PropertyChanged += (s, e) => + { + raised = s == target && + e.Property == Class1.FooProperty && + (string)e.OldValue == "foodefault" && + (string)e.NewValue == "newvalue"; + }; + + target.SetValue(Class1.FooProperty, "newvalue"); + + Assert.IsTrue(raised); + } + + [TestMethod] + public void SetValue_Doesnt_Raise_PropertyChanged_If_Value_Not_Changed() + { + Class1 target = new Class1(); + bool raised = false; + + target.PropertyChanged += (s, e) => + { + raised = true; + }; + + target.SetValue(Class1.FooProperty, "foodefault"); + + Assert.IsFalse(raised); + } + + [TestMethod] + public void GetObservable_Returns_Initial_Value() + { + Class1 target = new Class1(); + bool raised = false; + + target.GetObservable(Class1.FooProperty).Subscribe(x => raised = x == "foodefault"); + + Assert.IsTrue(raised); + } + + [TestMethod] + public void GetObservable_Returns_Property_Change() + { + Class1 target = new Class1(); + bool raised = false; + + target.GetObservable(Class1.FooProperty).Subscribe(x => raised = x == "newvalue"); + raised = false; + target.SetValue(Class1.FooProperty, "newvalue"); + + Assert.IsTrue(raised); + } + + [TestMethod] + public void GetObservable_Returns_Property_Change_Only_For_Correct_Property() + { + Class2 target = new Class2(); + bool raised = false; + + target.GetObservable(Class1.FooProperty).Subscribe(x => raised = true); + raised = false; + target.SetValue(Class2.BarProperty, "newvalue"); + + Assert.IsFalse(raised); + } + + [TestMethod] + public void GetObservable_Dispose_Stops_Property_Changes() + { + Class1 target = new Class1(); + bool raised = false; + + target.GetObservable(Class1.FooProperty) + .Subscribe(x => raised = true) + .Dispose(); + raised = false; + target.SetValue(Class1.FooProperty, "newvalue"); + + Assert.IsFalse(raised); + } + + [TestMethod] + public void Setting_InheritanceParent_Raises_PropertyChanged_When_Value_Changed_In_Parent() + { + bool raised = false; + + Class1 parent = new Class1(); + parent.SetValue(Class1.BazProperty, "changed"); + + Class2 child = new Class2(); + child.PropertyChanged += (s, e) => + raised = s == child && + e.Property == Class1.BazProperty && + (string)e.OldValue == "bazdefault" && + (string)e.NewValue == "changed"; + + child.Parent = parent; + + Assert.IsTrue(raised); + } + + [TestMethod] + public void Setting_InheritanceParent_Doesnt_Raise_PropertyChanged_When_Local_Value_Set() + { + bool raised = false; + + Class1 parent = new Class1(); + parent.SetValue(Class1.BazProperty, "changed"); + + Class2 child = new Class2(); + child.SetValue(Class1.BazProperty, "localvalue"); + child.PropertyChanged += (s, e) => raised = true; + + child.Parent = parent; + + Assert.IsFalse(raised); + } + + [TestMethod] + public void Setting_Value_In_InheritanceParent_Raises_PropertyChanged() + { + bool raised = false; + + Class1 parent = new Class1(); + + Class2 child = new Class2(); + child.PropertyChanged += (s, e) => + raised = s == child && + e.Property == Class1.BazProperty && + (string)e.OldValue == "bazdefault" && + (string)e.NewValue == "changed"; + child.Parent = parent; + + parent.SetValue(Class1.BazProperty, "changed"); + + Assert.IsTrue(raised); + } + + [TestMethod] + public void Bind_Sets_Current_Value() + { + Class1 target = new Class1(); + Class1 source = new Class1(); + + source.SetValue(Class1.FooProperty, "initial"); + target.Bind(Class1.FooProperty, source.GetObservable(Class1.FooProperty)); + + Assert.AreEqual("initial", target.GetValue(Class1.FooProperty)); + } + + [TestMethod] + public void Bind_Sets_Subsequent_Value() + { + Class1 target = new Class1(); + Class1 source = new Class1(); + + source.SetValue(Class1.FooProperty, "initial"); + target.Bind(Class1.FooProperty, source.GetObservable(Class1.FooProperty)); + source.SetValue(Class1.FooProperty, "subsequent"); + + Assert.AreEqual("subsequent", target.GetValue(Class1.FooProperty)); + } + + [TestMethod] + public void Bind_Doesnt_Set_Value_After_Clear() + { + Class1 target = new Class1(); + Class1 source = new Class1(); + + source.SetValue(Class1.FooProperty, "initial"); + target.Bind(Class1.FooProperty, source.GetObservable(Class1.FooProperty)); + target.ClearValue(Class1.FooProperty); + source.SetValue(Class1.FooProperty, "newvalue"); + + Assert.AreEqual("foodefault", target.GetValue(Class1.FooProperty)); + } + + [TestMethod] + public void Bind_Doesnt_Set_Value_After_Reset() + { + Class1 target = new Class1(); + Class1 source = new Class1(); + + source.SetValue(Class1.FooProperty, "initial"); + target.Bind(Class1.FooProperty, source.GetObservable(Class1.FooProperty)); + target.SetValue(Class1.FooProperty, "reset"); + source.SetValue(Class1.FooProperty, "newvalue"); + + Assert.AreEqual("reset", target.GetValue(Class1.FooProperty)); + } + + private class Class1 : PerspexObject + { + public static readonly PerspexProperty FooProperty = + PerspexProperty.Register("Foo", "foodefault"); + + public static readonly PerspexProperty BazProperty = + PerspexProperty.Register("Baz", "bazdefault", true); + } + + private class Class2 : Class1 + { + public static readonly PerspexProperty BarProperty = + PerspexProperty.Register("Bar", "bardefault"); + + static Class2() + { + FooProperty.OverrideDefaultValue(typeof(Class2), "foooverride"); + } + + public Class1 Parent + { + get { return (Class1)this.InheritanceParent; } + set { this.InheritanceParent = value; } + } + } + } +} diff --git a/Perspex.UnitTests/PerspexPropertyTests.cs b/Perspex.UnitTests/PerspexPropertyTests.cs new file mode 100644 index 00000000000..3e1a24e6f28 --- /dev/null +++ b/Perspex.UnitTests/PerspexPropertyTests.cs @@ -0,0 +1,92 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.UnitTests +{ + using System; + using Microsoft.VisualStudio.TestTools.UnitTesting; + + [TestClass] + public class PerspexPropertyTests + { + [TestMethod] + public void Constructor_Sets_Properties() + { + PerspexProperty target = new PerspexProperty( + "test", + typeof(Class1), + "Foo", + false); + + Assert.AreEqual("test", target.Name); + Assert.AreEqual(typeof(string), target.ValueType); + Assert.AreEqual(typeof(Class1), target.OwnerType); + Assert.AreEqual(false, target.Inherits); + } + + [TestMethod] + public void GetDefaultValue_Returns_Registered_Value() + { + PerspexProperty target = new PerspexProperty( + "test", + typeof(Class1), + "Foo", + false); + + Assert.AreEqual("Foo", target.GetDefaultValue()); + } + + [TestMethod] + public void GetDefaultValue_Returns_Registered_Value_For_Not_Overridden_Class() + { + PerspexProperty target = new PerspexProperty( + "test", + typeof(Class1), + "Foo", + false); + + Assert.AreEqual("Foo", target.GetDefaultValue()); + } + + [TestMethod] + public void GetDefaultValue_Returns_Registered_Value_For_Unrelated_Class() + { + PerspexProperty target = new PerspexProperty( + "test", + typeof(Class3), + "Foo", + false); + + Assert.AreEqual("Foo", target.GetDefaultValue()); + } + + [TestMethod] + public void GetDefaultValue_Returns_Overridden_Value() + { + PerspexProperty target = new PerspexProperty( + "test", + typeof(Class1), + "Foo", + false); + + target.OverrideDefaultValue(typeof(Class2), "Bar"); + + Assert.AreEqual("Bar", target.GetDefaultValue()); + } + + private class Class1 : PerspexObject + { + } + + private class Class2 : Class1 + { + } + + private class Class3 + { + } + } +} diff --git a/Perspex.UnitTests/Properties/AssemblyInfo.cs b/Perspex.UnitTests/Properties/AssemblyInfo.cs new file mode 100644 index 00000000000..81a5f6d1c55 --- /dev/null +++ b/Perspex.UnitTests/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Perspex.UnitTests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Perspex.UnitTests")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("fd38c609-0149-487b-b095-3341c409e478")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Perspex.UnitTests/packages.config b/Perspex.UnitTests/packages.config new file mode 100644 index 00000000000..09f179893f0 --- /dev/null +++ b/Perspex.UnitTests/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Perspex.Windows/DrawingContext.cs b/Perspex.Windows/DrawingContext.cs new file mode 100644 index 00000000000..8871a965e93 --- /dev/null +++ b/Perspex.Windows/DrawingContext.cs @@ -0,0 +1,156 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.Windows +{ + using System; + using Perspex.Media; + using Perspex.Windows.Media; + using SharpDX; + using SharpDX.Direct2D1; + + /// + /// Draws using Direct2D1. + /// + public class DrawingContext : IDrawingContext, IDisposable + { + /// + /// The Direct2D1 render target. + /// + private RenderTarget renderTarget; + + /// + /// The DirectWrite factory. + /// + private SharpDX.DirectWrite.Factory directWriteFactory; + + /// + /// Initializes a new instance of the class. + /// + /// The render target to draw to. + /// The DirectWrite factory. + public DrawingContext( + RenderTarget renderTarget, + SharpDX.DirectWrite.Factory directWriteFactory) + { + this.renderTarget = renderTarget; + this.directWriteFactory = directWriteFactory; + this.renderTarget.BeginDraw(); + } + + /// + /// Ends a draw operation. + /// + public void Dispose() + { + this.renderTarget.EndDraw(); + } + + /// + /// Draws the outline of a rectangle. + /// + /// The pen. + /// The rectangle bounds. + public void DrawRectange(Pen pen, Rect rect) + { + using (SharpDX.Direct2D1.SolidColorBrush brush = this.Convert(pen.Brush)) + { + this.renderTarget.DrawRectangle( + this.Convert(rect), + brush, + (float)pen.Thickness); + } + } + + /// + /// Draws text. + /// + /// The foreground brush. + /// The text. + public void DrawText(Perspex.Media.Brush foreground, Rect rect, FormattedText text) + { + using (SharpDX.Direct2D1.SolidColorBrush brush = this.Convert(foreground)) + using (SharpDX.DirectWrite.TextFormat format = TextService.Convert(this.directWriteFactory, text)) + { + this.renderTarget.DrawText( + text.Text, + format, + this.Convert(rect), + brush); + } + } + + /// + /// Draws a filled rectangle. + /// + /// The brush. + /// The rectangle bounds. + public void FillRectange(Perspex.Media.Brush brush, Rect rect) + { + using (SharpDX.Direct2D1.SolidColorBrush b = this.Convert(brush)) + { + this.renderTarget.FillRectangle( + new RectangleF( + (float)rect.X, + (float)rect.Y, + (float)rect.Width, + (float)rect.Height), + b); + } + } + + /// + /// Converts a brush to Direct2D. + /// + /// The brush to convert. + /// The Direct2D brush. + private SharpDX.Direct2D1.SolidColorBrush Convert(Perspex.Media.Brush brush) + { + Perspex.Media.SolidColorBrush solidColorBrush = brush as Perspex.Media.SolidColorBrush; + + if (solidColorBrush != null) + { + return new SharpDX.Direct2D1.SolidColorBrush( + this.renderTarget, + this.Convert(solidColorBrush.Color)); + } + else + { + return new SharpDX.Direct2D1.SolidColorBrush( + this.renderTarget, + new Color4()); + } + } + + /// + /// Converts a color to Direct2D. + /// + /// The color to convert. + /// The Direct2D color. + private Color4 Convert(Perspex.Media.Color color) + { + return new Color4( + (float)(color.R / 255.0), + (float)(color.G / 255.0), + (float)(color.B / 255.0), + (float)(color.A / 255.0)); + } + + /// + /// Converts a to a + /// + /// The . + /// The . + private RectangleF Convert(Rect rect) + { + return new RectangleF( + (float)rect.X, + (float)rect.Y, + (float)rect.Width, + (float)rect.Height); + } + } +} diff --git a/Perspex.Windows/Interop/UnmanagedMethods.cs b/Perspex.Windows/Interop/UnmanagedMethods.cs new file mode 100644 index 00000000000..bd59f9a5736 --- /dev/null +++ b/Perspex.Windows/Interop/UnmanagedMethods.cs @@ -0,0 +1,488 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.Windows.Interop +{ + using System; + using System.Diagnostics.CodeAnalysis; + using System.Runtime.InteropServices; + using System.Text; + + [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1305:FieldNamesMustNotUseHungarianNotation", Justification = "Using Win32 naming for consistency.")] + [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1307:AccessibleFieldsMustBeginWithUpperCaseLetter", Justification = "Using Win32 naming for consistency.")] + [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Using Win32 naming for consistency.")] + internal static class UnmanagedMethods + { + public const int CW_USEDEFAULT = unchecked((int)0x80000000); + + public delegate void TimerProc(IntPtr hWnd, uint uMsg, IntPtr nIDEvent, uint dwTime); + + public delegate IntPtr WndProc(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam); + + public enum Cursor + { + IDC_ARROW = 32512, + IDC_IBEAM = 32513, + IDC_WAIT = 32514, + IDC_CROSS = 32515, + IDC_UPARROW = 32516, + IDC_SIZE = 32640, + IDC_ICON = 32641, + IDC_SIZENWSE = 32642, + IDC_SIZENESW = 32643, + IDC_SIZEWE = 32644, + IDC_SIZENS = 32645, + IDC_SIZEALL = 32646, + IDC_NO = 32648, + IDC_HAND = 32649, + IDC_APPSTARTING = 32650, + IDC_HELP = 32651 + } + + [Flags] + public enum SetWindowPosFlags : uint + { + SWP_ASYNCWINDOWPOS = 0x4000, + SWP_DEFERERASE = 0x2000, + SWP_DRAWFRAME = 0x0020, + SWP_FRAMECHANGED = 0x0020, + SWP_HIDEWINDOW = 0x0080, + SWP_NOACTIVATE = 0x0010, + SWP_NOCOPYBITS = 0x0100, + SWP_NOMOVE = 0x0002, + SWP_NOOWNERZORDER = 0x0200, + SWP_NOREDRAW = 0x0008, + SWP_NOREPOSITION = 0x0200, + SWP_NOSENDCHANGING = 0x0400, + SWP_NOSIZE = 0x0001, + SWP_NOZORDER = 0x0004, + SWP_SHOWWINDOW = 0x0040, + + SWP_RESIZE = SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER + } + + [Flags] + public enum WindowStyles : uint + { + WS_BORDER = 0x800000, + WS_CAPTION = 0xc00000, + WS_CHILD = 0x40000000, + WS_CLIPCHILDREN = 0x2000000, + WS_CLIPSIBLINGS = 0x4000000, + WS_DISABLED = 0x8000000, + WS_DLGFRAME = 0x400000, + WS_GROUP = 0x20000, + WS_HSCROLL = 0x100000, + WS_MAXIMIZE = 0x1000000, + WS_MAXIMIZEBOX = 0x10000, + WS_MINIMIZE = 0x20000000, + WS_MINIMIZEBOX = 0x20000, + WS_OVERLAPPED = 0x0, + WS_OVERLAPPEDWINDOW = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_SIZEFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX, + WS_POPUP = 0x80000000u, + WS_POPUPWINDOW = WS_POPUP | WS_BORDER | WS_SYSMENU, + WS_SIZEFRAME = 0x40000, + WS_SYSMENU = 0x80000, + WS_TABSTOP = 0x10000, + WS_VISIBLE = 0x10000000, + WS_VSCROLL = 0x200000, + + WS_EX_DLGMODALFRAME = 0x00000001, + WS_EX_NOPARENTNOTIFY = 0x00000004, + WS_EX_TOPMOST = 0x00000008, + WS_EX_ACCEPTFILES = 0x00000010, + WS_EX_TRANSPARENT = 0x00000020, + WS_EX_MDICHILD = 0x00000040, + WS_EX_TOOLWINDOW = 0x00000080, + WS_EX_WINDOWEDGE = 0x00000100, + WS_EX_CLIENTEDGE = 0x00000200, + WS_EX_CONTEXTHELP = 0x00000400, + WS_EX_RIGHT = 0x00001000, + WS_EX_LEFT = 0x00000000, + WS_EX_RTLREADING = 0x00002000, + WS_EX_LTRREADING = 0x00000000, + WS_EX_LEFTSCROLLBAR = 0x00004000, + WS_EX_RIGHTSCROLLBAR = 0x00000000, + WS_EX_CONTROLPARENT = 0x00010000, + WS_EX_STATICEDGE = 0x00020000, + WS_EX_APPWINDOW = 0x00040000, + WS_EX_OVERLAPPEDWINDOW = (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE), + WS_EX_PALETTEWINDOW = (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST), + WS_EX_LAYERED = 0x00080000, + WS_EX_NOINHERITLAYOUT = 0x00100000, + WS_EX_LAYOUTRTL = 0x00400000, + WS_EX_COMPOSITED = 0x02000000, + WS_EX_NOACTIVATE = 0x08000000 + } + + public enum WindowsMessage : uint + { + WM_NULL = 0x0000, + WM_CREATE = 0x0001, + WM_DESTROY = 0x0002, + WM_MOVE = 0x0003, + WM_SIZE = 0x0005, + WM_ACTIVATE = 0x0006, + WM_SETFOCUS = 0x0007, + WM_KILLFOCUS = 0x0008, + WM_ENABLE = 0x000A, + WM_SETREDRAW = 0x000B, + WM_SETTEXT = 0x000C, + WM_GETTEXT = 0x000D, + WM_GETTEXTLENGTH = 0x000E, + WM_PAINT = 0x000F, + WM_CLOSE = 0x0010, + WM_QUERYENDSESSION = 0x0011, + WM_QUERYOPEN = 0x0013, + WM_ENDSESSION = 0x0016, + WM_QUIT = 0x0012, + WM_ERASEBKGND = 0x0014, + WM_SYSCOLORCHANGE = 0x0015, + WM_SHOWWINDOW = 0x0018, + WM_WININICHANGE = 0x001A, + WM_SETTINGCHANGE = WM_WININICHANGE, + WM_DEVMODECHANGE = 0x001B, + WM_ACTIVATEAPP = 0x001C, + WM_FONTCHANGE = 0x001D, + WM_TIMECHANGE = 0x001E, + WM_CANCELMODE = 0x001F, + WM_SETCURSOR = 0x0020, + WM_MOUSEACTIVATE = 0x0021, + WM_CHILDACTIVATE = 0x0022, + WM_QUEUESYNC = 0x0023, + WM_GETMINMAXINFO = 0x0024, + WM_PAINTICON = 0x0026, + WM_ICONERASEBKGND = 0x0027, + WM_NEXTDLGCTL = 0x0028, + WM_SPOOLERSTATUS = 0x002A, + WM_DRAWITEM = 0x002B, + WM_MEASUREITEM = 0x002C, + WM_DELETEITEM = 0x002D, + WM_VKEYTOITEM = 0x002E, + WM_CHARTOITEM = 0x002F, + WM_SETFONT = 0x0030, + WM_GETFONT = 0x0031, + WM_SETHOTKEY = 0x0032, + WM_GETHOTKEY = 0x0033, + WM_QUERYDRAGICON = 0x0037, + WM_COMPAREITEM = 0x0039, + WM_GETOBJECT = 0x003D, + WM_COMPACTING = 0x0041, + WM_WINDOWPOSCHANGING = 0x0046, + WM_WINDOWPOSCHANGED = 0x0047, + WM_COPYDATA = 0x004A, + WM_CANCELJOURNAL = 0x004B, + WM_NOTIFY = 0x004E, + WM_INPUTLANGCHANGEREQUEST = 0x0050, + WM_INPUTLANGCHANGE = 0x0051, + WM_TCARD = 0x0052, + WM_HELP = 0x0053, + WM_USERCHANGED = 0x0054, + WM_NOTIFYFORMAT = 0x0055, + WM_CONTEXTMENU = 0x007B, + WM_STYLECHANGING = 0x007C, + WM_STYLECHANGED = 0x007D, + WM_DISPLAYCHANGE = 0x007E, + WM_GETICON = 0x007F, + WM_SETICON = 0x0080, + WM_NCCREATE = 0x0081, + WM_NCDESTROY = 0x0082, + WM_NCCALCSIZE = 0x0083, + WM_NCHITTEST = 0x0084, + WM_NCPAINT = 0x0085, + WM_NCACTIVATE = 0x0086, + WM_GETDLGCODE = 0x0087, + WM_SYNCPAINT = 0x0088, + WM_NCMOUSEMOVE = 0x00A0, + WM_NCLBUTTONDOWN = 0x00A1, + WM_NCLBUTTONUP = 0x00A2, + WM_NCLBUTTONDBLCLK = 0x00A3, + WM_NCRBUTTONDOWN = 0x00A4, + WM_NCRBUTTONUP = 0x00A5, + WM_NCRBUTTONDBLCLK = 0x00A6, + WM_NCMBUTTONDOWN = 0x00A7, + WM_NCMBUTTONUP = 0x00A8, + WM_NCMBUTTONDBLCLK = 0x00A9, + WM_NCXBUTTONDOWN = 0x00AB, + WM_NCXBUTTONUP = 0x00AC, + WM_NCXBUTTONDBLCLK = 0x00AD, + WM_INPUT_DEVICE_CHANGE = 0x00FE, + WM_INPUT = 0x00FF, + WM_KEYFIRST = 0x0100, + WM_KEYDOWN = 0x0100, + WM_KEYUP = 0x0101, + WM_CHAR = 0x0102, + WM_DEADCHAR = 0x0103, + WM_SYSKEYDOWN = 0x0104, + WM_SYSKEYUP = 0x0105, + WM_SYSCHAR = 0x0106, + WM_SYSDEADCHAR = 0x0107, + WM_UNICHAR = 0x0109, + WM_KEYLAST = 0x0109, + WM_IME_STARTCOMPOSITION = 0x010D, + WM_IME_ENDCOMPOSITION = 0x010E, + WM_IME_COMPOSITION = 0x010F, + WM_IME_KEYLAST = 0x010F, + WM_INITDIALOG = 0x0110, + WM_COMMAND = 0x0111, + WM_SYSCOMMAND = 0x0112, + WM_TIMER = 0x0113, + WM_HSCROLL = 0x0114, + WM_VSCROLL = 0x0115, + WM_INITMENU = 0x0116, + WM_INITMENUPOPUP = 0x0117, + WM_MENUSELECT = 0x011F, + WM_MENUCHAR = 0x0120, + WM_ENTERIDLE = 0x0121, + WM_MENURBUTTONUP = 0x0122, + WM_MENUDRAG = 0x0123, + WM_MENUGETOBJECT = 0x0124, + WM_UNINITMENUPOPUP = 0x0125, + WM_MENUCOMMAND = 0x0126, + WM_CHANGEUISTATE = 0x0127, + WM_UPDATEUISTATE = 0x0128, + WM_QUERYUISTATE = 0x0129, + WM_CTLCOLORMSGBOX = 0x0132, + WM_CTLCOLOREDIT = 0x0133, + WM_CTLCOLORLISTBOX = 0x0134, + WM_CTLCOLORBTN = 0x0135, + WM_CTLCOLORDLG = 0x0136, + WM_CTLCOLORSCROLLBAR = 0x0137, + WM_CTLCOLORSTATIC = 0x0138, + WM_MOUSEFIRST = 0x0200, + WM_MOUSEMOVE = 0x0200, + WM_LBUTTONDOWN = 0x0201, + WM_LBUTTONUP = 0x0202, + WM_LBUTTONDBLCLK = 0x0203, + WM_RBUTTONDOWN = 0x0204, + WM_RBUTTONUP = 0x0205, + WM_RBUTTONDBLCLK = 0x0206, + WM_MBUTTONDOWN = 0x0207, + WM_MBUTTONUP = 0x0208, + WM_MBUTTONDBLCLK = 0x0209, + WM_MOUSEWHEEL = 0x020A, + WM_XBUTTONDOWN = 0x020B, + WM_XBUTTONUP = 0x020C, + WM_XBUTTONDBLCLK = 0x020D, + WM_MOUSEHWHEEL = 0x020E, + WM_MOUSELAST = 0x020E, + WM_PARENTNOTIFY = 0x0210, + WM_ENTERMENULOOP = 0x0211, + WM_EXITMENULOOP = 0x0212, + WM_NEXTMENU = 0x0213, + WM_SIZING = 0x0214, + WM_CAPTURECHANGED = 0x0215, + WM_MOVING = 0x0216, + WM_POWERBROADCAST = 0x0218, + WM_DEVICECHANGE = 0x0219, + WM_MDICREATE = 0x0220, + WM_MDIDESTROY = 0x0221, + WM_MDIACTIVATE = 0x0222, + WM_MDIRESTORE = 0x0223, + WM_MDINEXT = 0x0224, + WM_MDIMAXIMIZE = 0x0225, + WM_MDITILE = 0x0226, + WM_MDICASCADE = 0x0227, + WM_MDIICONARRANGE = 0x0228, + WM_MDIGETACTIVE = 0x0229, + WM_MDISETMENU = 0x0230, + WM_ENTERSIZEMOVE = 0x0231, + WM_EXITSIZEMOVE = 0x0232, + WM_DROPFILES = 0x0233, + WM_MDIREFRESHMENU = 0x0234, + WM_IME_SETCONTEXT = 0x0281, + WM_IME_NOTIFY = 0x0282, + WM_IME_CONTROL = 0x0283, + WM_IME_COMPOSITIONFULL = 0x0284, + WM_IME_SELECT = 0x0285, + WM_IME_CHAR = 0x0286, + WM_IME_REQUEST = 0x0288, + WM_IME_KEYDOWN = 0x0290, + WM_IME_KEYUP = 0x0291, + WM_MOUSEHOVER = 0x02A1, + WM_MOUSELEAVE = 0x02A3, + WM_NCMOUSEHOVER = 0x02A0, + WM_NCMOUSELEAVE = 0x02A2, + WM_WTSSESSION_CHANGE = 0x02B1, + WM_TABLET_FIRST = 0x02c0, + WM_TABLET_LAST = 0x02df, + WM_CUT = 0x0300, + WM_COPY = 0x0301, + WM_PASTE = 0x0302, + WM_CLEAR = 0x0303, + WM_UNDO = 0x0304, + WM_RENDERFORMAT = 0x0305, + WM_RENDERALLFORMATS = 0x0306, + WM_DESTROYCLIPBOARD = 0x0307, + WM_DRAWCLIPBOARD = 0x0308, + WM_PAINTCLIPBOARD = 0x0309, + WM_VSCROLLCLIPBOARD = 0x030A, + WM_SIZECLIPBOARD = 0x030B, + WM_ASKCBFORMATNAME = 0x030C, + WM_CHANGECBCHAIN = 0x030D, + WM_HSCROLLCLIPBOARD = 0x030E, + WM_QUERYNEWPALETTE = 0x030F, + WM_PALETTEISCHANGING = 0x0310, + WM_PALETTECHANGED = 0x0311, + WM_HOTKEY = 0x0312, + WM_PRINT = 0x0317, + WM_PRINTCLIENT = 0x0318, + WM_APPCOMMAND = 0x0319, + WM_THEMECHANGED = 0x031A, + WM_CLIPBOARDUPDATE = 0x031D, + WM_DWMCOMPOSITIONCHANGED = 0x031E, + WM_DWMNCRENDERINGCHANGED = 0x031F, + WM_DWMCOLORIZATIONCOLORCHANGED = 0x0320, + WM_DWMWINDOWMAXIMIZEDCHANGE = 0x0321, + WM_GETTITLEBARINFOEX = 0x033F, + WM_HANDHELDFIRST = 0x0358, + WM_HANDHELDLAST = 0x035F, + WM_AFXFIRST = 0x0360, + WM_AFXLAST = 0x037F, + WM_PENWINFIRST = 0x0380, + WM_PENWINLAST = 0x038F, + WM_APP = 0x8000, + WM_USER = 0x0400, + + WM_DISPATCH_WORK_ITEM = WM_USER, + } + + [DllImport("user32.dll")] + public static extern bool ClientToScreen(IntPtr hWnd, ref POINT lpPoint); + + [DllImport("user32.dll")] + public static extern IntPtr DefWindowProc(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam); + + [DllImport("user32.dll")] + public static extern IntPtr DispatchMessage(ref MSG lpmsg); + + [DllImport("user32.dll", SetLastError = true)] + public static extern bool DestroyWindow(IntPtr hwnd); + + [DllImport("user32.dll")] + public static extern uint GetCaretBlinkTime(); + + [DllImport("user32.dll")] + public static extern bool GetClientRect(IntPtr hwnd, out RECT lpRect); + + [DllImport("user32.dll")] + public static extern bool GetCursorPos(out POINT lpPoint); + + [DllImport("user32.dll")] + public static extern bool GetKeyboardState(byte[] lpKeyState); + + [DllImport("user32.dll")] + public static extern sbyte GetMessage(out MSG lpMsg, IntPtr hWnd, uint wMsgFilterMin, uint wMsgFilterMax); + + [DllImport("kernel32.dll")] + public static extern IntPtr GetModuleHandle(string lpModuleName); + + [DllImport("user32.dll")] + public static extern bool GetWindowRect(IntPtr hwnd, out RECT lpRect); + + [DllImport("user32.dll")] + public static extern bool KillTimer(IntPtr hWnd, IntPtr uIDEvent); + + [DllImport("user32.dll")] + public static extern IntPtr LoadCursor(IntPtr hInstance, int lpCursorName); + + [DllImport("user32.dll")] + public static extern IntPtr PostMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam); + + [DllImport("user32.dll", SetLastError = true)] + public static extern ushort RegisterClassEx(ref WNDCLASSEX lpwcx); + + [DllImport("user32.dll")] + public static extern bool ReleaseCapture(); + + [DllImport("user32.dll")] + public static extern bool ScreenToClient(IntPtr hWnd, ref POINT lpPoint); + + [DllImport("user32.dll")] + public static extern IntPtr SetCapture(IntPtr hWnd); + + [DllImport("user32.dll")] + public static extern IntPtr SetTimer(IntPtr hWnd, IntPtr nIDEvent, uint uElapse, TimerProc lpTimerFunc); + + [DllImport("user32.dll")] + public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int x, int y, int cx, int cy, SetWindowPosFlags uFlags); + + [DllImport("user32.dll")] + public static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow); + + [DllImport("user32.dll")] + public static extern int ToUnicode( + uint virtualKeyCode, + uint scanCode, + byte[] keyboardState, + [Out, MarshalAs(UnmanagedType.LPWStr, SizeConst = 64)] + StringBuilder receivingBuffer, + int bufferSize, + uint flags); + + [DllImport("user32.dll")] + public static extern bool TranslateMessage(ref MSG lpMsg); + + [DllImport("user32.dll")] + public static extern bool UnregisterClass(string lpClassName, IntPtr hInstance); + + [DllImport("user32.dll", SetLastError = true)] + public static extern IntPtr CreateWindowEx( + int dwExStyle, + uint lpClassName, + string lpWindowName, + int dwStyle, + int x, + int y, + int nWidth, + int nHeight, + IntPtr hWndParent, + IntPtr hMenu, + IntPtr hInstance, + IntPtr lpParam); + + public struct MSG + { + public IntPtr hwnd; + public uint message; + public IntPtr wParam; + public IntPtr lParam; + public uint time; + public POINT pt; + } + + public struct POINT + { + public int X; + public int Y; + } + + public struct RECT + { + public int left; + public int top; + public int right; + public int bottom; + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + public struct WNDCLASSEX + { + public int cbSize; + public int style; + public WndProc lpfnWndProc; + public int cbClsExtra; + public int cbWndExtra; + public IntPtr hInstance; + public IntPtr hIcon; + public IntPtr hCursor; + public IntPtr hbrBackground; + public string lpszMenuName; + public string lpszClassName; + public IntPtr hIconSm; + } + } +} diff --git a/Perspex.Windows/Media/TextService.cs b/Perspex.Windows/Media/TextService.cs new file mode 100644 index 00000000000..79d7190f008 --- /dev/null +++ b/Perspex.Windows/Media/TextService.cs @@ -0,0 +1,32 @@ +namespace Perspex.Windows.Media +{ + using Perspex.Media; + using SharpDX.DirectWrite; + + public class TextService : ITextService + { + private Factory factory; + + public TextService(Factory factory) + { + this.factory = factory; + } + + public static TextFormat Convert(Factory factory, FormattedText text) + { + return new TextFormat( + factory, + text.FontFamilyName, + (float)text.FontSize); + } + + public Size Measure(FormattedText text) + { + TextFormat f = Convert(this.factory, text); + TextLayout layout = new TextLayout(this.factory, text.Text, f, float.MaxValue, float.MaxValue); + return new Size( + layout.Metrics.WidthIncludingTrailingWhitespace, + layout.Metrics.Height); + } + } +} diff --git a/Perspex.Windows/Perspex.Windows.csproj b/Perspex.Windows/Perspex.Windows.csproj new file mode 100644 index 00000000000..104eec82fda --- /dev/null +++ b/Perspex.Windows/Perspex.Windows.csproj @@ -0,0 +1,115 @@ + + + + + Debug + AnyCPU + {811A76CF-1CF6-440F-963B-BBE31BD72A82} + Library + Properties + Perspex.Windows + Perspex.Windows + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\SharpDX.2.5.0\lib\net40\SharpDX.dll + + + ..\packages\SharpDX.Direct2D1.2.5.0\lib\net40\SharpDX.Direct2D1.dll + + + ..\packages\SharpDX.DXGI.2.5.0\lib\net40\SharpDX.DXGI.dll + + + + + + ..\packages\Rx-Core.2.1.30214.0\lib\Net45\System.Reactive.Core.dll + + + ..\packages\Rx-Interfaces.2.1.30214.0\lib\Net45\System.Reactive.Interfaces.dll + + + ..\packages\Rx-Linq.2.1.30214.0\lib\Net45\System.Reactive.Linq.dll + + + ..\packages\Rx-PlatformServices.2.1.30214.0\lib\Net45\System.Reactive.PlatformServices.dll + + + + + + + + + + + + + + + + + + + + + + {3c9f40da-d2a5-43a1-a272-e965876c6d46} + Perspex + + + + + + + + + ..\packages\StyleCop.MSBuild.4.7.46.0\tools\StyleCop.targets + + + + Failed to import StyleCop.MSBuild targets from '$(StyleCopMSBuildTargetsFile)'. The StyleCop.MSBuild package was either missing or incomplete when the project was loaded. Ensure that the package is present and then restart the build. If you are using an IDE (e.g. Visual Studio), reload the project before restarting the build. + Failed to import StyleCop.MSBuild targets from '$(StyleCopMSBuildTargetsFile)'. The StyleCop.MSBuild package was either missing or incomplete when the project was loaded (but is now present). To fix this, restart the build. If you are using an IDE (e.g. Visual Studio), reload the project before restarting the build. + Failed to import StyleCop.MSBuild targets from '$(StyleCopMSBuildTargetsFile)'. The StyleCop.MSBuild package was either missing or incomplete when the project was loaded. To fix this, restore the package and then restart the build. If you are using an IDE (e.g. Visual Studio), you may need to reload the project before restarting the build. Note that regular NuGet package restore (during build) does not work with this package because the package needs to be present before the project is loaded. If this is an automated build (e.g. CI server), you may want to ensure that the build process restores the StyleCop.MSBuild package before the project is built. + Failed to import StyleCop.MSBuild targets from '$(StyleCopMSBuildTargetsFile)'. The StyleCop.MSBuild package was either missing or incomplete when the project was loaded (but is now present). To fix this, restart the build. If you are using an IDE (e.g. Visual Studio), reload the project before restarting the build. Note that when using regular NuGet package restore (during build) the package will not be available for the initial build because the package needs to be present before the project is loaded. If package restore executes successfully in the intitial build then the package will be available for subsequent builds. If this is an automated build (e.g. CI server), you may want to ensure that the build process restores the StyleCop.MSBuild package before the initial build. + + + + + + + + + + + + + StyleCopMSBuildTargetsNotFound;$(PrepareForBuildDependsOn) + + \ No newline at end of file diff --git a/Perspex.Windows/Properties/AssemblyInfo.cs b/Perspex.Windows/Properties/AssemblyInfo.cs new file mode 100644 index 00000000000..de730fb1eea --- /dev/null +++ b/Perspex.Windows/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Perspex.Windows")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Perspex.Windows")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("6bef7635-86fb-490e-8a97-a5134a63ec9b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Perspex.Windows/Renderer.cs b/Perspex.Windows/Renderer.cs new file mode 100644 index 00000000000..94575517c81 --- /dev/null +++ b/Perspex.Windows/Renderer.cs @@ -0,0 +1,106 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.Windows +{ + using System; + using SharpDX; + using SharpDX.Direct2D1; + using DwFactory = SharpDX.DirectWrite.Factory; + + /// + /// Renders a . + /// + public class Renderer + { + /// + /// The render target. + /// + private WindowRenderTarget renderTarget; + + /// + /// Initializes a new instance of the class. + /// + /// The window handle. + /// The width of the window. + /// The height of the window. + public Renderer(IntPtr hwnd, int width, int height) + { + this.Direct2DFactory = new Factory(); + this.DirectWriteFactory = new DwFactory(); + + RenderTargetProperties renderTargetProperties = new RenderTargetProperties + { + }; + + HwndRenderTargetProperties hwndProperties = new HwndRenderTargetProperties + { + Hwnd = hwnd, + PixelSize = new Size2(width, height), + }; + + this.renderTarget = new WindowRenderTarget( + this.Direct2DFactory, + renderTargetProperties, + hwndProperties); + } + + /// + /// Gets the Direct2D factory. + /// + public Factory Direct2DFactory + { + get; + private set; + } + + /// + /// Gets the DirectWrite factory. + /// + public DwFactory DirectWriteFactory + { + get; + private set; + } + + /// + /// Renders the specified visual. + /// + /// The visual to render. + public void Render(Visual visual) + { + using (DrawingContext context = new DrawingContext(this.renderTarget, this.DirectWriteFactory)) + { + this.Render(visual, context); + } + } + + /// + /// Resizes the renderer. + /// + /// The new width. + /// The new height. + public void Resize(int width, int height) + { + this.renderTarget.Resize(new Size2(width, height)); + } + + /// + /// Renders the specified visual. + /// + /// The visual to render. + /// The drawing context. + private void Render(Visual visual, DrawingContext context) + { + visual.Render(context); + + foreach (Visual child in visual.VisualChildren) + { + this.Render(child, context); + } + } + } +} diff --git a/Perspex.Windows/Threading/Dispatcher.cs b/Perspex.Windows/Threading/Dispatcher.cs new file mode 100644 index 00000000000..7ff6e569d96 --- /dev/null +++ b/Perspex.Windows/Threading/Dispatcher.cs @@ -0,0 +1,637 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.Windows.Threading +{ + using System; + using System.Collections.Generic; + using System.ComponentModel; + using System.Security; + using System.Threading; + using Perspex.Windows.Interop; + + public enum DispatcherPriority + { + Invalid = -1, + Inactive = 0, + SystemIdle = 1, + ApplicationIdle = 2, + ContextIdle = 3, + Background = 4, + Input = 5, + Loaded = 6, + Render = 7, + DataBind = 8, + Normal = 9, + Send = 10, + } + + [Flags] + internal enum Flags + { + ShutdownStarted = 1, + Shutdown = 2, + Disabled = 4 + } + + public sealed class Dispatcher + { + private const int TopPriority = (int)DispatcherPriority.Send; + + private static Dictionary dispatchers = new Dictionary(); + + private static object olock = new object(); + + private static DispatcherFrame mainExecutionFrame = new DispatcherFrame(); + + private Thread baseThread; + + private PokableQueue[] priorityQueues = new PokableQueue[TopPriority + 1]; + + private Flags flags; + + private int queueBits; + + private DispatcherFrame currentFrame; + + private Dispatcher(Thread t) + { + this.baseThread = t; + + for (int i = 1; i <= (int)DispatcherPriority.Send; i++) + { + this.priorityQueues[i] = new PokableQueue(); + } + } + + public event EventHandler ShutdownStarted; + + public event EventHandler ShutdownFinished; + + public static Dispatcher CurrentDispatcher + { + get + { + lock (olock) + { + Thread t = Thread.CurrentThread; + Dispatcher dis = FromThread(t); + + if (dis != null) + { + return dis; + } + + dis = new Dispatcher(t); + dispatchers[t] = dis; + return dis; + } + } + } + + public Thread Thread + { + get + { + return this.baseThread; + } + } + + public bool HasShutdownStarted + { + get + { + return (this.flags & Flags.ShutdownStarted) != 0; + } + } + + public bool HasShutdownFinished + { + get + { + return (this.flags & Flags.Shutdown) != 0; + } + } + + [SecurityCritical] + public static void ExitAllFrames() + { + Dispatcher dis = CurrentDispatcher; + + for (DispatcherFrame frame = dis.currentFrame; frame != null; frame = frame.ParentFrame) + { + if (frame.ExitOnRequest) + { + frame.Continue = false; + } + else + { + break; + } + } + } + + public static Dispatcher FromThread(Thread thread) + { + Dispatcher dis; + + if (dispatchers.TryGetValue(thread, out dis)) + { + return dis; + } + + return null; + } + + [SecurityCritical] + public static void PushFrame(DispatcherFrame frame) + { + if (frame == null) + { + throw new ArgumentNullException("frame"); + } + + Dispatcher dis = CurrentDispatcher; + + if (dis.HasShutdownFinished) + { + throw new InvalidOperationException("The Dispatcher has shut down"); + } + + if (frame.Running != null) + { + throw new InvalidOperationException("Frame is already running on a different dispatcher"); + } + + if ((dis.flags & Flags.Disabled) != 0) + { + throw new InvalidOperationException("Dispatcher processing has been disabled"); + } + + frame.ParentFrame = dis.currentFrame; + dis.currentFrame = frame; + + frame.Running = dis; + + dis.RunFrame(frame); + } + + [SecurityCritical] + public static void Run() + { + PushFrame(mainExecutionFrame); + } + + public static void ValidatePriority(DispatcherPriority priority, string parameterName) + { + if (priority < DispatcherPriority.Inactive || priority > DispatcherPriority.Send) + { + throw new InvalidEnumArgumentException(parameterName); + } + } + + [EditorBrowsable(EditorBrowsableState.Never)] + public bool CheckAccess() + { + return Thread.CurrentThread == this.baseThread; + } + + [EditorBrowsable(EditorBrowsableState.Never)] + public void VerifyAccess() + { + if (Thread.CurrentThread != this.baseThread) + { + throw new InvalidOperationException("Invoked from a different thread"); + } + } + + public DispatcherOperation BeginInvoke(Delegate method, params object[] args) + { + throw new NotImplementedException(); + } + + public DispatcherOperation BeginInvoke(Delegate method, DispatcherPriority priority, params object[] args) + { + throw new NotImplementedException(); + } + + [Browsable(false)] + [EditorBrowsable(EditorBrowsableState.Never)] + public DispatcherOperation BeginInvoke(DispatcherPriority priority, Delegate method) + { + if (priority < 0 || priority > DispatcherPriority.Send) + { + throw new InvalidEnumArgumentException("priority"); + } + + if (priority == DispatcherPriority.Inactive) + { + throw new ArgumentException("priority can not be inactive", "priority"); + } + + if (method == null) + { + throw new ArgumentNullException("method"); + } + + DispatcherOperation op = new DispatcherOperation(this, priority, method); + this.Queue(priority, op); + + return op; + } + + [Browsable(false)] + [EditorBrowsable(EditorBrowsableState.Never)] + public DispatcherOperation BeginInvoke(DispatcherPriority priority, Delegate method, object arg) + { + if (priority < 0 || priority > DispatcherPriority.Send) + { + throw new InvalidEnumArgumentException("priority"); + } + + if (priority == DispatcherPriority.Inactive) + { + throw new ArgumentException("priority can not be inactive", "priority"); + } + + if (method == null) + { + throw new ArgumentNullException("method"); + } + + DispatcherOperation op = new DispatcherOperation(this, priority, method, arg); + + this.Queue(priority, op); + + return op; + } + + [Browsable(false)] + [EditorBrowsable(EditorBrowsableState.Never)] + public DispatcherOperation BeginInvoke(DispatcherPriority priority, Delegate method, object arg, params object[] args) + { + if (priority < 0 || priority > DispatcherPriority.Send) + { + throw new InvalidEnumArgumentException("priority"); + } + + if (priority == DispatcherPriority.Inactive) + { + throw new ArgumentException("priority can not be inactive", "priority"); + } + + if (method == null) + { + throw new ArgumentNullException("method"); + } + + DispatcherOperation op = new DispatcherOperation(this, priority, method, arg, args); + this.Queue(priority, op); + + return op; + } + + public object Invoke(Delegate method, params object[] args) + { + throw new NotImplementedException(); + } + + public object Invoke(Delegate method, TimeSpan timeout, params object[] args) + { + throw new NotImplementedException(); + } + + public object Invoke(Delegate method, TimeSpan timeout, DispatcherPriority priority, params object[] args) + { + throw new NotImplementedException(); + } + + public object Invoke(Delegate method, DispatcherPriority priority, params object[] args) + { + throw new NotImplementedException(); + } + + [Browsable(false)] + [EditorBrowsable(EditorBrowsableState.Never)] + public object Invoke(DispatcherPriority priority, Delegate method) + { + if (priority < 0 || priority > DispatcherPriority.Send) + { + throw new InvalidEnumArgumentException("priority"); + } + + if (priority == DispatcherPriority.Inactive) + { + throw new ArgumentException("priority can not be inactive", "priority"); + } + + if (method == null) + { + throw new ArgumentNullException("method"); + } + + DispatcherOperation op = new DispatcherOperation(this, priority, method); + this.Queue(priority, op); + PushFrame(new DispatcherFrame()); + + throw new NotImplementedException(); + } + + [Browsable(false)] + [EditorBrowsable(EditorBrowsableState.Never)] + public object Invoke(DispatcherPriority priority, Delegate method, object arg) + { + if (priority < 0 || priority > DispatcherPriority.Send) + { + throw new InvalidEnumArgumentException("priority"); + } + + if (priority == DispatcherPriority.Inactive) + { + throw new ArgumentException("priority can not be inactive", "priority"); + } + + if (method == null) + { + throw new ArgumentNullException("method"); + } + + this.Queue(priority, new DispatcherOperation(this, priority, method, arg)); + throw new NotImplementedException(); + } + + [Browsable(false)] + [EditorBrowsable(EditorBrowsableState.Never)] + public object Invoke(DispatcherPriority priority, Delegate method, object arg, params object[] args) + { + if (priority < 0 || priority > DispatcherPriority.Send) + { + throw new InvalidEnumArgumentException("priority"); + } + + if (priority == DispatcherPriority.Inactive) + { + throw new ArgumentException("priority can not be inactive", "priority"); + } + + if (method == null) + { + throw new ArgumentNullException("method"); + } + + this.Queue(priority, new DispatcherOperation(this, priority, method, arg, args)); + + throw new NotImplementedException(); + } + + [Browsable(false)] + [EditorBrowsable(EditorBrowsableState.Never)] + public object Invoke(DispatcherPriority priority, TimeSpan timeout, Delegate method) + { + throw new NotImplementedException(); + } + + [Browsable(false)] + [EditorBrowsable(EditorBrowsableState.Never)] + public object Invoke(DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg) + { + throw new NotImplementedException(); + } + + [Browsable(false)] + [EditorBrowsable(EditorBrowsableState.Never)] + public object Invoke(DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg, params object[] args) + { + throw new NotImplementedException(); + } + + [SecurityCritical] + public void InvokeShutdown() + { + this.flags |= Flags.ShutdownStarted; + + UnmanagedMethods.PostMessage( + IntPtr.Zero, + (int)UnmanagedMethods.WindowsMessage.WM_DISPATCH_WORK_ITEM, + IntPtr.Zero, + IntPtr.Zero); + } + + [SecurityCritical] + public void BeginInvokeShutdown(DispatcherPriority priority) + { + throw new NotImplementedException(); + } + + internal void Reprioritize(DispatcherOperation op, DispatcherPriority oldpriority) + { + int oldp = (int)oldpriority; + PokableQueue q = this.priorityQueues[oldp]; + + lock (q) + { + q.Remove(op); + } + + this.Queue(op.Priority, op); + } + + private void Queue(DispatcherPriority priority, DispatcherOperation x) + { + int p = (int)priority; + PokableQueue q = this.priorityQueues[p]; + + lock (q) + { + int flag = 1 << p; + q.Enqueue(x); + this.queueBits |= flag; + } + + if (Thread.CurrentThread != this.baseThread) + { + UnmanagedMethods.PostMessage( + IntPtr.Zero, + (int)UnmanagedMethods.WindowsMessage.WM_DISPATCH_WORK_ITEM, + IntPtr.Zero, + IntPtr.Zero); + } + } + + private void PerformShutdown() + { + EventHandler h; + + h = this.ShutdownStarted; + if (h != null) + { + h(this, new EventArgs()); + } + + this.flags |= Flags.Shutdown; + + h = this.ShutdownFinished; + if (h != null) + { + h(this, new EventArgs()); + } + + this.priorityQueues = null; + } + + private void RunFrame(DispatcherFrame frame) + { + do + { + while (this.queueBits != 0) + { + for (int i = TopPriority; i > 0 && this.queueBits != 0; i--) + { + int currentBit = this.queueBits & (1 << i); + if (currentBit != 0) + { + PokableQueue q = this.priorityQueues[i]; + + do + { + DispatcherOperation task; + + lock (q) + { + task = (DispatcherOperation)q.Dequeue(); + } + + task.Invoke(); + + if (!frame.Continue) + { + return; + } + + if (this.HasShutdownStarted) + { + this.PerformShutdown(); + return; + } + + lock (q) + { + if (q.Count == 0) + { + this.queueBits &= ~(1 << i); + break; + } + } + + if (currentBit < (this.queueBits & ~currentBit)) + { + break; + } + } + while (true); + } + } + } + + UnmanagedMethods.MSG msg; + UnmanagedMethods.GetMessage(out msg, IntPtr.Zero, 0, 0); + UnmanagedMethods.TranslateMessage(ref msg); + UnmanagedMethods.DispatchMessage(ref msg); + + if (this.HasShutdownStarted) + { + this.PerformShutdown(); + return; + } + } + while (frame.Continue); + } + + private class PokableQueue + { + private const int InitialCapacity = 32; + + private int size, head, tail; + private object[] array; + + internal PokableQueue(int capacity) + { + this.array = new object[capacity]; + } + + internal PokableQueue() + : this(InitialCapacity) + { + } + + public int Count + { + get + { + return this.size; + } + } + + public void Enqueue(object obj) + { + if (this.size == this.array.Length) + { + this.Grow(); + } + + this.array[this.tail] = obj; + this.tail = (this.tail + 1) % this.array.Length; + this.size++; + } + + public object Dequeue() + { + if (this.size < 1) + { + throw new InvalidOperationException(); + } + + object result = this.array[this.head]; + this.array[this.head] = null; + this.head = (this.head + 1) % this.array.Length; + this.size--; + return result; + } + + public void Remove(object obj) + { + for (int i = 0; i < this.size; i++) + { + if (this.array[(this.head + i) % this.array.Length] == obj) + { + for (int j = i; j < this.size - i; j++) + { + this.array[(this.head + j) % this.array.Length] = this.array[(this.head + j + 1) % this.array.Length]; + } + + this.size--; + if (this.size < 0) + { + this.size = this.array.Length - 1; + } + + this.tail--; + } + } + } + + private void Grow() + { + int newc = this.array.Length * 2; + object[] newContents = new object[newc]; + this.array.CopyTo(newContents, 0); + this.array = newContents; + this.head = 0; + this.tail = this.head + this.size; + } + } + } +} \ No newline at end of file diff --git a/Perspex.Windows/Threading/DispatcherFrame.cs b/Perspex.Windows/Threading/DispatcherFrame.cs new file mode 100644 index 00000000000..c2198cf95b4 --- /dev/null +++ b/Perspex.Windows/Threading/DispatcherFrame.cs @@ -0,0 +1,25 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.Windows.Threading +{ + public class DispatcherFrame + { + public DispatcherFrame() + { + this.Continue = true; + this.ExitOnRequest = true; + } + + public bool Continue { get; set; } + + internal bool ExitOnRequest { get; set; } + + internal Dispatcher Running { get; set; } + + internal DispatcherFrame ParentFrame { get; set; } + } +} diff --git a/Perspex.Windows/Threading/DispatcherOperation.cs b/Perspex.Windows/Threading/DispatcherOperation.cs new file mode 100644 index 00000000000..30195ed5177 --- /dev/null +++ b/Perspex.Windows/Threading/DispatcherOperation.cs @@ -0,0 +1,159 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.Windows.Threading +{ + using System; + using System.Security; + + public enum DispatcherOperationStatus + { + Pending = 0, + Aborted = 1, + Completed = 2, + Executing = 3 + } + + public sealed class DispatcherOperation + { + private DispatcherOperationStatus status; + private DispatcherPriority priority; + private Dispatcher dispatcher; + private object result; + private Delegate delegateMethod; + private object[] delegateArgs; + + internal DispatcherOperation(Dispatcher dis, DispatcherPriority prio) + { + this.dispatcher = dis; + this.priority = prio; + if (this.Dispatcher.HasShutdownFinished) + { + this.status = DispatcherOperationStatus.Aborted; + } + else + { + this.status = DispatcherOperationStatus.Pending; + } + } + + internal DispatcherOperation(Dispatcher dis, DispatcherPriority prio, Delegate d) + : this(dis, prio) + { + this.delegateMethod = d; + } + + internal DispatcherOperation(Dispatcher dis, DispatcherPriority prio, Delegate d, object arg) + : this(dis, prio) + { + this.delegateMethod = d; + this.delegateArgs = new object[1]; + this.delegateArgs[0] = arg; + } + + internal DispatcherOperation(Dispatcher dis, DispatcherPriority prio, Delegate d, object arg, object[] args) + : this(dis, prio) + { + this.delegateMethod = d; + this.delegateArgs = new object[args.Length + 1]; + this.delegateArgs[0] = arg; + Array.Copy(args, 1, this.delegateArgs, 0, args.Length); + } + + public event EventHandler Completed; + + public DispatcherOperationStatus Status + { + get + { + return this.status; + } + + internal set + { + this.status = value; + } + } + + public Dispatcher Dispatcher + { + get + { + return this.dispatcher; + } + } + + public DispatcherPriority Priority + { + get + { + return this.priority; + } + + set + { + if (this.priority != value) + { + DispatcherPriority old = this.priority; + this.priority = value; + this.dispatcher.Reprioritize(this, old); + } + } + } + + public object Result + { + get + { + return this.result; + } + } + + public bool Abort() + { + this.status = DispatcherOperationStatus.Aborted; + throw new NotImplementedException(); + } + + public DispatcherOperationStatus Wait() + { + if (this.status == DispatcherOperationStatus.Executing) + { + throw new InvalidOperationException("Already executing"); + } + + throw new NotImplementedException(); + } + + [SecurityCritical] + public DispatcherOperationStatus Wait(TimeSpan timeout) + { + if (this.status == DispatcherOperationStatus.Executing) + { + throw new InvalidOperationException("Already executing"); + } + + throw new NotImplementedException(); + } + + internal void Invoke() + { + this.status = DispatcherOperationStatus.Executing; + + if (this.delegateMethod != null) + { + this.result = this.delegateMethod.DynamicInvoke(this.delegateArgs); + } + + this.status = DispatcherOperationStatus.Completed; + + if (this.Completed != null) + { + this.Completed(this, EventArgs.Empty); + } + } + } +} \ No newline at end of file diff --git a/Perspex.Windows/Window.cs b/Perspex.Windows/Window.cs new file mode 100644 index 00000000000..8e076cb0dd9 --- /dev/null +++ b/Perspex.Windows/Window.cs @@ -0,0 +1,149 @@ +namespace Perspex.Windows +{ + using System; + using System.ComponentModel; + using System.Diagnostics.CodeAnalysis; + using System.Runtime.InteropServices; + using Perspex.Controls; + using Perspex.Windows.Interop; + using SharpDX.Direct2D1; + using SharpDX.DXGI; + + public class Window : ContentControl + { + private UnmanagedMethods.WndProc wndProcDelegate; + + private string className; + + private Renderer renderer; + + public Window() + { + this.CreateWindow(); + + Size clientSize = this.ClientSize; + this.renderer = new Renderer(this.Handle, (int)clientSize.Width, (int)clientSize.Height); + } + + public Size ClientSize + { + get + { + UnmanagedMethods.RECT rect; + UnmanagedMethods.GetClientRect(this.Handle, out rect); + return new Size(rect.right, rect.bottom); + } + } + + public IntPtr Handle + { + get; + private set; + } + + public void Show() + { + UnmanagedMethods.ShowWindow(this.Handle, 4); + this.Measure(this.ClientSize); + this.Arrange(new Rect(this.ClientSize)); + this.renderer.Render(this); + } + + protected override Visual DefaultTemplate() + { + Border border = new Border(); + border.Background = new Perspex.Media.SolidColorBrush(0xff808080); + ContentPresenter contentPresenter = new ContentPresenter(); + contentPresenter.Bind(ContentPresenter.ContentProperty, this.GetObservable(ContentProperty)); + border.Content = contentPresenter; + return border; + } + + private void CreateWindow() + { + // Ensure that the delegate doesn't get garbage collected by storing it as a field. + this.wndProcDelegate = new UnmanagedMethods.WndProc(this.WndProc); + + this.className = Guid.NewGuid().ToString(); + + UnmanagedMethods.WNDCLASSEX wndClassEx = new UnmanagedMethods.WNDCLASSEX + { + cbSize = Marshal.SizeOf(typeof(UnmanagedMethods.WNDCLASSEX)), + style = 0, + lpfnWndProc = this.wndProcDelegate, + hInstance = Marshal.GetHINSTANCE(this.GetType().Module), + hCursor = UnmanagedMethods.LoadCursor(IntPtr.Zero, (int)UnmanagedMethods.Cursor.IDC_ARROW), + hbrBackground = (IntPtr)5, + lpszClassName = this.className, + }; + + ushort atom = UnmanagedMethods.RegisterClassEx(ref wndClassEx); + + if (atom == 0) + { + throw new Win32Exception(); + } + + this.Handle = UnmanagedMethods.CreateWindowEx( + 0, + atom, + null, + (int)UnmanagedMethods.WindowStyles.WS_OVERLAPPEDWINDOW, + UnmanagedMethods.CW_USEDEFAULT, + UnmanagedMethods.CW_USEDEFAULT, + UnmanagedMethods.CW_USEDEFAULT, + UnmanagedMethods.CW_USEDEFAULT, + IntPtr.Zero, + IntPtr.Zero, + IntPtr.Zero, + IntPtr.Zero); + + if (this.Handle == IntPtr.Zero) + { + throw new Win32Exception(); + } + } + + [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1305:FieldNamesMustNotUseHungarianNotation", Justification = "Using Win32 naming for consistency.")] + private IntPtr WndProc(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam) + { + switch ((UnmanagedMethods.WindowsMessage)msg) + { + ////case UnmanagedMethods.WindowsMessage.WM_DESTROY: + //// this.OnClosed(); + //// break; + + ////case UnmanagedMethods.WindowsMessage.WM_KEYDOWN: + //// InputManager.Current.ProcessInput( + //// new RawKeyEventArgs( + //// keyboard, + //// RawKeyEventType.KeyDown, + //// KeyInterop.KeyFromVirtualKey((int)wParam))); + //// break; + + ////case UnmanagedMethods.WindowsMessage.WM_LBUTTONDOWN: + //// InputManager.Current.ProcessInput(new RawMouseEventArgs(mouse, RawMouseEventType.LeftButtonDown)); + //// break; + + ////case UnmanagedMethods.WindowsMessage.WM_LBUTTONUP: + //// InputManager.Current.ProcessInput(new RawMouseEventArgs(mouse, RawMouseEventType.LeftButtonUp)); + //// break; + + ////case UnmanagedMethods.WindowsMessage.WM_MOUSEMOVE: + //// InputManager.Current.ProcessInput(new RawMouseEventArgs(mouse, RawMouseEventType.Move)); + //// break; + + ////case UnmanagedMethods.WindowsMessage.WM_SIZE: + //// if (this.renderTarget != null) + //// { + //// this.renderTarget.Resize(new SharpDX.DrawingSize((int)lParam & 0xffff, (int)lParam >> 16)); + //// } + + //// this.OnResized(); + //// return IntPtr.Zero; + } + + return UnmanagedMethods.DefWindowProc(hWnd, msg, wParam, lParam); + } + } +} diff --git a/Perspex.Windows/packages.config b/Perspex.Windows/packages.config new file mode 100644 index 00000000000..9bf3829fc56 --- /dev/null +++ b/Perspex.Windows/packages.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Perspex.sln b/Perspex.sln new file mode 100644 index 00000000000..3a84b3a0dac --- /dev/null +++ b/Perspex.sln @@ -0,0 +1,40 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.21005.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex", "Perspex\Perspex.csproj", "{3C9F40DA-D2A5-43A1-A272-E965876C6D46}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Windows", "Perspex.Windows\Perspex.Windows.csproj", "{811A76CF-1CF6-440F-963B-BBE31BD72A82}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestApplication", "TestApplication\TestApplication.csproj", "{E3A1060B-50D0-44E8-88B6-F44EF2E5BD72}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.UnitTests", "Perspex.UnitTests\Perspex.UnitTests.csproj", "{2905FF23-53FB-45E6-AA49-6AF47A172056}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3C9F40DA-D2A5-43A1-A272-E965876C6D46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3C9F40DA-D2A5-43A1-A272-E965876C6D46}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3C9F40DA-D2A5-43A1-A272-E965876C6D46}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3C9F40DA-D2A5-43A1-A272-E965876C6D46}.Release|Any CPU.Build.0 = Release|Any CPU + {811A76CF-1CF6-440F-963B-BBE31BD72A82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {811A76CF-1CF6-440F-963B-BBE31BD72A82}.Debug|Any CPU.Build.0 = Debug|Any CPU + {811A76CF-1CF6-440F-963B-BBE31BD72A82}.Release|Any CPU.ActiveCfg = Release|Any CPU + {811A76CF-1CF6-440F-963B-BBE31BD72A82}.Release|Any CPU.Build.0 = Release|Any CPU + {E3A1060B-50D0-44E8-88B6-F44EF2E5BD72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E3A1060B-50D0-44E8-88B6-F44EF2E5BD72}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E3A1060B-50D0-44E8-88B6-F44EF2E5BD72}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E3A1060B-50D0-44E8-88B6-F44EF2E5BD72}.Release|Any CPU.Build.0 = Release|Any CPU + {2905FF23-53FB-45E6-AA49-6AF47A172056}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2905FF23-53FB-45E6-AA49-6AF47A172056}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2905FF23-53FB-45E6-AA49-6AF47A172056}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2905FF23-53FB-45E6-AA49-6AF47A172056}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Perspex/Controls/Border.cs b/Perspex/Controls/Border.cs new file mode 100644 index 00000000000..b16b7781a7a --- /dev/null +++ b/Perspex/Controls/Border.cs @@ -0,0 +1,27 @@ +namespace Perspex.Controls +{ + using System.Diagnostics.Contracts; + using Perspex.Media; + + public class Border : Decorator + { + public static readonly PerspexProperty BackgroundProperty = + PerspexProperty.Register("Background"); + + public Brush Background + { + get { return this.GetValue(BackgroundProperty); } + set { this.SetValue(BackgroundProperty, value); } + } + + public override void Render(IDrawingContext context) + { + Brush background = this.Background; + + if (background != null) + { + context.FillRectange(background, new Rect(this.Bounds.Size)); + } + } + } +} diff --git a/Perspex/Controls/ContentControl.cs b/Perspex/Controls/ContentControl.cs new file mode 100644 index 00000000000..8fc311d3ead --- /dev/null +++ b/Perspex/Controls/ContentControl.cs @@ -0,0 +1,46 @@ +namespace Perspex.Controls +{ + using System.Linq; + + public abstract class ContentControl : TemplatedControl + { + public static readonly PerspexProperty ContentProperty = + PerspexProperty.Register("Content"); + + public object Content + { + get { return this.GetValue(ContentProperty); } + set { this.SetValue(ContentProperty, value); } + } + + protected override Size ArrangeContent(Size finalSize) + { + Control child = this.VisualChildren.SingleOrDefault() as Control; + + if (child != null) + { + child.Arrange(new Rect(finalSize)); + return child.Bounds.Size; + } + else + { + return new Size(); + } + } + + protected override Size MeasureContent(Size availableSize) + { + Control child = this.VisualChildren.SingleOrDefault() as Control; + + if (child != null) + { + child.Measure(availableSize); + return child.DesiredSize.Value; + } + else + { + return new Size(); + } + } + } +} diff --git a/Perspex/Controls/ContentPresenter.cs b/Perspex/Controls/ContentPresenter.cs new file mode 100644 index 00000000000..72671bfb720 --- /dev/null +++ b/Perspex/Controls/ContentPresenter.cs @@ -0,0 +1,131 @@ +namespace Perspex.Controls +{ + using System; + using System.Collections.Generic; + using System.Linq; + + public class ContentPresenter : Control + { + public static readonly PerspexProperty ContentProperty = + ContentControl.ContentProperty.AddOwner(); + + public static readonly PerspexProperty> DataTemplateProperty = + PerspexProperty.Register>("DataTemplate"); + + private Visual visualChild; + + public object Content + { + get { return this.GetValue(ContentProperty); } + set { this.SetValue(ContentProperty, value); } + } + + public Func DataTemplate + { + get { return this.GetValue(DataTemplateProperty); } + set { this.SetValue(DataTemplateProperty, value); } + } + + public override IEnumerable VisualChildren + { + get + { + object content = this.Content; + var dataTemplate = this.DataTemplate; + + if (this.visualChild == null && content != null) + { + if (content is Visual) + { + this.visualChild = (Visual)content; + } + else if (dataTemplate != null) + { + this.visualChild = dataTemplate(this); + } + else + { + this.visualChild = new TextBlock + { + Text = content.ToString(), + }; + } + } + + return Enumerable.Repeat(this.visualChild, this.visualChild != null ? 1 : 0); + } + } + + protected override Size ArrangeContent(Size finalSize) + { + Control child = this.VisualChildren.SingleOrDefault() as Control; + + if (child != null) + { + double left; + double top; + double width; + double height; + + switch (child.HorizontalAlignment) + { + case HorizontalAlignment.Left: + left = 0; + width = child.DesiredSize.Value.Width; + break; + case HorizontalAlignment.Center: + left = (finalSize.Width / 2) - (child.DesiredSize.Value.Width / 2); + width = child.DesiredSize.Value.Width; + break; + case HorizontalAlignment.Right: + left = finalSize.Width - child.DesiredSize.Value.Width; + width = child.DesiredSize.Value.Width; + break; + default: + left = 0; + width = finalSize.Width; + break; + } + + switch (child.VerticalAlignment) + { + case VerticalAlignment.Top: + top = 0; + height = child.DesiredSize.Value.Height; + break; + case VerticalAlignment.Center: + top = (finalSize.Height / 2) - (child.DesiredSize.Value.Height / 2); + height = child.DesiredSize.Value.Height; + break; + case VerticalAlignment.Bottom: + top = finalSize.Height - child.DesiredSize.Value.Height; + height = child.DesiredSize.Value.Height; + break; + default: + top = 0; + height = finalSize.Height; + break; + } + + child.Arrange(new Rect(left, top, width, height)); + } + + return finalSize; + } + + protected override Size MeasureContent(Size availableSize) + { + Control child = this.VisualChildren.SingleOrDefault() as Control; + + if (child != null) + { + child.Measure(availableSize); + return child.DesiredSize.Value; + } + else + { + return new Size(); + } + } + } +} diff --git a/Perspex/Controls/Control.cs b/Perspex/Controls/Control.cs new file mode 100644 index 00000000000..6d1241b54df --- /dev/null +++ b/Perspex/Controls/Control.cs @@ -0,0 +1,76 @@ +namespace Perspex.Controls +{ + using System.Diagnostics.Contracts; + + public enum HorizontalAlignment + { + Stretch, + Left, + Center, + Right, + } + + public enum VerticalAlignment + { + Stretch, + Top, + Center, + Bottom, + } + + public abstract class Control : Visual + { + public static readonly PerspexProperty HorizontalAlignmentProperty = + PerspexProperty.Register("HorizontalAlignment"); + + public static readonly PerspexProperty VerticalAlignmentProperty = + PerspexProperty.Register("VerticalAlignment"); + + public static readonly PerspexProperty MarginProperty = + PerspexProperty.Register("Margin"); + + public Size? DesiredSize + { + get; + set; + } + + public HorizontalAlignment HorizontalAlignment + { + get { return this.GetValue(HorizontalAlignmentProperty); } + set { this.SetValue(HorizontalAlignmentProperty, value); } + } + + public VerticalAlignment VerticalAlignment + { + get { return this.GetValue(VerticalAlignmentProperty); } + set { this.SetValue(VerticalAlignmentProperty, value); } + } + + public Thickness Margin + { + get { return this.GetValue(MarginProperty); } + set { this.SetValue(MarginProperty, value); } + } + + public void Arrange(Rect rect) + { + this.Bounds = new Rect( + rect.Position, + this.ArrangeContent(rect.Size.Deflate(this.Margin).Constrain(rect.Size))); + } + + public void Measure(Size availableSize) + { + availableSize = availableSize.Deflate(this.Margin); + this.DesiredSize = this.MeasureContent(availableSize).Constrain(availableSize); + } + + protected virtual Size ArrangeContent(Size finalSize) + { + return finalSize; + } + + protected abstract Size MeasureContent(Size availableSize); + } +} diff --git a/Perspex/Controls/Decorator.cs b/Perspex/Controls/Decorator.cs new file mode 100644 index 00000000000..9f1a8d64b36 --- /dev/null +++ b/Perspex/Controls/Decorator.cs @@ -0,0 +1,54 @@ +namespace Perspex.Controls +{ + using System; + using System.Collections.Generic; + using System.Linq; + + public abstract class Decorator : Control + { + public static readonly PerspexProperty ContentProperty = + PerspexProperty.Register("Content"); + + public Control Content + { + get { return this.GetValue(ContentProperty); } + set { this.SetValue(ContentProperty, value); } + } + + public override IEnumerable VisualChildren + { + get + { + Control content = this.Content; + return Enumerable.Repeat(content, content != null ? 1 : 0); + } + } + + protected override Size ArrangeContent(Size finalSize) + { + Control content = this.Content; + + if (content != null) + { + content.Arrange(new Rect(finalSize)); + } + + return finalSize; + } + + protected override Size MeasureContent(Size availableSize) + { + Control content = this.Content; + + if (content != null) + { + content.Measure(availableSize); + return content.DesiredSize.Value; + } + else + { + return new Size(); + } + } + } +} diff --git a/Perspex/Controls/TemplatedControl.cs b/Perspex/Controls/TemplatedControl.cs new file mode 100644 index 00000000000..884e658b69c --- /dev/null +++ b/Perspex/Controls/TemplatedControl.cs @@ -0,0 +1,47 @@ +namespace Perspex.Controls +{ + using System; + using System.Collections.Generic; + using System.Linq; + using Perspex.Media; + + public abstract class TemplatedControl : Control + { + public static readonly PerspexProperty> TemplateProperty = + PerspexProperty.Register>("Template"); + + private Visual visualChild; + + public TemplatedControl() + { + this.Template = owner => this.DefaultTemplate(); + } + + public Func Template + { + get { return this.GetValue(TemplateProperty); } + set { this.SetValue(TemplateProperty, value); } + } + + public override IEnumerable VisualChildren + { + get + { + var template = this.Template; + + if (this.visualChild == null && template != null) + { + this.visualChild = template(this); + } + + return Enumerable.Repeat(this.visualChild, this.visualChild != null ? 1 : 0); + } + } + + public sealed override void Render(IDrawingContext context) + { + } + + protected abstract Visual DefaultTemplate(); + } +} diff --git a/Perspex/Controls/TextBlock.cs b/Perspex/Controls/TextBlock.cs new file mode 100644 index 00000000000..943ae048cd6 --- /dev/null +++ b/Perspex/Controls/TextBlock.cs @@ -0,0 +1,68 @@ +namespace Perspex.Controls +{ + using Perspex.Media; + + public class TextBlock : Control + { + public static readonly PerspexProperty BackgroundProperty = + Border.BackgroundProperty.AddOwner(); + + public static readonly PerspexProperty ForegroundProperty = + PerspexProperty.Register( + "Foreground", + defaultValue: new SolidColorBrush(0xff000000), + inherits: true); + + public static readonly PerspexProperty TextProperty = + PerspexProperty.Register("Text"); + + public Brush Background + { + get { return this.GetValue(BackgroundProperty); } + set { this.SetValue(BackgroundProperty, value); } + } + + public Brush Foreground + { + get { return this.GetValue(ForegroundProperty); } + set { this.SetValue(ForegroundProperty, value); } + } + + public string Text + { + get { return this.GetValue(TextProperty); } + set { this.SetValue(TextProperty, value); } + } + + private FormattedText FormattedText + { + get + { + return new FormattedText + { + FontFamilyName = "Segoe UI", + FontSize = 18, + Text = this.Text, + }; + } + } + + public override void Render(IDrawingContext context) + { + Brush background = this.Background; + + if (background != null) + { + context.FillRectange(background, this.Bounds); + } + + context.DrawText(this.Foreground, this.Bounds, this.FormattedText); + } + + protected override Size MeasureContent(Size availableSize) + { + ITextService service = ServiceLocator.Get(); + return service.Measure(this.FormattedText); + } + } +} diff --git a/Perspex/Media/Brush.cs b/Perspex/Media/Brush.cs new file mode 100644 index 00000000000..7f6dce63e4a --- /dev/null +++ b/Perspex/Media/Brush.cs @@ -0,0 +1,15 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.Media +{ + /// + /// Describes how an area is painted. + /// + public abstract class Brush + { + } +} diff --git a/Perspex/Media/Color.cs b/Perspex/Media/Color.cs new file mode 100644 index 00000000000..cf4a7797362 --- /dev/null +++ b/Perspex/Media/Color.cs @@ -0,0 +1,110 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.Media +{ + /// + /// An ARGB color. + /// + public struct Color + { + /// + /// Gets or sets the Alpha component of the color. + /// + public byte A { get; set; } + + /// + /// Gets or sets the Red component of the color. + /// + public byte R { get; set; } + + /// + /// Gets or sets the Green component of the color. + /// + public byte G { get; set; } + + /// + /// Gets or sets the Blue component of the color. + /// + public byte B { get; set; } + + /// + /// Creates a from alpha, red, green and blue components. + /// + /// The alpha component. + /// The red component. + /// The green component. + /// The blue component. + /// The color. + public static Color FromArgb(byte a, byte r, byte g, byte b) + { + return new Color + { + A = a, + R = r, + G = g, + B = b, + }; + } + + /// + /// Creates a from red, green and blue components. + /// + /// The red component. + /// The green component. + /// The blue component. + /// The color. + public static Color FromRgb(byte r, byte g, byte b) + { + return new Color + { + A = 0xff, + R = r, + G = g, + B = b, + }; + } + + /// + /// Creates a from an integer. + /// + /// The integer value. + /// The color. + public static Color FromUInt32(uint value) + { + return new Color + { + A = (byte)((value >> 24) & 0xff), + R = (byte)((value >> 16) & 0xff), + G = (byte)((value >> 8) & 0xff), + B = (byte)(value & 0xff), + }; + } + + /// + /// Returns the string representation of the color. + /// + /// + /// The string representation of the color. + /// + public override string ToString() + { + uint rgb = ((uint)this.A << 24) | ((uint)this.R << 16) | ((uint)this.G << 8) | (uint)this.B; + return string.Format("#{0:x8}", rgb); + } + + /// + /// Returns the integer representation of the color. + /// + /// + /// The integer representation of the color. + /// + public uint ToUint32() + { + return ((uint)this.A << 24) | ((uint)this.R << 16) | ((uint)this.G << 8) | (uint)this.B; + } + } +} diff --git a/Perspex/Media/FormattedText.cs b/Perspex/Media/FormattedText.cs new file mode 100644 index 00000000000..556d2a9f9f2 --- /dev/null +++ b/Perspex/Media/FormattedText.cs @@ -0,0 +1,17 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.Media +{ + public class FormattedText + { + public string FontFamilyName { get; set; } + + public double FontSize { get; set; } + + public string Text { get; set; } + } +} diff --git a/Perspex/Media/IDrawingContext.cs b/Perspex/Media/IDrawingContext.cs new file mode 100644 index 00000000000..b8ba6862507 --- /dev/null +++ b/Perspex/Media/IDrawingContext.cs @@ -0,0 +1,36 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.Media +{ + /// + /// Defines the interface through which drawing occurs. + /// + public interface IDrawingContext + { + /// + /// Draws the outline of a rectangle. + /// + /// The pen. + /// The rectangle bounds. + void DrawRectange(Pen pen, Rect rect); + + /// + /// Draws text. + /// + /// The foreground brush. + /// The bounding rectangle. + /// The text. + void DrawText(Brush foreground, Rect rect, FormattedText text); + + /// + /// Draws a filled rectangle. + /// + /// The brush. + /// The rectangle bounds. + void FillRectange(Brush brush, Rect rect); + } +} diff --git a/Perspex/Media/ITextService.cs b/Perspex/Media/ITextService.cs new file mode 100644 index 00000000000..0d44ba01b40 --- /dev/null +++ b/Perspex/Media/ITextService.cs @@ -0,0 +1,7 @@ +namespace Perspex.Media +{ + public interface ITextService + { + Size Measure(FormattedText text); + } +} diff --git a/Perspex/Media/Pen.cs b/Perspex/Media/Pen.cs new file mode 100644 index 00000000000..5e73c403341 --- /dev/null +++ b/Perspex/Media/Pen.cs @@ -0,0 +1,46 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.Media +{ + /// + /// Describes how a stroke is drawn. + /// + public class Pen + { + /// + /// Initializes a new instance of the class. + /// + /// The brush used to draw. + /// The stroke thickness. + public Pen(Brush brush, double thickness) + { + this.Brush = brush; + this.Thickness = thickness; + } + + /// + /// Initializes a new instance of the class. + /// + /// The stroke color. + /// The stroke thickness. + public Pen(uint color, double thickness) + { + this.Brush = new SolidColorBrush(color); + this.Thickness = thickness; + } + + /// + /// Gets the brush used to draw the stroke. + /// + public Brush Brush { get; private set; } + + /// + /// Gets the stroke thickness. + /// + public double Thickness { get; private set; } + } +} diff --git a/Perspex/Media/SolidColorBrush.cs b/Perspex/Media/SolidColorBrush.cs new file mode 100644 index 00000000000..6bd5499875d --- /dev/null +++ b/Perspex/Media/SolidColorBrush.cs @@ -0,0 +1,41 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex.Media +{ + /// + /// Fills an area with a solid color. + /// + public class SolidColorBrush : Brush + { + /// + /// Initializes a new instance of the class. + /// + /// The color to use. + public SolidColorBrush(Color color) + { + this.Color = color; + } + + /// + /// Initializes a new instance of the class. + /// + /// The color to use. + public SolidColorBrush(uint color) + : this(Color.FromUInt32(color)) + { + } + + /// + /// Gets the color of the brush. + /// + public Color Color + { + get; + private set; + } + } +} diff --git a/Perspex/Perspex.csproj b/Perspex/Perspex.csproj new file mode 100644 index 00000000000..24155f752f5 --- /dev/null +++ b/Perspex/Perspex.csproj @@ -0,0 +1,142 @@ + + + + + 11.0 + Debug + AnyCPU + {3C9F40DA-D2A5-43A1-A272-E965876C6D46} + Library + Properties + Perspex + Perspex + v4.5 + Profile7 + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 1 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + True + False + True + False + False + True + True + True + False + False + False + True + True + False + False + False + True + False + True + True + False + False + + + + + + + + True + False + Full + %28none%29 + 0 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ..\packages\Rx-Core.2.1.30214.0\lib\Portable-Net45+WinRT45+WP8\System.Reactive.Core.dll + + + ..\packages\Rx-Interfaces.2.1.30214.0\lib\Portable-Net45+WinRT45+WP8\System.Reactive.Interfaces.dll + + + ..\packages\Rx-Linq.2.1.30214.0\lib\Portable-Net45+WinRT45+WP8\System.Reactive.Linq.dll + + + + + + + + + ..\packages\StyleCop.MSBuild.4.7.46.0\tools\StyleCop.targets + + + + Failed to import StyleCop.MSBuild targets from '$(StyleCopMSBuildTargetsFile)'. The StyleCop.MSBuild package was either missing or incomplete when the project was loaded. Ensure that the package is present and then restart the build. If you are using an IDE (e.g. Visual Studio), reload the project before restarting the build. + Failed to import StyleCop.MSBuild targets from '$(StyleCopMSBuildTargetsFile)'. The StyleCop.MSBuild package was either missing or incomplete when the project was loaded (but is now present). To fix this, restart the build. If you are using an IDE (e.g. Visual Studio), reload the project before restarting the build. + Failed to import StyleCop.MSBuild targets from '$(StyleCopMSBuildTargetsFile)'. The StyleCop.MSBuild package was either missing or incomplete when the project was loaded. To fix this, restore the package and then restart the build. If you are using an IDE (e.g. Visual Studio), you may need to reload the project before restarting the build. Note that regular NuGet package restore (during build) does not work with this package because the package needs to be present before the project is loaded. If this is an automated build (e.g. CI server), you may want to ensure that the build process restores the StyleCop.MSBuild package before the project is built. + Failed to import StyleCop.MSBuild targets from '$(StyleCopMSBuildTargetsFile)'. The StyleCop.MSBuild package was either missing or incomplete when the project was loaded (but is now present). To fix this, restart the build. If you are using an IDE (e.g. Visual Studio), reload the project before restarting the build. Note that when using regular NuGet package restore (during build) the package will not be available for the initial build because the package needs to be present before the project is loaded. If package restore executes successfully in the intitial build then the package will be available for subsequent builds. If this is an automated build (e.g. CI server), you may want to ensure that the build process restores the StyleCop.MSBuild package before the initial build. + + + + + + + + + + + + + StyleCopMSBuildTargetsNotFound;$(PrepareForBuildDependsOn) + + \ No newline at end of file diff --git a/Perspex/PerspexObject.cs b/Perspex/PerspexObject.cs new file mode 100644 index 00000000000..09f3df787e6 --- /dev/null +++ b/Perspex/PerspexObject.cs @@ -0,0 +1,352 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 Tricycle. All rights reserved. +// +// ----------------------------------------------------------------------- + +namespace Perspex +{ + using System; + using System.Collections.Generic; + using System.Diagnostics.Contracts; + using System.Linq; + using System.Reactive; + using System.Reactive.Linq; + using System.Reflection; + + /// + /// An object with support. + /// + /// + /// This class is analogous to DependencyObject in WPF. + /// + public class PerspexObject + { + /// + /// The registered properties by type. + /// + private static Dictionary> registered = + new Dictionary>(); + + /// + /// The parent object that inherited values are inherited from. + /// + private PerspexObject inheritanceParent; + + /// + /// The set values on this object. + /// + private Dictionary values = + new Dictionary(); + + /// + /// The current bindings on this object. + /// + private Dictionary bindings = + new Dictionary(); + + /// + /// Raised when a value changes on this object/ + /// + public event EventHandler PropertyChanged; + + /// + /// Gets or sets the parent object that inherited values + /// are inherited from. + /// + protected PerspexObject InheritanceParent + { + get + { + return this.inheritanceParent; + } + + set + { + if (this.inheritanceParent != value) + { + if (this.inheritanceParent != null) + { + this.inheritanceParent.PropertyChanged -= this.ParentPropertyChanged; + } + + var inherited = (from property in GetProperties(this.GetType()) + where property.Inherits + select new + { + Property = property, + Value = this.GetValue(property), + }).ToList(); + + this.inheritanceParent = value; + + foreach (var i in inherited) + { + object newValue = this.GetValue(i.Property); + + if (!object.Equals(i.Value, newValue)) + { + this.RaisePropertyChanged(i.Property, i.Value, newValue); + } + } + + if (this.inheritanceParent != null) + { + this.inheritanceParent.PropertyChanged += this.ParentPropertyChanged; + } + } + } + } + + /// + /// Gets all s registered on a type. + /// + /// The type. + /// A collection of definitions. + public static IEnumerable GetProperties(Type type) + { + Contract.Requires(type != null); + + TypeInfo i = type.GetTypeInfo(); + + while (type != null) + { + List list; + + if (registered.TryGetValue(type, out list)) + { + foreach (PerspexProperty p in list) + { + yield return p; + } + } + + type = type.GetTypeInfo().BaseType; + } + } + + /// + /// Registers a on a type. + /// + /// The type. + /// The property. + /// + /// You won't usually want to call this method directly, instead use the + /// method. + /// + public static void Register(Type type, PerspexProperty property) + { + Contract.Requires(type != null); + Contract.Requires(property != null); + + List list; + + if (!registered.TryGetValue(type, out list)) + { + list = new List(); + registered.Add(type, list); + } + + if (!list.Contains(property)) + { + list.Add(property); + } + } + + /// + /// Binds a property on this object to an observable. + /// + /// The type of the property. + /// The target property. + /// The observable. + /// A disposable binding. + public void Bind(PerspexProperty target, IObservable source) + { + Contract.Requires(target != null); + Contract.Requires(source != null); + + this.ClearBinding(target); + + IDisposable binding = source.Subscribe(Observer.Create(value => + { + this.SetValue(target, value); + })); + + this.bindings.Add(target, binding); + } + + /// + /// Clears a binding on a , leaving the last bound value in + /// place. + /// + /// The property. + public void ClearBinding(PerspexProperty property) + { + Contract.Requires(property != null); + IDisposable binding; + + if (this.bindings.TryGetValue(property, out binding)) + { + binding.Dispose(); + this.bindings.Remove(property); + } + } + + /// + /// Clears a value, including its bindings. + /// + /// The property. + public void ClearValue(PerspexProperty property) + { + Contract.Requires(property != null); + this.ClearBinding(property); + this.values.Remove(property); + } + + /// + /// Gets an observable for a . + /// + /// + /// + /// + public IObservable GetObservable(PerspexProperty property) + { + return Observable.Create(observer => + { + EventHandler handler = (s, e) => + { + if (e.Property == property) + { + observer.OnNext((T)e.NewValue); + } + }; + + this.PropertyChanged += handler; + observer.OnNext(this.GetValue(property)); + + return () => + { + this.PropertyChanged -= handler; + }; + }); + } + + /// + /// Gets a value. + /// + /// The property. + /// The value. + public object GetValue(PerspexProperty property) + { + Contract.Requires(property != null); + + object value; + + if (!this.values.TryGetValue(property, out value)) + { + if (property.Inherits && this.inheritanceParent != null) + { + value = this.inheritanceParent.GetValue(property); + } + else + { + value = property.GetDefaultValue(this.GetType()); + } + } + + return value; + } + + /// + /// Gets a value. + /// + /// The property. + /// The value. + public T GetValue(PerspexProperty property) + { + Contract.Requires(property != null); + + return (T)this.GetValue((PerspexProperty)property); + } + + /// + /// Gets a value. + /// + /// The type of the property. + /// The property. + /// The value. + public T GetValue(ReadOnlyPerspexProperty property) + { + Contract.Requires(property != null); + + return (T)this.GetValue(property.Property); + } + + /// + /// Checks whether a is set on this object. + /// + /// + /// + public bool IsSet(PerspexProperty property) + { + Contract.Requires(property != null); + + return this.values.ContainsKey(property); + } + + /// + /// Sets a value. + /// + /// The type of the property. + /// The property. + /// The value. + public void SetValue(PerspexProperty property, T value) + { + Contract.Requires(property != null); + + this.ClearBinding(property); + + T oldValue = this.GetValue(property); + + if (!object.Equals(oldValue, value)) + { + this.values[property] = value; + this.RaisePropertyChanged(property, oldValue, value); + } + } + + /// + /// Called when a property is changed on the current . + /// + /// The event sender. + /// The event args. + /// + /// Checks for changes in an inherited property value. + /// + private void ParentPropertyChanged(object sender, PerspexPropertyChangedEventArgs e) + { + if (e.Property.Inherits && !this.IsSet(e.Property)) + { + this.RaisePropertyChanged(e.Property, e.OldValue, e.NewValue); + } + } + + /// + /// Raises the event. + /// + /// The property that has changed. + /// The old property value. + /// The new property value. + private void RaisePropertyChanged(PerspexProperty property, object oldValue, object newValue) + { + Contract.Requires(property != null); + + if (this.PropertyChanged != null) + { + this.PropertyChanged( + this, + new PerspexPropertyChangedEventArgs(property, oldValue, newValue)); + } + } + } +} diff --git a/Perspex/PerspexProperty.cs b/Perspex/PerspexProperty.cs new file mode 100644 index 00000000000..5e752708ac8 --- /dev/null +++ b/Perspex/PerspexProperty.cs @@ -0,0 +1,186 @@ +namespace Perspex +{ + using System; + using System.Collections.Generic; + using System.Diagnostics.Contracts; + using System.Linq; + using System.Reflection; + using System.Text; + using System.Threading.Tasks; + + /// + /// A perspex property. + /// + /// + /// This class is analogous to DependencyProperty in WPF. + /// + public class PerspexProperty + { + /// + /// The default values for the property, by type. + /// + private Dictionary defaultValues = new Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// The name of the property. + /// The type of the property's value. + /// The type of the class that registers the property. + /// The default value of the property. + /// Whether the property inherits its value. + public PerspexProperty( + string name, + Type valueType, + Type ownerType, + object defaultValue, + bool inherits) + { + Contract.Requires(name != null); + Contract.Requires(valueType != null); + Contract.Requires(ownerType != null); + + this.Name = name; + this.ValueType = valueType; + this.OwnerType = ownerType; + this.Inherits = inherits; + this.defaultValues.Add(ownerType, defaultValue); + } + + /// + /// The name of the property. + /// + public string Name { get; private set; } + + /// + /// The type of the property's value. + /// + public Type ValueType { get; private set; } + + /// + /// The type of the class that registers the property. + /// + public Type OwnerType { get; private set; } + + /// + /// Whether the property inherits its value. + /// + public bool Inherits { get; private set; } + + /// + /// Registers a . + /// + /// The type of the class that is registering the property. + /// The type of the property's value. + /// The name of the property. + /// The default value of the property. + /// Whether the property inherits its value. + /// + public static PerspexProperty Register( + string name, + TValue defaultValue = default(TValue), + bool inherits = false) + where TOwner : PerspexObject + { + Contract.Requires(name != null); + + PerspexProperty result = new PerspexProperty( + name, + typeof(TOwner), + defaultValue, + inherits); + + PerspexObject.Register(typeof(TOwner), result); + + return result; + } + + /// + /// Gets the default value for the property on the specified type. + /// + /// The type. + /// The default value. + public object GetDefaultValue(Type type) + { + Contract.Requires(type != null); + + while (type != null) + { + object result; + + if (this.defaultValues.TryGetValue(type, out result)) + { + return result; + } + + type = type.GetTypeInfo().BaseType; + } + + return this.defaultValues[this.OwnerType]; + } + + /// + /// Gets the default value for the property on the specified type. + /// + /// The type. + /// The default value. + public void OverrideDefaultValue(Type type, object defaultValue) + { + Contract.Requires(type != null); + + // TODO: Ensure correct type. + + if (this.defaultValues.ContainsKey(type)) + { + throw new InvalidOperationException("Default value is already set for this property."); + } + + this.defaultValues.Add(type, defaultValue); + } + } + + /// + /// A typed perspex property. + /// + public class PerspexProperty : PerspexProperty + { + /// + /// Initializes a new instance of the class. + /// + /// The name of the property. + /// The type of the class that registers the property. + /// The default value of the property. + /// Whether the property inherits its value. + public PerspexProperty( + string name, + Type ownerType, + TValue defaultValue, + bool inherits) + : base(name, typeof(TValue), ownerType, defaultValue, inherits) + { + Contract.Requires(name != null); + Contract.Requires(ownerType != null); + } + + /// + /// Registers the property on another type. + /// + /// The type of the additional owner. + /// The property. + public PerspexProperty AddOwner() + { + PerspexObject.Register(typeof(TOwner), this); + return this; + } + + /// + /// Gets the default value for the property on the specified type. + /// + /// The type. + /// The default value. + public TValue GetDefaultValue() + { + return (TValue)this.GetDefaultValue(typeof(T)); + } + } +} diff --git a/Perspex/PerspexPropertyChangedEventArgs.cs b/Perspex/PerspexPropertyChangedEventArgs.cs new file mode 100644 index 00000000000..86c1f18eb6b --- /dev/null +++ b/Perspex/PerspexPropertyChangedEventArgs.cs @@ -0,0 +1,45 @@ +// ----------------------------------------------------------------------- +// +// Copyright 2013 MIT Licence. See licence.md for more information. +// +// ----------------------------------------------------------------------- + +namespace Perspex +{ + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using System.Threading.Tasks; + + /// + /// Provides information for a perspex property change. + /// + public class PerspexPropertyChangedEventArgs + { + public PerspexPropertyChangedEventArgs( + PerspexProperty property, + object oldValue, + object newValue) + { + this.Property = property; + this.OldValue = oldValue; + this.NewValue = newValue; + } + + /// + /// Gets the property that changed. + /// + public PerspexProperty Property { get; private set; } + + /// + /// Gets the old value of the property. + /// + public object OldValue { get; private set; } + + /// + /// Gets the new value of the property. + /// + public object NewValue { get; private set; } + } +} diff --git a/Perspex/Point.cs b/Perspex/Point.cs new file mode 100644 index 00000000000..ab93b4856cb --- /dev/null +++ b/Perspex/Point.cs @@ -0,0 +1,56 @@ +namespace Perspex +{ + using System.Globalization; + + /// + /// Defines a point. + /// + public struct Point + { + /// + /// The X position. + /// + private double x; + + /// + /// The Y position. + /// + private double y; + + /// + /// Initializes a new instance of the structure. + /// + /// The X position. + /// The Y position. + public Point(double x, double y) + { + this.x = x; + this.y = y; + } + + /// + /// Gets the X position. + /// + public double X + { + get { return this.x; } + } + + /// + /// Gets the Y position. + /// + public double Y + { + get { return this.y; } + } + + /// + /// Returns the string representation of the point. + /// + /// The string representation of the point. + public override string ToString() + { + return string.Format(CultureInfo.InvariantCulture, "{0}, {1}", this.x, this.y); + } + } +} diff --git a/Perspex/Properties/AssemblyInfo.cs b/Perspex/Properties/AssemblyInfo.cs new file mode 100644 index 00000000000..524a057d81f --- /dev/null +++ b/Perspex/Properties/AssemblyInfo.cs @@ -0,0 +1,28 @@ +using System.Reflection; +using System.Resources; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Perspex")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Perspex")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: NeutralResourcesLanguage("en")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Perspex/ReadOnlyPerspexProperty.cs b/Perspex/ReadOnlyPerspexProperty.cs new file mode 100644 index 00000000000..db50c7b06c6 --- /dev/null +++ b/Perspex/ReadOnlyPerspexProperty.cs @@ -0,0 +1,12 @@ +namespace Perspex +{ + public class ReadOnlyPerspexProperty + { + public ReadOnlyPerspexProperty(PerspexProperty property) + { + this.Property = property; + } + + internal PerspexProperty Property { get; private set; } + } +} diff --git a/Perspex/Rect.cs b/Perspex/Rect.cs new file mode 100644 index 00000000000..f4ef0cae399 --- /dev/null +++ b/Perspex/Rect.cs @@ -0,0 +1,147 @@ +namespace Perspex +{ + using System; + using System.Globalization; + + /// + /// Defines a rectangle. + /// + public struct Rect + { + /// + /// The X position. + /// + private double x; + + /// + /// The Y position. + /// + private double y; + + /// + /// The width. + /// + private double width; + + /// + /// The height. + /// + private double height; + + /// + /// Initializes a new instance of the structure. + /// + /// The X position. + /// The Y position. + /// The width. + /// The height. + public Rect(double x, double y, double width, double height) + { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + } + + /// + /// Initializes a new instance of the structure. + /// + /// The size of the rectangle. + public Rect(Size size) + { + this.x = 0; + this.y = 0; + this.width = size.Width; + this.height = size.Height; + } + + /// + /// Initializes a new instance of the structure. + /// + /// The position of the rectangle. + /// The size of the rectangle. + public Rect(Point position, Size size) + { + this.x = position.X; + this.y = position.Y; + this.width = size.Width; + this.height = size.Height; + } + + /// + /// Gets the X position. + /// + public double X + { + get { return this.x; } + } + + /// + /// Gets the Y position. + /// + public double Y + { + get { return this.y; } + } + + /// + /// Gets the width. + /// + public double Width + { + get { return this.width; } + } + + /// + /// Gets the height. + /// + public double Height + { + get { return this.height; } + } + + /// + /// Gets the position of the rectangle. + /// + public Point Position + { + get { return new Point(this.x, this.y); } + } + + /// + /// Gets the size of the rectangle. + /// + public Size Size + { + get { return new Size(this.width, this.height); } + } + + /// + /// Deflates the rectangle by a . + /// + /// The thickness. + /// The deflated rectangle. + /// The deflated rectangle size cannot be less than 0. + public Rect Deflate(Thickness thickness) + { + return new Rect( + new Point(this.x + thickness.Left, this.y + thickness.Top), + this.Size.Deflate(thickness)); + } + + /// + /// Returns the string representation of the rectangle. + /// + /// The string representation of the rectangle. + public override string ToString() + { + return string.Format( + CultureInfo.InvariantCulture, + "{0}, {1}, {2}, {3}", + this.x, + this.y, + this.width, + this.height); + } + } +} diff --git a/Perspex/ServiceLocator.cs b/Perspex/ServiceLocator.cs new file mode 100644 index 00000000000..225b019d97a --- /dev/null +++ b/Perspex/ServiceLocator.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Perspex +{ + public static class ServiceLocator + { + private static Dictionary> services = + new Dictionary>(); + + public static T Get() + { + return (T)services[typeof(T)](); + } + + public static void Register(Func func) + { + services.Add(typeof(T), () => (object)func()); + } + } +} diff --git a/Perspex/Size.cs b/Perspex/Size.cs new file mode 100644 index 00000000000..35b3ce7ad8e --- /dev/null +++ b/Perspex/Size.cs @@ -0,0 +1,94 @@ +namespace Perspex +{ + using System; + using System.Globalization; + + /// + /// Defines a size. + /// + public struct Size + { + /// + /// The width. + /// + private double width; + + /// + /// The height. + /// + private double height; + + /// + /// Initializes a new instance of the structure. + /// + /// The width. + /// The height. + public Size(double width, double height) + { + this.width = width; + this.height = height; + } + + /// + /// Gets the width. + /// + public double Width + { + get { return this.width; } + } + + /// + /// Gets the height. + /// + public double Height + { + get { return this.height; } + } + + /// + /// Constrains the size. + /// + /// The size to constrain to. + /// The constrained size. + public Size Constrain(Size constraint) + { + return new Size( + Math.Min(this.width, constraint.width), + Math.Min(this.height, constraint.height)); + } + + /// + /// Deflates the size by a . + /// + /// The thickness. + /// The deflated size. + /// The deflated size cannot be less than 0. + public Size Deflate(Thickness thickness) + { + return new Size( + Math.Max(0, this.width - thickness.Left - thickness.Right), + Math.Max(0, this.height - thickness.Top - thickness.Bottom)); + } + + /// + /// Inflates the size by a . + /// + /// The thickness. + /// The inflated size. + public Size Inflate(Thickness thickness) + { + return new Size( + this.width + thickness.Left + thickness.Right, + this.height + thickness.Top + thickness.Bottom); + } + + /// + /// Returns the string representation of the size. + /// + /// The string representation of the size + public override string ToString() + { + return string.Format(CultureInfo.InvariantCulture, "{0}, {1}", this.width, this.height); + } + } +} diff --git a/Perspex/Thickness.cs b/Perspex/Thickness.cs new file mode 100644 index 00000000000..442cfe4e68f --- /dev/null +++ b/Perspex/Thickness.cs @@ -0,0 +1,163 @@ +namespace Perspex +{ + using System; + using System.Diagnostics.Contracts; + + public struct Thickness + { + /// + /// The thickness on the left. + /// + private double left; + + /// + /// The thickness on the top. + /// + private double top; + + /// + /// The thickness on the right. + /// + private double right; + + /// + /// The thickness on the bottom. + /// + private double bottom; + + /// + /// Initializes a new instance of the structure. + /// + /// The length that should be applied to all sides. + public Thickness(double uniformLength) + { + Contract.Requires(uniformLength >= 0); + + this.left = this.top = this.right = this.bottom = uniformLength; + } + + /// + /// Initializes a new instance of the structure. + /// + /// The thickness on the left. + /// The thickness on the top. + /// The thickness on the right. + /// The thickness on the bottom. + public Thickness(double left, double top, double right, double bottom) + { + Contract.Requires(left >= 0); + Contract.Requires(top >= 0); + Contract.Requires(right >= 0); + Contract.Requires(bottom >= 0); + + this.left = left; + this.top = top; + this.right = right; + this.bottom = bottom; + } + + /// + /// Gets the thickness on the left. + /// + public double Left + { + get { return this.left; } + } + + /// + /// Gets the thickness on the top. + /// + public double Top + { + get { return this.top; } + } + + /// + /// Gets the thickness on the right. + /// + public double Right + { + get { return this.right; } + } + + /// + /// Gets the thickness on the bottom. + /// + public double Bottom + { + get { return this.bottom; } + } + + /// + /// Gets a value indicating whether all sides are set to 0. + /// + public bool IsEmpty + { + get { return this.Left == 0 && this.Top == 0 && this.Right == 0 && this.Bottom == 0; } + } + + /// + /// Compares two Thicknesses. + /// + /// The first thickness. + /// The second thickness. + /// The equality. + public static bool operator ==(Thickness a, Thickness b) + { + return a.Equals(b); + } + + /// + /// Compares two Thicknesses. + /// + /// The first thickness. + /// The second thickness. + /// The unequality. + public static bool operator !=(Thickness a, Thickness b) + { + return !a.Equals(b); + } + + /// + /// Adds two Thicknesses. + /// + /// The first thickness. + /// The second thickness. + /// The equality. + public static Thickness operator +(Thickness a, Thickness b) + { + return new Thickness( + a.Left + b.Left, + a.Top + b.Top, + a.Right + b.Right, + a.Bottom + b.Bottom); + } + + public override bool Equals(object obj) + { + if (obj is Thickness) + { + Thickness other = (Thickness)obj; + return this.Left == other.Left && + this.Top == other.Top && + this.Right == other.Right && + this.Bottom == other.Bottom; + } + + return false; + } + + public override int GetHashCode() + { + unchecked + { + int hash = 17; + hash = (hash * 23) + this.Left.GetHashCode(); + hash = (hash * 23) + this.Top.GetHashCode(); + hash = (hash * 23) + this.Right.GetHashCode(); + hash = (hash * 23) + this.Bottom.GetHashCode(); + return hash; + } + } + } +} diff --git a/Perspex/Visual.cs b/Perspex/Visual.cs new file mode 100644 index 00000000000..dd5ea900e2e --- /dev/null +++ b/Perspex/Visual.cs @@ -0,0 +1,33 @@ +namespace Perspex +{ + using System; + using System.Collections.Generic; + using System.Diagnostics.Contracts; + using System.Linq; + using Perspex.Media; + + public abstract class Visual : PerspexObject + { + public static readonly ReadOnlyPerspexProperty BoundsProperty = + new ReadOnlyPerspexProperty(BoundsPropertyW); + + private static readonly PerspexProperty BoundsPropertyW = + PerspexProperty.Register("Bounds", new Rect()); + + public Rect Bounds + { + get { return this.GetValue(BoundsPropertyW); } + protected set { this.SetValue(BoundsPropertyW, value); } + } + + public virtual IEnumerable VisualChildren + { + get { return Enumerable.Empty(); } + } + + public virtual void Render(IDrawingContext context) + { + Contract.Requires(context != null); + } + } +} diff --git a/Perspex/packages.config b/Perspex/packages.config new file mode 100644 index 00000000000..69ab7f7d86b --- /dev/null +++ b/Perspex/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/TestApplication/App.config b/TestApplication/App.config new file mode 100644 index 00000000000..8e15646352e --- /dev/null +++ b/TestApplication/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/TestApplication/Program.cs b/TestApplication/Program.cs new file mode 100644 index 00000000000..364e1270d5f --- /dev/null +++ b/TestApplication/Program.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Perspex; +using Perspex.Controls; +using Perspex.Media; +using Perspex.Windows; +using Perspex.Windows.Media; +using Perspex.Windows.Threading; +namespace TestApplication +{ + class Program + { + static void Main(string[] args) + { + ServiceLocator.Register(() => new TextService(new SharpDX.DirectWrite.Factory())); + + Window window = new Window(); + + window.Content = new TextBlock + { + Text = "Hello World", + Background = new SolidColorBrush(0xffffffff), + HorizontalAlignment = HorizontalAlignment.Center, + VerticalAlignment = VerticalAlignment.Center, + }; + + window.Show(); + Dispatcher.Run(); + } + } +} diff --git a/TestApplication/Properties/AssemblyInfo.cs b/TestApplication/Properties/AssemblyInfo.cs new file mode 100644 index 00000000000..5e8029017d7 --- /dev/null +++ b/TestApplication/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("TestApplication")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("TestApplication")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f8dad012-f4ec-4b63-b64f-320901338290")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/TestApplication/TestApplication.csproj b/TestApplication/TestApplication.csproj new file mode 100644 index 00000000000..ca5b64162b2 --- /dev/null +++ b/TestApplication/TestApplication.csproj @@ -0,0 +1,98 @@ + + + + + Debug + AnyCPU + {E3A1060B-50D0-44E8-88B6-F44EF2E5BD72} + Exe + Properties + TestApplication + TestApplication + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\packages\SharpDX.2.5.0\lib\net40\SharpDX.dll + + + False + ..\packages\SharpDX.Direct2D1.2.5.0\lib\net40\SharpDX.Direct2D1.dll + + + False + ..\packages\SharpDX.DXGI.2.5.0\lib\net40\SharpDX.DXGI.dll + + + + + + False + ..\packages\Rx-Core.2.1.30214.0\lib\Net45\System.Reactive.Core.dll + + + False + ..\packages\Rx-Interfaces.2.1.30214.0\lib\Net45\System.Reactive.Interfaces.dll + + + False + ..\packages\Rx-Linq.2.1.30214.0\lib\Net45\System.Reactive.Linq.dll + + + ..\packages\Rx-PlatformServices.2.1.30214.0\lib\Net45\System.Reactive.PlatformServices.dll + + + + + + + + + + + + + + + + + + + {811a76cf-1cf6-440f-963b-bbe31bd72a82} + Perspex.Windows + + + {3c9f40da-d2a5-43a1-a272-e965876c6d46} + Perspex + + + + + \ No newline at end of file diff --git a/TestApplication/packages.config b/TestApplication/packages.config new file mode 100644 index 00000000000..5f137a719c9 --- /dev/null +++ b/TestApplication/packages.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/packages/Rx-Core.2.1.30214.0/Rx-Core.2.1.30214.0.nupkg b/packages/Rx-Core.2.1.30214.0/Rx-Core.2.1.30214.0.nupkg new file mode 100644 index 00000000000..dd5c0496b3e Binary files /dev/null and b/packages/Rx-Core.2.1.30214.0/Rx-Core.2.1.30214.0.nupkg differ diff --git a/packages/Rx-Core.2.1.30214.0/Rx-Core.2.1.30214.0.nuspec b/packages/Rx-Core.2.1.30214.0/Rx-Core.2.1.30214.0.nuspec new file mode 100644 index 00000000000..42baabb7156 --- /dev/null +++ b/packages/Rx-Core.2.1.30214.0/Rx-Core.2.1.30214.0.nuspec @@ -0,0 +1,25 @@ + + + + Rx-Core + 2.1.30214.0 + Reactive Extensions - Core Library + Microsoft Corporation + Microsoft Corporation + http://go.microsoft.com/fwlink/?LinkID=261272 + http://go.microsoft.com/fwlink/?LinkID=261273 + http://go.microsoft.com/fwlink/?LinkId=261274 + true + Reactive Extensions Core Library containing base classes and scheduler infrastructure. + Microsoft Corporation © 2012 + en-us + Rx Reactive Extensions Observable LINQ Events + + + + + + + + + \ No newline at end of file diff --git a/packages/Rx-Core.2.1.30214.0/lib/Net40/System.Reactive.Core.XML b/packages/Rx-Core.2.1.30214.0/lib/Net40/System.Reactive.Core.XML new file mode 100644 index 00000000000..8d92ad0d86b --- /dev/null +++ b/packages/Rx-Core.2.1.30214.0/lib/Net40/System.Reactive.Core.XML @@ -0,0 +1,2617 @@ + + + + System.Reactive.Core + + + + + The System.Reactive.PlatformServices namespace contains interfaces and classes used by the runtime infrastructure of Reactive Extensions. + Those are not intended to be used directly from user code and are subject to change in future releases of the product. + + + + + Provides a set of static methods for subscribing delegates to observables. + + + + + Subscribes to the observable sequence without specifying any handlers. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + IDisposable object used to unsubscribe from the observable sequence. + is null. + + + + Subscribes an element handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or or is null. + + + + Subscribes an observer to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer to subscribe to the sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or is null. + + + + Subscribes to the observable sequence without specifying any handlers, using a CancellationToken to support unsubscription. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + CancellationToken that can be signaled to unsubscribe from the source sequence. + is null. + + + + Subscribes an element handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or or is null. + + + + Subscribes to the specified source, re-routing synchronous exceptions during invocation of the Subscribe method to the observer's OnError channel. + This method is typically used when writing query operators. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer that will be passed to the observable sequence, and that will be used for exception propagation. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Provides a set of static methods for creating observers. + + + + + Creates an observer from a notification callback. + + The type of the elements received by the observer. + Action that handles a notification. + The observer object that invokes the specified handler using a notification corresponding to each message it receives. + is null. + + + + Creates a notification callback from an observer. + + The type of the elements received by the observer. + Observer object. + The action that forwards its input notification to the underlying observer. + is null. + + + + Creates an observer from the specified OnNext action. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + The observer object implemented using the given actions. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or or is null. + + + + Hides the identity of an observer. + + The type of the elements received by the source observer. + An observer whose identity to hide. + An observer that hides the identity of the specified observer. + is null. + + + + Checks access to the observer for grammar violations. This includes checking for multiple OnError or OnCompleted calls, as well as reentrancy in any of the observer methods. + If a violation is detected, an InvalidOperationException is thrown from the offending observer method call. + + The type of the elements received by the source observer. + The observer whose callback invocations should be checked for grammar violations. + An observer that checks callbacks invocations against the observer grammar and, if the checks pass, forwards those to the specified observer. + is null. + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently from multiple threads. This overload is useful when coordinating access to an observer. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload, passing true for the second parameter. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently. This overload is useful when coordinating access to an observer. + The parameter configures the type of lock used for synchronization. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + If set to true, reentrant observer callbacks will be queued up and get delivered to the observer in a sequential manner. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + When the parameter is set to false, behavior is identical to the overload which uses + a Monitor for synchronization. When the parameter is set to true, an + is used to queue up callbacks to the specified observer if a reentrant call is made. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently by multiple threads, using the specified gate object for use by a Monitor-based lock. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common gate object. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently, using the specified asynchronous lock to protect against concurrent and reentrant access. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common asynchronous lock. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + + + Schedules the invocation of observer methods on the given scheduler. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Scheduler to schedule observer messages on. + Observer whose messages are scheduled on the given scheduler. + or is null. + + + + Schedules the invocation of observer methods on the given synchonization context. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Synchonization context to schedule observer messages on. + Observer whose messages are scheduled on the given synchonization context. + or is null. + + + + Class to create an IObservable<T> instance from a delegate-based implementation of the Subscribe method. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObservable<T> interface. + + + If you don't need a named type to create an observable sequence (i.e. you rather need + an instance rather than a reusable type), use the Observable.Create method to create + an observable sequence with specified subscription behavior. + + The type of the elements in the sequence. + + + + Subscribes the given observer to the observable sequence. + + Observer that will receive notifications from the observable sequence. + Disposable object representing an observer's subscription to the observable sequence. + is null. + + + + Implement this method with the core subscription logic for the observable sequence. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Creates an observable sequence object from the specified subscription function. + + Subscribe method implementation. + is null. + + + + Calls the subscription function that was supplied to the constructor. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Class to create an IObserver<T> instance from delegate-based implementations of the On* methods. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObserver<T> interface. + + This base class enforces the grammar of observers where OnError and OnCompleted are terminal messages. + The type of the elements in the sequence. + + + + Creates a new observer in a non-stopped state. + + + + + Notifies the observer of a new element in the sequence. + + Next element in the sequence. + + + + Implement this method to react to the receival of a new element in the sequence. + + Next element in the sequence. + This method only gets called when the observer hasn't stopped yet. + + + + Notifies the observer that an exception has occurred. + + The error that has occurred. + is null. + + + + Implement this method to react to the occurrence of an exception. + + The error that has occurred. + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Notifies the observer of the end of the sequence. + + + + + Implement this method to react to the end of the sequence. + + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Disposes the observer, causing it to transition to the stopped state. + + + + + Core implementation of IDisposable. + + true if the Dispose call was triggered by the IDisposable.Dispose method; false if it was triggered by the finalizer. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + or or is null. + + + + Creates an observer from the specified OnNext action. + + Observer's OnNext action implementation. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + or is null. + + + + Calls the onNext action. + + Next element in the sequence. + + + + Calls the onError action. + + The error that has occurred. + + + + Calls the onCompleted action. + + + + + This class fuses logic from ObserverBase, AnonymousObserver, and SafeObserver into one class. When an observer + needs to be safeguarded, an instance of this type can be created by SafeObserver.Create when it detects its + input is an AnonymousObserver, which is commonly used by end users when using the Subscribe extension methods + that accept delegates for the On* handlers. By doing the fusion, we make the call stack depth shorter which + helps debugging and some performance. + + + + + Asynchronous lock. + + + + + Queues the action for execution. If the caller acquires the lock and becomes the owner, + the queue is processed. If the lock is already owned, the action is queued and will get + processed by the owner. + + Action to queue for execution. + is null. + + + + Clears the work items in the queue and drops further work being queued. + + + + + (Infrastructure) Concurrency abstraction layer. + + + + + Gets the current CAL. If no CAL has been set yet, it will be initialized to the default. + + + + + (Infrastructure) Concurrency abstraction layer interface. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Queues a method for execution at the specified relative time. + + Method to execute. + State to pass to the method. + Time to execute the method on. + Disposable object that can be used to stop the timer. + + + + Queues a method for periodic execution based on the specified period. + + Method to execute; should be safe for reentrancy. + Period for running the method periodically. + Disposable object that can be used to stop the timer. + + + + Queues a method for execution. + + Method to execute. + State to pass to the method. + Disposable object that can be used to cancel the queued method. + + + + Blocking sleep operation. + + Time to sleep. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Starts a new long-running thread. + + Method to execute. + State to pass to the method. + + + + Gets whether long-running scheduling is supported. + + + + + Provides a set of static properties to access commonly used schedulers. + + + + + Returns a scheduler that represents the original scheduler, without any of its interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable all optimizations for. + Proxy to the original scheduler but without any optimizations enabled. + is null. + + + + Returns a scheduler that represents the original scheduler, without the specified set of interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable the specified optimizations for. + Types of the optimization interfaces that have to be disabled. + Proxy to the original scheduler but without the specified optimizations enabled. + or is null. + + + + Returns a scheduler that wraps the original scheduler, adding exception handling for scheduled actions. + + Type of the exception to check for. + Scheduler to apply an exception filter for. + Handler that's run if an exception is caught. The exception will be rethrown if the handler returns false. + Wrapper around the original scheduler, enforcing exception handling. + or is null. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + The scheduler to run periodic work on. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + Scheduler to execute the action on. + State passed to the action to be executed. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + Scheduler to execute the action on. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Starts a new stopwatch object by dynamically discovering the scheduler's capabilities. + If the scheduler provides stopwatch functionality, the request will be forwarded to the stopwatch provider implementation. + Otherwise, the stopwatch will be emulated using the scheduler's notion of absolute time. + + Scheduler to obtain a stopwatch for. + New stopwatch object; started at the time of the request. + is null. + The resulting stopwatch object can have non-monotonic behavior. + + + + Returns the ISchedulerLongRunning implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the ISchedulerLongRunning implementation for. + The scheduler's ISchedulerLongRunning implementation if available; null otherwise. + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using in case a stopwatch is required, but use of emulation stopwatch based + on the scheduler's clock is acceptable. Use of this method is recommended for best-effort use of the stopwatch provider + scheduler service, where the caller falls back to not using stopwatches if this facility wasn't found. + + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using the Scheduler.SchedulePeriodic extension methods for IScheduler in case periodic scheduling is required and + emulation of periodic behavior using other scheduler services is desirable. Use of this method is recommended for best-effort + use of the periodic scheduling service, where the caller falls back to not using periodic scheduling if this facility wasn't + found. + + + + + + Normalizes the specified TimeSpan value to a positive value. + + The TimeSpan value to normalize. + The specified TimeSpan value if it is zero or positive; otherwise, TimeSpan.Zero. + + + + Schedules an action to be executed recursively. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified relative time. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified absolute time. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed after the specified relative due time. + + Scheduler to execute the action on. + Action to execute. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at the specified absolute due time. + + Scheduler to execute the action on. + Action to execute. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Gets the current time according to the local machine's system clock. + + + + + Gets a scheduler that schedules work immediately on the current thread. + + + + + Gets a scheduler that schedules work as soon as possible on the current thread. + + + + + Gets a scheduler that schedules work on the platform's default scheduler. + + + + + Gets a scheduler that schedules work on the thread pool. + + + + + Gets a scheduler that schedules work on a new thread using default thread creation options. + + + + + Gets a scheduler that schedules work on Task Parallel Library (TPL) task pool using the default TaskScheduler. + + + + + Abstract base class for machine-local schedulers, using the local system clock for time-based operations. + + + + + Maximum error ratio for timer drift. We've seen machines with 10s drift on a + daily basis, which is in the order 10E-4, so we allow for extra margin here. + This value is used to calculate early arrival for the long term queue timer + that will reevaluate work for the short term queue. + + Example: -------------------------------...---------------------*-----$ + ^ ^ + | | + early due + 0.999 1.0 + + We also make the gap between early and due at least LONGTOSHORT so we have + enough time to transition work to short term and as a courtesy to the + destination scheduler to manage its queues etc. + + + + + Gate to protect queues and to synchronize scheduling decisions and system clock + change management. + + + + + Long term work queue. Contains work that's due beyond SHORTTERM, computed at the + time of enqueueing. + + + + + Disposable resource for the long term timer that will reevaluate and dispatch the + first item in the long term queue. A serial disposable is used to make "dispose + current and assign new" logic easier. The disposable itself is never disposed. + + + + + Item at the head of the long term queue for which the current long term timer is + running. Used to detect changes in the queue and decide whether we should replace + or can continue using the current timer (because no earlier long term work was + added to the queue). + + + + + Short term work queue. Contains work that's due soon, computed at the time of + enqueueing or upon reevaluation of the long term queue causing migration of work + items. This queue is kept in order to be able to relocate short term items back + to the long term queue in case a system clock change occurs. + + + + + Set of disposable handles to all of the current short term work Schedule calls, + allowing those to be cancelled upon a system clock change. + + + + + Threshold where an item is considered to be short term work or gets moved from + long term to short term. + + + + + Minimum threshold for the long term timer to fire before the queue is reevaluated + for short term work. This value is chosen to be less than SHORTTERM in order to + ensure the timer fires and has work to transition to the short term queue. + + + + + Threshold used to determine when a short term timer has fired too early compared + to the absolute due time. This provides a last chance protection against early + completion of scheduled work, which can happen in case of time adjustment in the + operating system (cf. GetSystemTimeAdjustment). + + + + + Enqueues absolute time scheduled work in the timer queue or the short term work list. + + Scheduler to run the work on. Typically "this" from the caller's perspective (LocalScheduler.Schedule), but parameter kept because we have a single (static) timer queue across all of Rx local schedulers. + State to pass to the action. + Absolute time to run the work on. The timer queue is responsible to execute the work close to the specified time, also accounting for system clock changes. + Action to run, potentially recursing into the scheduler. + Disposable object to prevent the work from running. + + + + Schedule work that's due in the short term. This leads to relative scheduling calls to the + underlying scheduler for short TimeSpan values. If the system clock changes in the meantime, + the short term work is attempted to be cancelled and reevaluated. + + Work item to schedule in the short term. The caller is responsible to determine the work is indeed short term. + + + + Callback to process the next short term work item. + + Recursive scheduler supplied by the underlying scheduler. + Disposable used to identify the work the timer was triggered for (see code for usage). + Empty disposable. Recursive work cancellation is wired through the original WorkItem. + + + + Schedule work that's due on the long term. This leads to the work being queued up for + eventual transitioning to the short term work list. + + Work item to schedule on the long term. The caller is responsible to determine the work is indeed long term. + + + + Updates the long term timer which is responsible to transition work from the head of the + long term queue to the short term work list. + + Should be called under the scheduler lock. + + + + Evaluates the long term queue, transitioning short term work to the short term list, + and adjusting the new long term processing timer accordingly. + + Ignored. + + + + Callback invoked when a system clock change is observed in order to adjust and reevaluate + the internal scheduling queues. + + Currently not used. + Currently not used. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + Platform-specific scheduler implementations should reimplement IStopwatchProvider to provide a more + efficient IStopwatch implementation (if available). + + + + + Discovers scheduler services by interface type. The base class implementation returns + requested services for each scheduler interface implemented by the derived class. For + more control over service discovery, derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the scheduler's notion of current time. + + + + + Represents a work item in the absolute time scheduler. + + + This type is very similar to ScheduledItem, but we need a different Invoke signature to allow customization + of the target scheduler (e.g. when called in a recursive scheduling context, see ExecuteNextShortTermWorkItem). + + + + + Represents a work item that closes over scheduler invocation state. Subtyping is + used to have a common type for the scheduler queues. + + + + + Represents an object that schedules units of work on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the current thread scheduler. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Represents an object that schedules units of work to run immediately on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the immediate scheduler. + + + + + Abstract base class for scheduled work items. + + Absolute time representation type. + + + + Creates a new scheduled work item to run at the specified time. + + Absolute time at which the work item has to be executed. + Comparer used to compare work items based on their scheduled time. + is null. + + + + Invokes the work item. + + + + + Implement this method to perform the work item invocation, returning a disposable object for deep cancellation. + + Disposable object used to cancel the work item and/or derived work items. + + + + Compares the work item with another work item based on absolute time values. + + Work item to compare the current work item to. + Relative ordering between this and the specified work item. + The inequality operators are overloaded to provide results consistent with the IComparable implementation. Equality operators implement traditional reference equality semantics. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before or at the same of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after or at the same time of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are equal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are equal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are inequal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are inequal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether a ScheduledItem<TAbsolute> object is equal to the specified object. + + The object to compare to the current ScheduledItem<TAbsolute> object. + true if the obj parameter is a ScheduledItem<TAbsolute> object and is equal to the current ScheduledItem<TAbsolute> object; otherwise, false. + + + + Returns the hash code for the current ScheduledItem<TAbsolute> object. + + A 32-bit signed integer hash code. + + + + Cancels the work item by disposing the resource returned by InvokeCore as soon as possible. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Gets whether the work item has received a cancellation request. + + + + + Represents a scheduled work item based on the materialization of an IScheduler.Schedule method call. + + Absolute time representation type. + Type of the state passed to the scheduled action. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + Comparer used to compare work items based on their scheduled time. + or or is null. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + or is null. + + + + Invokes the scheduled action with the supplied recursive scheduler and state. + + Cancellation resource returned by the scheduled action. + + + + Efficient scheduler queue that maintains scheduled items sorted by absolute time. + + Absolute time representation type. + This type is not thread safe; users should ensure proper synchronization. + + + + Creates a new scheduler queue with a default initial capacity. + + + + + Creats a new scheduler queue with the specified initial capacity. + + Initial capacity of the scheduler queue. + is less than zero. + + + + Enqueues the specified work item to be scheduled. + + Work item to be scheduled. + + + + Removes the specified work item from the scheduler queue. + + Work item to be removed from the scheduler queue. + true if the item was found; false otherwise. + + + + Dequeues the next work item from the scheduler queue. + + Next work item in the scheduler queue (removed). + + + + Peeks the next work item in the scheduler queue. + + Next work item in the scheduler queue (not removed). + + + + Gets the number of scheduled items in the scheduler queue. + + + + + Provides basic synchronization and scheduling services for observable sequences. + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified scheduler. + In order to invoke observer callbacks on the specified scheduler, e.g. to offload callback processing to a dedicated thread, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified synchronization context. + In order to invoke observer callbacks on the specified synchronization context, e.g. to post callbacks to a UI thread represented by the synchronization context, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + + + Wraps the source sequence in order to ensure observer callbacks are properly serialized. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + + + Wraps the source sequence in order to ensure observer callbacks are synchronized using the specified gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Base class for implementation of query operators, providing performance benefits over the use of Observable.Create. + + Type of the resulting sequence's elements. + + + + Interface with variance annotation; allows for better type checking when detecting capabilities in SubscribeSafe. + + Type of the resulting sequence's elements. + + + + Publicly visible Subscribe method. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + IDisposable to cancel the subscription. This causes the underlying sink to be notified of unsubscription, causing it to prevent further messages from being sent to the observer. + + + + Core implementation of the query operator, called upon a new subscription to the producer object. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + The subscription disposable object returned from the Run call, passed in such that it can be forwarded to the sink, allowing it to dispose the subscription upon sending a final message (or prematurely for other reasons). + Callback to communicate the sink object to the subscriber, allowing consumers to tunnel a Dispose call into the sink, which can stop the processing. + Disposable representing all the resources and/or subscriptions the operator uses to process events. + The observer passed in to this method is not protected using auto-detach behavior upon an OnError or OnCompleted call. The implementation must ensure proper resource disposal and enforce the message grammar. + + + + Base class for implementation of query operators, providing a lightweight sink that can be disposed to mute the outgoing observer. + + Type of the resulting sequence's elements. + Implementations of sinks are responsible to enforce the message grammar on the associated observer. Upon sending a terminal message, a pairing Dispose call should be made to trigger cancellation of related resources and to mute the outgoing observer. + + + + Represents an object that schedules units of work on a provided . + + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + is null. + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + Configures whether scheduling always posts to the synchronization context, regardless whether the caller is on the same synchronization context. + is null. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an object that schedules units of work on the platform's default scheduler. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is less than TimeSpan.Zero. + is null. + + + + Discovers scheduler services by interface type. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the singleton instance of the default scheduler. + + + + + Represents an Action-based disposable. + + + + + Constructs a new disposable with the given action used for disposal. + + Disposal action which will be run upon calling Dispose. + + + + Calls the disposal action if and only if the current instance hasn't been disposed yet. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that can be checked for disposal status. + + + + + Initializes a new instance of the class. + + + + + Sets the status to disposed, which can be observer through the property. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that has an associated that will be set to the cancellation requested state upon disposal. + + + + + Initializes a new instance of the class that uses an existing . + + used for cancellation. + is null. + + + + Initializes a new instance of the class that uses a new . + + + + + Cancels the underlying . + + + + + Gets the used by this CancellationDisposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a group of disposable resources that are disposed together. + + + + + Initializes a new instance of the class with no disposables contained by it initially. + + + + + Initializes a new instance of the class with the specified number of disposables. + + The number of disposables that the new CompositeDisposable can initially store. + is less than zero. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. + + Disposable to add. + is null. + + + + Removes and disposes the first occurrence of a disposable from the CompositeDisposable. + + Disposable to remove. + true if found; false otherwise. + is null. + + + + Disposes all disposables in the group and removes them from the group. + + + + + Removes and disposes all disposables from the CompositeDisposable, but does not dispose the CompositeDisposable. + + + + + Determines whether the CompositeDisposable contains a specific disposable. + + Disposable to search for. + true if the disposable was found; otherwise, false. + is null. + + + + Copies the disposables contained in the CompositeDisposable to an array, starting at a particular array index. + + Array to copy the contained disposables to. + Target index at which to copy the first disposable of the group. + is null. + is less than zero. -or - is larger than or equal to the array length. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Gets the number of disposables contained in the CompositeDisposable. + + + + + Always returns false. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be posted to the specified . + + + + + Initializes a new instance of the class that uses the specified on which to dispose the specified disposable resource. + + Context to perform disposal on. + Disposable whose Dispose operation to run on the given synchronization context. + or is null. + + + + Disposes the underlying disposable on the provided . + + + + + Gets the provided . + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable that does nothing on disposal. + + + + + Singleton default disposable. + + + + + Does nothing. + + + + + Provides a set of static methods for creating Disposables. + + + + + Creates a disposable object that invokes the specified action when disposed. + + Action to run during the first call to . The action is guaranteed to be run at most once. + The disposable object that runs the given action upon disposal. + is null. + + + + Gets the disposable that does nothing when disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be swapped for another disposable resource. + + + + + Initializes a new instance of the class with no current underlying disposable. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + If the MutableDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. + + + + Represents a disposable resource that only disposes its underlying disposable resource when all dependent disposable objects have been disposed. + + + + + Initializes a new instance of the class with the specified disposable. + + Underlying disposable. + is null. + + + + Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable. + + A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime. + + + + Disposes the underlying disposable only when all dependent disposables have been disposed. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be scheduled on the specified . + + + + + Initializes a new instance of the class that uses an on which to dispose the disposable. + + Scheduler where the disposable resource will be disposed on. + Disposable resource to dispose on the given scheduler. + or is null. + + + + Disposes the wrapped disposable on the provided scheduler. + + + + + Gets the scheduler where the disposable resource will be disposed on. + + + + + Gets the underlying disposable. After disposal, the result is undefined. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be replaced by another disposable resource, causing automatic disposal of the previous underlying disposable resource. + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. + + If the SerialDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. Assigning this property disposes the previous disposable object. + + + + Represents a disposable resource which only allows a single assignment of its underlying disposable resource. + If an underlying disposable resource has already been set, future attempts to set the underlying disposable resource will throw an . + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + Thrown if the SingleAssignmentDisposable has already been assigned to. + + + + (Infrastructure) Services to rethrow exceptions. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Rethrows the specified exception. + + Exception to rethrow. + + + + (Infrastructure) Provides access to the host's lifecycle management services. + + + + + Adds a reference to the host lifecycle manager, causing it to be sending notifications. + + + + + Removes a reference to the host lifecycle manager, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Event that gets raised when the host suspends the application. + + + + + Event that gets raised when the host resumes the application. + + + + + (Infrastructure) Provides notifications about the host's lifecycle events. + + + + + Event that gets raised when the host suspends. + + + + + Event that gets raised when the host resumes. + + + + + (Infrastructure) Event arguments for host suspension events. + + + + + (Infrastructure) Event arguments for host resumption events. + + + + + (Infrastructure) Interface for enlightenment providers. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Gets the current enlightenment provider. If none is loaded yet, accessing this property triggers provider resolution. + + + This member is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Provides access to local system clock services. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Adds a reference to the system clock monitor, causing it to be sending notifications. + + Thrown when the system doesn't support sending clock change notifications. + + + + Removes a reference to the system clock monitor, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Gets the local system clock time. + + + + + Event that gets raised when a system clock change is detected, if there's any interest as indicated by AddRef calls. + + + + + (Infrastructure) Provides access to the local system clock. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Gets the current time. + + + + + (Infrastructure) Provides a mechanism to notify local schedulers about system clock changes. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Event that gets raised when a system clock change is detected. + + + + + (Infrastructure) Event arguments for system clock change notifications. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Creates a new system clock notification object with unknown old and new times. + + + + + Creates a new system clock notification object with the specified old and new times. + + Time before the system clock changed, or DateTimeOffset.MinValue if not known. + Time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + Gets the time before the system clock changed, or DateTimeOffset.MinValue if not known. + + + + + Gets the time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + + (Infrastructure) Provides access to the local system clock. + + + + + Gets the current time. + + + + + (Infrastructure) Monitors for system clock changes based on a periodic timer. + + + + + Creates a new monitor for system clock changes with the specified polling frequency. + + Polling frequency for system clock changes. + + + + Event that gets raised when a system clock change is detected. + + + + + Indicates the type of a notification. + + + + + Represents an OnNext notification. + + + + + Represents an OnError notification. + + + + + Represents an OnCompleted notification. + + + + + Represents a notification to an observer. + + The type of the elements received by the observer. + + + + Default constructor used by derived types. + + + + + Determines whether the current Notification<T> object has the same observer message payload as a specified Notification<T> value. + + An object to compare to the current Notification<T> object. + true if both Notification<T> objects have the same observer message payload; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have the same observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has the same observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have a different observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has a different observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent a different observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the specified System.Object is equal to the current Notification<T>. + + The System.Object to compare with the current Notification<T>. + true if the specified System.Object is equal to the current Notification<T>; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + The type of the result returned from the observer's notification handlers. + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + The type of the result returned from the notification handler delegates. + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns an observable sequence with a single notification, using the immediate scheduler. + + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns an observable sequence with a single notification. + + Scheduler to send out the notification calls on. + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns the value of an OnNext notification or throws an exception. + + + + + Returns a value that indicates whether the notification has a value. + + + + + Returns the exception of an OnError notification or returns null. + + + + + Gets the kind of notification that is represented. + + + + + Represents an OnNext notification to an observer. + + + + + Constructs a notification of a new value. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns the value of an OnNext notification. + + + + + Returns null. + + + + + Returns true. + + + + + Returns NotificationKind.OnNext. + + + + + Represents an OnError notification to an observer. + + + + + Constructs a notification of an exception. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws the exception. + + + + + Returns the exception. + + + + + Returns false. + + + + + Returns NotificationKind.OnError. + + + + + Represents an OnCompleted notification to an observer. + + + + + Constructs a notification of the end of a sequence. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws an InvalidOperationException. + + + + + Returns null. + + + + + Returns false. + + + + + Returns NotificationKind.OnCompleted. + + + + + Provides a set of static methods for constructing notifications. + + + + + Creates an object that represents an OnNext notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The value contained in the notification. + The OnNext notification containing the value. + + + + Creates an object that represents an OnError notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The exception contained in the notification. + The OnError notification containing the exception. + is null. + + + + Creates an object that represents an OnCompleted notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The OnCompleted notification. + + + + Represents a type with a single value. This type is often used to denote the successful completion of a void-returning method (C#) or a Sub procedure (Visual Basic). + + + + + Determines whether the specified Unit values is equal to the current Unit. Because Unit has a single value, this always returns true. + + An object to compare to the current Unit value. + Because Unit has a single value, this always returns true. + + + + Determines whether the specified System.Object is equal to the current Unit. + + The System.Object to compare with the current Unit. + true if the specified System.Object is a Unit value; otherwise, false. + + + + Returns the hash code for the current Unit value. + + A hash code for the current Unit value. + + + + Returns a string representation of the current Unit value. + + String representation of the current Unit value. + + + + Determines whether the two specified Unit values are equal. Because Unit has a single value, this always returns true. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns true. + + + + Determines whether the two specified Unit values are not equal. Because Unit has a single value, this always returns false. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns false. + + + + Gets the single unit value. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Using the Scheduler.{0} property is no longer supported due to refactoring of the API surface and elimination of platform-specific dependencies. Please include System.Reactive.PlatformServices for your target platform and use the {0}Scheduler type instead.. + + + + + Looks up a localized string similar to OnCompleted notification doesn't have a value.. + + + + + Looks up a localized string similar to Disposable has already been assigned.. + + + + + Looks up a localized string similar to Failed to start monitoring system clock changes.. + + + + + Looks up a localized string similar to Heap is empty.. + + + + + Looks up a localized string similar to Reentrancy has been detected.. + + + + + Looks up a localized string similar to Observer has already terminated.. + + + + + Looks up a localized string similar to This scheduler operation has already been awaited.. + + + + diff --git a/packages/Rx-Core.2.1.30214.0/lib/Net40/System.Reactive.Core.dll b/packages/Rx-Core.2.1.30214.0/lib/Net40/System.Reactive.Core.dll new file mode 100644 index 00000000000..1a7ae924082 Binary files /dev/null and b/packages/Rx-Core.2.1.30214.0/lib/Net40/System.Reactive.Core.dll differ diff --git a/packages/Rx-Core.2.1.30214.0/lib/Net45/System.Reactive.Core.XML b/packages/Rx-Core.2.1.30214.0/lib/Net45/System.Reactive.Core.XML new file mode 100644 index 00000000000..4646712c634 --- /dev/null +++ b/packages/Rx-Core.2.1.30214.0/lib/Net45/System.Reactive.Core.XML @@ -0,0 +1,2873 @@ + + + + System.Reactive.Core + + + + + The System.Reactive.PlatformServices namespace contains interfaces and classes used by the runtime infrastructure of Reactive Extensions. + Those are not intended to be used directly from user code and are subject to change in future releases of the product. + + + + + Provides a set of static methods for subscribing delegates to observables. + + + + + Subscribes to the observable sequence without specifying any handlers. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + IDisposable object used to unsubscribe from the observable sequence. + is null. + + + + Subscribes an element handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or or is null. + + + + Subscribes an observer to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer to subscribe to the sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or is null. + + + + Subscribes to the observable sequence without specifying any handlers, using a CancellationToken to support unsubscription. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + CancellationToken that can be signaled to unsubscribe from the source sequence. + is null. + + + + Subscribes an element handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or or is null. + + + + Subscribes to the specified source, re-routing synchronous exceptions during invocation of the Subscribe method to the observer's OnError channel. + This method is typically used when writing query operators. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer that will be passed to the observable sequence, and that will be used for exception propagation. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Provides a set of static methods for creating observers. + + + + + Creates an observer from a notification callback. + + The type of the elements received by the observer. + Action that handles a notification. + The observer object that invokes the specified handler using a notification corresponding to each message it receives. + is null. + + + + Creates a notification callback from an observer. + + The type of the elements received by the observer. + Observer object. + The action that forwards its input notification to the underlying observer. + is null. + + + + Creates an observer from the specified OnNext action. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + The observer object implemented using the given actions. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or or is null. + + + + Hides the identity of an observer. + + The type of the elements received by the source observer. + An observer whose identity to hide. + An observer that hides the identity of the specified observer. + is null. + + + + Checks access to the observer for grammar violations. This includes checking for multiple OnError or OnCompleted calls, as well as reentrancy in any of the observer methods. + If a violation is detected, an InvalidOperationException is thrown from the offending observer method call. + + The type of the elements received by the source observer. + The observer whose callback invocations should be checked for grammar violations. + An observer that checks callbacks invocations against the observer grammar and, if the checks pass, forwards those to the specified observer. + is null. + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently from multiple threads. This overload is useful when coordinating access to an observer. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload, passing true for the second parameter. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently. This overload is useful when coordinating access to an observer. + The parameter configures the type of lock used for synchronization. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + If set to true, reentrant observer callbacks will be queued up and get delivered to the observer in a sequential manner. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + When the parameter is set to false, behavior is identical to the overload which uses + a Monitor for synchronization. When the parameter is set to true, an + is used to queue up callbacks to the specified observer if a reentrant call is made. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently by multiple threads, using the specified gate object for use by a Monitor-based lock. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common gate object. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently, using the specified asynchronous lock to protect against concurrent and reentrant access. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common asynchronous lock. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + + + Schedules the invocation of observer methods on the given scheduler. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Scheduler to schedule observer messages on. + Observer whose messages are scheduled on the given scheduler. + or is null. + + + + Schedules the invocation of observer methods on the given synchonization context. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Synchonization context to schedule observer messages on. + Observer whose messages are scheduled on the given synchonization context. + or is null. + + + + Converts an observer to a progress object. + + The type of the progress objects received by the source observer. + The observer to convert. + Progress object whose Report messages correspond to the observer's OnNext messages. + is null. + + + + Converts an observer to a progress object, using the specified scheduler to invoke the progress reporting method. + + The type of the progress objects received by the source observer. + The observer to convert. + Scheduler to report progress on. + Progress object whose Report messages correspond to the observer's OnNext messages. + or is null. + + + + Converts a progress object to an observer. + + The type of the progress objects received by the progress reporter. + The progress object to convert. + Observer whose OnNext messages correspond to the progress object's Report messages. + is null. + + + + Class to create an IObservable<T> instance from a delegate-based implementation of the Subscribe method. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObservable<T> interface. + + + If you don't need a named type to create an observable sequence (i.e. you rather need + an instance rather than a reusable type), use the Observable.Create method to create + an observable sequence with specified subscription behavior. + + The type of the elements in the sequence. + + + + Subscribes the given observer to the observable sequence. + + Observer that will receive notifications from the observable sequence. + Disposable object representing an observer's subscription to the observable sequence. + is null. + + + + Implement this method with the core subscription logic for the observable sequence. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Creates an observable sequence object from the specified subscription function. + + Subscribe method implementation. + is null. + + + + Calls the subscription function that was supplied to the constructor. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Class to create an IObserver<T> instance from delegate-based implementations of the On* methods. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObserver<T> interface. + + This base class enforces the grammar of observers where OnError and OnCompleted are terminal messages. + The type of the elements in the sequence. + + + + Creates a new observer in a non-stopped state. + + + + + Notifies the observer of a new element in the sequence. + + Next element in the sequence. + + + + Implement this method to react to the receival of a new element in the sequence. + + Next element in the sequence. + This method only gets called when the observer hasn't stopped yet. + + + + Notifies the observer that an exception has occurred. + + The error that has occurred. + is null. + + + + Implement this method to react to the occurrence of an exception. + + The error that has occurred. + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Notifies the observer of the end of the sequence. + + + + + Implement this method to react to the end of the sequence. + + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Disposes the observer, causing it to transition to the stopped state. + + + + + Core implementation of IDisposable. + + true if the Dispose call was triggered by the IDisposable.Dispose method; false if it was triggered by the finalizer. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + or or is null. + + + + Creates an observer from the specified OnNext action. + + Observer's OnNext action implementation. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + or is null. + + + + Calls the onNext action. + + Next element in the sequence. + + + + Calls the onError action. + + The error that has occurred. + + + + Calls the onCompleted action. + + + + + This class fuses logic from ObserverBase, AnonymousObserver, and SafeObserver into one class. When an observer + needs to be safeguarded, an instance of this type can be created by SafeObserver.Create when it detects its + input is an AnonymousObserver, which is commonly used by end users when using the Subscribe extension methods + that accept delegates for the On* handlers. By doing the fusion, we make the call stack depth shorter which + helps debugging and some performance. + + + + + Asynchronous lock. + + + + + Queues the action for execution. If the caller acquires the lock and becomes the owner, + the queue is processed. If the lock is already owned, the action is queued and will get + processed by the owner. + + Action to queue for execution. + is null. + + + + Clears the work items in the queue and drops further work being queued. + + + + + (Infrastructure) Concurrency abstraction layer. + + + + + Gets the current CAL. If no CAL has been set yet, it will be initialized to the default. + + + + + (Infrastructure) Concurrency abstraction layer interface. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Queues a method for execution at the specified relative time. + + Method to execute. + State to pass to the method. + Time to execute the method on. + Disposable object that can be used to stop the timer. + + + + Queues a method for periodic execution based on the specified period. + + Method to execute; should be safe for reentrancy. + Period for running the method periodically. + Disposable object that can be used to stop the timer. + + + + Queues a method for execution. + + Method to execute. + State to pass to the method. + Disposable object that can be used to cancel the queued method. + + + + Blocking sleep operation. + + Time to sleep. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Starts a new long-running thread. + + Method to execute. + State to pass to the method. + + + + Gets whether long-running scheduling is supported. + + + + + Provides a set of static properties to access commonly used schedulers. + + + + + Returns a scheduler that represents the original scheduler, without any of its interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable all optimizations for. + Proxy to the original scheduler but without any optimizations enabled. + is null. + + + + Returns a scheduler that represents the original scheduler, without the specified set of interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable the specified optimizations for. + Types of the optimization interfaces that have to be disabled. + Proxy to the original scheduler but without the specified optimizations enabled. + or is null. + + + + Returns a scheduler that wraps the original scheduler, adding exception handling for scheduled actions. + + Type of the exception to check for. + Scheduler to apply an exception filter for. + Handler that's run if an exception is caught. The exception will be rethrown if the handler returns false. + Wrapper around the original scheduler, enforcing exception handling. + or is null. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + The scheduler to run periodic work on. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + Scheduler to execute the action on. + State passed to the action to be executed. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + Scheduler to execute the action on. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Starts a new stopwatch object by dynamically discovering the scheduler's capabilities. + If the scheduler provides stopwatch functionality, the request will be forwarded to the stopwatch provider implementation. + Otherwise, the stopwatch will be emulated using the scheduler's notion of absolute time. + + Scheduler to obtain a stopwatch for. + New stopwatch object; started at the time of the request. + is null. + The resulting stopwatch object can have non-monotonic behavior. + + + + Returns the ISchedulerLongRunning implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the ISchedulerLongRunning implementation for. + The scheduler's ISchedulerLongRunning implementation if available; null otherwise. + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using in case a stopwatch is required, but use of emulation stopwatch based + on the scheduler's clock is acceptable. Use of this method is recommended for best-effort use of the stopwatch provider + scheduler service, where the caller falls back to not using stopwatches if this facility wasn't found. + + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using the Scheduler.SchedulePeriodic extension methods for IScheduler in case periodic scheduling is required and + emulation of periodic behavior using other scheduler services is desirable. Use of this method is recommended for best-effort + use of the periodic scheduling service, where the caller falls back to not using periodic scheduling if this facility wasn't + found. + + + + + + Yields execution of the current work item on the scheduler to another work item on the scheduler. + The caller should await the result of calling Yield to schedule the remainder of the current work item (known as the continuation). + + Scheduler to yield work on. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Yields execution of the current work item on the scheduler to another work item on the scheduler. + The caller should await the result of calling Yield to schedule the remainder of the current work item (known as the continuation). + + Scheduler to yield work on. + Cancellation token to cancel the continuation to run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler for the specified duration. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) after the specified duration. + + Scheduler to yield work on. + Time when the continuation should run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler for the specified duration. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) after the specified duration. + + Scheduler to yield work on. + Time when the continuation should run. + Cancellation token to cancel the continuation to run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler until the specified due time. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) at the specified due time. + + Scheduler to yield work on. + Time when the continuation should run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler until the specified due time. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) at the specified due time. + + Scheduler to yield work on. + Time when the continuation should run. + Cancellation token to cancel the continuation to run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Normalizes the specified TimeSpan value to a positive value. + + The TimeSpan value to normalize. + The specified TimeSpan value if it is zero or positive; otherwise, TimeSpan.Zero. + + + + Schedules an action to be executed recursively. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified relative time. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified absolute time. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed after the specified relative due time. + + Scheduler to execute the action on. + Action to execute. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at the specified absolute due time. + + Scheduler to execute the action on. + Action to execute. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Gets the current time according to the local machine's system clock. + + + + + Gets a scheduler that schedules work immediately on the current thread. + + + + + Gets a scheduler that schedules work as soon as possible on the current thread. + + + + + Gets a scheduler that schedules work on the platform's default scheduler. + + + + + Gets a scheduler that schedules work on the thread pool. + + + + + Gets a scheduler that schedules work on a new thread using default thread creation options. + + + + + Gets a scheduler that schedules work on Task Parallel Library (TPL) task pool using the default TaskScheduler. + + + + + Abstract base class for machine-local schedulers, using the local system clock for time-based operations. + + + + + Maximum error ratio for timer drift. We've seen machines with 10s drift on a + daily basis, which is in the order 10E-4, so we allow for extra margin here. + This value is used to calculate early arrival for the long term queue timer + that will reevaluate work for the short term queue. + + Example: -------------------------------...---------------------*-----$ + ^ ^ + | | + early due + 0.999 1.0 + + We also make the gap between early and due at least LONGTOSHORT so we have + enough time to transition work to short term and as a courtesy to the + destination scheduler to manage its queues etc. + + + + + Gate to protect queues and to synchronize scheduling decisions and system clock + change management. + + + + + Long term work queue. Contains work that's due beyond SHORTTERM, computed at the + time of enqueueing. + + + + + Disposable resource for the long term timer that will reevaluate and dispatch the + first item in the long term queue. A serial disposable is used to make "dispose + current and assign new" logic easier. The disposable itself is never disposed. + + + + + Item at the head of the long term queue for which the current long term timer is + running. Used to detect changes in the queue and decide whether we should replace + or can continue using the current timer (because no earlier long term work was + added to the queue). + + + + + Short term work queue. Contains work that's due soon, computed at the time of + enqueueing or upon reevaluation of the long term queue causing migration of work + items. This queue is kept in order to be able to relocate short term items back + to the long term queue in case a system clock change occurs. + + + + + Set of disposable handles to all of the current short term work Schedule calls, + allowing those to be cancelled upon a system clock change. + + + + + Threshold where an item is considered to be short term work or gets moved from + long term to short term. + + + + + Minimum threshold for the long term timer to fire before the queue is reevaluated + for short term work. This value is chosen to be less than SHORTTERM in order to + ensure the timer fires and has work to transition to the short term queue. + + + + + Threshold used to determine when a short term timer has fired too early compared + to the absolute due time. This provides a last chance protection against early + completion of scheduled work, which can happen in case of time adjustment in the + operating system (cf. GetSystemTimeAdjustment). + + + + + Enqueues absolute time scheduled work in the timer queue or the short term work list. + + Scheduler to run the work on. Typically "this" from the caller's perspective (LocalScheduler.Schedule), but parameter kept because we have a single (static) timer queue across all of Rx local schedulers. + State to pass to the action. + Absolute time to run the work on. The timer queue is responsible to execute the work close to the specified time, also accounting for system clock changes. + Action to run, potentially recursing into the scheduler. + Disposable object to prevent the work from running. + + + + Schedule work that's due in the short term. This leads to relative scheduling calls to the + underlying scheduler for short TimeSpan values. If the system clock changes in the meantime, + the short term work is attempted to be cancelled and reevaluated. + + Work item to schedule in the short term. The caller is responsible to determine the work is indeed short term. + + + + Callback to process the next short term work item. + + Recursive scheduler supplied by the underlying scheduler. + Disposable used to identify the work the timer was triggered for (see code for usage). + Empty disposable. Recursive work cancellation is wired through the original WorkItem. + + + + Schedule work that's due on the long term. This leads to the work being queued up for + eventual transitioning to the short term work list. + + Work item to schedule on the long term. The caller is responsible to determine the work is indeed long term. + + + + Updates the long term timer which is responsible to transition work from the head of the + long term queue to the short term work list. + + Should be called under the scheduler lock. + + + + Evaluates the long term queue, transitioning short term work to the short term list, + and adjusting the new long term processing timer accordingly. + + Ignored. + + + + Callback invoked when a system clock change is observed in order to adjust and reevaluate + the internal scheduling queues. + + Currently not used. + Currently not used. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + Platform-specific scheduler implementations should reimplement IStopwatchProvider to provide a more + efficient IStopwatch implementation (if available). + + + + + Discovers scheduler services by interface type. The base class implementation returns + requested services for each scheduler interface implemented by the derived class. For + more control over service discovery, derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the scheduler's notion of current time. + + + + + Represents a work item in the absolute time scheduler. + + + This type is very similar to ScheduledItem, but we need a different Invoke signature to allow customization + of the target scheduler (e.g. when called in a recursive scheduling context, see ExecuteNextShortTermWorkItem). + + + + + Represents a work item that closes over scheduler invocation state. Subtyping is + used to have a common type for the scheduler queues. + + + + + Represents an object that schedules units of work on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the current thread scheduler. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Represents an object that schedules units of work to run immediately on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the immediate scheduler. + + + + + Abstract base class for scheduled work items. + + Absolute time representation type. + + + + Creates a new scheduled work item to run at the specified time. + + Absolute time at which the work item has to be executed. + Comparer used to compare work items based on their scheduled time. + is null. + + + + Invokes the work item. + + + + + Implement this method to perform the work item invocation, returning a disposable object for deep cancellation. + + Disposable object used to cancel the work item and/or derived work items. + + + + Compares the work item with another work item based on absolute time values. + + Work item to compare the current work item to. + Relative ordering between this and the specified work item. + The inequality operators are overloaded to provide results consistent with the IComparable implementation. Equality operators implement traditional reference equality semantics. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before or at the same of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after or at the same time of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are equal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are equal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are inequal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are inequal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether a ScheduledItem<TAbsolute> object is equal to the specified object. + + The object to compare to the current ScheduledItem<TAbsolute> object. + true if the obj parameter is a ScheduledItem<TAbsolute> object and is equal to the current ScheduledItem<TAbsolute> object; otherwise, false. + + + + Returns the hash code for the current ScheduledItem<TAbsolute> object. + + A 32-bit signed integer hash code. + + + + Cancels the work item by disposing the resource returned by InvokeCore as soon as possible. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Gets whether the work item has received a cancellation request. + + + + + Represents a scheduled work item based on the materialization of an IScheduler.Schedule method call. + + Absolute time representation type. + Type of the state passed to the scheduled action. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + Comparer used to compare work items based on their scheduled time. + or or is null. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + or is null. + + + + Invokes the scheduled action with the supplied recursive scheduler and state. + + Cancellation resource returned by the scheduled action. + + + + Represents an awaitable scheduler operation. Awaiting the object causes the continuation to be posted back to the originating scheduler's work queue. + + + + + Controls whether the continuation is run on the originating synchronization context (false by default). + + true to run the continuation on the captured synchronization context; false otherwise (default). + Scheduler operation object with configured await behavior. + + + + Gets an awaiter for the scheduler operation, used to post back the continuation. + + Awaiter for the scheduler operation. + + + + (Infrastructure) Scheduler operation awaiter type used by the code generated for C# await and Visual Basic Await expressions. + + + + + Completes the scheduler operation, throwing an OperationCanceledException in case cancellation was requested. + + + + + Registers the continuation with the scheduler operation. + + Continuation to be run on the originating scheduler. + + + + Indicates whether the scheduler operation has completed. Returns false unless cancellation was already requested. + + + + + Efficient scheduler queue that maintains scheduled items sorted by absolute time. + + Absolute time representation type. + This type is not thread safe; users should ensure proper synchronization. + + + + Creates a new scheduler queue with a default initial capacity. + + + + + Creats a new scheduler queue with the specified initial capacity. + + Initial capacity of the scheduler queue. + is less than zero. + + + + Enqueues the specified work item to be scheduled. + + Work item to be scheduled. + + + + Removes the specified work item from the scheduler queue. + + Work item to be removed from the scheduler queue. + true if the item was found; false otherwise. + + + + Dequeues the next work item from the scheduler queue. + + Next work item in the scheduler queue (removed). + + + + Peeks the next work item in the scheduler queue. + + Next work item in the scheduler queue (not removed). + + + + Gets the number of scheduled items in the scheduler queue. + + + + + Provides basic synchronization and scheduling services for observable sequences. + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified scheduler. + In order to invoke observer callbacks on the specified scheduler, e.g. to offload callback processing to a dedicated thread, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified synchronization context. + In order to invoke observer callbacks on the specified synchronization context, e.g. to post callbacks to a UI thread represented by the synchronization context, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + + + Wraps the source sequence in order to ensure observer callbacks are properly serialized. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + + + Wraps the source sequence in order to ensure observer callbacks are synchronized using the specified gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Base class for implementation of query operators, providing performance benefits over the use of Observable.Create. + + Type of the resulting sequence's elements. + + + + Interface with variance annotation; allows for better type checking when detecting capabilities in SubscribeSafe. + + Type of the resulting sequence's elements. + + + + Publicly visible Subscribe method. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + IDisposable to cancel the subscription. This causes the underlying sink to be notified of unsubscription, causing it to prevent further messages from being sent to the observer. + + + + Core implementation of the query operator, called upon a new subscription to the producer object. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + The subscription disposable object returned from the Run call, passed in such that it can be forwarded to the sink, allowing it to dispose the subscription upon sending a final message (or prematurely for other reasons). + Callback to communicate the sink object to the subscriber, allowing consumers to tunnel a Dispose call into the sink, which can stop the processing. + Disposable representing all the resources and/or subscriptions the operator uses to process events. + The observer passed in to this method is not protected using auto-detach behavior upon an OnError or OnCompleted call. The implementation must ensure proper resource disposal and enforce the message grammar. + + + + Base class for implementation of query operators, providing a lightweight sink that can be disposed to mute the outgoing observer. + + Type of the resulting sequence's elements. + Implementations of sinks are responsible to enforce the message grammar on the associated observer. Upon sending a terminal message, a pairing Dispose call should be made to trigger cancellation of related resources and to mute the outgoing observer. + + + + Represents an object that schedules units of work on a provided . + + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + is null. + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + Configures whether scheduling always posts to the synchronization context, regardless whether the caller is on the same synchronization context. + is null. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an object that schedules units of work on the platform's default scheduler. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is less than TimeSpan.Zero. + is null. + + + + Discovers scheduler services by interface type. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the singleton instance of the default scheduler. + + + + + Represents an Action-based disposable. + + + + + Constructs a new disposable with the given action used for disposal. + + Disposal action which will be run upon calling Dispose. + + + + Calls the disposal action if and only if the current instance hasn't been disposed yet. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that can be checked for disposal status. + + + + + Initializes a new instance of the class. + + + + + Sets the status to disposed, which can be observer through the property. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that has an associated that will be set to the cancellation requested state upon disposal. + + + + + Initializes a new instance of the class that uses an existing . + + used for cancellation. + is null. + + + + Initializes a new instance of the class that uses a new . + + + + + Cancels the underlying . + + + + + Gets the used by this CancellationDisposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a group of disposable resources that are disposed together. + + + + + Initializes a new instance of the class with no disposables contained by it initially. + + + + + Initializes a new instance of the class with the specified number of disposables. + + The number of disposables that the new CompositeDisposable can initially store. + is less than zero. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. + + Disposable to add. + is null. + + + + Removes and disposes the first occurrence of a disposable from the CompositeDisposable. + + Disposable to remove. + true if found; false otherwise. + is null. + + + + Disposes all disposables in the group and removes them from the group. + + + + + Removes and disposes all disposables from the CompositeDisposable, but does not dispose the CompositeDisposable. + + + + + Determines whether the CompositeDisposable contains a specific disposable. + + Disposable to search for. + true if the disposable was found; otherwise, false. + is null. + + + + Copies the disposables contained in the CompositeDisposable to an array, starting at a particular array index. + + Array to copy the contained disposables to. + Target index at which to copy the first disposable of the group. + is null. + is less than zero. -or - is larger than or equal to the array length. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Gets the number of disposables contained in the CompositeDisposable. + + + + + Always returns false. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be posted to the specified . + + + + + Initializes a new instance of the class that uses the specified on which to dispose the specified disposable resource. + + Context to perform disposal on. + Disposable whose Dispose operation to run on the given synchronization context. + or is null. + + + + Disposes the underlying disposable on the provided . + + + + + Gets the provided . + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable that does nothing on disposal. + + + + + Singleton default disposable. + + + + + Does nothing. + + + + + Provides a set of static methods for creating Disposables. + + + + + Creates a disposable object that invokes the specified action when disposed. + + Action to run during the first call to . The action is guaranteed to be run at most once. + The disposable object that runs the given action upon disposal. + is null. + + + + Gets the disposable that does nothing when disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be swapped for another disposable resource. + + + + + Initializes a new instance of the class with no current underlying disposable. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + If the MutableDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. + + + + Represents a disposable resource that only disposes its underlying disposable resource when all dependent disposable objects have been disposed. + + + + + Initializes a new instance of the class with the specified disposable. + + Underlying disposable. + is null. + + + + Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable. + + A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime. + + + + Disposes the underlying disposable only when all dependent disposables have been disposed. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be scheduled on the specified . + + + + + Initializes a new instance of the class that uses an on which to dispose the disposable. + + Scheduler where the disposable resource will be disposed on. + Disposable resource to dispose on the given scheduler. + or is null. + + + + Disposes the wrapped disposable on the provided scheduler. + + + + + Gets the scheduler where the disposable resource will be disposed on. + + + + + Gets the underlying disposable. After disposal, the result is undefined. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be replaced by another disposable resource, causing automatic disposal of the previous underlying disposable resource. + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. + + If the SerialDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. Assigning this property disposes the previous disposable object. + + + + Represents a disposable resource which only allows a single assignment of its underlying disposable resource. + If an underlying disposable resource has already been set, future attempts to set the underlying disposable resource will throw an . + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + Thrown if the SingleAssignmentDisposable has already been assigned to. + + + + (Infrastructure) Services to rethrow exceptions. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Rethrows the specified exception. + + Exception to rethrow. + + + + (Infrastructure) Provides access to the host's lifecycle management services. + + + + + Adds a reference to the host lifecycle manager, causing it to be sending notifications. + + + + + Removes a reference to the host lifecycle manager, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Event that gets raised when the host suspends the application. + + + + + Event that gets raised when the host resumes the application. + + + + + (Infrastructure) Provides notifications about the host's lifecycle events. + + + + + Event that gets raised when the host suspends. + + + + + Event that gets raised when the host resumes. + + + + + (Infrastructure) Event arguments for host suspension events. + + + + + (Infrastructure) Event arguments for host resumption events. + + + + + (Infrastructure) Interface for enlightenment providers. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Gets the current enlightenment provider. If none is loaded yet, accessing this property triggers provider resolution. + + + This member is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Provides access to local system clock services. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Adds a reference to the system clock monitor, causing it to be sending notifications. + + Thrown when the system doesn't support sending clock change notifications. + + + + Removes a reference to the system clock monitor, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Gets the local system clock time. + + + + + Event that gets raised when a system clock change is detected, if there's any interest as indicated by AddRef calls. + + + + + (Infrastructure) Provides access to the local system clock. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Gets the current time. + + + + + (Infrastructure) Provides a mechanism to notify local schedulers about system clock changes. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Event that gets raised when a system clock change is detected. + + + + + (Infrastructure) Event arguments for system clock change notifications. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Creates a new system clock notification object with unknown old and new times. + + + + + Creates a new system clock notification object with the specified old and new times. + + Time before the system clock changed, or DateTimeOffset.MinValue if not known. + Time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + Gets the time before the system clock changed, or DateTimeOffset.MinValue if not known. + + + + + Gets the time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + + (Infrastructure) Provides access to the local system clock. + + + + + Gets the current time. + + + + + (Infrastructure) Monitors for system clock changes based on a periodic timer. + + + + + Creates a new monitor for system clock changes with the specified polling frequency. + + Polling frequency for system clock changes. + + + + Event that gets raised when a system clock change is detected. + + + + + Indicates the type of a notification. + + + + + Represents an OnNext notification. + + + + + Represents an OnError notification. + + + + + Represents an OnCompleted notification. + + + + + Represents a notification to an observer. + + The type of the elements received by the observer. + + + + Default constructor used by derived types. + + + + + Determines whether the current Notification<T> object has the same observer message payload as a specified Notification<T> value. + + An object to compare to the current Notification<T> object. + true if both Notification<T> objects have the same observer message payload; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have the same observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has the same observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have a different observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has a different observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent a different observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the specified System.Object is equal to the current Notification<T>. + + The System.Object to compare with the current Notification<T>. + true if the specified System.Object is equal to the current Notification<T>; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + The type of the result returned from the observer's notification handlers. + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + The type of the result returned from the notification handler delegates. + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns an observable sequence with a single notification, using the immediate scheduler. + + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns an observable sequence with a single notification. + + Scheduler to send out the notification calls on. + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns the value of an OnNext notification or throws an exception. + + + + + Returns a value that indicates whether the notification has a value. + + + + + Returns the exception of an OnError notification or returns null. + + + + + Gets the kind of notification that is represented. + + + + + Represents an OnNext notification to an observer. + + + + + Constructs a notification of a new value. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns the value of an OnNext notification. + + + + + Returns null. + + + + + Returns true. + + + + + Returns NotificationKind.OnNext. + + + + + Represents an OnError notification to an observer. + + + + + Constructs a notification of an exception. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws the exception. + + + + + Returns the exception. + + + + + Returns false. + + + + + Returns NotificationKind.OnError. + + + + + Represents an OnCompleted notification to an observer. + + + + + Constructs a notification of the end of a sequence. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws an InvalidOperationException. + + + + + Returns null. + + + + + Returns false. + + + + + Returns NotificationKind.OnCompleted. + + + + + Provides a set of static methods for constructing notifications. + + + + + Creates an object that represents an OnNext notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The value contained in the notification. + The OnNext notification containing the value. + + + + Creates an object that represents an OnError notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The exception contained in the notification. + The OnError notification containing the exception. + is null. + + + + Creates an object that represents an OnCompleted notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The OnCompleted notification. + + + + Represents a type with a single value. This type is often used to denote the successful completion of a void-returning method (C#) or a Sub procedure (Visual Basic). + + + + + Determines whether the specified Unit values is equal to the current Unit. Because Unit has a single value, this always returns true. + + An object to compare to the current Unit value. + Because Unit has a single value, this always returns true. + + + + Determines whether the specified System.Object is equal to the current Unit. + + The System.Object to compare with the current Unit. + true if the specified System.Object is a Unit value; otherwise, false. + + + + Returns the hash code for the current Unit value. + + A hash code for the current Unit value. + + + + Returns a string representation of the current Unit value. + + String representation of the current Unit value. + + + + Determines whether the two specified Unit values are equal. Because Unit has a single value, this always returns true. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns true. + + + + Determines whether the two specified Unit values are not equal. Because Unit has a single value, this always returns false. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns false. + + + + Gets the single unit value. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Using the Scheduler.{0} property is no longer supported due to refactoring of the API surface and elimination of platform-specific dependencies. Please include System.Reactive.PlatformServices for your target platform and use the {0}Scheduler type instead.. + + + + + Looks up a localized string similar to OnCompleted notification doesn't have a value.. + + + + + Looks up a localized string similar to Disposable has already been assigned.. + + + + + Looks up a localized string similar to Failed to start monitoring system clock changes.. + + + + + Looks up a localized string similar to Heap is empty.. + + + + + Looks up a localized string similar to Reentrancy has been detected.. + + + + + Looks up a localized string similar to Observer has already terminated.. + + + + + Looks up a localized string similar to This scheduler operation has already been awaited.. + + + + diff --git a/packages/Rx-Core.2.1.30214.0/lib/Net45/System.Reactive.Core.dll b/packages/Rx-Core.2.1.30214.0/lib/Net45/System.Reactive.Core.dll new file mode 100644 index 00000000000..e338eafbd51 Binary files /dev/null and b/packages/Rx-Core.2.1.30214.0/lib/Net45/System.Reactive.Core.dll differ diff --git a/packages/Rx-Core.2.1.30214.0/lib/NetCore45/System.Reactive.Core.XML b/packages/Rx-Core.2.1.30214.0/lib/NetCore45/System.Reactive.Core.XML new file mode 100644 index 00000000000..4646712c634 --- /dev/null +++ b/packages/Rx-Core.2.1.30214.0/lib/NetCore45/System.Reactive.Core.XML @@ -0,0 +1,2873 @@ + + + + System.Reactive.Core + + + + + The System.Reactive.PlatformServices namespace contains interfaces and classes used by the runtime infrastructure of Reactive Extensions. + Those are not intended to be used directly from user code and are subject to change in future releases of the product. + + + + + Provides a set of static methods for subscribing delegates to observables. + + + + + Subscribes to the observable sequence without specifying any handlers. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + IDisposable object used to unsubscribe from the observable sequence. + is null. + + + + Subscribes an element handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or or is null. + + + + Subscribes an observer to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer to subscribe to the sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or is null. + + + + Subscribes to the observable sequence without specifying any handlers, using a CancellationToken to support unsubscription. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + CancellationToken that can be signaled to unsubscribe from the source sequence. + is null. + + + + Subscribes an element handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or or is null. + + + + Subscribes to the specified source, re-routing synchronous exceptions during invocation of the Subscribe method to the observer's OnError channel. + This method is typically used when writing query operators. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer that will be passed to the observable sequence, and that will be used for exception propagation. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Provides a set of static methods for creating observers. + + + + + Creates an observer from a notification callback. + + The type of the elements received by the observer. + Action that handles a notification. + The observer object that invokes the specified handler using a notification corresponding to each message it receives. + is null. + + + + Creates a notification callback from an observer. + + The type of the elements received by the observer. + Observer object. + The action that forwards its input notification to the underlying observer. + is null. + + + + Creates an observer from the specified OnNext action. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + The observer object implemented using the given actions. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or or is null. + + + + Hides the identity of an observer. + + The type of the elements received by the source observer. + An observer whose identity to hide. + An observer that hides the identity of the specified observer. + is null. + + + + Checks access to the observer for grammar violations. This includes checking for multiple OnError or OnCompleted calls, as well as reentrancy in any of the observer methods. + If a violation is detected, an InvalidOperationException is thrown from the offending observer method call. + + The type of the elements received by the source observer. + The observer whose callback invocations should be checked for grammar violations. + An observer that checks callbacks invocations against the observer grammar and, if the checks pass, forwards those to the specified observer. + is null. + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently from multiple threads. This overload is useful when coordinating access to an observer. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload, passing true for the second parameter. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently. This overload is useful when coordinating access to an observer. + The parameter configures the type of lock used for synchronization. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + If set to true, reentrant observer callbacks will be queued up and get delivered to the observer in a sequential manner. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + When the parameter is set to false, behavior is identical to the overload which uses + a Monitor for synchronization. When the parameter is set to true, an + is used to queue up callbacks to the specified observer if a reentrant call is made. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently by multiple threads, using the specified gate object for use by a Monitor-based lock. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common gate object. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently, using the specified asynchronous lock to protect against concurrent and reentrant access. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common asynchronous lock. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + + + Schedules the invocation of observer methods on the given scheduler. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Scheduler to schedule observer messages on. + Observer whose messages are scheduled on the given scheduler. + or is null. + + + + Schedules the invocation of observer methods on the given synchonization context. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Synchonization context to schedule observer messages on. + Observer whose messages are scheduled on the given synchonization context. + or is null. + + + + Converts an observer to a progress object. + + The type of the progress objects received by the source observer. + The observer to convert. + Progress object whose Report messages correspond to the observer's OnNext messages. + is null. + + + + Converts an observer to a progress object, using the specified scheduler to invoke the progress reporting method. + + The type of the progress objects received by the source observer. + The observer to convert. + Scheduler to report progress on. + Progress object whose Report messages correspond to the observer's OnNext messages. + or is null. + + + + Converts a progress object to an observer. + + The type of the progress objects received by the progress reporter. + The progress object to convert. + Observer whose OnNext messages correspond to the progress object's Report messages. + is null. + + + + Class to create an IObservable<T> instance from a delegate-based implementation of the Subscribe method. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObservable<T> interface. + + + If you don't need a named type to create an observable sequence (i.e. you rather need + an instance rather than a reusable type), use the Observable.Create method to create + an observable sequence with specified subscription behavior. + + The type of the elements in the sequence. + + + + Subscribes the given observer to the observable sequence. + + Observer that will receive notifications from the observable sequence. + Disposable object representing an observer's subscription to the observable sequence. + is null. + + + + Implement this method with the core subscription logic for the observable sequence. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Creates an observable sequence object from the specified subscription function. + + Subscribe method implementation. + is null. + + + + Calls the subscription function that was supplied to the constructor. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Class to create an IObserver<T> instance from delegate-based implementations of the On* methods. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObserver<T> interface. + + This base class enforces the grammar of observers where OnError and OnCompleted are terminal messages. + The type of the elements in the sequence. + + + + Creates a new observer in a non-stopped state. + + + + + Notifies the observer of a new element in the sequence. + + Next element in the sequence. + + + + Implement this method to react to the receival of a new element in the sequence. + + Next element in the sequence. + This method only gets called when the observer hasn't stopped yet. + + + + Notifies the observer that an exception has occurred. + + The error that has occurred. + is null. + + + + Implement this method to react to the occurrence of an exception. + + The error that has occurred. + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Notifies the observer of the end of the sequence. + + + + + Implement this method to react to the end of the sequence. + + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Disposes the observer, causing it to transition to the stopped state. + + + + + Core implementation of IDisposable. + + true if the Dispose call was triggered by the IDisposable.Dispose method; false if it was triggered by the finalizer. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + or or is null. + + + + Creates an observer from the specified OnNext action. + + Observer's OnNext action implementation. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + or is null. + + + + Calls the onNext action. + + Next element in the sequence. + + + + Calls the onError action. + + The error that has occurred. + + + + Calls the onCompleted action. + + + + + This class fuses logic from ObserverBase, AnonymousObserver, and SafeObserver into one class. When an observer + needs to be safeguarded, an instance of this type can be created by SafeObserver.Create when it detects its + input is an AnonymousObserver, which is commonly used by end users when using the Subscribe extension methods + that accept delegates for the On* handlers. By doing the fusion, we make the call stack depth shorter which + helps debugging and some performance. + + + + + Asynchronous lock. + + + + + Queues the action for execution. If the caller acquires the lock and becomes the owner, + the queue is processed. If the lock is already owned, the action is queued and will get + processed by the owner. + + Action to queue for execution. + is null. + + + + Clears the work items in the queue and drops further work being queued. + + + + + (Infrastructure) Concurrency abstraction layer. + + + + + Gets the current CAL. If no CAL has been set yet, it will be initialized to the default. + + + + + (Infrastructure) Concurrency abstraction layer interface. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Queues a method for execution at the specified relative time. + + Method to execute. + State to pass to the method. + Time to execute the method on. + Disposable object that can be used to stop the timer. + + + + Queues a method for periodic execution based on the specified period. + + Method to execute; should be safe for reentrancy. + Period for running the method periodically. + Disposable object that can be used to stop the timer. + + + + Queues a method for execution. + + Method to execute. + State to pass to the method. + Disposable object that can be used to cancel the queued method. + + + + Blocking sleep operation. + + Time to sleep. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Starts a new long-running thread. + + Method to execute. + State to pass to the method. + + + + Gets whether long-running scheduling is supported. + + + + + Provides a set of static properties to access commonly used schedulers. + + + + + Returns a scheduler that represents the original scheduler, without any of its interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable all optimizations for. + Proxy to the original scheduler but without any optimizations enabled. + is null. + + + + Returns a scheduler that represents the original scheduler, without the specified set of interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable the specified optimizations for. + Types of the optimization interfaces that have to be disabled. + Proxy to the original scheduler but without the specified optimizations enabled. + or is null. + + + + Returns a scheduler that wraps the original scheduler, adding exception handling for scheduled actions. + + Type of the exception to check for. + Scheduler to apply an exception filter for. + Handler that's run if an exception is caught. The exception will be rethrown if the handler returns false. + Wrapper around the original scheduler, enforcing exception handling. + or is null. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + The scheduler to run periodic work on. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + Scheduler to execute the action on. + State passed to the action to be executed. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + Scheduler to execute the action on. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Starts a new stopwatch object by dynamically discovering the scheduler's capabilities. + If the scheduler provides stopwatch functionality, the request will be forwarded to the stopwatch provider implementation. + Otherwise, the stopwatch will be emulated using the scheduler's notion of absolute time. + + Scheduler to obtain a stopwatch for. + New stopwatch object; started at the time of the request. + is null. + The resulting stopwatch object can have non-monotonic behavior. + + + + Returns the ISchedulerLongRunning implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the ISchedulerLongRunning implementation for. + The scheduler's ISchedulerLongRunning implementation if available; null otherwise. + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using in case a stopwatch is required, but use of emulation stopwatch based + on the scheduler's clock is acceptable. Use of this method is recommended for best-effort use of the stopwatch provider + scheduler service, where the caller falls back to not using stopwatches if this facility wasn't found. + + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using the Scheduler.SchedulePeriodic extension methods for IScheduler in case periodic scheduling is required and + emulation of periodic behavior using other scheduler services is desirable. Use of this method is recommended for best-effort + use of the periodic scheduling service, where the caller falls back to not using periodic scheduling if this facility wasn't + found. + + + + + + Yields execution of the current work item on the scheduler to another work item on the scheduler. + The caller should await the result of calling Yield to schedule the remainder of the current work item (known as the continuation). + + Scheduler to yield work on. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Yields execution of the current work item on the scheduler to another work item on the scheduler. + The caller should await the result of calling Yield to schedule the remainder of the current work item (known as the continuation). + + Scheduler to yield work on. + Cancellation token to cancel the continuation to run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler for the specified duration. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) after the specified duration. + + Scheduler to yield work on. + Time when the continuation should run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler for the specified duration. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) after the specified duration. + + Scheduler to yield work on. + Time when the continuation should run. + Cancellation token to cancel the continuation to run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler until the specified due time. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) at the specified due time. + + Scheduler to yield work on. + Time when the continuation should run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler until the specified due time. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) at the specified due time. + + Scheduler to yield work on. + Time when the continuation should run. + Cancellation token to cancel the continuation to run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Normalizes the specified TimeSpan value to a positive value. + + The TimeSpan value to normalize. + The specified TimeSpan value if it is zero or positive; otherwise, TimeSpan.Zero. + + + + Schedules an action to be executed recursively. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified relative time. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified absolute time. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed after the specified relative due time. + + Scheduler to execute the action on. + Action to execute. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at the specified absolute due time. + + Scheduler to execute the action on. + Action to execute. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Gets the current time according to the local machine's system clock. + + + + + Gets a scheduler that schedules work immediately on the current thread. + + + + + Gets a scheduler that schedules work as soon as possible on the current thread. + + + + + Gets a scheduler that schedules work on the platform's default scheduler. + + + + + Gets a scheduler that schedules work on the thread pool. + + + + + Gets a scheduler that schedules work on a new thread using default thread creation options. + + + + + Gets a scheduler that schedules work on Task Parallel Library (TPL) task pool using the default TaskScheduler. + + + + + Abstract base class for machine-local schedulers, using the local system clock for time-based operations. + + + + + Maximum error ratio for timer drift. We've seen machines with 10s drift on a + daily basis, which is in the order 10E-4, so we allow for extra margin here. + This value is used to calculate early arrival for the long term queue timer + that will reevaluate work for the short term queue. + + Example: -------------------------------...---------------------*-----$ + ^ ^ + | | + early due + 0.999 1.0 + + We also make the gap between early and due at least LONGTOSHORT so we have + enough time to transition work to short term and as a courtesy to the + destination scheduler to manage its queues etc. + + + + + Gate to protect queues and to synchronize scheduling decisions and system clock + change management. + + + + + Long term work queue. Contains work that's due beyond SHORTTERM, computed at the + time of enqueueing. + + + + + Disposable resource for the long term timer that will reevaluate and dispatch the + first item in the long term queue. A serial disposable is used to make "dispose + current and assign new" logic easier. The disposable itself is never disposed. + + + + + Item at the head of the long term queue for which the current long term timer is + running. Used to detect changes in the queue and decide whether we should replace + or can continue using the current timer (because no earlier long term work was + added to the queue). + + + + + Short term work queue. Contains work that's due soon, computed at the time of + enqueueing or upon reevaluation of the long term queue causing migration of work + items. This queue is kept in order to be able to relocate short term items back + to the long term queue in case a system clock change occurs. + + + + + Set of disposable handles to all of the current short term work Schedule calls, + allowing those to be cancelled upon a system clock change. + + + + + Threshold where an item is considered to be short term work or gets moved from + long term to short term. + + + + + Minimum threshold for the long term timer to fire before the queue is reevaluated + for short term work. This value is chosen to be less than SHORTTERM in order to + ensure the timer fires and has work to transition to the short term queue. + + + + + Threshold used to determine when a short term timer has fired too early compared + to the absolute due time. This provides a last chance protection against early + completion of scheduled work, which can happen in case of time adjustment in the + operating system (cf. GetSystemTimeAdjustment). + + + + + Enqueues absolute time scheduled work in the timer queue or the short term work list. + + Scheduler to run the work on. Typically "this" from the caller's perspective (LocalScheduler.Schedule), but parameter kept because we have a single (static) timer queue across all of Rx local schedulers. + State to pass to the action. + Absolute time to run the work on. The timer queue is responsible to execute the work close to the specified time, also accounting for system clock changes. + Action to run, potentially recursing into the scheduler. + Disposable object to prevent the work from running. + + + + Schedule work that's due in the short term. This leads to relative scheduling calls to the + underlying scheduler for short TimeSpan values. If the system clock changes in the meantime, + the short term work is attempted to be cancelled and reevaluated. + + Work item to schedule in the short term. The caller is responsible to determine the work is indeed short term. + + + + Callback to process the next short term work item. + + Recursive scheduler supplied by the underlying scheduler. + Disposable used to identify the work the timer was triggered for (see code for usage). + Empty disposable. Recursive work cancellation is wired through the original WorkItem. + + + + Schedule work that's due on the long term. This leads to the work being queued up for + eventual transitioning to the short term work list. + + Work item to schedule on the long term. The caller is responsible to determine the work is indeed long term. + + + + Updates the long term timer which is responsible to transition work from the head of the + long term queue to the short term work list. + + Should be called under the scheduler lock. + + + + Evaluates the long term queue, transitioning short term work to the short term list, + and adjusting the new long term processing timer accordingly. + + Ignored. + + + + Callback invoked when a system clock change is observed in order to adjust and reevaluate + the internal scheduling queues. + + Currently not used. + Currently not used. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + Platform-specific scheduler implementations should reimplement IStopwatchProvider to provide a more + efficient IStopwatch implementation (if available). + + + + + Discovers scheduler services by interface type. The base class implementation returns + requested services for each scheduler interface implemented by the derived class. For + more control over service discovery, derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the scheduler's notion of current time. + + + + + Represents a work item in the absolute time scheduler. + + + This type is very similar to ScheduledItem, but we need a different Invoke signature to allow customization + of the target scheduler (e.g. when called in a recursive scheduling context, see ExecuteNextShortTermWorkItem). + + + + + Represents a work item that closes over scheduler invocation state. Subtyping is + used to have a common type for the scheduler queues. + + + + + Represents an object that schedules units of work on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the current thread scheduler. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Represents an object that schedules units of work to run immediately on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the immediate scheduler. + + + + + Abstract base class for scheduled work items. + + Absolute time representation type. + + + + Creates a new scheduled work item to run at the specified time. + + Absolute time at which the work item has to be executed. + Comparer used to compare work items based on their scheduled time. + is null. + + + + Invokes the work item. + + + + + Implement this method to perform the work item invocation, returning a disposable object for deep cancellation. + + Disposable object used to cancel the work item and/or derived work items. + + + + Compares the work item with another work item based on absolute time values. + + Work item to compare the current work item to. + Relative ordering between this and the specified work item. + The inequality operators are overloaded to provide results consistent with the IComparable implementation. Equality operators implement traditional reference equality semantics. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before or at the same of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after or at the same time of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are equal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are equal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are inequal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are inequal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether a ScheduledItem<TAbsolute> object is equal to the specified object. + + The object to compare to the current ScheduledItem<TAbsolute> object. + true if the obj parameter is a ScheduledItem<TAbsolute> object and is equal to the current ScheduledItem<TAbsolute> object; otherwise, false. + + + + Returns the hash code for the current ScheduledItem<TAbsolute> object. + + A 32-bit signed integer hash code. + + + + Cancels the work item by disposing the resource returned by InvokeCore as soon as possible. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Gets whether the work item has received a cancellation request. + + + + + Represents a scheduled work item based on the materialization of an IScheduler.Schedule method call. + + Absolute time representation type. + Type of the state passed to the scheduled action. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + Comparer used to compare work items based on their scheduled time. + or or is null. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + or is null. + + + + Invokes the scheduled action with the supplied recursive scheduler and state. + + Cancellation resource returned by the scheduled action. + + + + Represents an awaitable scheduler operation. Awaiting the object causes the continuation to be posted back to the originating scheduler's work queue. + + + + + Controls whether the continuation is run on the originating synchronization context (false by default). + + true to run the continuation on the captured synchronization context; false otherwise (default). + Scheduler operation object with configured await behavior. + + + + Gets an awaiter for the scheduler operation, used to post back the continuation. + + Awaiter for the scheduler operation. + + + + (Infrastructure) Scheduler operation awaiter type used by the code generated for C# await and Visual Basic Await expressions. + + + + + Completes the scheduler operation, throwing an OperationCanceledException in case cancellation was requested. + + + + + Registers the continuation with the scheduler operation. + + Continuation to be run on the originating scheduler. + + + + Indicates whether the scheduler operation has completed. Returns false unless cancellation was already requested. + + + + + Efficient scheduler queue that maintains scheduled items sorted by absolute time. + + Absolute time representation type. + This type is not thread safe; users should ensure proper synchronization. + + + + Creates a new scheduler queue with a default initial capacity. + + + + + Creats a new scheduler queue with the specified initial capacity. + + Initial capacity of the scheduler queue. + is less than zero. + + + + Enqueues the specified work item to be scheduled. + + Work item to be scheduled. + + + + Removes the specified work item from the scheduler queue. + + Work item to be removed from the scheduler queue. + true if the item was found; false otherwise. + + + + Dequeues the next work item from the scheduler queue. + + Next work item in the scheduler queue (removed). + + + + Peeks the next work item in the scheduler queue. + + Next work item in the scheduler queue (not removed). + + + + Gets the number of scheduled items in the scheduler queue. + + + + + Provides basic synchronization and scheduling services for observable sequences. + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified scheduler. + In order to invoke observer callbacks on the specified scheduler, e.g. to offload callback processing to a dedicated thread, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified synchronization context. + In order to invoke observer callbacks on the specified synchronization context, e.g. to post callbacks to a UI thread represented by the synchronization context, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + + + Wraps the source sequence in order to ensure observer callbacks are properly serialized. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + + + Wraps the source sequence in order to ensure observer callbacks are synchronized using the specified gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Base class for implementation of query operators, providing performance benefits over the use of Observable.Create. + + Type of the resulting sequence's elements. + + + + Interface with variance annotation; allows for better type checking when detecting capabilities in SubscribeSafe. + + Type of the resulting sequence's elements. + + + + Publicly visible Subscribe method. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + IDisposable to cancel the subscription. This causes the underlying sink to be notified of unsubscription, causing it to prevent further messages from being sent to the observer. + + + + Core implementation of the query operator, called upon a new subscription to the producer object. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + The subscription disposable object returned from the Run call, passed in such that it can be forwarded to the sink, allowing it to dispose the subscription upon sending a final message (or prematurely for other reasons). + Callback to communicate the sink object to the subscriber, allowing consumers to tunnel a Dispose call into the sink, which can stop the processing. + Disposable representing all the resources and/or subscriptions the operator uses to process events. + The observer passed in to this method is not protected using auto-detach behavior upon an OnError or OnCompleted call. The implementation must ensure proper resource disposal and enforce the message grammar. + + + + Base class for implementation of query operators, providing a lightweight sink that can be disposed to mute the outgoing observer. + + Type of the resulting sequence's elements. + Implementations of sinks are responsible to enforce the message grammar on the associated observer. Upon sending a terminal message, a pairing Dispose call should be made to trigger cancellation of related resources and to mute the outgoing observer. + + + + Represents an object that schedules units of work on a provided . + + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + is null. + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + Configures whether scheduling always posts to the synchronization context, regardless whether the caller is on the same synchronization context. + is null. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an object that schedules units of work on the platform's default scheduler. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is less than TimeSpan.Zero. + is null. + + + + Discovers scheduler services by interface type. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the singleton instance of the default scheduler. + + + + + Represents an Action-based disposable. + + + + + Constructs a new disposable with the given action used for disposal. + + Disposal action which will be run upon calling Dispose. + + + + Calls the disposal action if and only if the current instance hasn't been disposed yet. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that can be checked for disposal status. + + + + + Initializes a new instance of the class. + + + + + Sets the status to disposed, which can be observer through the property. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that has an associated that will be set to the cancellation requested state upon disposal. + + + + + Initializes a new instance of the class that uses an existing . + + used for cancellation. + is null. + + + + Initializes a new instance of the class that uses a new . + + + + + Cancels the underlying . + + + + + Gets the used by this CancellationDisposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a group of disposable resources that are disposed together. + + + + + Initializes a new instance of the class with no disposables contained by it initially. + + + + + Initializes a new instance of the class with the specified number of disposables. + + The number of disposables that the new CompositeDisposable can initially store. + is less than zero. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. + + Disposable to add. + is null. + + + + Removes and disposes the first occurrence of a disposable from the CompositeDisposable. + + Disposable to remove. + true if found; false otherwise. + is null. + + + + Disposes all disposables in the group and removes them from the group. + + + + + Removes and disposes all disposables from the CompositeDisposable, but does not dispose the CompositeDisposable. + + + + + Determines whether the CompositeDisposable contains a specific disposable. + + Disposable to search for. + true if the disposable was found; otherwise, false. + is null. + + + + Copies the disposables contained in the CompositeDisposable to an array, starting at a particular array index. + + Array to copy the contained disposables to. + Target index at which to copy the first disposable of the group. + is null. + is less than zero. -or - is larger than or equal to the array length. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Gets the number of disposables contained in the CompositeDisposable. + + + + + Always returns false. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be posted to the specified . + + + + + Initializes a new instance of the class that uses the specified on which to dispose the specified disposable resource. + + Context to perform disposal on. + Disposable whose Dispose operation to run on the given synchronization context. + or is null. + + + + Disposes the underlying disposable on the provided . + + + + + Gets the provided . + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable that does nothing on disposal. + + + + + Singleton default disposable. + + + + + Does nothing. + + + + + Provides a set of static methods for creating Disposables. + + + + + Creates a disposable object that invokes the specified action when disposed. + + Action to run during the first call to . The action is guaranteed to be run at most once. + The disposable object that runs the given action upon disposal. + is null. + + + + Gets the disposable that does nothing when disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be swapped for another disposable resource. + + + + + Initializes a new instance of the class with no current underlying disposable. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + If the MutableDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. + + + + Represents a disposable resource that only disposes its underlying disposable resource when all dependent disposable objects have been disposed. + + + + + Initializes a new instance of the class with the specified disposable. + + Underlying disposable. + is null. + + + + Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable. + + A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime. + + + + Disposes the underlying disposable only when all dependent disposables have been disposed. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be scheduled on the specified . + + + + + Initializes a new instance of the class that uses an on which to dispose the disposable. + + Scheduler where the disposable resource will be disposed on. + Disposable resource to dispose on the given scheduler. + or is null. + + + + Disposes the wrapped disposable on the provided scheduler. + + + + + Gets the scheduler where the disposable resource will be disposed on. + + + + + Gets the underlying disposable. After disposal, the result is undefined. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be replaced by another disposable resource, causing automatic disposal of the previous underlying disposable resource. + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. + + If the SerialDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. Assigning this property disposes the previous disposable object. + + + + Represents a disposable resource which only allows a single assignment of its underlying disposable resource. + If an underlying disposable resource has already been set, future attempts to set the underlying disposable resource will throw an . + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + Thrown if the SingleAssignmentDisposable has already been assigned to. + + + + (Infrastructure) Services to rethrow exceptions. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Rethrows the specified exception. + + Exception to rethrow. + + + + (Infrastructure) Provides access to the host's lifecycle management services. + + + + + Adds a reference to the host lifecycle manager, causing it to be sending notifications. + + + + + Removes a reference to the host lifecycle manager, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Event that gets raised when the host suspends the application. + + + + + Event that gets raised when the host resumes the application. + + + + + (Infrastructure) Provides notifications about the host's lifecycle events. + + + + + Event that gets raised when the host suspends. + + + + + Event that gets raised when the host resumes. + + + + + (Infrastructure) Event arguments for host suspension events. + + + + + (Infrastructure) Event arguments for host resumption events. + + + + + (Infrastructure) Interface for enlightenment providers. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Gets the current enlightenment provider. If none is loaded yet, accessing this property triggers provider resolution. + + + This member is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Provides access to local system clock services. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Adds a reference to the system clock monitor, causing it to be sending notifications. + + Thrown when the system doesn't support sending clock change notifications. + + + + Removes a reference to the system clock monitor, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Gets the local system clock time. + + + + + Event that gets raised when a system clock change is detected, if there's any interest as indicated by AddRef calls. + + + + + (Infrastructure) Provides access to the local system clock. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Gets the current time. + + + + + (Infrastructure) Provides a mechanism to notify local schedulers about system clock changes. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Event that gets raised when a system clock change is detected. + + + + + (Infrastructure) Event arguments for system clock change notifications. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Creates a new system clock notification object with unknown old and new times. + + + + + Creates a new system clock notification object with the specified old and new times. + + Time before the system clock changed, or DateTimeOffset.MinValue if not known. + Time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + Gets the time before the system clock changed, or DateTimeOffset.MinValue if not known. + + + + + Gets the time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + + (Infrastructure) Provides access to the local system clock. + + + + + Gets the current time. + + + + + (Infrastructure) Monitors for system clock changes based on a periodic timer. + + + + + Creates a new monitor for system clock changes with the specified polling frequency. + + Polling frequency for system clock changes. + + + + Event that gets raised when a system clock change is detected. + + + + + Indicates the type of a notification. + + + + + Represents an OnNext notification. + + + + + Represents an OnError notification. + + + + + Represents an OnCompleted notification. + + + + + Represents a notification to an observer. + + The type of the elements received by the observer. + + + + Default constructor used by derived types. + + + + + Determines whether the current Notification<T> object has the same observer message payload as a specified Notification<T> value. + + An object to compare to the current Notification<T> object. + true if both Notification<T> objects have the same observer message payload; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have the same observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has the same observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have a different observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has a different observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent a different observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the specified System.Object is equal to the current Notification<T>. + + The System.Object to compare with the current Notification<T>. + true if the specified System.Object is equal to the current Notification<T>; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + The type of the result returned from the observer's notification handlers. + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + The type of the result returned from the notification handler delegates. + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns an observable sequence with a single notification, using the immediate scheduler. + + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns an observable sequence with a single notification. + + Scheduler to send out the notification calls on. + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns the value of an OnNext notification or throws an exception. + + + + + Returns a value that indicates whether the notification has a value. + + + + + Returns the exception of an OnError notification or returns null. + + + + + Gets the kind of notification that is represented. + + + + + Represents an OnNext notification to an observer. + + + + + Constructs a notification of a new value. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns the value of an OnNext notification. + + + + + Returns null. + + + + + Returns true. + + + + + Returns NotificationKind.OnNext. + + + + + Represents an OnError notification to an observer. + + + + + Constructs a notification of an exception. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws the exception. + + + + + Returns the exception. + + + + + Returns false. + + + + + Returns NotificationKind.OnError. + + + + + Represents an OnCompleted notification to an observer. + + + + + Constructs a notification of the end of a sequence. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws an InvalidOperationException. + + + + + Returns null. + + + + + Returns false. + + + + + Returns NotificationKind.OnCompleted. + + + + + Provides a set of static methods for constructing notifications. + + + + + Creates an object that represents an OnNext notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The value contained in the notification. + The OnNext notification containing the value. + + + + Creates an object that represents an OnError notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The exception contained in the notification. + The OnError notification containing the exception. + is null. + + + + Creates an object that represents an OnCompleted notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The OnCompleted notification. + + + + Represents a type with a single value. This type is often used to denote the successful completion of a void-returning method (C#) or a Sub procedure (Visual Basic). + + + + + Determines whether the specified Unit values is equal to the current Unit. Because Unit has a single value, this always returns true. + + An object to compare to the current Unit value. + Because Unit has a single value, this always returns true. + + + + Determines whether the specified System.Object is equal to the current Unit. + + The System.Object to compare with the current Unit. + true if the specified System.Object is a Unit value; otherwise, false. + + + + Returns the hash code for the current Unit value. + + A hash code for the current Unit value. + + + + Returns a string representation of the current Unit value. + + String representation of the current Unit value. + + + + Determines whether the two specified Unit values are equal. Because Unit has a single value, this always returns true. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns true. + + + + Determines whether the two specified Unit values are not equal. Because Unit has a single value, this always returns false. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns false. + + + + Gets the single unit value. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Using the Scheduler.{0} property is no longer supported due to refactoring of the API surface and elimination of platform-specific dependencies. Please include System.Reactive.PlatformServices for your target platform and use the {0}Scheduler type instead.. + + + + + Looks up a localized string similar to OnCompleted notification doesn't have a value.. + + + + + Looks up a localized string similar to Disposable has already been assigned.. + + + + + Looks up a localized string similar to Failed to start monitoring system clock changes.. + + + + + Looks up a localized string similar to Heap is empty.. + + + + + Looks up a localized string similar to Reentrancy has been detected.. + + + + + Looks up a localized string similar to Observer has already terminated.. + + + + + Looks up a localized string similar to This scheduler operation has already been awaited.. + + + + diff --git a/packages/Rx-Core.2.1.30214.0/lib/NetCore45/System.Reactive.Core.dll b/packages/Rx-Core.2.1.30214.0/lib/NetCore45/System.Reactive.Core.dll new file mode 100644 index 00000000000..e338eafbd51 Binary files /dev/null and b/packages/Rx-Core.2.1.30214.0/lib/NetCore45/System.Reactive.Core.dll differ diff --git a/packages/Rx-Core.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Core.XML b/packages/Rx-Core.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Core.XML new file mode 100644 index 00000000000..4646712c634 --- /dev/null +++ b/packages/Rx-Core.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Core.XML @@ -0,0 +1,2873 @@ + + + + System.Reactive.Core + + + + + The System.Reactive.PlatformServices namespace contains interfaces and classes used by the runtime infrastructure of Reactive Extensions. + Those are not intended to be used directly from user code and are subject to change in future releases of the product. + + + + + Provides a set of static methods for subscribing delegates to observables. + + + + + Subscribes to the observable sequence without specifying any handlers. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + IDisposable object used to unsubscribe from the observable sequence. + is null. + + + + Subscribes an element handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or or is null. + + + + Subscribes an observer to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer to subscribe to the sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or is null. + + + + Subscribes to the observable sequence without specifying any handlers, using a CancellationToken to support unsubscription. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + CancellationToken that can be signaled to unsubscribe from the source sequence. + is null. + + + + Subscribes an element handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or or is null. + + + + Subscribes to the specified source, re-routing synchronous exceptions during invocation of the Subscribe method to the observer's OnError channel. + This method is typically used when writing query operators. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer that will be passed to the observable sequence, and that will be used for exception propagation. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Provides a set of static methods for creating observers. + + + + + Creates an observer from a notification callback. + + The type of the elements received by the observer. + Action that handles a notification. + The observer object that invokes the specified handler using a notification corresponding to each message it receives. + is null. + + + + Creates a notification callback from an observer. + + The type of the elements received by the observer. + Observer object. + The action that forwards its input notification to the underlying observer. + is null. + + + + Creates an observer from the specified OnNext action. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + The observer object implemented using the given actions. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or or is null. + + + + Hides the identity of an observer. + + The type of the elements received by the source observer. + An observer whose identity to hide. + An observer that hides the identity of the specified observer. + is null. + + + + Checks access to the observer for grammar violations. This includes checking for multiple OnError or OnCompleted calls, as well as reentrancy in any of the observer methods. + If a violation is detected, an InvalidOperationException is thrown from the offending observer method call. + + The type of the elements received by the source observer. + The observer whose callback invocations should be checked for grammar violations. + An observer that checks callbacks invocations against the observer grammar and, if the checks pass, forwards those to the specified observer. + is null. + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently from multiple threads. This overload is useful when coordinating access to an observer. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload, passing true for the second parameter. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently. This overload is useful when coordinating access to an observer. + The parameter configures the type of lock used for synchronization. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + If set to true, reentrant observer callbacks will be queued up and get delivered to the observer in a sequential manner. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + When the parameter is set to false, behavior is identical to the overload which uses + a Monitor for synchronization. When the parameter is set to true, an + is used to queue up callbacks to the specified observer if a reentrant call is made. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently by multiple threads, using the specified gate object for use by a Monitor-based lock. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common gate object. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently, using the specified asynchronous lock to protect against concurrent and reentrant access. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common asynchronous lock. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + + + Schedules the invocation of observer methods on the given scheduler. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Scheduler to schedule observer messages on. + Observer whose messages are scheduled on the given scheduler. + or is null. + + + + Schedules the invocation of observer methods on the given synchonization context. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Synchonization context to schedule observer messages on. + Observer whose messages are scheduled on the given synchonization context. + or is null. + + + + Converts an observer to a progress object. + + The type of the progress objects received by the source observer. + The observer to convert. + Progress object whose Report messages correspond to the observer's OnNext messages. + is null. + + + + Converts an observer to a progress object, using the specified scheduler to invoke the progress reporting method. + + The type of the progress objects received by the source observer. + The observer to convert. + Scheduler to report progress on. + Progress object whose Report messages correspond to the observer's OnNext messages. + or is null. + + + + Converts a progress object to an observer. + + The type of the progress objects received by the progress reporter. + The progress object to convert. + Observer whose OnNext messages correspond to the progress object's Report messages. + is null. + + + + Class to create an IObservable<T> instance from a delegate-based implementation of the Subscribe method. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObservable<T> interface. + + + If you don't need a named type to create an observable sequence (i.e. you rather need + an instance rather than a reusable type), use the Observable.Create method to create + an observable sequence with specified subscription behavior. + + The type of the elements in the sequence. + + + + Subscribes the given observer to the observable sequence. + + Observer that will receive notifications from the observable sequence. + Disposable object representing an observer's subscription to the observable sequence. + is null. + + + + Implement this method with the core subscription logic for the observable sequence. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Creates an observable sequence object from the specified subscription function. + + Subscribe method implementation. + is null. + + + + Calls the subscription function that was supplied to the constructor. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Class to create an IObserver<T> instance from delegate-based implementations of the On* methods. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObserver<T> interface. + + This base class enforces the grammar of observers where OnError and OnCompleted are terminal messages. + The type of the elements in the sequence. + + + + Creates a new observer in a non-stopped state. + + + + + Notifies the observer of a new element in the sequence. + + Next element in the sequence. + + + + Implement this method to react to the receival of a new element in the sequence. + + Next element in the sequence. + This method only gets called when the observer hasn't stopped yet. + + + + Notifies the observer that an exception has occurred. + + The error that has occurred. + is null. + + + + Implement this method to react to the occurrence of an exception. + + The error that has occurred. + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Notifies the observer of the end of the sequence. + + + + + Implement this method to react to the end of the sequence. + + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Disposes the observer, causing it to transition to the stopped state. + + + + + Core implementation of IDisposable. + + true if the Dispose call was triggered by the IDisposable.Dispose method; false if it was triggered by the finalizer. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + or or is null. + + + + Creates an observer from the specified OnNext action. + + Observer's OnNext action implementation. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + or is null. + + + + Calls the onNext action. + + Next element in the sequence. + + + + Calls the onError action. + + The error that has occurred. + + + + Calls the onCompleted action. + + + + + This class fuses logic from ObserverBase, AnonymousObserver, and SafeObserver into one class. When an observer + needs to be safeguarded, an instance of this type can be created by SafeObserver.Create when it detects its + input is an AnonymousObserver, which is commonly used by end users when using the Subscribe extension methods + that accept delegates for the On* handlers. By doing the fusion, we make the call stack depth shorter which + helps debugging and some performance. + + + + + Asynchronous lock. + + + + + Queues the action for execution. If the caller acquires the lock and becomes the owner, + the queue is processed. If the lock is already owned, the action is queued and will get + processed by the owner. + + Action to queue for execution. + is null. + + + + Clears the work items in the queue and drops further work being queued. + + + + + (Infrastructure) Concurrency abstraction layer. + + + + + Gets the current CAL. If no CAL has been set yet, it will be initialized to the default. + + + + + (Infrastructure) Concurrency abstraction layer interface. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Queues a method for execution at the specified relative time. + + Method to execute. + State to pass to the method. + Time to execute the method on. + Disposable object that can be used to stop the timer. + + + + Queues a method for periodic execution based on the specified period. + + Method to execute; should be safe for reentrancy. + Period for running the method periodically. + Disposable object that can be used to stop the timer. + + + + Queues a method for execution. + + Method to execute. + State to pass to the method. + Disposable object that can be used to cancel the queued method. + + + + Blocking sleep operation. + + Time to sleep. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Starts a new long-running thread. + + Method to execute. + State to pass to the method. + + + + Gets whether long-running scheduling is supported. + + + + + Provides a set of static properties to access commonly used schedulers. + + + + + Returns a scheduler that represents the original scheduler, without any of its interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable all optimizations for. + Proxy to the original scheduler but without any optimizations enabled. + is null. + + + + Returns a scheduler that represents the original scheduler, without the specified set of interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable the specified optimizations for. + Types of the optimization interfaces that have to be disabled. + Proxy to the original scheduler but without the specified optimizations enabled. + or is null. + + + + Returns a scheduler that wraps the original scheduler, adding exception handling for scheduled actions. + + Type of the exception to check for. + Scheduler to apply an exception filter for. + Handler that's run if an exception is caught. The exception will be rethrown if the handler returns false. + Wrapper around the original scheduler, enforcing exception handling. + or is null. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + The scheduler to run periodic work on. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + Scheduler to execute the action on. + State passed to the action to be executed. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + Scheduler to execute the action on. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Starts a new stopwatch object by dynamically discovering the scheduler's capabilities. + If the scheduler provides stopwatch functionality, the request will be forwarded to the stopwatch provider implementation. + Otherwise, the stopwatch will be emulated using the scheduler's notion of absolute time. + + Scheduler to obtain a stopwatch for. + New stopwatch object; started at the time of the request. + is null. + The resulting stopwatch object can have non-monotonic behavior. + + + + Returns the ISchedulerLongRunning implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the ISchedulerLongRunning implementation for. + The scheduler's ISchedulerLongRunning implementation if available; null otherwise. + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using in case a stopwatch is required, but use of emulation stopwatch based + on the scheduler's clock is acceptable. Use of this method is recommended for best-effort use of the stopwatch provider + scheduler service, where the caller falls back to not using stopwatches if this facility wasn't found. + + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using the Scheduler.SchedulePeriodic extension methods for IScheduler in case periodic scheduling is required and + emulation of periodic behavior using other scheduler services is desirable. Use of this method is recommended for best-effort + use of the periodic scheduling service, where the caller falls back to not using periodic scheduling if this facility wasn't + found. + + + + + + Yields execution of the current work item on the scheduler to another work item on the scheduler. + The caller should await the result of calling Yield to schedule the remainder of the current work item (known as the continuation). + + Scheduler to yield work on. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Yields execution of the current work item on the scheduler to another work item on the scheduler. + The caller should await the result of calling Yield to schedule the remainder of the current work item (known as the continuation). + + Scheduler to yield work on. + Cancellation token to cancel the continuation to run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler for the specified duration. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) after the specified duration. + + Scheduler to yield work on. + Time when the continuation should run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler for the specified duration. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) after the specified duration. + + Scheduler to yield work on. + Time when the continuation should run. + Cancellation token to cancel the continuation to run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler until the specified due time. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) at the specified due time. + + Scheduler to yield work on. + Time when the continuation should run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler until the specified due time. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) at the specified due time. + + Scheduler to yield work on. + Time when the continuation should run. + Cancellation token to cancel the continuation to run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Normalizes the specified TimeSpan value to a positive value. + + The TimeSpan value to normalize. + The specified TimeSpan value if it is zero or positive; otherwise, TimeSpan.Zero. + + + + Schedules an action to be executed recursively. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified relative time. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified absolute time. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed after the specified relative due time. + + Scheduler to execute the action on. + Action to execute. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at the specified absolute due time. + + Scheduler to execute the action on. + Action to execute. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Gets the current time according to the local machine's system clock. + + + + + Gets a scheduler that schedules work immediately on the current thread. + + + + + Gets a scheduler that schedules work as soon as possible on the current thread. + + + + + Gets a scheduler that schedules work on the platform's default scheduler. + + + + + Gets a scheduler that schedules work on the thread pool. + + + + + Gets a scheduler that schedules work on a new thread using default thread creation options. + + + + + Gets a scheduler that schedules work on Task Parallel Library (TPL) task pool using the default TaskScheduler. + + + + + Abstract base class for machine-local schedulers, using the local system clock for time-based operations. + + + + + Maximum error ratio for timer drift. We've seen machines with 10s drift on a + daily basis, which is in the order 10E-4, so we allow for extra margin here. + This value is used to calculate early arrival for the long term queue timer + that will reevaluate work for the short term queue. + + Example: -------------------------------...---------------------*-----$ + ^ ^ + | | + early due + 0.999 1.0 + + We also make the gap between early and due at least LONGTOSHORT so we have + enough time to transition work to short term and as a courtesy to the + destination scheduler to manage its queues etc. + + + + + Gate to protect queues and to synchronize scheduling decisions and system clock + change management. + + + + + Long term work queue. Contains work that's due beyond SHORTTERM, computed at the + time of enqueueing. + + + + + Disposable resource for the long term timer that will reevaluate and dispatch the + first item in the long term queue. A serial disposable is used to make "dispose + current and assign new" logic easier. The disposable itself is never disposed. + + + + + Item at the head of the long term queue for which the current long term timer is + running. Used to detect changes in the queue and decide whether we should replace + or can continue using the current timer (because no earlier long term work was + added to the queue). + + + + + Short term work queue. Contains work that's due soon, computed at the time of + enqueueing or upon reevaluation of the long term queue causing migration of work + items. This queue is kept in order to be able to relocate short term items back + to the long term queue in case a system clock change occurs. + + + + + Set of disposable handles to all of the current short term work Schedule calls, + allowing those to be cancelled upon a system clock change. + + + + + Threshold where an item is considered to be short term work or gets moved from + long term to short term. + + + + + Minimum threshold for the long term timer to fire before the queue is reevaluated + for short term work. This value is chosen to be less than SHORTTERM in order to + ensure the timer fires and has work to transition to the short term queue. + + + + + Threshold used to determine when a short term timer has fired too early compared + to the absolute due time. This provides a last chance protection against early + completion of scheduled work, which can happen in case of time adjustment in the + operating system (cf. GetSystemTimeAdjustment). + + + + + Enqueues absolute time scheduled work in the timer queue or the short term work list. + + Scheduler to run the work on. Typically "this" from the caller's perspective (LocalScheduler.Schedule), but parameter kept because we have a single (static) timer queue across all of Rx local schedulers. + State to pass to the action. + Absolute time to run the work on. The timer queue is responsible to execute the work close to the specified time, also accounting for system clock changes. + Action to run, potentially recursing into the scheduler. + Disposable object to prevent the work from running. + + + + Schedule work that's due in the short term. This leads to relative scheduling calls to the + underlying scheduler for short TimeSpan values. If the system clock changes in the meantime, + the short term work is attempted to be cancelled and reevaluated. + + Work item to schedule in the short term. The caller is responsible to determine the work is indeed short term. + + + + Callback to process the next short term work item. + + Recursive scheduler supplied by the underlying scheduler. + Disposable used to identify the work the timer was triggered for (see code for usage). + Empty disposable. Recursive work cancellation is wired through the original WorkItem. + + + + Schedule work that's due on the long term. This leads to the work being queued up for + eventual transitioning to the short term work list. + + Work item to schedule on the long term. The caller is responsible to determine the work is indeed long term. + + + + Updates the long term timer which is responsible to transition work from the head of the + long term queue to the short term work list. + + Should be called under the scheduler lock. + + + + Evaluates the long term queue, transitioning short term work to the short term list, + and adjusting the new long term processing timer accordingly. + + Ignored. + + + + Callback invoked when a system clock change is observed in order to adjust and reevaluate + the internal scheduling queues. + + Currently not used. + Currently not used. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + Platform-specific scheduler implementations should reimplement IStopwatchProvider to provide a more + efficient IStopwatch implementation (if available). + + + + + Discovers scheduler services by interface type. The base class implementation returns + requested services for each scheduler interface implemented by the derived class. For + more control over service discovery, derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the scheduler's notion of current time. + + + + + Represents a work item in the absolute time scheduler. + + + This type is very similar to ScheduledItem, but we need a different Invoke signature to allow customization + of the target scheduler (e.g. when called in a recursive scheduling context, see ExecuteNextShortTermWorkItem). + + + + + Represents a work item that closes over scheduler invocation state. Subtyping is + used to have a common type for the scheduler queues. + + + + + Represents an object that schedules units of work on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the current thread scheduler. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Represents an object that schedules units of work to run immediately on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the immediate scheduler. + + + + + Abstract base class for scheduled work items. + + Absolute time representation type. + + + + Creates a new scheduled work item to run at the specified time. + + Absolute time at which the work item has to be executed. + Comparer used to compare work items based on their scheduled time. + is null. + + + + Invokes the work item. + + + + + Implement this method to perform the work item invocation, returning a disposable object for deep cancellation. + + Disposable object used to cancel the work item and/or derived work items. + + + + Compares the work item with another work item based on absolute time values. + + Work item to compare the current work item to. + Relative ordering between this and the specified work item. + The inequality operators are overloaded to provide results consistent with the IComparable implementation. Equality operators implement traditional reference equality semantics. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before or at the same of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after or at the same time of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are equal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are equal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are inequal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are inequal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether a ScheduledItem<TAbsolute> object is equal to the specified object. + + The object to compare to the current ScheduledItem<TAbsolute> object. + true if the obj parameter is a ScheduledItem<TAbsolute> object and is equal to the current ScheduledItem<TAbsolute> object; otherwise, false. + + + + Returns the hash code for the current ScheduledItem<TAbsolute> object. + + A 32-bit signed integer hash code. + + + + Cancels the work item by disposing the resource returned by InvokeCore as soon as possible. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Gets whether the work item has received a cancellation request. + + + + + Represents a scheduled work item based on the materialization of an IScheduler.Schedule method call. + + Absolute time representation type. + Type of the state passed to the scheduled action. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + Comparer used to compare work items based on their scheduled time. + or or is null. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + or is null. + + + + Invokes the scheduled action with the supplied recursive scheduler and state. + + Cancellation resource returned by the scheduled action. + + + + Represents an awaitable scheduler operation. Awaiting the object causes the continuation to be posted back to the originating scheduler's work queue. + + + + + Controls whether the continuation is run on the originating synchronization context (false by default). + + true to run the continuation on the captured synchronization context; false otherwise (default). + Scheduler operation object with configured await behavior. + + + + Gets an awaiter for the scheduler operation, used to post back the continuation. + + Awaiter for the scheduler operation. + + + + (Infrastructure) Scheduler operation awaiter type used by the code generated for C# await and Visual Basic Await expressions. + + + + + Completes the scheduler operation, throwing an OperationCanceledException in case cancellation was requested. + + + + + Registers the continuation with the scheduler operation. + + Continuation to be run on the originating scheduler. + + + + Indicates whether the scheduler operation has completed. Returns false unless cancellation was already requested. + + + + + Efficient scheduler queue that maintains scheduled items sorted by absolute time. + + Absolute time representation type. + This type is not thread safe; users should ensure proper synchronization. + + + + Creates a new scheduler queue with a default initial capacity. + + + + + Creats a new scheduler queue with the specified initial capacity. + + Initial capacity of the scheduler queue. + is less than zero. + + + + Enqueues the specified work item to be scheduled. + + Work item to be scheduled. + + + + Removes the specified work item from the scheduler queue. + + Work item to be removed from the scheduler queue. + true if the item was found; false otherwise. + + + + Dequeues the next work item from the scheduler queue. + + Next work item in the scheduler queue (removed). + + + + Peeks the next work item in the scheduler queue. + + Next work item in the scheduler queue (not removed). + + + + Gets the number of scheduled items in the scheduler queue. + + + + + Provides basic synchronization and scheduling services for observable sequences. + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified scheduler. + In order to invoke observer callbacks on the specified scheduler, e.g. to offload callback processing to a dedicated thread, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified synchronization context. + In order to invoke observer callbacks on the specified synchronization context, e.g. to post callbacks to a UI thread represented by the synchronization context, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + + + Wraps the source sequence in order to ensure observer callbacks are properly serialized. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + + + Wraps the source sequence in order to ensure observer callbacks are synchronized using the specified gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Base class for implementation of query operators, providing performance benefits over the use of Observable.Create. + + Type of the resulting sequence's elements. + + + + Interface with variance annotation; allows for better type checking when detecting capabilities in SubscribeSafe. + + Type of the resulting sequence's elements. + + + + Publicly visible Subscribe method. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + IDisposable to cancel the subscription. This causes the underlying sink to be notified of unsubscription, causing it to prevent further messages from being sent to the observer. + + + + Core implementation of the query operator, called upon a new subscription to the producer object. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + The subscription disposable object returned from the Run call, passed in such that it can be forwarded to the sink, allowing it to dispose the subscription upon sending a final message (or prematurely for other reasons). + Callback to communicate the sink object to the subscriber, allowing consumers to tunnel a Dispose call into the sink, which can stop the processing. + Disposable representing all the resources and/or subscriptions the operator uses to process events. + The observer passed in to this method is not protected using auto-detach behavior upon an OnError or OnCompleted call. The implementation must ensure proper resource disposal and enforce the message grammar. + + + + Base class for implementation of query operators, providing a lightweight sink that can be disposed to mute the outgoing observer. + + Type of the resulting sequence's elements. + Implementations of sinks are responsible to enforce the message grammar on the associated observer. Upon sending a terminal message, a pairing Dispose call should be made to trigger cancellation of related resources and to mute the outgoing observer. + + + + Represents an object that schedules units of work on a provided . + + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + is null. + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + Configures whether scheduling always posts to the synchronization context, regardless whether the caller is on the same synchronization context. + is null. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an object that schedules units of work on the platform's default scheduler. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is less than TimeSpan.Zero. + is null. + + + + Discovers scheduler services by interface type. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the singleton instance of the default scheduler. + + + + + Represents an Action-based disposable. + + + + + Constructs a new disposable with the given action used for disposal. + + Disposal action which will be run upon calling Dispose. + + + + Calls the disposal action if and only if the current instance hasn't been disposed yet. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that can be checked for disposal status. + + + + + Initializes a new instance of the class. + + + + + Sets the status to disposed, which can be observer through the property. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that has an associated that will be set to the cancellation requested state upon disposal. + + + + + Initializes a new instance of the class that uses an existing . + + used for cancellation. + is null. + + + + Initializes a new instance of the class that uses a new . + + + + + Cancels the underlying . + + + + + Gets the used by this CancellationDisposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a group of disposable resources that are disposed together. + + + + + Initializes a new instance of the class with no disposables contained by it initially. + + + + + Initializes a new instance of the class with the specified number of disposables. + + The number of disposables that the new CompositeDisposable can initially store. + is less than zero. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. + + Disposable to add. + is null. + + + + Removes and disposes the first occurrence of a disposable from the CompositeDisposable. + + Disposable to remove. + true if found; false otherwise. + is null. + + + + Disposes all disposables in the group and removes them from the group. + + + + + Removes and disposes all disposables from the CompositeDisposable, but does not dispose the CompositeDisposable. + + + + + Determines whether the CompositeDisposable contains a specific disposable. + + Disposable to search for. + true if the disposable was found; otherwise, false. + is null. + + + + Copies the disposables contained in the CompositeDisposable to an array, starting at a particular array index. + + Array to copy the contained disposables to. + Target index at which to copy the first disposable of the group. + is null. + is less than zero. -or - is larger than or equal to the array length. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Gets the number of disposables contained in the CompositeDisposable. + + + + + Always returns false. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be posted to the specified . + + + + + Initializes a new instance of the class that uses the specified on which to dispose the specified disposable resource. + + Context to perform disposal on. + Disposable whose Dispose operation to run on the given synchronization context. + or is null. + + + + Disposes the underlying disposable on the provided . + + + + + Gets the provided . + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable that does nothing on disposal. + + + + + Singleton default disposable. + + + + + Does nothing. + + + + + Provides a set of static methods for creating Disposables. + + + + + Creates a disposable object that invokes the specified action when disposed. + + Action to run during the first call to . The action is guaranteed to be run at most once. + The disposable object that runs the given action upon disposal. + is null. + + + + Gets the disposable that does nothing when disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be swapped for another disposable resource. + + + + + Initializes a new instance of the class with no current underlying disposable. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + If the MutableDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. + + + + Represents a disposable resource that only disposes its underlying disposable resource when all dependent disposable objects have been disposed. + + + + + Initializes a new instance of the class with the specified disposable. + + Underlying disposable. + is null. + + + + Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable. + + A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime. + + + + Disposes the underlying disposable only when all dependent disposables have been disposed. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be scheduled on the specified . + + + + + Initializes a new instance of the class that uses an on which to dispose the disposable. + + Scheduler where the disposable resource will be disposed on. + Disposable resource to dispose on the given scheduler. + or is null. + + + + Disposes the wrapped disposable on the provided scheduler. + + + + + Gets the scheduler where the disposable resource will be disposed on. + + + + + Gets the underlying disposable. After disposal, the result is undefined. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be replaced by another disposable resource, causing automatic disposal of the previous underlying disposable resource. + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. + + If the SerialDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. Assigning this property disposes the previous disposable object. + + + + Represents a disposable resource which only allows a single assignment of its underlying disposable resource. + If an underlying disposable resource has already been set, future attempts to set the underlying disposable resource will throw an . + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + Thrown if the SingleAssignmentDisposable has already been assigned to. + + + + (Infrastructure) Services to rethrow exceptions. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Rethrows the specified exception. + + Exception to rethrow. + + + + (Infrastructure) Provides access to the host's lifecycle management services. + + + + + Adds a reference to the host lifecycle manager, causing it to be sending notifications. + + + + + Removes a reference to the host lifecycle manager, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Event that gets raised when the host suspends the application. + + + + + Event that gets raised when the host resumes the application. + + + + + (Infrastructure) Provides notifications about the host's lifecycle events. + + + + + Event that gets raised when the host suspends. + + + + + Event that gets raised when the host resumes. + + + + + (Infrastructure) Event arguments for host suspension events. + + + + + (Infrastructure) Event arguments for host resumption events. + + + + + (Infrastructure) Interface for enlightenment providers. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Gets the current enlightenment provider. If none is loaded yet, accessing this property triggers provider resolution. + + + This member is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Provides access to local system clock services. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Adds a reference to the system clock monitor, causing it to be sending notifications. + + Thrown when the system doesn't support sending clock change notifications. + + + + Removes a reference to the system clock monitor, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Gets the local system clock time. + + + + + Event that gets raised when a system clock change is detected, if there's any interest as indicated by AddRef calls. + + + + + (Infrastructure) Provides access to the local system clock. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Gets the current time. + + + + + (Infrastructure) Provides a mechanism to notify local schedulers about system clock changes. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Event that gets raised when a system clock change is detected. + + + + + (Infrastructure) Event arguments for system clock change notifications. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Creates a new system clock notification object with unknown old and new times. + + + + + Creates a new system clock notification object with the specified old and new times. + + Time before the system clock changed, or DateTimeOffset.MinValue if not known. + Time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + Gets the time before the system clock changed, or DateTimeOffset.MinValue if not known. + + + + + Gets the time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + + (Infrastructure) Provides access to the local system clock. + + + + + Gets the current time. + + + + + (Infrastructure) Monitors for system clock changes based on a periodic timer. + + + + + Creates a new monitor for system clock changes with the specified polling frequency. + + Polling frequency for system clock changes. + + + + Event that gets raised when a system clock change is detected. + + + + + Indicates the type of a notification. + + + + + Represents an OnNext notification. + + + + + Represents an OnError notification. + + + + + Represents an OnCompleted notification. + + + + + Represents a notification to an observer. + + The type of the elements received by the observer. + + + + Default constructor used by derived types. + + + + + Determines whether the current Notification<T> object has the same observer message payload as a specified Notification<T> value. + + An object to compare to the current Notification<T> object. + true if both Notification<T> objects have the same observer message payload; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have the same observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has the same observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have a different observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has a different observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent a different observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the specified System.Object is equal to the current Notification<T>. + + The System.Object to compare with the current Notification<T>. + true if the specified System.Object is equal to the current Notification<T>; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + The type of the result returned from the observer's notification handlers. + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + The type of the result returned from the notification handler delegates. + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns an observable sequence with a single notification, using the immediate scheduler. + + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns an observable sequence with a single notification. + + Scheduler to send out the notification calls on. + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns the value of an OnNext notification or throws an exception. + + + + + Returns a value that indicates whether the notification has a value. + + + + + Returns the exception of an OnError notification or returns null. + + + + + Gets the kind of notification that is represented. + + + + + Represents an OnNext notification to an observer. + + + + + Constructs a notification of a new value. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns the value of an OnNext notification. + + + + + Returns null. + + + + + Returns true. + + + + + Returns NotificationKind.OnNext. + + + + + Represents an OnError notification to an observer. + + + + + Constructs a notification of an exception. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws the exception. + + + + + Returns the exception. + + + + + Returns false. + + + + + Returns NotificationKind.OnError. + + + + + Represents an OnCompleted notification to an observer. + + + + + Constructs a notification of the end of a sequence. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws an InvalidOperationException. + + + + + Returns null. + + + + + Returns false. + + + + + Returns NotificationKind.OnCompleted. + + + + + Provides a set of static methods for constructing notifications. + + + + + Creates an object that represents an OnNext notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The value contained in the notification. + The OnNext notification containing the value. + + + + Creates an object that represents an OnError notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The exception contained in the notification. + The OnError notification containing the exception. + is null. + + + + Creates an object that represents an OnCompleted notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The OnCompleted notification. + + + + Represents a type with a single value. This type is often used to denote the successful completion of a void-returning method (C#) or a Sub procedure (Visual Basic). + + + + + Determines whether the specified Unit values is equal to the current Unit. Because Unit has a single value, this always returns true. + + An object to compare to the current Unit value. + Because Unit has a single value, this always returns true. + + + + Determines whether the specified System.Object is equal to the current Unit. + + The System.Object to compare with the current Unit. + true if the specified System.Object is a Unit value; otherwise, false. + + + + Returns the hash code for the current Unit value. + + A hash code for the current Unit value. + + + + Returns a string representation of the current Unit value. + + String representation of the current Unit value. + + + + Determines whether the two specified Unit values are equal. Because Unit has a single value, this always returns true. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns true. + + + + Determines whether the two specified Unit values are not equal. Because Unit has a single value, this always returns false. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns false. + + + + Gets the single unit value. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Using the Scheduler.{0} property is no longer supported due to refactoring of the API surface and elimination of platform-specific dependencies. Please include System.Reactive.PlatformServices for your target platform and use the {0}Scheduler type instead.. + + + + + Looks up a localized string similar to OnCompleted notification doesn't have a value.. + + + + + Looks up a localized string similar to Disposable has already been assigned.. + + + + + Looks up a localized string similar to Failed to start monitoring system clock changes.. + + + + + Looks up a localized string similar to Heap is empty.. + + + + + Looks up a localized string similar to Reentrancy has been detected.. + + + + + Looks up a localized string similar to Observer has already terminated.. + + + + + Looks up a localized string similar to This scheduler operation has already been awaited.. + + + + diff --git a/packages/Rx-Core.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Core.dll b/packages/Rx-Core.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Core.dll new file mode 100644 index 00000000000..e338eafbd51 Binary files /dev/null and b/packages/Rx-Core.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Core.dll differ diff --git a/packages/Rx-Core.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Core.XML b/packages/Rx-Core.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Core.XML new file mode 100644 index 00000000000..d4702cece5b --- /dev/null +++ b/packages/Rx-Core.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Core.XML @@ -0,0 +1,2516 @@ + + + + System.Reactive.Core + + + + + The System.Reactive.PlatformServices namespace contains interfaces and classes used by the runtime infrastructure of Reactive Extensions. + Those are not intended to be used directly from user code and are subject to change in future releases of the product. + + + + + Provides a set of static methods for subscribing delegates to observables. + + + + + Subscribes to the observable sequence without specifying any handlers. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + IDisposable object used to unsubscribe from the observable sequence. + is null. + + + + Subscribes an element handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or or is null. + + + + Subscribes to the specified source, re-routing synchronous exceptions during invocation of the Subscribe method to the observer's OnError channel. + This method is typically used when writing query operators. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer that will be passed to the observable sequence, and that will be used for exception propagation. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Provides a set of static methods for creating observers. + + + + + Creates an observer from a notification callback. + + The type of the elements received by the observer. + Action that handles a notification. + The observer object that invokes the specified handler using a notification corresponding to each message it receives. + is null. + + + + Creates a notification callback from an observer. + + The type of the elements received by the observer. + Observer object. + The action that forwards its input notification to the underlying observer. + is null. + + + + Creates an observer from the specified OnNext action. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + The observer object implemented using the given actions. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or or is null. + + + + Hides the identity of an observer. + + The type of the elements received by the source observer. + An observer whose identity to hide. + An observer that hides the identity of the specified observer. + is null. + + + + Checks access to the observer for grammar violations. This includes checking for multiple OnError or OnCompleted calls, as well as reentrancy in any of the observer methods. + If a violation is detected, an InvalidOperationException is thrown from the offending observer method call. + + The type of the elements received by the source observer. + The observer whose callback invocations should be checked for grammar violations. + An observer that checks callbacks invocations against the observer grammar and, if the checks pass, forwards those to the specified observer. + is null. + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently from multiple threads. This overload is useful when coordinating access to an observer. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload, passing true for the second parameter. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently. This overload is useful when coordinating access to an observer. + The parameter configures the type of lock used for synchronization. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + If set to true, reentrant observer callbacks will be queued up and get delivered to the observer in a sequential manner. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + When the parameter is set to false, behavior is identical to the overload which uses + a Monitor for synchronization. When the parameter is set to true, an + is used to queue up callbacks to the specified observer if a reentrant call is made. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently by multiple threads, using the specified gate object for use by a Monitor-based lock. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common gate object. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently, using the specified asynchronous lock to protect against concurrent and reentrant access. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common asynchronous lock. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + + + Schedules the invocation of observer methods on the given scheduler. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Scheduler to schedule observer messages on. + Observer whose messages are scheduled on the given scheduler. + or is null. + + + + Schedules the invocation of observer methods on the given synchonization context. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Synchonization context to schedule observer messages on. + Observer whose messages are scheduled on the given synchonization context. + or is null. + + + + Class to create an IObservable<T> instance from a delegate-based implementation of the Subscribe method. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObservable<T> interface. + + + If you don't need a named type to create an observable sequence (i.e. you rather need + an instance rather than a reusable type), use the Observable.Create method to create + an observable sequence with specified subscription behavior. + + The type of the elements in the sequence. + + + + Subscribes the given observer to the observable sequence. + + Observer that will receive notifications from the observable sequence. + Disposable object representing an observer's subscription to the observable sequence. + is null. + + + + Implement this method with the core subscription logic for the observable sequence. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Creates an observable sequence object from the specified subscription function. + + Subscribe method implementation. + is null. + + + + Calls the subscription function that was supplied to the constructor. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Class to create an IObserver<T> instance from delegate-based implementations of the On* methods. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObserver<T> interface. + + This base class enforces the grammar of observers where OnError and OnCompleted are terminal messages. + The type of the elements in the sequence. + + + + Creates a new observer in a non-stopped state. + + + + + Notifies the observer of a new element in the sequence. + + Next element in the sequence. + + + + Implement this method to react to the receival of a new element in the sequence. + + Next element in the sequence. + This method only gets called when the observer hasn't stopped yet. + + + + Notifies the observer that an exception has occurred. + + The error that has occurred. + is null. + + + + Implement this method to react to the occurrence of an exception. + + The error that has occurred. + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Notifies the observer of the end of the sequence. + + + + + Implement this method to react to the end of the sequence. + + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Disposes the observer, causing it to transition to the stopped state. + + + + + Core implementation of IDisposable. + + true if the Dispose call was triggered by the IDisposable.Dispose method; false if it was triggered by the finalizer. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + or or is null. + + + + Creates an observer from the specified OnNext action. + + Observer's OnNext action implementation. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + or is null. + + + + Calls the onNext action. + + Next element in the sequence. + + + + Calls the onError action. + + The error that has occurred. + + + + Calls the onCompleted action. + + + + + This class fuses logic from ObserverBase, AnonymousObserver, and SafeObserver into one class. When an observer + needs to be safeguarded, an instance of this type can be created by SafeObserver.Create when it detects its + input is an AnonymousObserver, which is commonly used by end users when using the Subscribe extension methods + that accept delegates for the On* handlers. By doing the fusion, we make the call stack depth shorter which + helps debugging and some performance. + + + + + Asynchronous lock. + + + + + Queues the action for execution. If the caller acquires the lock and becomes the owner, + the queue is processed. If the lock is already owned, the action is queued and will get + processed by the owner. + + Action to queue for execution. + is null. + + + + Clears the work items in the queue and drops further work being queued. + + + + + (Infrastructure) Concurrency abstraction layer. + + + + + Gets the current CAL. If no CAL has been set yet, it will be initialized to the default. + + + + + (Infrastructure) Concurrency abstraction layer interface. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Queues a method for execution at the specified relative time. + + Method to execute. + State to pass to the method. + Time to execute the method on. + Disposable object that can be used to stop the timer. + + + + Queues a method for periodic execution based on the specified period. + + Method to execute; should be safe for reentrancy. + Period for running the method periodically. + Disposable object that can be used to stop the timer. + + + + Queues a method for execution. + + Method to execute. + State to pass to the method. + Disposable object that can be used to cancel the queued method. + + + + Blocking sleep operation. + + Time to sleep. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Starts a new long-running thread. + + Method to execute. + State to pass to the method. + + + + Gets whether long-running scheduling is supported. + + + + + Provides a set of static properties to access commonly used schedulers. + + + + + Returns a scheduler that represents the original scheduler, without any of its interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable all optimizations for. + Proxy to the original scheduler but without any optimizations enabled. + is null. + + + + Returns a scheduler that represents the original scheduler, without the specified set of interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable the specified optimizations for. + Types of the optimization interfaces that have to be disabled. + Proxy to the original scheduler but without the specified optimizations enabled. + or is null. + + + + Returns a scheduler that wraps the original scheduler, adding exception handling for scheduled actions. + + Type of the exception to check for. + Scheduler to apply an exception filter for. + Handler that's run if an exception is caught. The exception will be rethrown if the handler returns false. + Wrapper around the original scheduler, enforcing exception handling. + or is null. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + The scheduler to run periodic work on. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + Scheduler to execute the action on. + State passed to the action to be executed. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + Scheduler to execute the action on. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Starts a new stopwatch object by dynamically discovering the scheduler's capabilities. + If the scheduler provides stopwatch functionality, the request will be forwarded to the stopwatch provider implementation. + Otherwise, the stopwatch will be emulated using the scheduler's notion of absolute time. + + Scheduler to obtain a stopwatch for. + New stopwatch object; started at the time of the request. + is null. + The resulting stopwatch object can have non-monotonic behavior. + + + + Returns the ISchedulerLongRunning implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the ISchedulerLongRunning implementation for. + The scheduler's ISchedulerLongRunning implementation if available; null otherwise. + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using in case a stopwatch is required, but use of emulation stopwatch based + on the scheduler's clock is acceptable. Use of this method is recommended for best-effort use of the stopwatch provider + scheduler service, where the caller falls back to not using stopwatches if this facility wasn't found. + + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using the Scheduler.SchedulePeriodic extension methods for IScheduler in case periodic scheduling is required and + emulation of periodic behavior using other scheduler services is desirable. Use of this method is recommended for best-effort + use of the periodic scheduling service, where the caller falls back to not using periodic scheduling if this facility wasn't + found. + + + + + + Normalizes the specified TimeSpan value to a positive value. + + The TimeSpan value to normalize. + The specified TimeSpan value if it is zero or positive; otherwise, TimeSpan.Zero. + + + + Schedules an action to be executed recursively. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified relative time. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified absolute time. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed after the specified relative due time. + + Scheduler to execute the action on. + Action to execute. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at the specified absolute due time. + + Scheduler to execute the action on. + Action to execute. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Gets the current time according to the local machine's system clock. + + + + + Gets a scheduler that schedules work immediately on the current thread. + + + + + Gets a scheduler that schedules work as soon as possible on the current thread. + + + + + Gets a scheduler that schedules work on the platform's default scheduler. + + + + + Gets a scheduler that schedules work on the thread pool. + + + + + Gets a scheduler that schedules work on a new thread using default thread creation options. + + + + + Abstract base class for machine-local schedulers, using the local system clock for time-based operations. + + + + + Maximum error ratio for timer drift. We've seen machines with 10s drift on a + daily basis, which is in the order 10E-4, so we allow for extra margin here. + This value is used to calculate early arrival for the long term queue timer + that will reevaluate work for the short term queue. + + Example: -------------------------------...---------------------*-----$ + ^ ^ + | | + early due + 0.999 1.0 + + We also make the gap between early and due at least LONGTOSHORT so we have + enough time to transition work to short term and as a courtesy to the + destination scheduler to manage its queues etc. + + + + + Gate to protect queues and to synchronize scheduling decisions and system clock + change management. + + + + + Long term work queue. Contains work that's due beyond SHORTTERM, computed at the + time of enqueueing. + + + + + Disposable resource for the long term timer that will reevaluate and dispatch the + first item in the long term queue. A serial disposable is used to make "dispose + current and assign new" logic easier. The disposable itself is never disposed. + + + + + Item at the head of the long term queue for which the current long term timer is + running. Used to detect changes in the queue and decide whether we should replace + or can continue using the current timer (because no earlier long term work was + added to the queue). + + + + + Short term work queue. Contains work that's due soon, computed at the time of + enqueueing or upon reevaluation of the long term queue causing migration of work + items. This queue is kept in order to be able to relocate short term items back + to the long term queue in case a system clock change occurs. + + + + + Set of disposable handles to all of the current short term work Schedule calls, + allowing those to be cancelled upon a system clock change. + + + + + Threshold where an item is considered to be short term work or gets moved from + long term to short term. + + + + + Minimum threshold for the long term timer to fire before the queue is reevaluated + for short term work. This value is chosen to be less than SHORTTERM in order to + ensure the timer fires and has work to transition to the short term queue. + + + + + Threshold used to determine when a short term timer has fired too early compared + to the absolute due time. This provides a last chance protection against early + completion of scheduled work, which can happen in case of time adjustment in the + operating system (cf. GetSystemTimeAdjustment). + + + + + Enqueues absolute time scheduled work in the timer queue or the short term work list. + + Scheduler to run the work on. Typically "this" from the caller's perspective (LocalScheduler.Schedule), but parameter kept because we have a single (static) timer queue across all of Rx local schedulers. + State to pass to the action. + Absolute time to run the work on. The timer queue is responsible to execute the work close to the specified time, also accounting for system clock changes. + Action to run, potentially recursing into the scheduler. + Disposable object to prevent the work from running. + + + + Schedule work that's due in the short term. This leads to relative scheduling calls to the + underlying scheduler for short TimeSpan values. If the system clock changes in the meantime, + the short term work is attempted to be cancelled and reevaluated. + + Work item to schedule in the short term. The caller is responsible to determine the work is indeed short term. + + + + Callback to process the next short term work item. + + Recursive scheduler supplied by the underlying scheduler. + Disposable used to identify the work the timer was triggered for (see code for usage). + Empty disposable. Recursive work cancellation is wired through the original WorkItem. + + + + Schedule work that's due on the long term. This leads to the work being queued up for + eventual transitioning to the short term work list. + + Work item to schedule on the long term. The caller is responsible to determine the work is indeed long term. + + + + Updates the long term timer which is responsible to transition work from the head of the + long term queue to the short term work list. + + Should be called under the scheduler lock. + + + + Evaluates the long term queue, transitioning short term work to the short term list, + and adjusting the new long term processing timer accordingly. + + Ignored. + + + + Callback invoked when a system clock change is observed in order to adjust and reevaluate + the internal scheduling queues. + + Currently not used. + Currently not used. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + Platform-specific scheduler implementations should reimplement IStopwatchProvider to provide a more + efficient IStopwatch implementation (if available). + + + + + Discovers scheduler services by interface type. The base class implementation returns + requested services for each scheduler interface implemented by the derived class. For + more control over service discovery, derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the scheduler's notion of current time. + + + + + Represents a work item in the absolute time scheduler. + + + This type is very similar to ScheduledItem, but we need a different Invoke signature to allow customization + of the target scheduler (e.g. when called in a recursive scheduling context, see ExecuteNextShortTermWorkItem). + + + + + Represents a work item that closes over scheduler invocation state. Subtyping is + used to have a common type for the scheduler queues. + + + + + Represents an object that schedules units of work on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the current thread scheduler. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Represents an object that schedules units of work to run immediately on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the immediate scheduler. + + + + + Abstract base class for scheduled work items. + + Absolute time representation type. + + + + Creates a new scheduled work item to run at the specified time. + + Absolute time at which the work item has to be executed. + Comparer used to compare work items based on their scheduled time. + is null. + + + + Invokes the work item. + + + + + Implement this method to perform the work item invocation, returning a disposable object for deep cancellation. + + Disposable object used to cancel the work item and/or derived work items. + + + + Compares the work item with another work item based on absolute time values. + + Work item to compare the current work item to. + Relative ordering between this and the specified work item. + The inequality operators are overloaded to provide results consistent with the IComparable implementation. Equality operators implement traditional reference equality semantics. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before or at the same of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after or at the same time of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are equal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are equal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are inequal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are inequal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether a ScheduledItem<TAbsolute> object is equal to the specified object. + + The object to compare to the current ScheduledItem<TAbsolute> object. + true if the obj parameter is a ScheduledItem<TAbsolute> object and is equal to the current ScheduledItem<TAbsolute> object; otherwise, false. + + + + Returns the hash code for the current ScheduledItem<TAbsolute> object. + + A 32-bit signed integer hash code. + + + + Cancels the work item by disposing the resource returned by InvokeCore as soon as possible. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Gets whether the work item has received a cancellation request. + + + + + Represents a scheduled work item based on the materialization of an IScheduler.Schedule method call. + + Absolute time representation type. + Type of the state passed to the scheduled action. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + Comparer used to compare work items based on their scheduled time. + or or is null. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + or is null. + + + + Invokes the scheduled action with the supplied recursive scheduler and state. + + Cancellation resource returned by the scheduled action. + + + + Efficient scheduler queue that maintains scheduled items sorted by absolute time. + + Absolute time representation type. + This type is not thread safe; users should ensure proper synchronization. + + + + Creates a new scheduler queue with a default initial capacity. + + + + + Creats a new scheduler queue with the specified initial capacity. + + Initial capacity of the scheduler queue. + is less than zero. + + + + Enqueues the specified work item to be scheduled. + + Work item to be scheduled. + + + + Removes the specified work item from the scheduler queue. + + Work item to be removed from the scheduler queue. + true if the item was found; false otherwise. + + + + Dequeues the next work item from the scheduler queue. + + Next work item in the scheduler queue (removed). + + + + Peeks the next work item in the scheduler queue. + + Next work item in the scheduler queue (not removed). + + + + Gets the number of scheduled items in the scheduler queue. + + + + + Provides basic synchronization and scheduling services for observable sequences. + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified scheduler. + In order to invoke observer callbacks on the specified scheduler, e.g. to offload callback processing to a dedicated thread, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified synchronization context. + In order to invoke observer callbacks on the specified synchronization context, e.g. to post callbacks to a UI thread represented by the synchronization context, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + + + Wraps the source sequence in order to ensure observer callbacks are properly serialized. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + + + Wraps the source sequence in order to ensure observer callbacks are synchronized using the specified gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Base class for implementation of query operators, providing performance benefits over the use of Observable.Create. + + Type of the resulting sequence's elements. + + + + Interface with variance annotation; allows for better type checking when detecting capabilities in SubscribeSafe. + + Type of the resulting sequence's elements. + + + + Publicly visible Subscribe method. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + IDisposable to cancel the subscription. This causes the underlying sink to be notified of unsubscription, causing it to prevent further messages from being sent to the observer. + + + + Core implementation of the query operator, called upon a new subscription to the producer object. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + The subscription disposable object returned from the Run call, passed in such that it can be forwarded to the sink, allowing it to dispose the subscription upon sending a final message (or prematurely for other reasons). + Callback to communicate the sink object to the subscriber, allowing consumers to tunnel a Dispose call into the sink, which can stop the processing. + Disposable representing all the resources and/or subscriptions the operator uses to process events. + The observer passed in to this method is not protected using auto-detach behavior upon an OnError or OnCompleted call. The implementation must ensure proper resource disposal and enforce the message grammar. + + + + Base class for implementation of query operators, providing a lightweight sink that can be disposed to mute the outgoing observer. + + Type of the resulting sequence's elements. + Implementations of sinks are responsible to enforce the message grammar on the associated observer. Upon sending a terminal message, a pairing Dispose call should be made to trigger cancellation of related resources and to mute the outgoing observer. + + + + Represents an object that schedules units of work on a provided . + + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + is null. + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + Configures whether scheduling always posts to the synchronization context, regardless whether the caller is on the same synchronization context. + is null. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an object that schedules units of work on the platform's default scheduler. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is less than TimeSpan.Zero. + is null. + + + + Discovers scheduler services by interface type. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the singleton instance of the default scheduler. + + + + + Represents an Action-based disposable. + + + + + Constructs a new disposable with the given action used for disposal. + + Disposal action which will be run upon calling Dispose. + + + + Calls the disposal action if and only if the current instance hasn't been disposed yet. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that can be checked for disposal status. + + + + + Initializes a new instance of the class. + + + + + Sets the status to disposed, which can be observer through the property. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a group of disposable resources that are disposed together. + + + + + Initializes a new instance of the class with no disposables contained by it initially. + + + + + Initializes a new instance of the class with the specified number of disposables. + + The number of disposables that the new CompositeDisposable can initially store. + is less than zero. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. + + Disposable to add. + is null. + + + + Removes and disposes the first occurrence of a disposable from the CompositeDisposable. + + Disposable to remove. + true if found; false otherwise. + is null. + + + + Disposes all disposables in the group and removes them from the group. + + + + + Removes and disposes all disposables from the CompositeDisposable, but does not dispose the CompositeDisposable. + + + + + Determines whether the CompositeDisposable contains a specific disposable. + + Disposable to search for. + true if the disposable was found; otherwise, false. + is null. + + + + Copies the disposables contained in the CompositeDisposable to an array, starting at a particular array index. + + Array to copy the contained disposables to. + Target index at which to copy the first disposable of the group. + is null. + is less than zero. -or - is larger than or equal to the array length. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Gets the number of disposables contained in the CompositeDisposable. + + + + + Always returns false. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be posted to the specified . + + + + + Initializes a new instance of the class that uses the specified on which to dispose the specified disposable resource. + + Context to perform disposal on. + Disposable whose Dispose operation to run on the given synchronization context. + or is null. + + + + Disposes the underlying disposable on the provided . + + + + + Gets the provided . + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable that does nothing on disposal. + + + + + Singleton default disposable. + + + + + Does nothing. + + + + + Provides a set of static methods for creating Disposables. + + + + + Creates a disposable object that invokes the specified action when disposed. + + Action to run during the first call to . The action is guaranteed to be run at most once. + The disposable object that runs the given action upon disposal. + is null. + + + + Gets the disposable that does nothing when disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be swapped for another disposable resource. + + + + + Initializes a new instance of the class with no current underlying disposable. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + If the MutableDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. + + + + Represents a disposable resource that only disposes its underlying disposable resource when all dependent disposable objects have been disposed. + + + + + Initializes a new instance of the class with the specified disposable. + + Underlying disposable. + is null. + + + + Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable. + + A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime. + + + + Disposes the underlying disposable only when all dependent disposables have been disposed. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be scheduled on the specified . + + + + + Initializes a new instance of the class that uses an on which to dispose the disposable. + + Scheduler where the disposable resource will be disposed on. + Disposable resource to dispose on the given scheduler. + or is null. + + + + Disposes the wrapped disposable on the provided scheduler. + + + + + Gets the scheduler where the disposable resource will be disposed on. + + + + + Gets the underlying disposable. After disposal, the result is undefined. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be replaced by another disposable resource, causing automatic disposal of the previous underlying disposable resource. + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. + + If the SerialDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. Assigning this property disposes the previous disposable object. + + + + Represents a disposable resource which only allows a single assignment of its underlying disposable resource. + If an underlying disposable resource has already been set, future attempts to set the underlying disposable resource will throw an . + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + Thrown if the SingleAssignmentDisposable has already been assigned to. + + + + (Infrastructure) Services to rethrow exceptions. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Rethrows the specified exception. + + Exception to rethrow. + + + + (Infrastructure) Provides access to the host's lifecycle management services. + + + + + Adds a reference to the host lifecycle manager, causing it to be sending notifications. + + + + + Removes a reference to the host lifecycle manager, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Event that gets raised when the host suspends the application. + + + + + Event that gets raised when the host resumes the application. + + + + + (Infrastructure) Provides notifications about the host's lifecycle events. + + + + + Event that gets raised when the host suspends. + + + + + Event that gets raised when the host resumes. + + + + + (Infrastructure) Event arguments for host suspension events. + + + + + (Infrastructure) Event arguments for host resumption events. + + + + + (Infrastructure) Interface for enlightenment providers. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Gets the current enlightenment provider. If none is loaded yet, accessing this property triggers provider resolution. + + + This member is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Provides access to local system clock services. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Adds a reference to the system clock monitor, causing it to be sending notifications. + + Thrown when the system doesn't support sending clock change notifications. + + + + Removes a reference to the system clock monitor, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Gets the local system clock time. + + + + + Event that gets raised when a system clock change is detected, if there's any interest as indicated by AddRef calls. + + + + + (Infrastructure) Provides access to the local system clock. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Gets the current time. + + + + + (Infrastructure) Provides a mechanism to notify local schedulers about system clock changes. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Event that gets raised when a system clock change is detected. + + + + + (Infrastructure) Event arguments for system clock change notifications. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Creates a new system clock notification object with unknown old and new times. + + + + + Creates a new system clock notification object with the specified old and new times. + + Time before the system clock changed, or DateTimeOffset.MinValue if not known. + Time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + Gets the time before the system clock changed, or DateTimeOffset.MinValue if not known. + + + + + Gets the time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + + (Infrastructure) Provides access to the local system clock. + + + + + Gets the current time. + + + + + (Infrastructure) Monitors for system clock changes based on a periodic timer. + + + + + Creates a new monitor for system clock changes with the specified polling frequency. + + Polling frequency for system clock changes. + + + + Event that gets raised when a system clock change is detected. + + + + + Indicates the type of a notification. + + + + + Represents an OnNext notification. + + + + + Represents an OnError notification. + + + + + Represents an OnCompleted notification. + + + + + Represents a notification to an observer. + + The type of the elements received by the observer. + + + + Default constructor used by derived types. + + + + + Determines whether the current Notification<T> object has the same observer message payload as a specified Notification<T> value. + + An object to compare to the current Notification<T> object. + true if both Notification<T> objects have the same observer message payload; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have the same observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has the same observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have a different observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has a different observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent a different observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the specified System.Object is equal to the current Notification<T>. + + The System.Object to compare with the current Notification<T>. + true if the specified System.Object is equal to the current Notification<T>; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + The type of the result returned from the observer's notification handlers. + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + The type of the result returned from the notification handler delegates. + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns an observable sequence with a single notification, using the immediate scheduler. + + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns an observable sequence with a single notification. + + Scheduler to send out the notification calls on. + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns the value of an OnNext notification or throws an exception. + + + + + Returns a value that indicates whether the notification has a value. + + + + + Returns the exception of an OnError notification or returns null. + + + + + Gets the kind of notification that is represented. + + + + + Represents an OnNext notification to an observer. + + + + + Constructs a notification of a new value. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns the value of an OnNext notification. + + + + + Returns null. + + + + + Returns true. + + + + + Returns NotificationKind.OnNext. + + + + + Represents an OnError notification to an observer. + + + + + Constructs a notification of an exception. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws the exception. + + + + + Returns the exception. + + + + + Returns false. + + + + + Returns NotificationKind.OnError. + + + + + Represents an OnCompleted notification to an observer. + + + + + Constructs a notification of the end of a sequence. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws an InvalidOperationException. + + + + + Returns null. + + + + + Returns false. + + + + + Returns NotificationKind.OnCompleted. + + + + + Provides a set of static methods for constructing notifications. + + + + + Creates an object that represents an OnNext notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The value contained in the notification. + The OnNext notification containing the value. + + + + Creates an object that represents an OnError notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The exception contained in the notification. + The OnError notification containing the exception. + is null. + + + + Creates an object that represents an OnCompleted notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The OnCompleted notification. + + + + Represents a type with a single value. This type is often used to denote the successful completion of a void-returning method (C#) or a Sub procedure (Visual Basic). + + + + + Determines whether the specified Unit values is equal to the current Unit. Because Unit has a single value, this always returns true. + + An object to compare to the current Unit value. + Because Unit has a single value, this always returns true. + + + + Determines whether the specified System.Object is equal to the current Unit. + + The System.Object to compare with the current Unit. + true if the specified System.Object is a Unit value; otherwise, false. + + + + Returns the hash code for the current Unit value. + + A hash code for the current Unit value. + + + + Returns a string representation of the current Unit value. + + String representation of the current Unit value. + + + + Determines whether the two specified Unit values are equal. Because Unit has a single value, this always returns true. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns true. + + + + Determines whether the two specified Unit values are not equal. Because Unit has a single value, this always returns false. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns false. + + + + Gets the single unit value. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Using the Scheduler.{0} property is no longer supported due to refactoring of the API surface and elimination of platform-specific dependencies. Please include System.Reactive.PlatformServices for your target platform and use the {0}Scheduler type instead.. + + + + + Looks up a localized string similar to OnCompleted notification doesn't have a value.. + + + + + Looks up a localized string similar to Disposable has already been assigned.. + + + + + Looks up a localized string similar to Failed to start monitoring system clock changes.. + + + + + Looks up a localized string similar to Heap is empty.. + + + + + Looks up a localized string similar to Reentrancy has been detected.. + + + + + Looks up a localized string similar to Observer has already terminated.. + + + + + Looks up a localized string similar to This scheduler operation has already been awaited.. + + + + diff --git a/packages/Rx-Core.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Core.dll b/packages/Rx-Core.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Core.dll new file mode 100644 index 00000000000..a77e6775dde Binary files /dev/null and b/packages/Rx-Core.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Core.dll differ diff --git a/packages/Rx-Core.2.1.30214.0/lib/SL4/_._ b/packages/Rx-Core.2.1.30214.0/lib/SL4/_._ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/Rx-Core.2.1.30214.0/lib/SL5/System.Reactive.Core.XML b/packages/Rx-Core.2.1.30214.0/lib/SL5/System.Reactive.Core.XML new file mode 100644 index 00000000000..8d92ad0d86b --- /dev/null +++ b/packages/Rx-Core.2.1.30214.0/lib/SL5/System.Reactive.Core.XML @@ -0,0 +1,2617 @@ + + + + System.Reactive.Core + + + + + The System.Reactive.PlatformServices namespace contains interfaces and classes used by the runtime infrastructure of Reactive Extensions. + Those are not intended to be used directly from user code and are subject to change in future releases of the product. + + + + + Provides a set of static methods for subscribing delegates to observables. + + + + + Subscribes to the observable sequence without specifying any handlers. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + IDisposable object used to unsubscribe from the observable sequence. + is null. + + + + Subscribes an element handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or or is null. + + + + Subscribes an observer to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer to subscribe to the sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or is null. + + + + Subscribes to the observable sequence without specifying any handlers, using a CancellationToken to support unsubscription. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + CancellationToken that can be signaled to unsubscribe from the source sequence. + is null. + + + + Subscribes an element handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or or is null. + + + + Subscribes to the specified source, re-routing synchronous exceptions during invocation of the Subscribe method to the observer's OnError channel. + This method is typically used when writing query operators. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer that will be passed to the observable sequence, and that will be used for exception propagation. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Provides a set of static methods for creating observers. + + + + + Creates an observer from a notification callback. + + The type of the elements received by the observer. + Action that handles a notification. + The observer object that invokes the specified handler using a notification corresponding to each message it receives. + is null. + + + + Creates a notification callback from an observer. + + The type of the elements received by the observer. + Observer object. + The action that forwards its input notification to the underlying observer. + is null. + + + + Creates an observer from the specified OnNext action. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + The observer object implemented using the given actions. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or or is null. + + + + Hides the identity of an observer. + + The type of the elements received by the source observer. + An observer whose identity to hide. + An observer that hides the identity of the specified observer. + is null. + + + + Checks access to the observer for grammar violations. This includes checking for multiple OnError or OnCompleted calls, as well as reentrancy in any of the observer methods. + If a violation is detected, an InvalidOperationException is thrown from the offending observer method call. + + The type of the elements received by the source observer. + The observer whose callback invocations should be checked for grammar violations. + An observer that checks callbacks invocations against the observer grammar and, if the checks pass, forwards those to the specified observer. + is null. + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently from multiple threads. This overload is useful when coordinating access to an observer. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload, passing true for the second parameter. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently. This overload is useful when coordinating access to an observer. + The parameter configures the type of lock used for synchronization. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + If set to true, reentrant observer callbacks will be queued up and get delivered to the observer in a sequential manner. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + When the parameter is set to false, behavior is identical to the overload which uses + a Monitor for synchronization. When the parameter is set to true, an + is used to queue up callbacks to the specified observer if a reentrant call is made. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently by multiple threads, using the specified gate object for use by a Monitor-based lock. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common gate object. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently, using the specified asynchronous lock to protect against concurrent and reentrant access. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common asynchronous lock. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + + + Schedules the invocation of observer methods on the given scheduler. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Scheduler to schedule observer messages on. + Observer whose messages are scheduled on the given scheduler. + or is null. + + + + Schedules the invocation of observer methods on the given synchonization context. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Synchonization context to schedule observer messages on. + Observer whose messages are scheduled on the given synchonization context. + or is null. + + + + Class to create an IObservable<T> instance from a delegate-based implementation of the Subscribe method. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObservable<T> interface. + + + If you don't need a named type to create an observable sequence (i.e. you rather need + an instance rather than a reusable type), use the Observable.Create method to create + an observable sequence with specified subscription behavior. + + The type of the elements in the sequence. + + + + Subscribes the given observer to the observable sequence. + + Observer that will receive notifications from the observable sequence. + Disposable object representing an observer's subscription to the observable sequence. + is null. + + + + Implement this method with the core subscription logic for the observable sequence. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Creates an observable sequence object from the specified subscription function. + + Subscribe method implementation. + is null. + + + + Calls the subscription function that was supplied to the constructor. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Class to create an IObserver<T> instance from delegate-based implementations of the On* methods. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObserver<T> interface. + + This base class enforces the grammar of observers where OnError and OnCompleted are terminal messages. + The type of the elements in the sequence. + + + + Creates a new observer in a non-stopped state. + + + + + Notifies the observer of a new element in the sequence. + + Next element in the sequence. + + + + Implement this method to react to the receival of a new element in the sequence. + + Next element in the sequence. + This method only gets called when the observer hasn't stopped yet. + + + + Notifies the observer that an exception has occurred. + + The error that has occurred. + is null. + + + + Implement this method to react to the occurrence of an exception. + + The error that has occurred. + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Notifies the observer of the end of the sequence. + + + + + Implement this method to react to the end of the sequence. + + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Disposes the observer, causing it to transition to the stopped state. + + + + + Core implementation of IDisposable. + + true if the Dispose call was triggered by the IDisposable.Dispose method; false if it was triggered by the finalizer. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + or or is null. + + + + Creates an observer from the specified OnNext action. + + Observer's OnNext action implementation. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + or is null. + + + + Calls the onNext action. + + Next element in the sequence. + + + + Calls the onError action. + + The error that has occurred. + + + + Calls the onCompleted action. + + + + + This class fuses logic from ObserverBase, AnonymousObserver, and SafeObserver into one class. When an observer + needs to be safeguarded, an instance of this type can be created by SafeObserver.Create when it detects its + input is an AnonymousObserver, which is commonly used by end users when using the Subscribe extension methods + that accept delegates for the On* handlers. By doing the fusion, we make the call stack depth shorter which + helps debugging and some performance. + + + + + Asynchronous lock. + + + + + Queues the action for execution. If the caller acquires the lock and becomes the owner, + the queue is processed. If the lock is already owned, the action is queued and will get + processed by the owner. + + Action to queue for execution. + is null. + + + + Clears the work items in the queue and drops further work being queued. + + + + + (Infrastructure) Concurrency abstraction layer. + + + + + Gets the current CAL. If no CAL has been set yet, it will be initialized to the default. + + + + + (Infrastructure) Concurrency abstraction layer interface. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Queues a method for execution at the specified relative time. + + Method to execute. + State to pass to the method. + Time to execute the method on. + Disposable object that can be used to stop the timer. + + + + Queues a method for periodic execution based on the specified period. + + Method to execute; should be safe for reentrancy. + Period for running the method periodically. + Disposable object that can be used to stop the timer. + + + + Queues a method for execution. + + Method to execute. + State to pass to the method. + Disposable object that can be used to cancel the queued method. + + + + Blocking sleep operation. + + Time to sleep. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Starts a new long-running thread. + + Method to execute. + State to pass to the method. + + + + Gets whether long-running scheduling is supported. + + + + + Provides a set of static properties to access commonly used schedulers. + + + + + Returns a scheduler that represents the original scheduler, without any of its interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable all optimizations for. + Proxy to the original scheduler but without any optimizations enabled. + is null. + + + + Returns a scheduler that represents the original scheduler, without the specified set of interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable the specified optimizations for. + Types of the optimization interfaces that have to be disabled. + Proxy to the original scheduler but without the specified optimizations enabled. + or is null. + + + + Returns a scheduler that wraps the original scheduler, adding exception handling for scheduled actions. + + Type of the exception to check for. + Scheduler to apply an exception filter for. + Handler that's run if an exception is caught. The exception will be rethrown if the handler returns false. + Wrapper around the original scheduler, enforcing exception handling. + or is null. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + The scheduler to run periodic work on. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + Scheduler to execute the action on. + State passed to the action to be executed. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + Scheduler to execute the action on. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Starts a new stopwatch object by dynamically discovering the scheduler's capabilities. + If the scheduler provides stopwatch functionality, the request will be forwarded to the stopwatch provider implementation. + Otherwise, the stopwatch will be emulated using the scheduler's notion of absolute time. + + Scheduler to obtain a stopwatch for. + New stopwatch object; started at the time of the request. + is null. + The resulting stopwatch object can have non-monotonic behavior. + + + + Returns the ISchedulerLongRunning implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the ISchedulerLongRunning implementation for. + The scheduler's ISchedulerLongRunning implementation if available; null otherwise. + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using in case a stopwatch is required, but use of emulation stopwatch based + on the scheduler's clock is acceptable. Use of this method is recommended for best-effort use of the stopwatch provider + scheduler service, where the caller falls back to not using stopwatches if this facility wasn't found. + + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using the Scheduler.SchedulePeriodic extension methods for IScheduler in case periodic scheduling is required and + emulation of periodic behavior using other scheduler services is desirable. Use of this method is recommended for best-effort + use of the periodic scheduling service, where the caller falls back to not using periodic scheduling if this facility wasn't + found. + + + + + + Normalizes the specified TimeSpan value to a positive value. + + The TimeSpan value to normalize. + The specified TimeSpan value if it is zero or positive; otherwise, TimeSpan.Zero. + + + + Schedules an action to be executed recursively. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified relative time. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified absolute time. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed after the specified relative due time. + + Scheduler to execute the action on. + Action to execute. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at the specified absolute due time. + + Scheduler to execute the action on. + Action to execute. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Gets the current time according to the local machine's system clock. + + + + + Gets a scheduler that schedules work immediately on the current thread. + + + + + Gets a scheduler that schedules work as soon as possible on the current thread. + + + + + Gets a scheduler that schedules work on the platform's default scheduler. + + + + + Gets a scheduler that schedules work on the thread pool. + + + + + Gets a scheduler that schedules work on a new thread using default thread creation options. + + + + + Gets a scheduler that schedules work on Task Parallel Library (TPL) task pool using the default TaskScheduler. + + + + + Abstract base class for machine-local schedulers, using the local system clock for time-based operations. + + + + + Maximum error ratio for timer drift. We've seen machines with 10s drift on a + daily basis, which is in the order 10E-4, so we allow for extra margin here. + This value is used to calculate early arrival for the long term queue timer + that will reevaluate work for the short term queue. + + Example: -------------------------------...---------------------*-----$ + ^ ^ + | | + early due + 0.999 1.0 + + We also make the gap between early and due at least LONGTOSHORT so we have + enough time to transition work to short term and as a courtesy to the + destination scheduler to manage its queues etc. + + + + + Gate to protect queues and to synchronize scheduling decisions and system clock + change management. + + + + + Long term work queue. Contains work that's due beyond SHORTTERM, computed at the + time of enqueueing. + + + + + Disposable resource for the long term timer that will reevaluate and dispatch the + first item in the long term queue. A serial disposable is used to make "dispose + current and assign new" logic easier. The disposable itself is never disposed. + + + + + Item at the head of the long term queue for which the current long term timer is + running. Used to detect changes in the queue and decide whether we should replace + or can continue using the current timer (because no earlier long term work was + added to the queue). + + + + + Short term work queue. Contains work that's due soon, computed at the time of + enqueueing or upon reevaluation of the long term queue causing migration of work + items. This queue is kept in order to be able to relocate short term items back + to the long term queue in case a system clock change occurs. + + + + + Set of disposable handles to all of the current short term work Schedule calls, + allowing those to be cancelled upon a system clock change. + + + + + Threshold where an item is considered to be short term work or gets moved from + long term to short term. + + + + + Minimum threshold for the long term timer to fire before the queue is reevaluated + for short term work. This value is chosen to be less than SHORTTERM in order to + ensure the timer fires and has work to transition to the short term queue. + + + + + Threshold used to determine when a short term timer has fired too early compared + to the absolute due time. This provides a last chance protection against early + completion of scheduled work, which can happen in case of time adjustment in the + operating system (cf. GetSystemTimeAdjustment). + + + + + Enqueues absolute time scheduled work in the timer queue or the short term work list. + + Scheduler to run the work on. Typically "this" from the caller's perspective (LocalScheduler.Schedule), but parameter kept because we have a single (static) timer queue across all of Rx local schedulers. + State to pass to the action. + Absolute time to run the work on. The timer queue is responsible to execute the work close to the specified time, also accounting for system clock changes. + Action to run, potentially recursing into the scheduler. + Disposable object to prevent the work from running. + + + + Schedule work that's due in the short term. This leads to relative scheduling calls to the + underlying scheduler for short TimeSpan values. If the system clock changes in the meantime, + the short term work is attempted to be cancelled and reevaluated. + + Work item to schedule in the short term. The caller is responsible to determine the work is indeed short term. + + + + Callback to process the next short term work item. + + Recursive scheduler supplied by the underlying scheduler. + Disposable used to identify the work the timer was triggered for (see code for usage). + Empty disposable. Recursive work cancellation is wired through the original WorkItem. + + + + Schedule work that's due on the long term. This leads to the work being queued up for + eventual transitioning to the short term work list. + + Work item to schedule on the long term. The caller is responsible to determine the work is indeed long term. + + + + Updates the long term timer which is responsible to transition work from the head of the + long term queue to the short term work list. + + Should be called under the scheduler lock. + + + + Evaluates the long term queue, transitioning short term work to the short term list, + and adjusting the new long term processing timer accordingly. + + Ignored. + + + + Callback invoked when a system clock change is observed in order to adjust and reevaluate + the internal scheduling queues. + + Currently not used. + Currently not used. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + Platform-specific scheduler implementations should reimplement IStopwatchProvider to provide a more + efficient IStopwatch implementation (if available). + + + + + Discovers scheduler services by interface type. The base class implementation returns + requested services for each scheduler interface implemented by the derived class. For + more control over service discovery, derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the scheduler's notion of current time. + + + + + Represents a work item in the absolute time scheduler. + + + This type is very similar to ScheduledItem, but we need a different Invoke signature to allow customization + of the target scheduler (e.g. when called in a recursive scheduling context, see ExecuteNextShortTermWorkItem). + + + + + Represents a work item that closes over scheduler invocation state. Subtyping is + used to have a common type for the scheduler queues. + + + + + Represents an object that schedules units of work on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the current thread scheduler. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Represents an object that schedules units of work to run immediately on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the immediate scheduler. + + + + + Abstract base class for scheduled work items. + + Absolute time representation type. + + + + Creates a new scheduled work item to run at the specified time. + + Absolute time at which the work item has to be executed. + Comparer used to compare work items based on their scheduled time. + is null. + + + + Invokes the work item. + + + + + Implement this method to perform the work item invocation, returning a disposable object for deep cancellation. + + Disposable object used to cancel the work item and/or derived work items. + + + + Compares the work item with another work item based on absolute time values. + + Work item to compare the current work item to. + Relative ordering between this and the specified work item. + The inequality operators are overloaded to provide results consistent with the IComparable implementation. Equality operators implement traditional reference equality semantics. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before or at the same of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after or at the same time of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are equal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are equal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are inequal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are inequal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether a ScheduledItem<TAbsolute> object is equal to the specified object. + + The object to compare to the current ScheduledItem<TAbsolute> object. + true if the obj parameter is a ScheduledItem<TAbsolute> object and is equal to the current ScheduledItem<TAbsolute> object; otherwise, false. + + + + Returns the hash code for the current ScheduledItem<TAbsolute> object. + + A 32-bit signed integer hash code. + + + + Cancels the work item by disposing the resource returned by InvokeCore as soon as possible. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Gets whether the work item has received a cancellation request. + + + + + Represents a scheduled work item based on the materialization of an IScheduler.Schedule method call. + + Absolute time representation type. + Type of the state passed to the scheduled action. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + Comparer used to compare work items based on their scheduled time. + or or is null. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + or is null. + + + + Invokes the scheduled action with the supplied recursive scheduler and state. + + Cancellation resource returned by the scheduled action. + + + + Efficient scheduler queue that maintains scheduled items sorted by absolute time. + + Absolute time representation type. + This type is not thread safe; users should ensure proper synchronization. + + + + Creates a new scheduler queue with a default initial capacity. + + + + + Creats a new scheduler queue with the specified initial capacity. + + Initial capacity of the scheduler queue. + is less than zero. + + + + Enqueues the specified work item to be scheduled. + + Work item to be scheduled. + + + + Removes the specified work item from the scheduler queue. + + Work item to be removed from the scheduler queue. + true if the item was found; false otherwise. + + + + Dequeues the next work item from the scheduler queue. + + Next work item in the scheduler queue (removed). + + + + Peeks the next work item in the scheduler queue. + + Next work item in the scheduler queue (not removed). + + + + Gets the number of scheduled items in the scheduler queue. + + + + + Provides basic synchronization and scheduling services for observable sequences. + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified scheduler. + In order to invoke observer callbacks on the specified scheduler, e.g. to offload callback processing to a dedicated thread, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified synchronization context. + In order to invoke observer callbacks on the specified synchronization context, e.g. to post callbacks to a UI thread represented by the synchronization context, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + + + Wraps the source sequence in order to ensure observer callbacks are properly serialized. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + + + Wraps the source sequence in order to ensure observer callbacks are synchronized using the specified gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Base class for implementation of query operators, providing performance benefits over the use of Observable.Create. + + Type of the resulting sequence's elements. + + + + Interface with variance annotation; allows for better type checking when detecting capabilities in SubscribeSafe. + + Type of the resulting sequence's elements. + + + + Publicly visible Subscribe method. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + IDisposable to cancel the subscription. This causes the underlying sink to be notified of unsubscription, causing it to prevent further messages from being sent to the observer. + + + + Core implementation of the query operator, called upon a new subscription to the producer object. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + The subscription disposable object returned from the Run call, passed in such that it can be forwarded to the sink, allowing it to dispose the subscription upon sending a final message (or prematurely for other reasons). + Callback to communicate the sink object to the subscriber, allowing consumers to tunnel a Dispose call into the sink, which can stop the processing. + Disposable representing all the resources and/or subscriptions the operator uses to process events. + The observer passed in to this method is not protected using auto-detach behavior upon an OnError or OnCompleted call. The implementation must ensure proper resource disposal and enforce the message grammar. + + + + Base class for implementation of query operators, providing a lightweight sink that can be disposed to mute the outgoing observer. + + Type of the resulting sequence's elements. + Implementations of sinks are responsible to enforce the message grammar on the associated observer. Upon sending a terminal message, a pairing Dispose call should be made to trigger cancellation of related resources and to mute the outgoing observer. + + + + Represents an object that schedules units of work on a provided . + + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + is null. + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + Configures whether scheduling always posts to the synchronization context, regardless whether the caller is on the same synchronization context. + is null. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an object that schedules units of work on the platform's default scheduler. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is less than TimeSpan.Zero. + is null. + + + + Discovers scheduler services by interface type. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the singleton instance of the default scheduler. + + + + + Represents an Action-based disposable. + + + + + Constructs a new disposable with the given action used for disposal. + + Disposal action which will be run upon calling Dispose. + + + + Calls the disposal action if and only if the current instance hasn't been disposed yet. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that can be checked for disposal status. + + + + + Initializes a new instance of the class. + + + + + Sets the status to disposed, which can be observer through the property. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that has an associated that will be set to the cancellation requested state upon disposal. + + + + + Initializes a new instance of the class that uses an existing . + + used for cancellation. + is null. + + + + Initializes a new instance of the class that uses a new . + + + + + Cancels the underlying . + + + + + Gets the used by this CancellationDisposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a group of disposable resources that are disposed together. + + + + + Initializes a new instance of the class with no disposables contained by it initially. + + + + + Initializes a new instance of the class with the specified number of disposables. + + The number of disposables that the new CompositeDisposable can initially store. + is less than zero. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. + + Disposable to add. + is null. + + + + Removes and disposes the first occurrence of a disposable from the CompositeDisposable. + + Disposable to remove. + true if found; false otherwise. + is null. + + + + Disposes all disposables in the group and removes them from the group. + + + + + Removes and disposes all disposables from the CompositeDisposable, but does not dispose the CompositeDisposable. + + + + + Determines whether the CompositeDisposable contains a specific disposable. + + Disposable to search for. + true if the disposable was found; otherwise, false. + is null. + + + + Copies the disposables contained in the CompositeDisposable to an array, starting at a particular array index. + + Array to copy the contained disposables to. + Target index at which to copy the first disposable of the group. + is null. + is less than zero. -or - is larger than or equal to the array length. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Gets the number of disposables contained in the CompositeDisposable. + + + + + Always returns false. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be posted to the specified . + + + + + Initializes a new instance of the class that uses the specified on which to dispose the specified disposable resource. + + Context to perform disposal on. + Disposable whose Dispose operation to run on the given synchronization context. + or is null. + + + + Disposes the underlying disposable on the provided . + + + + + Gets the provided . + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable that does nothing on disposal. + + + + + Singleton default disposable. + + + + + Does nothing. + + + + + Provides a set of static methods for creating Disposables. + + + + + Creates a disposable object that invokes the specified action when disposed. + + Action to run during the first call to . The action is guaranteed to be run at most once. + The disposable object that runs the given action upon disposal. + is null. + + + + Gets the disposable that does nothing when disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be swapped for another disposable resource. + + + + + Initializes a new instance of the class with no current underlying disposable. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + If the MutableDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. + + + + Represents a disposable resource that only disposes its underlying disposable resource when all dependent disposable objects have been disposed. + + + + + Initializes a new instance of the class with the specified disposable. + + Underlying disposable. + is null. + + + + Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable. + + A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime. + + + + Disposes the underlying disposable only when all dependent disposables have been disposed. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be scheduled on the specified . + + + + + Initializes a new instance of the class that uses an on which to dispose the disposable. + + Scheduler where the disposable resource will be disposed on. + Disposable resource to dispose on the given scheduler. + or is null. + + + + Disposes the wrapped disposable on the provided scheduler. + + + + + Gets the scheduler where the disposable resource will be disposed on. + + + + + Gets the underlying disposable. After disposal, the result is undefined. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be replaced by another disposable resource, causing automatic disposal of the previous underlying disposable resource. + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. + + If the SerialDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. Assigning this property disposes the previous disposable object. + + + + Represents a disposable resource which only allows a single assignment of its underlying disposable resource. + If an underlying disposable resource has already been set, future attempts to set the underlying disposable resource will throw an . + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + Thrown if the SingleAssignmentDisposable has already been assigned to. + + + + (Infrastructure) Services to rethrow exceptions. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Rethrows the specified exception. + + Exception to rethrow. + + + + (Infrastructure) Provides access to the host's lifecycle management services. + + + + + Adds a reference to the host lifecycle manager, causing it to be sending notifications. + + + + + Removes a reference to the host lifecycle manager, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Event that gets raised when the host suspends the application. + + + + + Event that gets raised when the host resumes the application. + + + + + (Infrastructure) Provides notifications about the host's lifecycle events. + + + + + Event that gets raised when the host suspends. + + + + + Event that gets raised when the host resumes. + + + + + (Infrastructure) Event arguments for host suspension events. + + + + + (Infrastructure) Event arguments for host resumption events. + + + + + (Infrastructure) Interface for enlightenment providers. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Gets the current enlightenment provider. If none is loaded yet, accessing this property triggers provider resolution. + + + This member is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Provides access to local system clock services. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Adds a reference to the system clock monitor, causing it to be sending notifications. + + Thrown when the system doesn't support sending clock change notifications. + + + + Removes a reference to the system clock monitor, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Gets the local system clock time. + + + + + Event that gets raised when a system clock change is detected, if there's any interest as indicated by AddRef calls. + + + + + (Infrastructure) Provides access to the local system clock. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Gets the current time. + + + + + (Infrastructure) Provides a mechanism to notify local schedulers about system clock changes. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Event that gets raised when a system clock change is detected. + + + + + (Infrastructure) Event arguments for system clock change notifications. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Creates a new system clock notification object with unknown old and new times. + + + + + Creates a new system clock notification object with the specified old and new times. + + Time before the system clock changed, or DateTimeOffset.MinValue if not known. + Time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + Gets the time before the system clock changed, or DateTimeOffset.MinValue if not known. + + + + + Gets the time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + + (Infrastructure) Provides access to the local system clock. + + + + + Gets the current time. + + + + + (Infrastructure) Monitors for system clock changes based on a periodic timer. + + + + + Creates a new monitor for system clock changes with the specified polling frequency. + + Polling frequency for system clock changes. + + + + Event that gets raised when a system clock change is detected. + + + + + Indicates the type of a notification. + + + + + Represents an OnNext notification. + + + + + Represents an OnError notification. + + + + + Represents an OnCompleted notification. + + + + + Represents a notification to an observer. + + The type of the elements received by the observer. + + + + Default constructor used by derived types. + + + + + Determines whether the current Notification<T> object has the same observer message payload as a specified Notification<T> value. + + An object to compare to the current Notification<T> object. + true if both Notification<T> objects have the same observer message payload; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have the same observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has the same observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have a different observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has a different observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent a different observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the specified System.Object is equal to the current Notification<T>. + + The System.Object to compare with the current Notification<T>. + true if the specified System.Object is equal to the current Notification<T>; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + The type of the result returned from the observer's notification handlers. + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + The type of the result returned from the notification handler delegates. + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns an observable sequence with a single notification, using the immediate scheduler. + + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns an observable sequence with a single notification. + + Scheduler to send out the notification calls on. + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns the value of an OnNext notification or throws an exception. + + + + + Returns a value that indicates whether the notification has a value. + + + + + Returns the exception of an OnError notification or returns null. + + + + + Gets the kind of notification that is represented. + + + + + Represents an OnNext notification to an observer. + + + + + Constructs a notification of a new value. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns the value of an OnNext notification. + + + + + Returns null. + + + + + Returns true. + + + + + Returns NotificationKind.OnNext. + + + + + Represents an OnError notification to an observer. + + + + + Constructs a notification of an exception. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws the exception. + + + + + Returns the exception. + + + + + Returns false. + + + + + Returns NotificationKind.OnError. + + + + + Represents an OnCompleted notification to an observer. + + + + + Constructs a notification of the end of a sequence. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws an InvalidOperationException. + + + + + Returns null. + + + + + Returns false. + + + + + Returns NotificationKind.OnCompleted. + + + + + Provides a set of static methods for constructing notifications. + + + + + Creates an object that represents an OnNext notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The value contained in the notification. + The OnNext notification containing the value. + + + + Creates an object that represents an OnError notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The exception contained in the notification. + The OnError notification containing the exception. + is null. + + + + Creates an object that represents an OnCompleted notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The OnCompleted notification. + + + + Represents a type with a single value. This type is often used to denote the successful completion of a void-returning method (C#) or a Sub procedure (Visual Basic). + + + + + Determines whether the specified Unit values is equal to the current Unit. Because Unit has a single value, this always returns true. + + An object to compare to the current Unit value. + Because Unit has a single value, this always returns true. + + + + Determines whether the specified System.Object is equal to the current Unit. + + The System.Object to compare with the current Unit. + true if the specified System.Object is a Unit value; otherwise, false. + + + + Returns the hash code for the current Unit value. + + A hash code for the current Unit value. + + + + Returns a string representation of the current Unit value. + + String representation of the current Unit value. + + + + Determines whether the two specified Unit values are equal. Because Unit has a single value, this always returns true. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns true. + + + + Determines whether the two specified Unit values are not equal. Because Unit has a single value, this always returns false. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns false. + + + + Gets the single unit value. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Using the Scheduler.{0} property is no longer supported due to refactoring of the API surface and elimination of platform-specific dependencies. Please include System.Reactive.PlatformServices for your target platform and use the {0}Scheduler type instead.. + + + + + Looks up a localized string similar to OnCompleted notification doesn't have a value.. + + + + + Looks up a localized string similar to Disposable has already been assigned.. + + + + + Looks up a localized string similar to Failed to start monitoring system clock changes.. + + + + + Looks up a localized string similar to Heap is empty.. + + + + + Looks up a localized string similar to Reentrancy has been detected.. + + + + + Looks up a localized string similar to Observer has already terminated.. + + + + + Looks up a localized string similar to This scheduler operation has already been awaited.. + + + + diff --git a/packages/Rx-Core.2.1.30214.0/lib/SL5/System.Reactive.Core.dll b/packages/Rx-Core.2.1.30214.0/lib/SL5/System.Reactive.Core.dll new file mode 100644 index 00000000000..79d533a37aa Binary files /dev/null and b/packages/Rx-Core.2.1.30214.0/lib/SL5/System.Reactive.Core.dll differ diff --git a/packages/Rx-Core.2.1.30214.0/lib/WP8/System.Reactive.Core.XML b/packages/Rx-Core.2.1.30214.0/lib/WP8/System.Reactive.Core.XML new file mode 100644 index 00000000000..4646712c634 --- /dev/null +++ b/packages/Rx-Core.2.1.30214.0/lib/WP8/System.Reactive.Core.XML @@ -0,0 +1,2873 @@ + + + + System.Reactive.Core + + + + + The System.Reactive.PlatformServices namespace contains interfaces and classes used by the runtime infrastructure of Reactive Extensions. + Those are not intended to be used directly from user code and are subject to change in future releases of the product. + + + + + Provides a set of static methods for subscribing delegates to observables. + + + + + Subscribes to the observable sequence without specifying any handlers. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + IDisposable object used to unsubscribe from the observable sequence. + is null. + + + + Subscribes an element handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + or or or is null. + + + + Subscribes an observer to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer to subscribe to the sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or is null. + + + + Subscribes to the observable sequence without specifying any handlers, using a CancellationToken to support unsubscription. + This method can be used to evaluate the observable sequence for its side-effects only. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + CancellationToken that can be signaled to unsubscribe from the source sequence. + is null. + + + + Subscribes an element handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or is null. + + + + Subscribes an element handler and an exception handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or is null. + + + + Subscribes an element handler and a completion handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or is null. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence, using a CancellationToken to support unsubscription. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + CancellationToken that can be signaled to unsubscribe from the source sequence. + or or or is null. + + + + Subscribes to the specified source, re-routing synchronous exceptions during invocation of the Subscribe method to the observer's OnError channel. + This method is typically used when writing query operators. + + The type of the elements in the source sequence. + Observable sequence to subscribe to. + Observer that will be passed to the observable sequence, and that will be used for exception propagation. + IDisposable object used to unsubscribe from the observable sequence. + or is null. + + + + Provides a set of static methods for creating observers. + + + + + Creates an observer from a notification callback. + + The type of the elements received by the observer. + Action that handles a notification. + The observer object that invokes the specified handler using a notification corresponding to each message it receives. + is null. + + + + Creates a notification callback from an observer. + + The type of the elements received by the observer. + Observer object. + The action that forwards its input notification to the underlying observer. + is null. + + + + Creates an observer from the specified OnNext action. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + The observer object implemented using the given actions. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or is null. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + The type of the elements received by the observer. + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + or or is null. + + + + Hides the identity of an observer. + + The type of the elements received by the source observer. + An observer whose identity to hide. + An observer that hides the identity of the specified observer. + is null. + + + + Checks access to the observer for grammar violations. This includes checking for multiple OnError or OnCompleted calls, as well as reentrancy in any of the observer methods. + If a violation is detected, an InvalidOperationException is thrown from the offending observer method call. + + The type of the elements received by the source observer. + The observer whose callback invocations should be checked for grammar violations. + An observer that checks callbacks invocations against the observer grammar and, if the checks pass, forwards those to the specified observer. + is null. + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently from multiple threads. This overload is useful when coordinating access to an observer. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload, passing true for the second parameter. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently. This overload is useful when coordinating access to an observer. + The parameter configures the type of lock used for synchronization. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + If set to true, reentrant observer callbacks will be queued up and get delivered to the observer in a sequential manner. + An observer that delivers callbacks to the specified observer in a synchronized manner. + is null. + + When the parameter is set to false, behavior is identical to the overload which uses + a Monitor for synchronization. When the parameter is set to true, an + is used to queue up callbacks to the specified observer if a reentrant call is made. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently by multiple threads, using the specified gate object for use by a Monitor-based lock. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common gate object. + Notice reentrant observer callbacks on the same thread are still possible. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + Because a Monitor is used to perform the synchronization, there's no protection against reentrancy from the same thread. + Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as + well, use the overload. + + + + + Synchronizes access to the observer such that its callback methods cannot be called concurrently, using the specified asynchronous lock to protect against concurrent and reentrant access. + This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common asynchronous lock. + + The type of the elements received by the source observer. + The observer whose callbacks should be synchronized. + Gate object to synchronize each observer call on. + An observer that delivers callbacks to the specified observer in a synchronized manner. + or is null. + + + + Schedules the invocation of observer methods on the given scheduler. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Scheduler to schedule observer messages on. + Observer whose messages are scheduled on the given scheduler. + or is null. + + + + Schedules the invocation of observer methods on the given synchonization context. + + The type of the elements received by the source observer. + The observer to schedule messages for. + Synchonization context to schedule observer messages on. + Observer whose messages are scheduled on the given synchonization context. + or is null. + + + + Converts an observer to a progress object. + + The type of the progress objects received by the source observer. + The observer to convert. + Progress object whose Report messages correspond to the observer's OnNext messages. + is null. + + + + Converts an observer to a progress object, using the specified scheduler to invoke the progress reporting method. + + The type of the progress objects received by the source observer. + The observer to convert. + Scheduler to report progress on. + Progress object whose Report messages correspond to the observer's OnNext messages. + or is null. + + + + Converts a progress object to an observer. + + The type of the progress objects received by the progress reporter. + The progress object to convert. + Observer whose OnNext messages correspond to the progress object's Report messages. + is null. + + + + Class to create an IObservable<T> instance from a delegate-based implementation of the Subscribe method. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObservable<T> interface. + + + If you don't need a named type to create an observable sequence (i.e. you rather need + an instance rather than a reusable type), use the Observable.Create method to create + an observable sequence with specified subscription behavior. + + The type of the elements in the sequence. + + + + Subscribes the given observer to the observable sequence. + + Observer that will receive notifications from the observable sequence. + Disposable object representing an observer's subscription to the observable sequence. + is null. + + + + Implement this method with the core subscription logic for the observable sequence. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Creates an observable sequence object from the specified subscription function. + + Subscribe method implementation. + is null. + + + + Calls the subscription function that was supplied to the constructor. + + Observer to send notifications to. + Disposable object representing an observer's subscription to the observable sequence. + + + + Class to create an IObserver<T> instance from delegate-based implementations of the On* methods. + + The type of the elements in the sequence. + + + + Abstract base class for implementations of the IObserver<T> interface. + + This base class enforces the grammar of observers where OnError and OnCompleted are terminal messages. + The type of the elements in the sequence. + + + + Creates a new observer in a non-stopped state. + + + + + Notifies the observer of a new element in the sequence. + + Next element in the sequence. + + + + Implement this method to react to the receival of a new element in the sequence. + + Next element in the sequence. + This method only gets called when the observer hasn't stopped yet. + + + + Notifies the observer that an exception has occurred. + + The error that has occurred. + is null. + + + + Implement this method to react to the occurrence of an exception. + + The error that has occurred. + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Notifies the observer of the end of the sequence. + + + + + Implement this method to react to the end of the sequence. + + This method only gets called when the observer hasn't stopped yet, and causes the observer to stop. + + + + Disposes the observer, causing it to transition to the stopped state. + + + + + Core implementation of IDisposable. + + true if the Dispose call was triggered by the IDisposable.Dispose method; false if it was triggered by the finalizer. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + or or is null. + + + + Creates an observer from the specified OnNext action. + + Observer's OnNext action implementation. + is null. + + + + Creates an observer from the specified OnNext and OnError actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + or is null. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + or is null. + + + + Calls the onNext action. + + Next element in the sequence. + + + + Calls the onError action. + + The error that has occurred. + + + + Calls the onCompleted action. + + + + + This class fuses logic from ObserverBase, AnonymousObserver, and SafeObserver into one class. When an observer + needs to be safeguarded, an instance of this type can be created by SafeObserver.Create when it detects its + input is an AnonymousObserver, which is commonly used by end users when using the Subscribe extension methods + that accept delegates for the On* handlers. By doing the fusion, we make the call stack depth shorter which + helps debugging and some performance. + + + + + Asynchronous lock. + + + + + Queues the action for execution. If the caller acquires the lock and becomes the owner, + the queue is processed. If the lock is already owned, the action is queued and will get + processed by the owner. + + Action to queue for execution. + is null. + + + + Clears the work items in the queue and drops further work being queued. + + + + + (Infrastructure) Concurrency abstraction layer. + + + + + Gets the current CAL. If no CAL has been set yet, it will be initialized to the default. + + + + + (Infrastructure) Concurrency abstraction layer interface. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Queues a method for execution at the specified relative time. + + Method to execute. + State to pass to the method. + Time to execute the method on. + Disposable object that can be used to stop the timer. + + + + Queues a method for periodic execution based on the specified period. + + Method to execute; should be safe for reentrancy. + Period for running the method periodically. + Disposable object that can be used to stop the timer. + + + + Queues a method for execution. + + Method to execute. + State to pass to the method. + Disposable object that can be used to cancel the queued method. + + + + Blocking sleep operation. + + Time to sleep. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Starts a new long-running thread. + + Method to execute. + State to pass to the method. + + + + Gets whether long-running scheduling is supported. + + + + + Provides a set of static properties to access commonly used schedulers. + + + + + Returns a scheduler that represents the original scheduler, without any of its interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable all optimizations for. + Proxy to the original scheduler but without any optimizations enabled. + is null. + + + + Returns a scheduler that represents the original scheduler, without the specified set of interface-based optimizations (e.g. long running scheduling). + + Scheduler to disable the specified optimizations for. + Types of the optimization interfaces that have to be disabled. + Proxy to the original scheduler but without the specified optimizations enabled. + or is null. + + + + Returns a scheduler that wraps the original scheduler, adding exception handling for scheduled actions. + + Type of the exception to check for. + Scheduler to apply an exception filter for. + Handler that's run if an exception is caught. The exception will be rethrown if the handler returns false. + Wrapper around the original scheduler, enforcing exception handling. + or is null. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + The scheduler to run periodic work on. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + The type of the state passed to the scheduled action. + Scheduler to execute the action on. + State passed to the action to be executed. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. + If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation. + If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage. + Otherwise, the periodic task will be emulated using recursive scheduling. + + Scheduler to execute the action on. + Period for running the work periodically. + Action to be executed. + The disposable object used to cancel the scheduled recurring action (best effort). + or is null. + is less than TimeSpan.Zero. + + + + Starts a new stopwatch object by dynamically discovering the scheduler's capabilities. + If the scheduler provides stopwatch functionality, the request will be forwarded to the stopwatch provider implementation. + Otherwise, the stopwatch will be emulated using the scheduler's notion of absolute time. + + Scheduler to obtain a stopwatch for. + New stopwatch object; started at the time of the request. + is null. + The resulting stopwatch object can have non-monotonic behavior. + + + + Returns the ISchedulerLongRunning implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the ISchedulerLongRunning implementation for. + The scheduler's ISchedulerLongRunning implementation if available; null otherwise. + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using in case a stopwatch is required, but use of emulation stopwatch based + on the scheduler's clock is acceptable. Use of this method is recommended for best-effort use of the stopwatch provider + scheduler service, where the caller falls back to not using stopwatches if this facility wasn't found. + + + + + + Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available. + + Scheduler to get the IStopwatchProvider implementation for. + The scheduler's IStopwatchProvider implementation if available; null otherwise. + + + This helper method is made available for query operator authors in order to discover scheduler services by using the required + IServiceProvider pattern, which allows for interception or redefinition of scheduler services. + + + Consider using the Scheduler.SchedulePeriodic extension methods for IScheduler in case periodic scheduling is required and + emulation of periodic behavior using other scheduler services is desirable. Use of this method is recommended for best-effort + use of the periodic scheduling service, where the caller falls back to not using periodic scheduling if this facility wasn't + found. + + + + + + Yields execution of the current work item on the scheduler to another work item on the scheduler. + The caller should await the result of calling Yield to schedule the remainder of the current work item (known as the continuation). + + Scheduler to yield work on. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Yields execution of the current work item on the scheduler to another work item on the scheduler. + The caller should await the result of calling Yield to schedule the remainder of the current work item (known as the continuation). + + Scheduler to yield work on. + Cancellation token to cancel the continuation to run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler for the specified duration. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) after the specified duration. + + Scheduler to yield work on. + Time when the continuation should run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler for the specified duration. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) after the specified duration. + + Scheduler to yield work on. + Time when the continuation should run. + Cancellation token to cancel the continuation to run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler until the specified due time. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) at the specified due time. + + Scheduler to yield work on. + Time when the continuation should run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Suspends execution of the current work item on the scheduler until the specified due time. + The caller should await the result of calling Sleep to schedule the remainder of the current work item (known as the continuation) at the specified due time. + + Scheduler to yield work on. + Time when the continuation should run. + Cancellation token to cancel the continuation to run. + Scheduler operation object to await in order to schedule the continuation. + is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Relative time after which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + The type of the state passed to the scheduled action. + Scheduler to schedule work on. + State to pass to the asynchronous method. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Schedules work using an asynchronous method, allowing for cooperative scheduling in an imperative coding style. + + Scheduler to schedule work on. + Absolute time at which to execute the action. + Asynchronous method to run the work, using Yield and Sleep operations for cooperative scheduling and injection of cancellation points. + Disposable object that allows to cancel outstanding work on cooperative cancellation points or through the cancellation token passed to the asynchronous method. + or is null. + + + + Normalizes the specified TimeSpan value to a positive value. + + The TimeSpan value to normalize. + The specified TimeSpan value if it is zero or positive; otherwise, TimeSpan.Zero. + + + + Schedules an action to be executed recursively. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified relative time. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively after a specified relative due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + Scheduler to execute the recursive action on. + Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified absolute time. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed recursively at a specified absolute due time. + + The type of the state passed to the scheduled action. + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed after the specified relative due time. + + Scheduler to execute the action on. + Action to execute. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at the specified absolute due time. + + Scheduler to execute the action on. + Action to execute. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Gets the current time according to the local machine's system clock. + + + + + Gets a scheduler that schedules work immediately on the current thread. + + + + + Gets a scheduler that schedules work as soon as possible on the current thread. + + + + + Gets a scheduler that schedules work on the platform's default scheduler. + + + + + Gets a scheduler that schedules work on the thread pool. + + + + + Gets a scheduler that schedules work on a new thread using default thread creation options. + + + + + Gets a scheduler that schedules work on Task Parallel Library (TPL) task pool using the default TaskScheduler. + + + + + Abstract base class for machine-local schedulers, using the local system clock for time-based operations. + + + + + Maximum error ratio for timer drift. We've seen machines with 10s drift on a + daily basis, which is in the order 10E-4, so we allow for extra margin here. + This value is used to calculate early arrival for the long term queue timer + that will reevaluate work for the short term queue. + + Example: -------------------------------...---------------------*-----$ + ^ ^ + | | + early due + 0.999 1.0 + + We also make the gap between early and due at least LONGTOSHORT so we have + enough time to transition work to short term and as a courtesy to the + destination scheduler to manage its queues etc. + + + + + Gate to protect queues and to synchronize scheduling decisions and system clock + change management. + + + + + Long term work queue. Contains work that's due beyond SHORTTERM, computed at the + time of enqueueing. + + + + + Disposable resource for the long term timer that will reevaluate and dispatch the + first item in the long term queue. A serial disposable is used to make "dispose + current and assign new" logic easier. The disposable itself is never disposed. + + + + + Item at the head of the long term queue for which the current long term timer is + running. Used to detect changes in the queue and decide whether we should replace + or can continue using the current timer (because no earlier long term work was + added to the queue). + + + + + Short term work queue. Contains work that's due soon, computed at the time of + enqueueing or upon reevaluation of the long term queue causing migration of work + items. This queue is kept in order to be able to relocate short term items back + to the long term queue in case a system clock change occurs. + + + + + Set of disposable handles to all of the current short term work Schedule calls, + allowing those to be cancelled upon a system clock change. + + + + + Threshold where an item is considered to be short term work or gets moved from + long term to short term. + + + + + Minimum threshold for the long term timer to fire before the queue is reevaluated + for short term work. This value is chosen to be less than SHORTTERM in order to + ensure the timer fires and has work to transition to the short term queue. + + + + + Threshold used to determine when a short term timer has fired too early compared + to the absolute due time. This provides a last chance protection against early + completion of scheduled work, which can happen in case of time adjustment in the + operating system (cf. GetSystemTimeAdjustment). + + + + + Enqueues absolute time scheduled work in the timer queue or the short term work list. + + Scheduler to run the work on. Typically "this" from the caller's perspective (LocalScheduler.Schedule), but parameter kept because we have a single (static) timer queue across all of Rx local schedulers. + State to pass to the action. + Absolute time to run the work on. The timer queue is responsible to execute the work close to the specified time, also accounting for system clock changes. + Action to run, potentially recursing into the scheduler. + Disposable object to prevent the work from running. + + + + Schedule work that's due in the short term. This leads to relative scheduling calls to the + underlying scheduler for short TimeSpan values. If the system clock changes in the meantime, + the short term work is attempted to be cancelled and reevaluated. + + Work item to schedule in the short term. The caller is responsible to determine the work is indeed short term. + + + + Callback to process the next short term work item. + + Recursive scheduler supplied by the underlying scheduler. + Disposable used to identify the work the timer was triggered for (see code for usage). + Empty disposable. Recursive work cancellation is wired through the original WorkItem. + + + + Schedule work that's due on the long term. This leads to the work being queued up for + eventual transitioning to the short term work list. + + Work item to schedule on the long term. The caller is responsible to determine the work is indeed long term. + + + + Updates the long term timer which is responsible to transition work from the head of the + long term queue to the short term work list. + + Should be called under the scheduler lock. + + + + Evaluates the long term queue, transitioning short term work to the short term list, + and adjusting the new long term processing timer accordingly. + + Ignored. + + + + Callback invoked when a system clock change is observed in order to adjust and reevaluate + the internal scheduling queues. + + Currently not used. + Currently not used. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + Platform-specific scheduler implementations should reimplement IStopwatchProvider to provide a more + efficient IStopwatch implementation (if available). + + + + + Discovers scheduler services by interface type. The base class implementation returns + requested services for each scheduler interface implemented by the derived class. For + more control over service discovery, derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the scheduler's notion of current time. + + + + + Represents a work item in the absolute time scheduler. + + + This type is very similar to ScheduledItem, but we need a different Invoke signature to allow customization + of the target scheduler (e.g. when called in a recursive scheduling context, see ExecuteNextShortTermWorkItem). + + + + + Represents a work item that closes over scheduler invocation state. Subtyping is + used to have a common type for the scheduler queues. + + + + + Represents an object that schedules units of work on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the current thread scheduler. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Gets a value that indicates whether the caller must call a Schedule method. + + + + + Represents an object that schedules units of work to run immediately on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets the singleton instance of the immediate scheduler. + + + + + Abstract base class for scheduled work items. + + Absolute time representation type. + + + + Creates a new scheduled work item to run at the specified time. + + Absolute time at which the work item has to be executed. + Comparer used to compare work items based on their scheduled time. + is null. + + + + Invokes the work item. + + + + + Implement this method to perform the work item invocation, returning a disposable object for deep cancellation. + + Disposable object used to cancel the work item and/or derived work items. + + + + Compares the work item with another work item based on absolute time values. + + Work item to compare the current work item to. + Relative ordering between this and the specified work item. + The inequality operators are overloaded to provide results consistent with the IComparable implementation. Equality operators implement traditional reference equality semantics. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due before or at the same of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is earlier than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether one specified ScheduledItem<TAbsolute> object is due after or at the same time of a second specified ScheduledItem<TAbsolute> object. + + The first object to compare. + The second object to compare. + true if the DueTime value of left is later than or simultaneous with the DueTime value of right; otherwise, false. + This operator provides results consistent with the IComparable implementation. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are equal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are equal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether two specified ScheduledItem<TAbsolute, TValue> objects are inequal. + + The first object to compare. + The second object to compare. + true if both ScheduledItem<TAbsolute, TValue> are inequal; otherwise, false. + This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality. + + + + Determines whether a ScheduledItem<TAbsolute> object is equal to the specified object. + + The object to compare to the current ScheduledItem<TAbsolute> object. + true if the obj parameter is a ScheduledItem<TAbsolute> object and is equal to the current ScheduledItem<TAbsolute> object; otherwise, false. + + + + Returns the hash code for the current ScheduledItem<TAbsolute> object. + + A 32-bit signed integer hash code. + + + + Cancels the work item by disposing the resource returned by InvokeCore as soon as possible. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Gets whether the work item has received a cancellation request. + + + + + Represents a scheduled work item based on the materialization of an IScheduler.Schedule method call. + + Absolute time representation type. + Type of the state passed to the scheduled action. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + Comparer used to compare work items based on their scheduled time. + or or is null. + + + + Creates a materialized work item. + + Recursive scheduler to invoke the scheduled action with. + State to pass to the scheduled action. + Scheduled action. + Time at which to run the scheduled action. + or is null. + + + + Invokes the scheduled action with the supplied recursive scheduler and state. + + Cancellation resource returned by the scheduled action. + + + + Represents an awaitable scheduler operation. Awaiting the object causes the continuation to be posted back to the originating scheduler's work queue. + + + + + Controls whether the continuation is run on the originating synchronization context (false by default). + + true to run the continuation on the captured synchronization context; false otherwise (default). + Scheduler operation object with configured await behavior. + + + + Gets an awaiter for the scheduler operation, used to post back the continuation. + + Awaiter for the scheduler operation. + + + + (Infrastructure) Scheduler operation awaiter type used by the code generated for C# await and Visual Basic Await expressions. + + + + + Completes the scheduler operation, throwing an OperationCanceledException in case cancellation was requested. + + + + + Registers the continuation with the scheduler operation. + + Continuation to be run on the originating scheduler. + + + + Indicates whether the scheduler operation has completed. Returns false unless cancellation was already requested. + + + + + Efficient scheduler queue that maintains scheduled items sorted by absolute time. + + Absolute time representation type. + This type is not thread safe; users should ensure proper synchronization. + + + + Creates a new scheduler queue with a default initial capacity. + + + + + Creats a new scheduler queue with the specified initial capacity. + + Initial capacity of the scheduler queue. + is less than zero. + + + + Enqueues the specified work item to be scheduled. + + Work item to be scheduled. + + + + Removes the specified work item from the scheduler queue. + + Work item to be removed from the scheduler queue. + true if the item was found; false otherwise. + + + + Dequeues the next work item from the scheduler queue. + + Next work item in the scheduler queue (removed). + + + + Peeks the next work item in the scheduler queue. + + Next work item in the scheduler queue (not removed). + + + + Gets the number of scheduled items in the scheduler queue. + + + + + Provides basic synchronization and scheduling services for observable sequences. + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified scheduler. + In order to invoke observer callbacks on the specified scheduler, e.g. to offload callback processing to a dedicated thread, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified synchronization context. + In order to invoke observer callbacks on the specified synchronization context, e.g. to post callbacks to a UI thread represented by the synchronization context, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + + + Wraps the source sequence in order to ensure observer callbacks are properly serialized. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + + + Wraps the source sequence in order to ensure observer callbacks are synchronized using the specified gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Base class for implementation of query operators, providing performance benefits over the use of Observable.Create. + + Type of the resulting sequence's elements. + + + + Interface with variance annotation; allows for better type checking when detecting capabilities in SubscribeSafe. + + Type of the resulting sequence's elements. + + + + Publicly visible Subscribe method. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + IDisposable to cancel the subscription. This causes the underlying sink to be notified of unsubscription, causing it to prevent further messages from being sent to the observer. + + + + Core implementation of the query operator, called upon a new subscription to the producer object. + + Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer. + The subscription disposable object returned from the Run call, passed in such that it can be forwarded to the sink, allowing it to dispose the subscription upon sending a final message (or prematurely for other reasons). + Callback to communicate the sink object to the subscriber, allowing consumers to tunnel a Dispose call into the sink, which can stop the processing. + Disposable representing all the resources and/or subscriptions the operator uses to process events. + The observer passed in to this method is not protected using auto-detach behavior upon an OnError or OnCompleted call. The implementation must ensure proper resource disposal and enforce the message grammar. + + + + Base class for implementation of query operators, providing a lightweight sink that can be disposed to mute the outgoing observer. + + Type of the resulting sequence's elements. + Implementations of sinks are responsible to enforce the message grammar on the associated observer. Upon sending a terminal message, a pairing Dispose call should be made to trigger cancellation of related resources and to mute the outgoing observer. + + + + Represents an object that schedules units of work on a provided . + + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + is null. + + + + Creates an object that schedules units of work on the provided . + + Synchronization context to schedule units of work on. + Configures whether scheduling always posts to the synchronization context, regardless whether the caller is on the same synchronization context. + is null. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an object that schedules units of work on the platform's default scheduler. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is less than TimeSpan.Zero. + is null. + + + + Discovers scheduler services by interface type. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Gets the singleton instance of the default scheduler. + + + + + Represents an Action-based disposable. + + + + + Constructs a new disposable with the given action used for disposal. + + Disposal action which will be run upon calling Dispose. + + + + Calls the disposal action if and only if the current instance hasn't been disposed yet. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that can be checked for disposal status. + + + + + Initializes a new instance of the class. + + + + + Sets the status to disposed, which can be observer through the property. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource that has an associated that will be set to the cancellation requested state upon disposal. + + + + + Initializes a new instance of the class that uses an existing . + + used for cancellation. + is null. + + + + Initializes a new instance of the class that uses a new . + + + + + Cancels the underlying . + + + + + Gets the used by this CancellationDisposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a group of disposable resources that are disposed together. + + + + + Initializes a new instance of the class with no disposables contained by it initially. + + + + + Initializes a new instance of the class with the specified number of disposables. + + The number of disposables that the new CompositeDisposable can initially store. + is less than zero. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + is null. + + + + Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. + + Disposable to add. + is null. + + + + Removes and disposes the first occurrence of a disposable from the CompositeDisposable. + + Disposable to remove. + true if found; false otherwise. + is null. + + + + Disposes all disposables in the group and removes them from the group. + + + + + Removes and disposes all disposables from the CompositeDisposable, but does not dispose the CompositeDisposable. + + + + + Determines whether the CompositeDisposable contains a specific disposable. + + Disposable to search for. + true if the disposable was found; otherwise, false. + is null. + + + + Copies the disposables contained in the CompositeDisposable to an array, starting at a particular array index. + + Array to copy the contained disposables to. + Target index at which to copy the first disposable of the group. + is null. + is less than zero. -or - is larger than or equal to the array length. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Gets the number of disposables contained in the CompositeDisposable. + + + + + Always returns false. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be posted to the specified . + + + + + Initializes a new instance of the class that uses the specified on which to dispose the specified disposable resource. + + Context to perform disposal on. + Disposable whose Dispose operation to run on the given synchronization context. + or is null. + + + + Disposes the underlying disposable on the provided . + + + + + Gets the provided . + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable that does nothing on disposal. + + + + + Singleton default disposable. + + + + + Does nothing. + + + + + Provides a set of static methods for creating Disposables. + + + + + Creates a disposable object that invokes the specified action when disposed. + + Action to run during the first call to . The action is guaranteed to be run at most once. + The disposable object that runs the given action upon disposal. + is null. + + + + Gets the disposable that does nothing when disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be swapped for another disposable resource. + + + + + Initializes a new instance of the class with no current underlying disposable. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + If the MutableDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. + + + + Represents a disposable resource that only disposes its underlying disposable resource when all dependent disposable objects have been disposed. + + + + + Initializes a new instance of the class with the specified disposable. + + Underlying disposable. + is null. + + + + Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable. + + A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime. + + + + Disposes the underlying disposable only when all dependent disposables have been disposed. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose disposal invocation will be scheduled on the specified . + + + + + Initializes a new instance of the class that uses an on which to dispose the disposable. + + Scheduler where the disposable resource will be disposed on. + Disposable resource to dispose on the given scheduler. + or is null. + + + + Disposes the wrapped disposable on the provided scheduler. + + + + + Gets the scheduler where the disposable resource will be disposed on. + + + + + Gets the underlying disposable. After disposal, the result is undefined. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable resource whose underlying disposable resource can be replaced by another disposable resource, causing automatic disposal of the previous underlying disposable resource. + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. + + If the SerialDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. Assigning this property disposes the previous disposable object. + + + + Represents a disposable resource which only allows a single assignment of its underlying disposable resource. + If an underlying disposable resource has already been set, future attempts to set the underlying disposable resource will throw an . + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined. + + Thrown if the SingleAssignmentDisposable has already been assigned to. + + + + (Infrastructure) Services to rethrow exceptions. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Rethrows the specified exception. + + Exception to rethrow. + + + + (Infrastructure) Provides access to the host's lifecycle management services. + + + + + Adds a reference to the host lifecycle manager, causing it to be sending notifications. + + + + + Removes a reference to the host lifecycle manager, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Event that gets raised when the host suspends the application. + + + + + Event that gets raised when the host resumes the application. + + + + + (Infrastructure) Provides notifications about the host's lifecycle events. + + + + + Event that gets raised when the host suspends. + + + + + Event that gets raised when the host resumes. + + + + + (Infrastructure) Event arguments for host suspension events. + + + + + (Infrastructure) Event arguments for host resumption events. + + + + + (Infrastructure) Interface for enlightenment providers. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Gets the current enlightenment provider. If none is loaded yet, accessing this property triggers provider resolution. + + + This member is used by the Rx infrastructure and not meant for public consumption or implementation. + + + + + (Infrastructure) Provides access to local system clock services. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Adds a reference to the system clock monitor, causing it to be sending notifications. + + Thrown when the system doesn't support sending clock change notifications. + + + + Removes a reference to the system clock monitor, causing it to stop sending notifications + if the removed reference was the last one. + + + + + Gets the local system clock time. + + + + + Event that gets raised when a system clock change is detected, if there's any interest as indicated by AddRef calls. + + + + + (Infrastructure) Provides access to the local system clock. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Gets the current time. + + + + + (Infrastructure) Provides a mechanism to notify local schedulers about system clock changes. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Event that gets raised when a system clock change is detected. + + + + + (Infrastructure) Event arguments for system clock change notifications. + + + This type is used by the Rx infrastructure and not meant for public consumption or implementation. + No guarantees are made about forward compatibility of the type's functionality and its usage. + + + + + Creates a new system clock notification object with unknown old and new times. + + + + + Creates a new system clock notification object with the specified old and new times. + + Time before the system clock changed, or DateTimeOffset.MinValue if not known. + Time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + Gets the time before the system clock changed, or DateTimeOffset.MinValue if not known. + + + + + Gets the time after the system clock changed, or DateTimeOffset.MaxValue if not known. + + + + + (Infrastructure) Provides access to the local system clock. + + + + + Gets the current time. + + + + + (Infrastructure) Monitors for system clock changes based on a periodic timer. + + + + + Creates a new monitor for system clock changes with the specified polling frequency. + + Polling frequency for system clock changes. + + + + Event that gets raised when a system clock change is detected. + + + + + Indicates the type of a notification. + + + + + Represents an OnNext notification. + + + + + Represents an OnError notification. + + + + + Represents an OnCompleted notification. + + + + + Represents a notification to an observer. + + The type of the elements received by the observer. + + + + Default constructor used by derived types. + + + + + Determines whether the current Notification<T> object has the same observer message payload as a specified Notification<T> value. + + An object to compare to the current Notification<T> object. + true if both Notification<T> objects have the same observer message payload; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have the same observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has the same observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the two specified Notification<T> objects have a different observer message payload. + + The first Notification<T> to compare, or null. + The second Notification<T> to compare, or null. + true if the first Notification<T> value has a different observer message payload as the second Notification<T> value; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent a different observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Determines whether the specified System.Object is equal to the current Notification<T>. + + The System.Object to compare with the current Notification<T>. + true if the specified System.Object is equal to the current Notification<T>; otherwise, false. + + Equality of Notification<T> objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any). + This means two Notification<T> objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method. + In case one wants to determine whether two Notification<T> objects represent the same observer method call, use Object.ReferenceEquals identity equality instead. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + The type of the result returned from the observer's notification handlers. + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + The type of the result returned from the notification handler delegates. + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns an observable sequence with a single notification, using the immediate scheduler. + + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns an observable sequence with a single notification. + + Scheduler to send out the notification calls on. + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns the value of an OnNext notification or throws an exception. + + + + + Returns a value that indicates whether the notification has a value. + + + + + Returns the exception of an OnError notification or returns null. + + + + + Gets the kind of notification that is represented. + + + + + Represents an OnNext notification to an observer. + + + + + Constructs a notification of a new value. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns the value of an OnNext notification. + + + + + Returns null. + + + + + Returns true. + + + + + Returns NotificationKind.OnNext. + + + + + Represents an OnError notification to an observer. + + + + + Constructs a notification of an exception. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws the exception. + + + + + Returns the exception. + + + + + Returns false. + + + + + Returns NotificationKind.OnError. + + + + + Represents an OnCompleted notification to an observer. + + + + + Constructs a notification of the end of a sequence. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the observer's method corresponding to the notification and returns the produced result. + + Observer to invoke the notification on. + Result produced by the observation. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws an InvalidOperationException. + + + + + Returns null. + + + + + Returns false. + + + + + Returns NotificationKind.OnCompleted. + + + + + Provides a set of static methods for constructing notifications. + + + + + Creates an object that represents an OnNext notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The value contained in the notification. + The OnNext notification containing the value. + + + + Creates an object that represents an OnError notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The exception contained in the notification. + The OnError notification containing the exception. + is null. + + + + Creates an object that represents an OnCompleted notification to an observer. + + The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence. + The OnCompleted notification. + + + + Represents a type with a single value. This type is often used to denote the successful completion of a void-returning method (C#) or a Sub procedure (Visual Basic). + + + + + Determines whether the specified Unit values is equal to the current Unit. Because Unit has a single value, this always returns true. + + An object to compare to the current Unit value. + Because Unit has a single value, this always returns true. + + + + Determines whether the specified System.Object is equal to the current Unit. + + The System.Object to compare with the current Unit. + true if the specified System.Object is a Unit value; otherwise, false. + + + + Returns the hash code for the current Unit value. + + A hash code for the current Unit value. + + + + Returns a string representation of the current Unit value. + + String representation of the current Unit value. + + + + Determines whether the two specified Unit values are equal. Because Unit has a single value, this always returns true. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns true. + + + + Determines whether the two specified Unit values are not equal. Because Unit has a single value, this always returns false. + + The first Unit value to compare. + The second Unit value to compare. + Because Unit has a single value, this always returns false. + + + + Gets the single unit value. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Using the Scheduler.{0} property is no longer supported due to refactoring of the API surface and elimination of platform-specific dependencies. Please include System.Reactive.PlatformServices for your target platform and use the {0}Scheduler type instead.. + + + + + Looks up a localized string similar to OnCompleted notification doesn't have a value.. + + + + + Looks up a localized string similar to Disposable has already been assigned.. + + + + + Looks up a localized string similar to Failed to start monitoring system clock changes.. + + + + + Looks up a localized string similar to Heap is empty.. + + + + + Looks up a localized string similar to Reentrancy has been detected.. + + + + + Looks up a localized string similar to Observer has already terminated.. + + + + + Looks up a localized string similar to This scheduler operation has already been awaited.. + + + + diff --git a/packages/Rx-Core.2.1.30214.0/lib/WP8/System.Reactive.Core.dll b/packages/Rx-Core.2.1.30214.0/lib/WP8/System.Reactive.Core.dll new file mode 100644 index 00000000000..e338eafbd51 Binary files /dev/null and b/packages/Rx-Core.2.1.30214.0/lib/WP8/System.Reactive.Core.dll differ diff --git a/packages/Rx-Interfaces.2.1.30214.0/Rx-Interfaces.2.1.30214.0.nupkg b/packages/Rx-Interfaces.2.1.30214.0/Rx-Interfaces.2.1.30214.0.nupkg new file mode 100644 index 00000000000..680563f61ef Binary files /dev/null and b/packages/Rx-Interfaces.2.1.30214.0/Rx-Interfaces.2.1.30214.0.nupkg differ diff --git a/packages/Rx-Interfaces.2.1.30214.0/Rx-Interfaces.2.1.30214.0.nuspec b/packages/Rx-Interfaces.2.1.30214.0/Rx-Interfaces.2.1.30214.0.nuspec new file mode 100644 index 00000000000..5aded770408 --- /dev/null +++ b/packages/Rx-Interfaces.2.1.30214.0/Rx-Interfaces.2.1.30214.0.nuspec @@ -0,0 +1,21 @@ + + + + Rx-Interfaces + 2.1.30214.0 + Reactive Extensions - Interfaces Library + Microsoft Corporation + Microsoft Corporation + http://go.microsoft.com/fwlink/?LinkID=261272 + http://go.microsoft.com/fwlink/?LinkID=261273 + http://go.microsoft.com/fwlink/?LinkId=261274 + true + Reactive Extensions Interfaces Library containing essential interfaces. + Microsoft Corporation © 2012 + en-us + Rx Reactive Extensions Observable LINQ Events + + + + + \ No newline at end of file diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/Net40/System.Reactive.Interfaces.XML b/packages/Rx-Interfaces.2.1.30214.0/lib/Net40/System.Reactive.Interfaces.XML new file mode 100644 index 00000000000..30ff445df02 --- /dev/null +++ b/packages/Rx-Interfaces.2.1.30214.0/lib/Net40/System.Reactive.Interfaces.XML @@ -0,0 +1,336 @@ + + + + System.Reactive.Interfaces + + + + + The System.Reactive namespace contains interfaces and classes used throughout the Reactive Extensions library. + + + + + The System.Reactive.Concurrency namespace contains interfaces and classes that provide the scheduler infrastructure used by Reactive Extensions to construct and + process event streams. Schedulers are used to parameterize the concurrency introduced by query operators, provide means to virtualize time, to process historical data, + and to write unit tests for functionality built using Reactive Extensions constructs. + + + + + The System.Reactive.Disposables namespace contains interfaces and classes that provide a compositional set of constructs used to deal with resource and subscription + management in Reactive Extensions. Those types are used extensively within the implementation of Reactive Extensions and are useful when writing custom query operators or + schedulers. + + + + + The System.Reactive.Linq namespace contains interfaces and classes that support expressing queries over observable sequences, using Language Integrated Query (LINQ). + Query operators are made available as extension methods for IObservable<T> and IQbservable<T> defined on the Observable and Qbservable classes, respectively. + + + + + The System.Reactive.Subjects namespace contains interfaces and classes to represent subjects, which are objects implementing both IObservable<T> and IObserver<T>. + Subjects are often used as sources of events, allowing one party to raise events and allowing another party to write queries over the event stream. Because of their ability to + have multiple registered observers, subjects are also used as a facility to provide multicast behavior for event streams in queries. + + + + + Scheduler with support for running periodic tasks. + This type of scheduler can be used to run timers more efficiently instead of using recursive scheduling. + + + + + Schedules a periodic piece of work. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + + + + Provider for IStopwatch objects. + + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Represents a work item that has been scheduled. + + Absolute time representation type. + + + + Invokes the work item. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Represents an object that schedules units of work. + + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Scheduler with support for starting long-running tasks. + This type of scheduler can be used to run loops more efficiently instead of using recursive scheduling. + + + + + Schedules a long-running piece of work. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + Notes to implementers + The returned disposable object should not prevent the work from starting, but only set the cancellation flag passed to the specified action. + + + + + Abstraction for a stopwatch to compute time relative to a starting point. + + + + + Gets the time elapsed since the stopwatch object was obtained. + + + + + Disposable resource with dipsosal state tracking. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + + The type of the sender that raised the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Represents a data stream signaling its elements by means of an event. + + The type of the event data generated by the event. + + + + Event signaling the next element in the data stream. + + + + + Represents a data stream signaling its elements by means of an event. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Event signaling the next element in the data stream. + + + + + Provides a mechanism for receiving push-based notifications and returning a response. + + + The type of the elements received by the observer. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the result returned from the observer's notification handlers. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Notifies the observer of a new element in the sequence. + + The new element in the sequence. + Result returned upon observation of a new element. + + + + Notifies the observer that an exception has occurred. + + The exception that occurred. + Result returned upon observation of an error. + + + + Notifies the observer of the end of the sequence. + + Result returned upon observation of the sequence completion. + + + + Represents an observable sequence of elements that have a common key. + + + The type of the key shared by all elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the common key. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is known. + + + The type of the data in the data source. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified. + + + + + Gets the type of the element(s) that are returned when the expression tree associated with this instance of IQbservable is executed. + + + + + Gets the expression tree that is associated with the instance of IQbservable. + + + + + Gets the query provider that is associated with this data source. + + + + + Defines methods to create and execute queries that are described by an IQbservable object. + + + + + Constructs an IQbservable>TResult< object that can evaluate the query represented by a specified expression tree. + + The type of the elements of the System.Reactive.Linq.IQbservable<T> that is returned. + Expression tree representing the query. + IQbservable object that can evaluate the given query expression. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + + The type of the elements in the sequence. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Represents an object that is both an observable sequence as well as an observer. + + The type of the elements processed by the subject. + + + + Represents an object that is both an observable sequence as well as an observer. + + + The type of the elements received by the subject. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements produced by the subject. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/Net40/System.Reactive.Interfaces.dll b/packages/Rx-Interfaces.2.1.30214.0/lib/Net40/System.Reactive.Interfaces.dll new file mode 100644 index 00000000000..48c7ff079e5 Binary files /dev/null and b/packages/Rx-Interfaces.2.1.30214.0/lib/Net40/System.Reactive.Interfaces.dll differ diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/Net45/System.Reactive.Interfaces.XML b/packages/Rx-Interfaces.2.1.30214.0/lib/Net45/System.Reactive.Interfaces.XML new file mode 100644 index 00000000000..30ff445df02 --- /dev/null +++ b/packages/Rx-Interfaces.2.1.30214.0/lib/Net45/System.Reactive.Interfaces.XML @@ -0,0 +1,336 @@ + + + + System.Reactive.Interfaces + + + + + The System.Reactive namespace contains interfaces and classes used throughout the Reactive Extensions library. + + + + + The System.Reactive.Concurrency namespace contains interfaces and classes that provide the scheduler infrastructure used by Reactive Extensions to construct and + process event streams. Schedulers are used to parameterize the concurrency introduced by query operators, provide means to virtualize time, to process historical data, + and to write unit tests for functionality built using Reactive Extensions constructs. + + + + + The System.Reactive.Disposables namespace contains interfaces and classes that provide a compositional set of constructs used to deal with resource and subscription + management in Reactive Extensions. Those types are used extensively within the implementation of Reactive Extensions and are useful when writing custom query operators or + schedulers. + + + + + The System.Reactive.Linq namespace contains interfaces and classes that support expressing queries over observable sequences, using Language Integrated Query (LINQ). + Query operators are made available as extension methods for IObservable<T> and IQbservable<T> defined on the Observable and Qbservable classes, respectively. + + + + + The System.Reactive.Subjects namespace contains interfaces and classes to represent subjects, which are objects implementing both IObservable<T> and IObserver<T>. + Subjects are often used as sources of events, allowing one party to raise events and allowing another party to write queries over the event stream. Because of their ability to + have multiple registered observers, subjects are also used as a facility to provide multicast behavior for event streams in queries. + + + + + Scheduler with support for running periodic tasks. + This type of scheduler can be used to run timers more efficiently instead of using recursive scheduling. + + + + + Schedules a periodic piece of work. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + + + + Provider for IStopwatch objects. + + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Represents a work item that has been scheduled. + + Absolute time representation type. + + + + Invokes the work item. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Represents an object that schedules units of work. + + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Scheduler with support for starting long-running tasks. + This type of scheduler can be used to run loops more efficiently instead of using recursive scheduling. + + + + + Schedules a long-running piece of work. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + Notes to implementers + The returned disposable object should not prevent the work from starting, but only set the cancellation flag passed to the specified action. + + + + + Abstraction for a stopwatch to compute time relative to a starting point. + + + + + Gets the time elapsed since the stopwatch object was obtained. + + + + + Disposable resource with dipsosal state tracking. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + + The type of the sender that raised the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Represents a data stream signaling its elements by means of an event. + + The type of the event data generated by the event. + + + + Event signaling the next element in the data stream. + + + + + Represents a data stream signaling its elements by means of an event. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Event signaling the next element in the data stream. + + + + + Provides a mechanism for receiving push-based notifications and returning a response. + + + The type of the elements received by the observer. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the result returned from the observer's notification handlers. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Notifies the observer of a new element in the sequence. + + The new element in the sequence. + Result returned upon observation of a new element. + + + + Notifies the observer that an exception has occurred. + + The exception that occurred. + Result returned upon observation of an error. + + + + Notifies the observer of the end of the sequence. + + Result returned upon observation of the sequence completion. + + + + Represents an observable sequence of elements that have a common key. + + + The type of the key shared by all elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the common key. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is known. + + + The type of the data in the data source. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified. + + + + + Gets the type of the element(s) that are returned when the expression tree associated with this instance of IQbservable is executed. + + + + + Gets the expression tree that is associated with the instance of IQbservable. + + + + + Gets the query provider that is associated with this data source. + + + + + Defines methods to create and execute queries that are described by an IQbservable object. + + + + + Constructs an IQbservable>TResult< object that can evaluate the query represented by a specified expression tree. + + The type of the elements of the System.Reactive.Linq.IQbservable<T> that is returned. + Expression tree representing the query. + IQbservable object that can evaluate the given query expression. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + + The type of the elements in the sequence. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Represents an object that is both an observable sequence as well as an observer. + + The type of the elements processed by the subject. + + + + Represents an object that is both an observable sequence as well as an observer. + + + The type of the elements received by the subject. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements produced by the subject. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/Net45/System.Reactive.Interfaces.dll b/packages/Rx-Interfaces.2.1.30214.0/lib/Net45/System.Reactive.Interfaces.dll new file mode 100644 index 00000000000..808334b428e Binary files /dev/null and b/packages/Rx-Interfaces.2.1.30214.0/lib/Net45/System.Reactive.Interfaces.dll differ diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/NetCore45/System.Reactive.Interfaces.XML b/packages/Rx-Interfaces.2.1.30214.0/lib/NetCore45/System.Reactive.Interfaces.XML new file mode 100644 index 00000000000..30ff445df02 --- /dev/null +++ b/packages/Rx-Interfaces.2.1.30214.0/lib/NetCore45/System.Reactive.Interfaces.XML @@ -0,0 +1,336 @@ + + + + System.Reactive.Interfaces + + + + + The System.Reactive namespace contains interfaces and classes used throughout the Reactive Extensions library. + + + + + The System.Reactive.Concurrency namespace contains interfaces and classes that provide the scheduler infrastructure used by Reactive Extensions to construct and + process event streams. Schedulers are used to parameterize the concurrency introduced by query operators, provide means to virtualize time, to process historical data, + and to write unit tests for functionality built using Reactive Extensions constructs. + + + + + The System.Reactive.Disposables namespace contains interfaces and classes that provide a compositional set of constructs used to deal with resource and subscription + management in Reactive Extensions. Those types are used extensively within the implementation of Reactive Extensions and are useful when writing custom query operators or + schedulers. + + + + + The System.Reactive.Linq namespace contains interfaces and classes that support expressing queries over observable sequences, using Language Integrated Query (LINQ). + Query operators are made available as extension methods for IObservable<T> and IQbservable<T> defined on the Observable and Qbservable classes, respectively. + + + + + The System.Reactive.Subjects namespace contains interfaces and classes to represent subjects, which are objects implementing both IObservable<T> and IObserver<T>. + Subjects are often used as sources of events, allowing one party to raise events and allowing another party to write queries over the event stream. Because of their ability to + have multiple registered observers, subjects are also used as a facility to provide multicast behavior for event streams in queries. + + + + + Scheduler with support for running periodic tasks. + This type of scheduler can be used to run timers more efficiently instead of using recursive scheduling. + + + + + Schedules a periodic piece of work. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + + + + Provider for IStopwatch objects. + + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Represents a work item that has been scheduled. + + Absolute time representation type. + + + + Invokes the work item. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Represents an object that schedules units of work. + + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Scheduler with support for starting long-running tasks. + This type of scheduler can be used to run loops more efficiently instead of using recursive scheduling. + + + + + Schedules a long-running piece of work. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + Notes to implementers + The returned disposable object should not prevent the work from starting, but only set the cancellation flag passed to the specified action. + + + + + Abstraction for a stopwatch to compute time relative to a starting point. + + + + + Gets the time elapsed since the stopwatch object was obtained. + + + + + Disposable resource with dipsosal state tracking. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + + The type of the sender that raised the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Represents a data stream signaling its elements by means of an event. + + The type of the event data generated by the event. + + + + Event signaling the next element in the data stream. + + + + + Represents a data stream signaling its elements by means of an event. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Event signaling the next element in the data stream. + + + + + Provides a mechanism for receiving push-based notifications and returning a response. + + + The type of the elements received by the observer. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the result returned from the observer's notification handlers. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Notifies the observer of a new element in the sequence. + + The new element in the sequence. + Result returned upon observation of a new element. + + + + Notifies the observer that an exception has occurred. + + The exception that occurred. + Result returned upon observation of an error. + + + + Notifies the observer of the end of the sequence. + + Result returned upon observation of the sequence completion. + + + + Represents an observable sequence of elements that have a common key. + + + The type of the key shared by all elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the common key. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is known. + + + The type of the data in the data source. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified. + + + + + Gets the type of the element(s) that are returned when the expression tree associated with this instance of IQbservable is executed. + + + + + Gets the expression tree that is associated with the instance of IQbservable. + + + + + Gets the query provider that is associated with this data source. + + + + + Defines methods to create and execute queries that are described by an IQbservable object. + + + + + Constructs an IQbservable>TResult< object that can evaluate the query represented by a specified expression tree. + + The type of the elements of the System.Reactive.Linq.IQbservable<T> that is returned. + Expression tree representing the query. + IQbservable object that can evaluate the given query expression. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + + The type of the elements in the sequence. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Represents an object that is both an observable sequence as well as an observer. + + The type of the elements processed by the subject. + + + + Represents an object that is both an observable sequence as well as an observer. + + + The type of the elements received by the subject. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements produced by the subject. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/NetCore45/System.Reactive.Interfaces.dll b/packages/Rx-Interfaces.2.1.30214.0/lib/NetCore45/System.Reactive.Interfaces.dll new file mode 100644 index 00000000000..808334b428e Binary files /dev/null and b/packages/Rx-Interfaces.2.1.30214.0/lib/NetCore45/System.Reactive.Interfaces.dll differ diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Interfaces.XML b/packages/Rx-Interfaces.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Interfaces.XML new file mode 100644 index 00000000000..30ff445df02 --- /dev/null +++ b/packages/Rx-Interfaces.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Interfaces.XML @@ -0,0 +1,336 @@ + + + + System.Reactive.Interfaces + + + + + The System.Reactive namespace contains interfaces and classes used throughout the Reactive Extensions library. + + + + + The System.Reactive.Concurrency namespace contains interfaces and classes that provide the scheduler infrastructure used by Reactive Extensions to construct and + process event streams. Schedulers are used to parameterize the concurrency introduced by query operators, provide means to virtualize time, to process historical data, + and to write unit tests for functionality built using Reactive Extensions constructs. + + + + + The System.Reactive.Disposables namespace contains interfaces and classes that provide a compositional set of constructs used to deal with resource and subscription + management in Reactive Extensions. Those types are used extensively within the implementation of Reactive Extensions and are useful when writing custom query operators or + schedulers. + + + + + The System.Reactive.Linq namespace contains interfaces and classes that support expressing queries over observable sequences, using Language Integrated Query (LINQ). + Query operators are made available as extension methods for IObservable<T> and IQbservable<T> defined on the Observable and Qbservable classes, respectively. + + + + + The System.Reactive.Subjects namespace contains interfaces and classes to represent subjects, which are objects implementing both IObservable<T> and IObserver<T>. + Subjects are often used as sources of events, allowing one party to raise events and allowing another party to write queries over the event stream. Because of their ability to + have multiple registered observers, subjects are also used as a facility to provide multicast behavior for event streams in queries. + + + + + Scheduler with support for running periodic tasks. + This type of scheduler can be used to run timers more efficiently instead of using recursive scheduling. + + + + + Schedules a periodic piece of work. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + + + + Provider for IStopwatch objects. + + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Represents a work item that has been scheduled. + + Absolute time representation type. + + + + Invokes the work item. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Represents an object that schedules units of work. + + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Scheduler with support for starting long-running tasks. + This type of scheduler can be used to run loops more efficiently instead of using recursive scheduling. + + + + + Schedules a long-running piece of work. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + Notes to implementers + The returned disposable object should not prevent the work from starting, but only set the cancellation flag passed to the specified action. + + + + + Abstraction for a stopwatch to compute time relative to a starting point. + + + + + Gets the time elapsed since the stopwatch object was obtained. + + + + + Disposable resource with dipsosal state tracking. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + + The type of the sender that raised the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Represents a data stream signaling its elements by means of an event. + + The type of the event data generated by the event. + + + + Event signaling the next element in the data stream. + + + + + Represents a data stream signaling its elements by means of an event. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Event signaling the next element in the data stream. + + + + + Provides a mechanism for receiving push-based notifications and returning a response. + + + The type of the elements received by the observer. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the result returned from the observer's notification handlers. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Notifies the observer of a new element in the sequence. + + The new element in the sequence. + Result returned upon observation of a new element. + + + + Notifies the observer that an exception has occurred. + + The exception that occurred. + Result returned upon observation of an error. + + + + Notifies the observer of the end of the sequence. + + Result returned upon observation of the sequence completion. + + + + Represents an observable sequence of elements that have a common key. + + + The type of the key shared by all elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the common key. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is known. + + + The type of the data in the data source. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified. + + + + + Gets the type of the element(s) that are returned when the expression tree associated with this instance of IQbservable is executed. + + + + + Gets the expression tree that is associated with the instance of IQbservable. + + + + + Gets the query provider that is associated with this data source. + + + + + Defines methods to create and execute queries that are described by an IQbservable object. + + + + + Constructs an IQbservable>TResult< object that can evaluate the query represented by a specified expression tree. + + The type of the elements of the System.Reactive.Linq.IQbservable<T> that is returned. + Expression tree representing the query. + IQbservable object that can evaluate the given query expression. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + + The type of the elements in the sequence. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Represents an object that is both an observable sequence as well as an observer. + + The type of the elements processed by the subject. + + + + Represents an object that is both an observable sequence as well as an observer. + + + The type of the elements received by the subject. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements produced by the subject. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Interfaces.dll b/packages/Rx-Interfaces.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Interfaces.dll new file mode 100644 index 00000000000..808334b428e Binary files /dev/null and b/packages/Rx-Interfaces.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Interfaces.dll differ diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Interfaces.XML b/packages/Rx-Interfaces.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Interfaces.XML new file mode 100644 index 00000000000..30ff445df02 --- /dev/null +++ b/packages/Rx-Interfaces.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Interfaces.XML @@ -0,0 +1,336 @@ + + + + System.Reactive.Interfaces + + + + + The System.Reactive namespace contains interfaces and classes used throughout the Reactive Extensions library. + + + + + The System.Reactive.Concurrency namespace contains interfaces and classes that provide the scheduler infrastructure used by Reactive Extensions to construct and + process event streams. Schedulers are used to parameterize the concurrency introduced by query operators, provide means to virtualize time, to process historical data, + and to write unit tests for functionality built using Reactive Extensions constructs. + + + + + The System.Reactive.Disposables namespace contains interfaces and classes that provide a compositional set of constructs used to deal with resource and subscription + management in Reactive Extensions. Those types are used extensively within the implementation of Reactive Extensions and are useful when writing custom query operators or + schedulers. + + + + + The System.Reactive.Linq namespace contains interfaces and classes that support expressing queries over observable sequences, using Language Integrated Query (LINQ). + Query operators are made available as extension methods for IObservable<T> and IQbservable<T> defined on the Observable and Qbservable classes, respectively. + + + + + The System.Reactive.Subjects namespace contains interfaces and classes to represent subjects, which are objects implementing both IObservable<T> and IObserver<T>. + Subjects are often used as sources of events, allowing one party to raise events and allowing another party to write queries over the event stream. Because of their ability to + have multiple registered observers, subjects are also used as a facility to provide multicast behavior for event streams in queries. + + + + + Scheduler with support for running periodic tasks. + This type of scheduler can be used to run timers more efficiently instead of using recursive scheduling. + + + + + Schedules a periodic piece of work. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + + + + Provider for IStopwatch objects. + + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Represents a work item that has been scheduled. + + Absolute time representation type. + + + + Invokes the work item. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Represents an object that schedules units of work. + + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Scheduler with support for starting long-running tasks. + This type of scheduler can be used to run loops more efficiently instead of using recursive scheduling. + + + + + Schedules a long-running piece of work. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + Notes to implementers + The returned disposable object should not prevent the work from starting, but only set the cancellation flag passed to the specified action. + + + + + Abstraction for a stopwatch to compute time relative to a starting point. + + + + + Gets the time elapsed since the stopwatch object was obtained. + + + + + Disposable resource with dipsosal state tracking. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + + The type of the sender that raised the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Represents a data stream signaling its elements by means of an event. + + The type of the event data generated by the event. + + + + Event signaling the next element in the data stream. + + + + + Represents a data stream signaling its elements by means of an event. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Event signaling the next element in the data stream. + + + + + Provides a mechanism for receiving push-based notifications and returning a response. + + + The type of the elements received by the observer. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the result returned from the observer's notification handlers. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Notifies the observer of a new element in the sequence. + + The new element in the sequence. + Result returned upon observation of a new element. + + + + Notifies the observer that an exception has occurred. + + The exception that occurred. + Result returned upon observation of an error. + + + + Notifies the observer of the end of the sequence. + + Result returned upon observation of the sequence completion. + + + + Represents an observable sequence of elements that have a common key. + + + The type of the key shared by all elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the common key. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is known. + + + The type of the data in the data source. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified. + + + + + Gets the type of the element(s) that are returned when the expression tree associated with this instance of IQbservable is executed. + + + + + Gets the expression tree that is associated with the instance of IQbservable. + + + + + Gets the query provider that is associated with this data source. + + + + + Defines methods to create and execute queries that are described by an IQbservable object. + + + + + Constructs an IQbservable>TResult< object that can evaluate the query represented by a specified expression tree. + + The type of the elements of the System.Reactive.Linq.IQbservable<T> that is returned. + Expression tree representing the query. + IQbservable object that can evaluate the given query expression. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + + The type of the elements in the sequence. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Represents an object that is both an observable sequence as well as an observer. + + The type of the elements processed by the subject. + + + + Represents an object that is both an observable sequence as well as an observer. + + + The type of the elements received by the subject. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements produced by the subject. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Interfaces.dll b/packages/Rx-Interfaces.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Interfaces.dll new file mode 100644 index 00000000000..906f729cf8a Binary files /dev/null and b/packages/Rx-Interfaces.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Interfaces.dll differ diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/SL4/_._ b/packages/Rx-Interfaces.2.1.30214.0/lib/SL4/_._ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/SL5/System.Reactive.Interfaces.XML b/packages/Rx-Interfaces.2.1.30214.0/lib/SL5/System.Reactive.Interfaces.XML new file mode 100644 index 00000000000..44e662dc267 --- /dev/null +++ b/packages/Rx-Interfaces.2.1.30214.0/lib/SL5/System.Reactive.Interfaces.XML @@ -0,0 +1,368 @@ + + + + System.Reactive.Interfaces + + + + + Represents a push-style collection. + + + + + Subscribes an observer to the observable sequence. + + + + + Supports push-style iteration over an observable sequence. + + + + + Notifies the observer of a new element in the sequence. + + Next element in the sequence. + + + + Notifies the observer that an exception has occurred. + + The error that has occurred. + + + + Notifies the observer of the end of the sequence. + + + + + The System.Reactive namespace contains interfaces and classes used throughout the Reactive Extensions library. + + + + + The System.Reactive.Concurrency namespace contains interfaces and classes that provide the scheduler infrastructure used by Reactive Extensions to construct and + process event streams. Schedulers are used to parameterize the concurrency introduced by query operators, provide means to virtualize time, to process historical data, + and to write unit tests for functionality built using Reactive Extensions constructs. + + + + + The System.Reactive.Disposables namespace contains interfaces and classes that provide a compositional set of constructs used to deal with resource and subscription + management in Reactive Extensions. Those types are used extensively within the implementation of Reactive Extensions and are useful when writing custom query operators or + schedulers. + + + + + The System.Reactive.Linq namespace contains interfaces and classes that support expressing queries over observable sequences, using Language Integrated Query (LINQ). + Query operators are made available as extension methods for IObservable<T> and IQbservable<T> defined on the Observable and Qbservable classes, respectively. + + + + + The System.Reactive.Subjects namespace contains interfaces and classes to represent subjects, which are objects implementing both IObservable<T> and IObserver<T>. + Subjects are often used as sources of events, allowing one party to raise events and allowing another party to write queries over the event stream. Because of their ability to + have multiple registered observers, subjects are also used as a facility to provide multicast behavior for event streams in queries. + + + + + Scheduler with support for running periodic tasks. + This type of scheduler can be used to run timers more efficiently instead of using recursive scheduling. + + + + + Schedules a periodic piece of work. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + + + + Provider for IStopwatch objects. + + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Represents a work item that has been scheduled. + + Absolute time representation type. + + + + Invokes the work item. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Represents an object that schedules units of work. + + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Scheduler with support for starting long-running tasks. + This type of scheduler can be used to run loops more efficiently instead of using recursive scheduling. + + + + + Schedules a long-running piece of work. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + Notes to implementers + The returned disposable object should not prevent the work from starting, but only set the cancellation flag passed to the specified action. + + + + + Abstraction for a stopwatch to compute time relative to a starting point. + + + + + Gets the time elapsed since the stopwatch object was obtained. + + + + + Disposable resource with dipsosal state tracking. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + + The type of the sender that raised the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Represents a data stream signaling its elements by means of an event. + + The type of the event data generated by the event. + + + + Event signaling the next element in the data stream. + + + + + Represents a data stream signaling its elements by means of an event. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Event signaling the next element in the data stream. + + + + + Provides a mechanism for receiving push-based notifications and returning a response. + + + The type of the elements received by the observer. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the result returned from the observer's notification handlers. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Notifies the observer of a new element in the sequence. + + The new element in the sequence. + Result returned upon observation of a new element. + + + + Notifies the observer that an exception has occurred. + + The exception that occurred. + Result returned upon observation of an error. + + + + Notifies the observer of the end of the sequence. + + Result returned upon observation of the sequence completion. + + + + Represents an observable sequence of elements that have a common key. + + + The type of the key shared by all elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the common key. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is known. + + + The type of the data in the data source. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified. + + + + + Gets the type of the element(s) that are returned when the expression tree associated with this instance of IQbservable is executed. + + + + + Gets the expression tree that is associated with the instance of IQbservable. + + + + + Gets the query provider that is associated with this data source. + + + + + Defines methods to create and execute queries that are described by an IQbservable object. + + + + + Constructs an IQbservable>TResult< object that can evaluate the query represented by a specified expression tree. + + The type of the elements of the System.Reactive.Linq.IQbservable<T> that is returned. + Expression tree representing the query. + IQbservable object that can evaluate the given query expression. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + + The type of the elements in the sequence. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Represents an object that is both an observable sequence as well as an observer. + + The type of the elements processed by the subject. + + + + Represents an object that is both an observable sequence as well as an observer. + + + The type of the elements received by the subject. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements produced by the subject. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/SL5/System.Reactive.Interfaces.dll b/packages/Rx-Interfaces.2.1.30214.0/lib/SL5/System.Reactive.Interfaces.dll new file mode 100644 index 00000000000..80df8992c77 Binary files /dev/null and b/packages/Rx-Interfaces.2.1.30214.0/lib/SL5/System.Reactive.Interfaces.dll differ diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/WP8/System.Reactive.Interfaces.XML b/packages/Rx-Interfaces.2.1.30214.0/lib/WP8/System.Reactive.Interfaces.XML new file mode 100644 index 00000000000..30ff445df02 --- /dev/null +++ b/packages/Rx-Interfaces.2.1.30214.0/lib/WP8/System.Reactive.Interfaces.XML @@ -0,0 +1,336 @@ + + + + System.Reactive.Interfaces + + + + + The System.Reactive namespace contains interfaces and classes used throughout the Reactive Extensions library. + + + + + The System.Reactive.Concurrency namespace contains interfaces and classes that provide the scheduler infrastructure used by Reactive Extensions to construct and + process event streams. Schedulers are used to parameterize the concurrency introduced by query operators, provide means to virtualize time, to process historical data, + and to write unit tests for functionality built using Reactive Extensions constructs. + + + + + The System.Reactive.Disposables namespace contains interfaces and classes that provide a compositional set of constructs used to deal with resource and subscription + management in Reactive Extensions. Those types are used extensively within the implementation of Reactive Extensions and are useful when writing custom query operators or + schedulers. + + + + + The System.Reactive.Linq namespace contains interfaces and classes that support expressing queries over observable sequences, using Language Integrated Query (LINQ). + Query operators are made available as extension methods for IObservable<T> and IQbservable<T> defined on the Observable and Qbservable classes, respectively. + + + + + The System.Reactive.Subjects namespace contains interfaces and classes to represent subjects, which are objects implementing both IObservable<T> and IObserver<T>. + Subjects are often used as sources of events, allowing one party to raise events and allowing another party to write queries over the event stream. Because of their ability to + have multiple registered observers, subjects are also used as a facility to provide multicast behavior for event streams in queries. + + + + + Scheduler with support for running periodic tasks. + This type of scheduler can be used to run timers more efficiently instead of using recursive scheduling. + + + + + Schedules a periodic piece of work. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + + + + Provider for IStopwatch objects. + + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Represents a work item that has been scheduled. + + Absolute time representation type. + + + + Invokes the work item. + + + + + Gets the absolute time at which the item is due for invocation. + + + + + Represents an object that schedules units of work. + + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Scheduler with support for starting long-running tasks. + This type of scheduler can be used to run loops more efficiently instead of using recursive scheduling. + + + + + Schedules a long-running piece of work. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + Notes to implementers + The returned disposable object should not prevent the work from starting, but only set the cancellation flag passed to the specified action. + + + + + Abstraction for a stopwatch to compute time relative to a starting point. + + + + + Gets the time elapsed since the stopwatch object was obtained. + + + + + Disposable resource with dipsosal state tracking. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + + The type of the sender that raised the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Represents a data stream signaling its elements by means of an event. + + The type of the event data generated by the event. + + + + Event signaling the next element in the data stream. + + + + + Represents a data stream signaling its elements by means of an event. + + + The type of the event data generated by the event. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Event signaling the next element in the data stream. + + + + + Provides a mechanism for receiving push-based notifications and returning a response. + + + The type of the elements received by the observer. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the result returned from the observer's notification handlers. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Notifies the observer of a new element in the sequence. + + The new element in the sequence. + Result returned upon observation of a new element. + + + + Notifies the observer that an exception has occurred. + + The exception that occurred. + Result returned upon observation of an error. + + + + Notifies the observer of the end of the sequence. + + Result returned upon observation of the sequence completion. + + + + Represents an observable sequence of elements that have a common key. + + + The type of the key shared by all elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements in the group. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Gets the common key. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is known. + + + The type of the data in the data source. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified. + + + + + Gets the type of the element(s) that are returned when the expression tree associated with this instance of IQbservable is executed. + + + + + Gets the expression tree that is associated with the instance of IQbservable. + + + + + Gets the query provider that is associated with this data source. + + + + + Defines methods to create and execute queries that are described by an IQbservable object. + + + + + Constructs an IQbservable>TResult< object that can evaluate the query represented by a specified expression tree. + + The type of the elements of the System.Reactive.Linq.IQbservable<T> that is returned. + Expression tree representing the query. + IQbservable object that can evaluate the given query expression. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + + The type of the elements in the sequence. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Represents an object that is both an observable sequence as well as an observer. + + The type of the elements processed by the subject. + + + + Represents an object that is both an observable sequence as well as an observer. + + + The type of the elements received by the subject. + This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + The type of the elements produced by the subject. + This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. + + + + diff --git a/packages/Rx-Interfaces.2.1.30214.0/lib/WP8/System.Reactive.Interfaces.dll b/packages/Rx-Interfaces.2.1.30214.0/lib/WP8/System.Reactive.Interfaces.dll new file mode 100644 index 00000000000..808334b428e Binary files /dev/null and b/packages/Rx-Interfaces.2.1.30214.0/lib/WP8/System.Reactive.Interfaces.dll differ diff --git a/packages/Rx-Linq.2.1.30214.0/Rx-Linq.2.1.30214.0.nupkg b/packages/Rx-Linq.2.1.30214.0/Rx-Linq.2.1.30214.0.nupkg new file mode 100644 index 00000000000..04181568f83 Binary files /dev/null and b/packages/Rx-Linq.2.1.30214.0/Rx-Linq.2.1.30214.0.nupkg differ diff --git a/packages/Rx-Linq.2.1.30214.0/Rx-Linq.2.1.30214.0.nuspec b/packages/Rx-Linq.2.1.30214.0/Rx-Linq.2.1.30214.0.nuspec new file mode 100644 index 00000000000..e1e829a3ab2 --- /dev/null +++ b/packages/Rx-Linq.2.1.30214.0/Rx-Linq.2.1.30214.0.nuspec @@ -0,0 +1,26 @@ + + + + Rx-Linq + 2.1.30214.0 + Reactive Extensions - Query Library + Microsoft Corporation + Microsoft Corporation + http://go.microsoft.com/fwlink/?LinkID=261272 + http://go.microsoft.com/fwlink/?LinkID=261273 + http://go.microsoft.com/fwlink/?LinkId=261274 + true + Reactive Extensions Query Library used to express complex event processing queries over observable sequences. + Microsoft Corporation © 2012 + en-us + Rx Reactive Extensions Observable LINQ Events + + + + + + + + + + \ No newline at end of file diff --git a/packages/Rx-Linq.2.1.30214.0/lib/Net40/System.Reactive.Linq.XML b/packages/Rx-Linq.2.1.30214.0/lib/Net40/System.Reactive.Linq.XML new file mode 100644 index 00000000000..2ee99f58d59 --- /dev/null +++ b/packages/Rx-Linq.2.1.30214.0/lib/Net40/System.Reactive.Linq.XML @@ -0,0 +1,10510 @@ + + + + System.Reactive.Linq + + + + + The System.Reactive.Joins namespace contains classes used to express join patterns over observable sequences using fluent method syntax. + + + + + Provides a set of extension methods for virtual time scheduling. + + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Attribute applied to static classes providing expression tree forms of query methods, + mapping those to the corresponding methods for local query execution on the specified + target class type. + + + + + Creates a new mapping to the specified local execution query method implementation type. + + Type with query methods for local execution. + + + + Gets the type with the implementation of local query methods. + + + + + Provides a set of static methods for writing in-memory queries over observable sequences. + + + + + Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. + The loop can be quit prematurely by setting the specified cancellation token. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Cancellation token used to stop the loop. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. + The loop can be quit prematurely by setting the specified cancellation token. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Cancellation token used to stop the loop. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Uses to determine which source in to return, choosing if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Default source to select in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence on the specified scheduler if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Scheduler to generate an empty sequence on in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated after each repeated completed. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated upon the completion of an iteration through the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Concatenates the observable sequences obtained by running the for each element in the given enumerable . + + The type of the elements in the enumerable source sequence. + The type of the elements in the observable result sequence. + Enumerable source for which each element will be mapped onto an observable source that will be concatenated in the result sequence. + Function to select an observable source for each element in the . + The observable sequence obtained by concatenating the sources returned by for each element in the . + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, select the sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Sequence returned in case evaluates false. + if evaluates true; otherwise. + or or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + if evaluates true; an empty sequence otherwise. + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence generated on the specified scheduler. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Scheduler to generate an empty sequence on in case evaluates false. + if evaluates true; an empty sequence otherwise. + or or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated before each repeated is subscribed to. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated before subscription to the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the fourteenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the fourteenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Invokes the specified function asynchronously, surfacing the result through an observable sequence. + + The type of the result returned by the function. + Function to run asynchronously. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the specified function asynchronously on the specified scheduler, surfacing the result through an observable sequence + + The type of the result returned by the function. + Function to run asynchronously. + Scheduler to run the function on. + An observable sequence exposing the function's result value, or an exception. + or is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the asynchronous function, surfacing the result through an observable sequence. + + The type of the result returned by the asynchronous function. + Asynchronous function to run. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the asynchronous function, surfacing the result through an observable sequence. + The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information. + + The type of the result returned by the asynchronous function. + Asynchronous function to run. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed + subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. + Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription + to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using + multicast operators. + + + + + + + Invokes the action asynchronously, surfacing the result through an observable sequence. + + Action to run asynchronously. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the action asynchronously on the specified scheduler, surfacing the result through an observable sequence. + + Action to run asynchronously. + Scheduler to run the action on. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + or is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the asynchronous action, surfacing the result through an observable sequence. + + Asynchronous action to run. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the asynchronous action, surfacing the result through an observable sequence. + The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information. + + Asynchronous action to run. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed + subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. + Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription + to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using + multicast operators. + + + + + + + Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. + + The type of the result returned by the asynchronous function. + Asynchronous function to convert. + An observable sequence exposing the result of invoking the function, or an exception. + is null. + + + + Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. + The CancellationToken passed to the asynchronous function is tied to the observable sequence's subscription that triggered the function's invocation and can be used for best-effort cancellation. + + The type of the result returned by the asynchronous function. + Asynchronous function to convert. + An observable sequence exposing the result of invoking the function, or an exception. + is null. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled. + + + + Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. + + Asynchronous action to convert. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + + Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. + The CancellationToken passed to the asynchronous action is tied to the observable sequence's subscription that triggered the action's invocation and can be used for best-effort cancellation. + + Asynchronous action to convert. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the sixteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the sixteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + The type of the sixteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + The type of the sixteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value, + and the specified result selector function is used to select the result value. + + The type of the elements in the source sequence. + The type of the accumulator value. + The type of the resulting value. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + A function to transform the final accumulator value into the result value. + An observable sequence containing a single element with the final accumulator value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to aggregate over. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether all elements of an observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether all elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains any elements. + + The type of the elements in the source sequence. + An observable sequence to check for non-emptiness. + An observable sequence containing a single element determining whether the source sequence contains any elements. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether any element of an observable sequence satisfies a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether any elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + (Asynchronous) The sum of the elements in the source sequence is larger than . + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using the default equality comparer. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using a specified System.Collections.Generic.IEqualityComparer<T>. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An equality comparer to compare elements. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the element at a specified index in a sequence. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence. + is null. + is less than zero. + (Asynchronous) is greater than or equal to the number of elements in the source sequence. + + + + Returns the element at a specified index in a sequence or a default value if the index is out of range. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence, or a default value if the index is outside the bounds of the source sequence. + is null. + is less than zero. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Determines whether an observable sequence is empty. + + The type of the elements in the source sequence. + An observable sequence to check for emptiness. + An observable sequence containing a single element determining whether the source sequence is empty. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + An observable sequence containing a single element with the maximum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + An observable sequence containing a single element with the minimum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the only element of an observable sequence, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence. + is null. + (Asynchronous) The source sequence contains more than one element. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence, or a default value if no such element exists. + is null. + (Asynchronous) The source sequence contains more than one element. + + + + Returns the only element of an observable sequence that matches the predicate, or a default value if no such element exists; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + (Asynchronous) The sequence contains more than one element that satisfies the condition in the predicate. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates an array from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get an array of elements for. + An observable sequence containing a single element with an array containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a list from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get a list of elements for. + An observable sequence containing a single element with a list containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Multicasts the source sequence notifications through the specified subject to the resulting connectable observable. Upon connection of the + connectable observable, the subject is subscribed to the source exactly one, and messages are forwarded to the observers registered with + the connectable observable. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be pushed into the specified subject. + Subject to push source elements into. + A connectable observable sequence that upon connection causes the source sequence to push results into the specified subject. + or is null. + + + + Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each + subscription to the resulting sequence causes a separate multicast invocation, exposing the sequence resulting from the selector function's + invocation. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements produced by the intermediate subject. + The type of the elements in the result sequence. + Source sequence which will be multicasted in the specified selector function. + Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function. + Selector function which can use the multicasted source sequence subject to the policies enforced by the created subject. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all notifications of the source from the time of the subscription on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Initial value received by observers upon subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + Initial value received by observers upon subscription. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will only receive the last notification of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will only receive the last notification of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + + The type of the elements in the source sequence. + Connectable observable sequence. + An observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all the notifications of the source. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Produces an enumerable sequence of consecutive (possibly empty) chunks of the source sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns consecutive (possibly empty) chunks upon each iteration. + is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create a new collector object. + Merges a sequence element with the current collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create the initial collector object. + Merges a sequence element with the current collector. + Factory to replace the current collector by a new collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or or is null. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Invokes an action for each element in the observable sequence, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Returns an enumerator that enumerates all values of the observable sequence. + + The type of the elements in the source sequence. + An observable sequence to get an enumerator for. + The enumerator that can be used to enumerate over the elements in the observable sequence. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Returns an enumerable sequence whose enumeration returns the latest observed element in the source observable sequence. + Enumerators on the resulting sequence will never produce the same element repeatedly, and will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns the last sampled element upon each iteration and subsequently blocks until the next element in the observable source sequence becomes available. + + + + Returns an enumerable sequence whose enumeration returns the most recently observed element in the source observable sequence, using the specified initial value in case no element has been sampled yet. + Enumerators on the resulting sequence never block and can produce the same element repeatedly. + + The type of the elements in the source sequence. + Source observable sequence. + Initial value that will be yielded by the enumerable sequence if no element has been sampled yet. + The enumerable sequence that returns the last sampled element upon each iteration. + is null. + + + + Returns an enumerable sequence whose enumeration blocks until the next element in the source observable sequence becomes available. + Enumerators on the resulting sequence will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that blocks upon each iteration until the next element in the observable source sequence becomes available. + is null. + + + + Returns the only element of an observable sequence, and throws an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence. + is null. + The source sequence contains more than one element. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and throws an exception if there is not exactly one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method throws an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence, or a default value if no such element exists. + is null. + The source sequence contains more than one element. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists; this method throws an exception if there is more than one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + The sequence contains more than one element that satisfies the condition in the predicate. + + + + + Waits for the observable sequence to complete and returns the last element of the sequence. + If the sequence terminates with an OnError notification, the exception is throw. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + This only invokes observer callbacks on a scheduler. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a scheduler, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + This only invokes observer callbacks on a synchronization context. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a synchronization context, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified scheduler. In order to invoke observer + callbacks on a scheduler, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified synchronization context. In order to invoke observer + callbacks on a synchronization context, use . + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently. + This overload is useful to "fix" an observable sequence that exhibits concurrent callbacks on individual observers, which is invalid behavior for the query processor. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + It's invalid behavior - according to the observer grammar - for a sequence to exhibit concurrent callbacks on a given observer. + This operator can be used to "fix" a source that doesn't conform to this rule. + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently, using the specified gate object. + This overload is useful when writing n-ary query operators, in order to prevent concurrent callbacks from different sources by synchronizing on a common gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Subscribes an observer to an enumerable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Disposable object that can be used to unsubscribe the observer from the enumerable + or is null. + + + + Subscribes an observer to an enumerable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Scheduler to perform the enumeration on. + Disposable object that can be used to unsubscribe the observer from the enumerable + or or is null. + + + + Converts an observable sequence to an enumerable sequence. + + The type of the elements in the source sequence. + An observable sequence to convert to an enumerable sequence. + The enumerable sequence containing the elements in the observable sequence. + is null. + + + + Exposes an observable sequence as an object with an Action-based .NET event. + + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with an Action<TSource>-based .NET event. + + The type of the elements in the source sequence. + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with a .NET event, conforming to the standard .NET event pattern. + + The type of the event data generated by the event. + Observable source sequence. + The event source object. + is null. + + + + Converts an enumerable sequence to an observable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + The observable sequence whose elements are pulled from the given enumerable sequence. + is null. + + + + Converts an enumerable sequence to an observable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + Scheduler to run the enumeration of the input sequence on. + The observable sequence whose elements are pulled from the given enumerable sequence. + or is null. + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to produce elements. + The observable sequence surfacing the elements produced by the asynchronous method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to produce elements. + The observable sequence surfacing the elements produced by the asynchronous method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Observable factory function to invoke for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger an invocation of the given observable factory function. + is null. + + + + Returns an observable sequence that starts the specified asynchronous factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Asynchronous factory function to start for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger the given asynchronous observable factory function to be started. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Returns an observable sequence that starts the specified cancellable asynchronous factory function whenever a new observer subscribes. + The CancellationToken passed to the asynchronous factory function is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Asynchronous factory function to start for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger the given asynchronous observable factory function to be started. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous observable factory function will be signaled. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence with no elements. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + An observable sequence with no elements. + is null. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + The generated sequence. + or or is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements, using the specified scheduler to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Scheduler on which to run the generator loop. + The generated sequence. + or or or is null. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence whose observers will never get called. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence whose observers will never get called. + + + + Generates an observable sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + + + + Generates an observable sequence of integral numbers within a specified range, using the specified scheduler to send out observer messages. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + Scheduler to run the generator loop on. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + is null. + + + + Generates an observable sequence that repeats the given element infinitely. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + An observable sequence that repeats the given element infinitely. + + + + Generates an observable sequence that repeats the given element infinitely, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element infinitely. + is null. + + + + Generates an observable sequence that repeats the given element the specified number of times. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + + + + Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + is null. + + + + Returns an observable sequence that contains a single element. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + An observable sequence containing the single specified element. + + + + Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + Scheduler to send the single element on. + An observable sequence containing the single specified element. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Factory function to obtain a resource object. + Factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. The resource is obtained and used through asynchronous methods. + The CancellationToken passed to the asynchronous methods is tied to the returned disposable subscription, allowing best-effort cancellation at any stage of the resource acquisition or usage. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Asynchronous factory function to obtain a resource object. + Asynchronous factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous resource factory and observable factory functions will be signaled. + + + + Creates a pattern that matches when both observable sequences have an available element. + + The type of the elements in the left sequence. + The type of the elements in the right sequence. + Observable sequence to match with the right sequence. + Observable sequence to match with the left sequence. + Pattern object that matches when both observable sequences have an available element. + or is null. + + + + Matches when the observable sequence has an available element and projects the element by invoking the selector function. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, returned by the selector function. + Observable sequence to apply the selector on. + Selector that will be invoked for elements in the source sequence. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + or is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results from matching several patterns. + is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results form matching several patterns. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that surfaces either of the given sequences, whichever reacted first. + or is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + A function invoked to define the boundaries of the produced buffers. A new buffer is started when the previous one is closed. + An observable sequence of buffers. + or is null. + + + + Projects each element of an observable sequence into zero or more buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequence indicating buffer opening events, also passed to the closing selector to obtain a sequence of buffer closing events. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + Observable sequence whose elements denote the creation of new buffers. + A function invoked to define the closing of each produced buffer. + An observable sequence of buffers. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer boundary events. + Source sequence to produce buffers over. + Sequence of buffer boundary markers. The current buffer is closed and a new buffer is opened upon receiving a boundary marker. + An observable sequence of buffers. + or is null. + + + + Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler. + + The type of the elements in the source sequence and sequences returned by the exception handler function. + The type of the exception to catch and handle. Needs to derive from . + Source sequence. + Exception handler function, producing another observable sequence. + An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source sequence and handler sequence. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results when an error occurred in the first sequence. + An observable sequence containing the first sequence's elements, followed by the elements of the second sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Merges two observable sequences into one observable sequence by using the selector function whenever one of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke whenever either of the sources produces an element. + An observable sequence containing the result of combining elements of both sources using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Sixteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke whenever any of the sources produces an element. For efficiency, the input list is reused after the selector returns. Either aggregate or copy the values during the function call. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful termination of the first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that contains the elements of the first sequence, followed by those of the second the sequence. + or is null. + + + + Concatenates all of the specified observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all inner observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + An observable sequence that contains the elements of each observed inner sequence, in sequential order. + is null. + + + + Concatenates all task results, as long as the previous task terminated successfully. + + The type of the results produced by the tasks. + Observable sequence of tasks. + An observable sequence that contains the results of each task, in sequential order. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a concatenation operation using . + + + + Merges elements from all inner observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that merges the elements of the inner sequences. + is null. + + + + Merges results from all source tasks into a single observable sequence. + + The type of the results produced by the source tasks. + Observable sequence of tasks. + The observable sequence that merges the results of the source tasks. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a merge operation using . + + + + Merges elements from all inner observable sequences into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + Maximum number of inner observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the inner sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the observable sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences, and using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + is less than or equal to zero. + + + + Merges elements from two observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + The observable sequence that merges the elements of the given sequences. + or is null. + + + + Merges elements from two observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + Scheduler used to introduce concurrency for making subscriptions to the given sequences. + The observable sequence that merges the elements of the given sequences. + or or is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful or exceptional termination of the first. + + The type of the elements in the source sequences. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results after the first sequence terminates. + An observable sequence that concatenates the first and second sequence, even if the first sequence terminates exceptionally. + or is null. + + + + Concatenates all of the specified observable sequences, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Returns the elements from the source observable sequence only after the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of skip behavior. + Source sequence to propagate elements for. + Observable sequence that triggers propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation. + or is null. + + + + Switches between the inner observable sequences such that the resulting sequence always produces elements from the most recently received inner observable sequence. + Each time a new inner observable sequence is received, the previous inner observable sequence is unsubscribed from. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received. + is null. + + + + Switches between the tasks such that the resulting sequence always produces results from the most recently received task. + Each time a new task is received, the previous task's result is ignored. + + The type of the results produced by the source tasks. + Observable sequence of tasks. + The observable sequence that at any point in time produces the result of the most recent task that has been received. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a switch operation using . + + + + Returns the elements from the source observable sequence until the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of take behavior. + Source sequence to propagate elements for. + Observable sequence that terminates propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + A function invoked to define the boundaries of the produced windows. A new window is started when the previous one is closed. + An observable sequence of windows. + or is null. + + + + Projects each element of an observable sequence into zero or more windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequence indicating window opening events, also passed to the closing selector to obtain a sequence of window closing events. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + Observable sequence whose elements denote the creation of new windows. + A function invoked to define the closing of each produced window. + An observable sequence of windows. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window boundary events. + Source sequence to produce windows over. + Sequence of window boundary markers. The current window is closed and a new window is opened upon receiving a boundary marker. + An observable sequence of windows. + or is null. + + + + Merges two observable sequences into one observable sequence by combining their elements in a pairwise fashion. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Sixteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges an observable sequence and an enumerable sequence into one observable sequence by using the selector function. + + The type of the elements in the first observable source sequence. + The type of the elements in the second enumerable source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second enumerable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Hides the identity of an observable sequence. + + The type of the elements in the source sequence. + An observable sequence whose identity to hide. + An observable sequence that hides the identity of the source sequence. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Number of elements to skip between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than or equal to zero. + + + + Dematerializes the explicit notification values of an observable sequence as implicit notifications. + + The type of the elements materialized in the source sequence notification objects. + An observable sequence containing explicit notification values which have to be turned into implicit notifications. + An observable sequence exhibiting the behavior corresponding to the source sequence's notification values. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + An observable sequence only containing the distinct contiguous elements from the source sequence. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct contiguous elements from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + Equality comparer for computed key values. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or or is null. + + + + Invokes an action for each element in the observable sequence, and propagates all observer messages through the result sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or or is null. + + + + Invokes the observer's methods for each message in the source sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Observer whose methods to invoke as part of the source sequence's observation. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes a specified action after the source observable sequence terminates gracefully or exceptionally. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke after the source observable sequence terminates. + Source sequence with the action-invoking termination behavior applied. + or is null. + + + + Ignores all elements in an observable sequence leaving only the termination messages. + + The type of the elements in the source sequence. + Source sequence. + An empty observable sequence that signals termination, successful or exceptional, of the source sequence. + is null. + + + + Materializes the implicit notifications of an observable sequence as explicit notification values. + + The type of the elements in the source sequence. + An observable sequence to get notification values for. + An observable sequence containing the materialized notification values from the source sequence. + is null. + + + + Repeats the observable sequence indefinitely. + + The type of the elements in the source sequence. + Observable sequence to repeat. + The observable sequence producing the elements of the given sequence repeatedly and sequentially. + is null. + + + + Repeats the observable sequence a specified number of times. + + The type of the elements in the source sequence. + Observable sequence to repeat. + Number of times to repeat the sequence. + The observable sequence producing the elements of the given sequence repeatedly. + is null. + is less than zero. + + + + Repeats the source observable sequence until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + + + + Repeats the source observable sequence the specified number of times or until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + Number of times to repeat the sequence. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + is less than zero. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. The specified seed value is used as the initial accumulator value. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to accumulate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to accumulate over. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Bypasses a specified number of elements at the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to bypass at the end of the source sequence. + An observable sequence containing the source sequence elements except for the bypassed ones at the end. + is null. + is less than zero. + + This operator accumulates a queue with a length enough to store the first elements. As more elements are + received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed. + + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Returns a specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a specified number of contiguous elements from the end of an observable sequence, using the specified scheduler to drain the queue. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + Scheduler used to drain the queue upon completion of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + or is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a list with the specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing a single list with the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements. Upon completion of the + source sequence, this buffer is produced on the result sequence. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + An observable sequence of windows. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Number of elements to skip between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than or equal to zero. + + + + Converts the elements of an observable sequence to the specified type. + + The type to convert the elements in the source sequence to. + The observable sequence that contains the elements to be converted. + An observable sequence that contains each element of the source sequence converted to the specified type. + is null. + + + + Returns the elements of the specified sequence or the type parameter's default value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), whose default value will be taken if the sequence is empty. + The sequence to return a default value for if it is empty. + An observable sequence that contains the default value for the TSource type if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns the elements of the specified sequence or the specified value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), and the specified default value which will be taken if the sequence is empty. + The sequence to return the specified value for if it is empty. + The value to return if the sequence is empty. + An observable sequence that contains the specified default value if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns an observable sequence that contains only distinct elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + An observable sequence only containing the distinct elements from the source sequence. + is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct elements from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + Equality comparer for source elements. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Groups the elements of an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered. + + or or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or is null. + + + + Correlates the elements of two sequences based on overlapping durations, and groups the results. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any element of the left sequence with overlapping elements from the right observable sequence. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Correlates the elements of two sequences based on overlapping durations. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any two overlapping elements of the left and right observable sequences. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Filters the elements of an observable sequence based on the specified type. + + The type to filter the elements in the source sequence on. + The observable sequence that contains the elements to be filtered. + An observable sequence that contains elements from the input sequence of type TResult. + is null. + + + + Projects each element of an observable sequence into a new form. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of an observable sequence into a new form by incorporating the element's index. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of the source observable sequence to the other observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the other sequence and the elements in the result sequence. + An observable sequence of elements to project. + An observable sequence to project each element from the source sequence onto. + An observable sequence whose elements are the result of projecting each source element onto the other sequence and merging all the resulting sequences together. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to a task and merges all of the task results into one observable sequence. + + The type of the elements in the source sequence. + The type of the result produced by the projected tasks and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of the tasks executed for each element of the input sequence. + This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + or is null. + + + + Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence. + + The type of the elements in the source sequence. + The type of the result produced by the projected tasks and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of the tasks executed for each element of the input sequence. + This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to a task, invokes the result selector for the source element and the task result, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the results produced by the projected intermediate tasks. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element. + or or is null. + This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + + + + Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the results produced by the projected intermediate tasks. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element. + or or is null. + This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element. + A transform function to apply when an error occurs in the source sequence. + A transform function to apply when the end of the source sequence is reached. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element; the second parameter represents the index of the source element. + A transform function to apply when an error occurs in the source sequence; the second parameter represents the index of the source element. + A transform function to apply when the end of the source sequence is reached; the second parameter represents the number of elements observed. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + The index of each source element is used in the projected form of that element. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Bypasses a specified number of elements in an observable sequence and then returns the remaining elements. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to skip before returning the remaining elements. + An observable sequence that contains the elements that occur after the specified index in the input sequence. + is null. + is less than zero. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Returns a specified number of contiguous elements from the start of an observable sequence. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + An observable sequence that contains the specified number of elements from the start of the input sequence. + is null. + is less than zero. + + + + Returns a specified number of contiguous elements from the start of an observable sequence, using the specified scheduler for the edge case of Take(0). + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + Scheduler used to produce an OnCompleted message in case count is set to 0. + An observable sequence that contains the specified number of elements from the start of the input sequence. + or is null. + is less than zero. + + + + Returns elements from an observable sequence as long as a specified condition is true. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Returns elements from an observable sequence as long as a specified condition is true. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Filters the elements of an observable sequence based on a predicate. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a condition. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Filters the elements of an observable sequence based on a predicate by incorporating the element's index. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a conditio; the second parameter of the function represents the index of the source element. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a buffer. + Maximum element count of a buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Time shifts the observable sequence by the specified relative time duration. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence by the specified relative time duration, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence based on a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or is null. + + + + Time shifts the observable sequence based on a subscription delay and a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Sequence indicating the delay for the subscription to the source. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or or is null. + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Time-shifted sequence. + is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Returns an observable sequence that produces a value after each period. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Returns an observable sequence that produces a value after each period, using the specified scheduler to run timers and to send out observer messages. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + is null. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Samples the observable sequence at each interval. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Sampled observable sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the observable sequence at each interval, using the specified scheduler to run sampling timers. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Scheduler to run the sampling timer on. + Sampled observable sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the source observable sequence using a samper observable sequence producing sampling ticks. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + The type of the elements in the sampling sequence. + Source sequence to sample. + Sampling tick sequence. + Sampled observable sequence. + or is null. + + + + Skips elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements for the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements from the observable source sequence until the specified start time. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + An observable sequence with the elements skipped until the specified start time. + is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Skips elements from the observable source sequence until the specified start time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + Scheduler to run the timer on. + An observable sequence with the elements skipped until the specified start time. + or is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Takes elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Takes elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Returns elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified schedulers to run timers and to drain the collected elements. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + Scheduler to drain the collected elements. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Takes elements for the specified duration until the specified end time. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + An observable sequence with the elements taken until the specified end time. + is null. + + + + Takes elements for the specified duration until the specified end time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + Scheduler to run the timer on. + An observable sequence with the elements taken until the specified end time. + or is null. + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + The throttled sequence. + is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration, using the specified scheduler to run throttling timers. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + Scheduler to run the throttle timers on. + The throttled sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another value within a computed throttle duration. + + The type of the elements in the source sequence. + The type of the elements in the throttle sequences selected for each element in the source sequence. + Source sequence to throttle. + Selector function to retrieve a sequence indicating the throttle duration for each given element. + The throttled sequence. + or is null. + + This operator throttles the source sequence by holding on to each element for the duration denoted by . + If another element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this + whole process. For streams where the duration computed by applying the to each element overlaps with + the occurrence of the successor element, the resulting stream won't produce any elements. In order to reduce the volume of a stream whilst + guaranteeing the periodic production of elements, consider using the Observable.Sample set of operators. + + + + + Records the time interval between consecutive elements in an observable sequence. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + An observable sequence with time interval information on elements. + is null. + + + + Records the time interval between consecutive elements in an observable sequence, using the specified scheduler to compute time intervals. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + Scheduler used to compute time intervals. + An observable sequence with time interval information on elements. + or is null. + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + The source sequence with a TimeoutException in case of a timeout. + is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + The source sequence with a TimeoutException in case of a timeout. + is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or is null. + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or or is null. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + An observable sequence that produces a value after the due time has elapsed. + + + + Returns an observable sequence that produces a single value at the specified absolute due time. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + An observable sequence that produces a value at due time. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after due time has elapsed and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed, using the specified scheduler to run the timer. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after the due time has elapsed. + is null. + + + + Returns an observable sequence that produces a single value at the specified absolute due time, using the specified scheduler to run the timer. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value at due time. + is null. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed, using the specified scheduler to run timers. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value after due time has elapsed and then each period. + is less than TimeSpan.Zero. + is null. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time, using the specified scheduler to run timers. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + is null. + + + + Timestamps each element in an observable sequence using the local system clock. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + An observable sequence with timestamp information on elements. + is null. + + + + Timestamp each element in an observable sequence using the clock of the specified scheduler. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + Scheduler used to compute timestamps. + An observable sequence with timestamp information on elements. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + The sequence of windows. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of windows. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Internal interface describing the LINQ to Events query language. + + + + + Base class for classes that expose an observable sequence as a well-known event pattern (sender, event arguments). + Contains functionality to maintain a map of event handler delegates to observable sequence subscriptions. Subclasses + should only add an event with custom add and remove methods calling into the base class's operations. + + The type of the sender that raises the event. + The type of the event data generated by the event. + + + + Creates a new event pattern source. + + Source sequence to expose as an event. + Delegate used to invoke the event for each element of the sequence. + or is null. + + + + Adds the specified event handler, causing a subscription to the underlying source. + + Event handler to add. The same delegate should be passed to the Remove operation in order to remove the event handler. + Invocation delegate to raise the event in the derived class. + or is null. + + + + Removes the specified event handler, causing a disposal of the corresponding subscription to the underlying source that was created during the Add operation. + + Event handler to remove. This should be the same delegate as one that was passed to the Add operation. + is null. + + + + Represents a .NET event invocation consisting of the weakly typed object that raised the event and the data that was generated by the event. + + The type of the event data generated by the event. + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + The type of the sender that raised the event. + The type of the event data generated by the event. + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Determines whether the current EventPattern<TSender, TEventArgs> object represents the same event as a specified EventPattern<TSender, TEventArgs> object. + + An object to compare to the current EventPattern<TSender, TEventArgs> object. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>. + + The System.Object to compare with the current EventPattern<TSender, TEventArgs>. + true if the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>; otherwise, false. + + + + Returns the hash code for the current EventPattern<TSender, TEventArgs> instance. + + A hash code for the current EventPattern<TSender, TEventArgs> instance. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent the same event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent a different event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects don't represent the same event; otherwise, false. + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Base class for historical schedulers, which are virtual time schedulers that use DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Base class for virtual time schedulers. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts the virtual time scheduler. + + + + + Stops the virtual time scheduler. + + + + + Advances the scheduler's clock to the specified time, running all work till that point. + + Absolute time to advance the scheduler's clock to. + is in the past. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time, running all work scheduled for that timespan. + + Relative time to advance the scheduler's clock by. + is negative. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time. + + Relative time to advance the scheduler's clock by. + is negative. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Discovers scheduler services by interface type. The base class implementation supports + only the IStopwatchProvider service. To influence service discovery - such as adding + support for other scheduler services - derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Gets whether the scheduler is enabled to run work. + + + + + Gets the comparer used to compare absolute time values. + + + + + Gets the scheduler's absolute time clock value. + + + + + Gets the scheduler's notion of current time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial clock value. + + + + Creates a new historical scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Provides a virtual time scheduler that uses DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Base class for virtual time schedulers using a priority queue for scheduled items. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the resulting sequence, after transformation through the subject. + + + + Creates an observable that can be connected and disconnected from its source. + + Underlying observable source sequence that can be connected and disconnected from the wrapper. + Subject exposed by the connectable observable, receiving data from the underlying source sequence upon connection. + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable object used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Subscribes an observer to the observable sequence. No values from the underlying observable source will be received unless a connection was established through the Connect method. + + Observer that will receive values from the underlying observable source when the current ConnectableObservable instance is connected through a call to Connect. + Disposable used to unsubscribe from the observable sequence. + + + + Provides a set of static methods for creating subjects. + + + + + Creates a subject from the specified observer and observable. + + The type of the elements received by the observer. + The type of the elements produced by the observable sequence. + The observer used to send messages to the subject. + The observable used to subscribe to messages sent from the subject. + Subject implemented using the given observer and observable. + or is null. + + + + Synchronizes the messages sent to the subject. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Subject whose messages are synchronized. + is null. + + + + Synchronizes the messages sent to the subject and notifies observers on the specified scheduler. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Scheduler to notify observers on. + Subject whose messages are synchronized and whose observers are notified on the given scheduler. + or is null. + + + + Represents the result of an asynchronous operation. + The last value before the OnCompleted notification, or the error received through OnError, is sent to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject that can only receive one value and that value is cached for all future observations. + + + + + Notifies all subscribed observers about the end of the sequence, also causing the last received value to be sent out (if any). + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Sends a value to the subject. The last value received before successful termination will be sent to all subscribed and future observers. + + The value to store in the subject. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Gets the last element of the subject, potentially blocking until the subject completes successfully or exceptionally. + + The last element of the subject. Throws an InvalidOperationException if no element was received. + The source sequence is empty. + + + + Indicates whether the subject has observers subscribed to it. + + + + + Gets whether the AsyncSubject has completed. + + + + + Represents a value that changes over time. + Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class which creates a subject that caches its last value and starts with the specified value. + + Initial value sent to observers when no other value has been received by the subject yet. + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject. + + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the specified exception. + + The exception to send to all currently subscribed observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all currently subscribed observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribes all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Abstract base class for join patterns. + + + + + Represents a join pattern over one observable sequence. + + The type of the elements in the first source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over two observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + + + + Creates a pattern that matches when all three observable sequences have an available element. + + The type of the elements in the third observable sequence. + Observable sequence to match with the two previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over three observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + + + + Creates a pattern that matches when all four observable sequences have an available element. + + The type of the elements in the fourth observable sequence. + Observable sequence to match with the three previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over four observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + + + + Creates a pattern that matches when all five observable sequences have an available element. + + The type of the elements in the fifth observable sequence. + Observable sequence to match with the four previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over five observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + + + + Creates a pattern that matches when all six observable sequences have an available element. + + The type of the elements in the sixth observable sequence. + Observable sequence to match with the five previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over six observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + + + + Creates a pattern that matches when all seven observable sequences have an available element. + + The type of the elements in the seventh observable sequence. + Observable sequence to match with the six previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over seven observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + + + + Creates a pattern that matches when all eight observable sequences have an available element. + + The type of the elements in the eighth observable sequence. + Observable sequence to match with the seven previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over eight observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + + + + Creates a pattern that matches when all nine observable sequences have an available element. + + The type of the elements in the ninth observable sequence. + Observable sequence to match with the eight previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over nine observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + + + + Creates a pattern that matches when all ten observable sequences have an available element. + + The type of the elements in the tenth observable sequence. + Observable sequence to match with the nine previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over ten observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + + + + Creates a pattern that matches when all eleven observable sequences have an available element. + + The type of the elements in the eleventh observable sequence. + Observable sequence to match with the ten previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over eleven observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + + + + Creates a pattern that matches when all twelve observable sequences have an available element. + + The type of the elements in the twelfth observable sequence. + Observable sequence to match with the eleven previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over twelve observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + + + + Creates a pattern that matches when all thirteen observable sequences have an available element. + + The type of the elements in the thirteenth observable sequence. + Observable sequence to match with the twelve previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over thirteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + + + + Creates a pattern that matches when all fourteen observable sequences have an available element. + + The type of the elements in the fourteenth observable sequence. + Observable sequence to match with the thirteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over fourteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + + + + Creates a pattern that matches when all fifteen observable sequences have an available element. + + The type of the elements in the fifteenth observable sequence. + Observable sequence to match with the fourteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over fifteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + + + + Creates a pattern that matches when all sixteen observable sequences have an available element. + + The type of the elements in the sixteenth observable sequence. + Observable sequence to match with the fifteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over sixteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents an execution plan for join patterns. + + The type of the results produced by the plan. + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed and future observers, subject to buffer trimming policies. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class with the specified buffer size, window and scheduler. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is less than zero. -or- is less than TimeSpan.Zero. + is null. + + + + Initializes a new instance of the class with the specified buffer size and window. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + is less than zero. -or- is less than TimeSpan.Zero. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified scheduler. + + Scheduler the observers are invoked on. + is null. + + + + Initializes a new instance of the class with the specified buffer size and scheduler. + + Maximum element count of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than zero. + + + + Initializes a new instance of the class with the specified buffer size. + + Maximum element count of the replay buffer. + is less than zero. + + + + Initializes a new instance of the class with the specified window and scheduler. + + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than TimeSpan.Zero. + + + + Initializes a new instance of the class with the specified window. + + Maximum time length of the replay buffer. + is less than TimeSpan.Zero. + + + + Notifies all subscribed and future observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Notifies all subscribed and future observers about the specified exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed and future observers about the end of the sequence. + + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribe all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + The System.Reactive.Threading.Tasks namespace contains helpers for the conversion between tasks and observable sequences. + + + + + Provides a set of static methods for converting tasks to observable sequences. + + + + + Returns an observable sequence that signals when the task completes. + + Task to convert to an observable sequence. + An observable sequence that produces a unit value when the task completes, or propagates the exception produced by the task. + is null. + If the specified task object supports cancellation, consider using instead. + + + + Returns an observable sequence that propagates the result of the task. + + The type of the result produced by the task. + Task to convert to an observable sequence. + An observable sequence that produces the task's result, or propagates the exception produced by the task. + is null. + If the specified task object supports cancellation, consider using instead. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + The state to use as the underlying task's AsyncState. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + The state to use as the underlying task's AsyncState. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Represents a value associated with time interval information. + The time interval can represent the time it took to produce the value, the interval relative to a previous value, the value's delivery time relative to a base, etc. + + The type of the value being annotated with time interval information. + + + + Constructs a time interval value. + + The value to be annotated with a time interval. + Time interval associated with the value. + + + + Determines whether the current TimeInterval<T> value has the same Value and Interval as a specified TimeInterval<T> value. + + An object to compare to the current TimeInterval<T> value. + true if both TimeInterval<T> values have the same Value and Interval; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has the same Value and Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values don't have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has a different Value or Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current TimeInterval<T>. + + The System.Object to compare with the current TimeInterval<T>. + true if the specified System.Object is equal to the current TimeInterval<T>; otherwise, false. + + + + Returns the hash code for the current TimeInterval<T> value. + + A hash code for the current TimeInterval<T> value. + + + + Returns a string representation of the current TimeInterval<T> value. + + String representation of the current TimeInterval<T> value. + + + + Gets the value. + + + + + Gets the interval. + + + + + Represents value with a timestamp on it. + The timestamp typically represents the time the value was received, using an IScheduler's clock to obtain the current time. + + The type of the value being timestamped. + + + + Constructs a timestamped value. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + + + + Determines whether the current Timestamped<T> value has the same Value and Timestamp as a specified Timestamped<T> value. + + An object to compare to the current Timestamped<T> value. + true if both Timestamped<T> values have the same Value and Timestamp; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has the same Value and Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values don't have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has a different Value or Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current Timestamped<T>. + + The System.Object to compare with the current Timestamped<T>. + true if the specified System.Object is equal to the current Timestamped<T>; otherwise, false. + + + + Returns the hash code for the current Timestamped<T> value. + + A hash code for the current Timestamped<T> value. + + + + Returns a string representation of the current Timestamped<T> value. + + String representation of the current Timestamped<T> value. + + + + Gets the value. + + + + + Gets the timestamp. + + + + + A helper class with a factory method for creating Timestamped<T> instances. + + + + + Creates an instance of a Timestamped<T>. This is syntactic sugar that uses type inference + to avoid specifying a type in a constructor call, which is very useful when using anonymous types. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + Creates a new timestamped value. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Could not find event '{0}' on object of type '{1}'.. + + + + + Looks up a localized string similar to Could not find event '{0}' on type '{1}'.. + + + + + Looks up a localized string similar to Add method should take 1 parameter.. + + + + + Looks up a localized string similar to The second parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Event is missing the add method.. + + + + + Looks up a localized string similar to Event is missing the remove method.. + + + + + Looks up a localized string similar to The event delegate must have a void return type.. + + + + + Looks up a localized string similar to The event delegate must have exactly two parameters.. + + + + + Looks up a localized string similar to Remove method should take 1 parameter.. + + + + + Looks up a localized string similar to The first parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Remove method of a WinRT event should take an EventRegistrationToken.. + + + + + Looks up a localized string similar to Sequence contains more than one element.. + + + + + Looks up a localized string similar to Sequence contains more than one matching element.. + + + + + Looks up a localized string similar to Sequence contains no elements.. + + + + + Looks up a localized string similar to Sequence contains no matching element.. + + + + + Looks up a localized string similar to {0} cannot be called when the scheduler is already running. Try using Sleep instead.. + + + + diff --git a/packages/Rx-Linq.2.1.30214.0/lib/Net40/System.Reactive.Linq.dll b/packages/Rx-Linq.2.1.30214.0/lib/Net40/System.Reactive.Linq.dll new file mode 100644 index 00000000000..ebac11d305b Binary files /dev/null and b/packages/Rx-Linq.2.1.30214.0/lib/Net40/System.Reactive.Linq.dll differ diff --git a/packages/Rx-Linq.2.1.30214.0/lib/Net45/System.Reactive.Linq.XML b/packages/Rx-Linq.2.1.30214.0/lib/Net45/System.Reactive.Linq.XML new file mode 100644 index 00000000000..10215d6365d --- /dev/null +++ b/packages/Rx-Linq.2.1.30214.0/lib/Net45/System.Reactive.Linq.XML @@ -0,0 +1,10565 @@ + + + + System.Reactive.Linq + + + + + The System.Reactive.Joins namespace contains classes used to express join patterns over observable sequences using fluent method syntax. + + + + + Provides a set of extension methods for virtual time scheduling. + + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Attribute applied to static classes providing expression tree forms of query methods, + mapping those to the corresponding methods for local query execution on the specified + target class type. + + + + + Creates a new mapping to the specified local execution query method implementation type. + + Type with query methods for local execution. + + + + Gets the type with the implementation of local query methods. + + + + + Provides a set of static methods for writing in-memory queries over observable sequences. + + + + + Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. + The loop can be quit prematurely by setting the specified cancellation token. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Cancellation token used to stop the loop. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. + The loop can be quit prematurely by setting the specified cancellation token. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Cancellation token used to stop the loop. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Uses to determine which source in to return, choosing if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Default source to select in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence on the specified scheduler if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Scheduler to generate an empty sequence on in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated after each repeated completed. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated upon the completion of an iteration through the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Concatenates the observable sequences obtained by running the for each element in the given enumerable . + + The type of the elements in the enumerable source sequence. + The type of the elements in the observable result sequence. + Enumerable source for which each element will be mapped onto an observable source that will be concatenated in the result sequence. + Function to select an observable source for each element in the . + The observable sequence obtained by concatenating the sources returned by for each element in the . + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, select the sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Sequence returned in case evaluates false. + if evaluates true; otherwise. + or or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + if evaluates true; an empty sequence otherwise. + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence generated on the specified scheduler. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Scheduler to generate an empty sequence on in case evaluates false. + if evaluates true; an empty sequence otherwise. + or or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated before each repeated is subscribed to. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated before subscription to the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the fourteenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the fourteenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Invokes the specified function asynchronously, surfacing the result through an observable sequence. + + The type of the result returned by the function. + Function to run asynchronously. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the specified function asynchronously on the specified scheduler, surfacing the result through an observable sequence + + The type of the result returned by the function. + Function to run asynchronously. + Scheduler to run the function on. + An observable sequence exposing the function's result value, or an exception. + or is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the asynchronous function, surfacing the result through an observable sequence. + + The type of the result returned by the asynchronous function. + Asynchronous function to run. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the asynchronous function, surfacing the result through an observable sequence. + The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information. + + The type of the result returned by the asynchronous function. + Asynchronous function to run. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed + subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. + Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription + to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using + multicast operators. + + + + + + + Invokes the action asynchronously, surfacing the result through an observable sequence. + + Action to run asynchronously. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the action asynchronously on the specified scheduler, surfacing the result through an observable sequence. + + Action to run asynchronously. + Scheduler to run the action on. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + or is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the asynchronous action, surfacing the result through an observable sequence. + + Asynchronous action to run. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the asynchronous action, surfacing the result through an observable sequence. + The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information. + + Asynchronous action to run. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed + subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. + Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription + to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using + multicast operators. + + + + + + + Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. + + The type of the result returned by the asynchronous function. + Asynchronous function to convert. + An observable sequence exposing the result of invoking the function, or an exception. + is null. + + + + Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. + The CancellationToken passed to the asynchronous function is tied to the observable sequence's subscription that triggered the function's invocation and can be used for best-effort cancellation. + + The type of the result returned by the asynchronous function. + Asynchronous function to convert. + An observable sequence exposing the result of invoking the function, or an exception. + is null. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled. + + + + Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. + + Asynchronous action to convert. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + + Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. + The CancellationToken passed to the asynchronous action is tied to the observable sequence's subscription that triggered the action's invocation and can be used for best-effort cancellation. + + Asynchronous action to convert. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the sixteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the sixteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + The type of the sixteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + The type of the sixteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value, + and the specified result selector function is used to select the result value. + + The type of the elements in the source sequence. + The type of the accumulator value. + The type of the resulting value. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + A function to transform the final accumulator value into the result value. + An observable sequence containing a single element with the final accumulator value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to aggregate over. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether all elements of an observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether all elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains any elements. + + The type of the elements in the source sequence. + An observable sequence to check for non-emptiness. + An observable sequence containing a single element determining whether the source sequence contains any elements. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether any element of an observable sequence satisfies a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether any elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + (Asynchronous) The sum of the elements in the source sequence is larger than . + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using the default equality comparer. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using a specified System.Collections.Generic.IEqualityComparer<T>. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An equality comparer to compare elements. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the element at a specified index in a sequence. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence. + is null. + is less than zero. + (Asynchronous) is greater than or equal to the number of elements in the source sequence. + + + + Returns the element at a specified index in a sequence or a default value if the index is out of range. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence, or a default value if the index is outside the bounds of the source sequence. + is null. + is less than zero. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Determines whether an observable sequence is empty. + + The type of the elements in the source sequence. + An observable sequence to check for emptiness. + An observable sequence containing a single element determining whether the source sequence is empty. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + An observable sequence containing a single element with the maximum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + An observable sequence containing a single element with the minimum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the only element of an observable sequence, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence. + is null. + (Asynchronous) The source sequence contains more than one element. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence, or a default value if no such element exists. + is null. + (Asynchronous) The source sequence contains more than one element. + + + + Returns the only element of an observable sequence that matches the predicate, or a default value if no such element exists; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + (Asynchronous) The sequence contains more than one element that satisfies the condition in the predicate. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates an array from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get an array of elements for. + An observable sequence containing a single element with an array containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a list from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get a list of elements for. + An observable sequence containing a single element with a list containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes to the observable sequence, making it hot. + + The type of the elements in the source sequence. + Source sequence to await. + Object that can be awaited. + is null. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes and connects to the observable sequence, making it hot. + + The type of the elements in the source sequence. + Source sequence to await. + Object that can be awaited. + is null. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes to the observable sequence, making it hot. The supplied CancellationToken can be used to cancel the subscription. + + The type of the elements in the source sequence. + Source sequence to await. + Cancellation token. + Object that can be awaited. + is null. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes and connects to the observable sequence, making it hot. The supplied CancellationToken can be used to cancel the subscription and connection. + + The type of the elements in the source sequence. + Source sequence to await. + Cancellation token. + Object that can be awaited. + is null. + + + + Multicasts the source sequence notifications through the specified subject to the resulting connectable observable. Upon connection of the + connectable observable, the subject is subscribed to the source exactly one, and messages are forwarded to the observers registered with + the connectable observable. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be pushed into the specified subject. + Subject to push source elements into. + A connectable observable sequence that upon connection causes the source sequence to push results into the specified subject. + or is null. + + + + Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each + subscription to the resulting sequence causes a separate multicast invocation, exposing the sequence resulting from the selector function's + invocation. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements produced by the intermediate subject. + The type of the elements in the result sequence. + Source sequence which will be multicasted in the specified selector function. + Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function. + Selector function which can use the multicasted source sequence subject to the policies enforced by the created subject. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all notifications of the source from the time of the subscription on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Initial value received by observers upon subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + Initial value received by observers upon subscription. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will only receive the last notification of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will only receive the last notification of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + + The type of the elements in the source sequence. + Connectable observable sequence. + An observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all the notifications of the source. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Produces an enumerable sequence of consecutive (possibly empty) chunks of the source sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns consecutive (possibly empty) chunks upon each iteration. + is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create a new collector object. + Merges a sequence element with the current collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create the initial collector object. + Merges a sequence element with the current collector. + Factory to replace the current collector by a new collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or or is null. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Invokes an action for each element in the observable sequence, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Returns an enumerator that enumerates all values of the observable sequence. + + The type of the elements in the source sequence. + An observable sequence to get an enumerator for. + The enumerator that can be used to enumerate over the elements in the observable sequence. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Returns an enumerable sequence whose enumeration returns the latest observed element in the source observable sequence. + Enumerators on the resulting sequence will never produce the same element repeatedly, and will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns the last sampled element upon each iteration and subsequently blocks until the next element in the observable source sequence becomes available. + + + + Returns an enumerable sequence whose enumeration returns the most recently observed element in the source observable sequence, using the specified initial value in case no element has been sampled yet. + Enumerators on the resulting sequence never block and can produce the same element repeatedly. + + The type of the elements in the source sequence. + Source observable sequence. + Initial value that will be yielded by the enumerable sequence if no element has been sampled yet. + The enumerable sequence that returns the last sampled element upon each iteration. + is null. + + + + Returns an enumerable sequence whose enumeration blocks until the next element in the source observable sequence becomes available. + Enumerators on the resulting sequence will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that blocks upon each iteration until the next element in the observable source sequence becomes available. + is null. + + + + Returns the only element of an observable sequence, and throws an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence. + is null. + The source sequence contains more than one element. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and throws an exception if there is not exactly one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method throws an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence, or a default value if no such element exists. + is null. + The source sequence contains more than one element. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists; this method throws an exception if there is more than one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + The sequence contains more than one element that satisfies the condition in the predicate. + + + + + Waits for the observable sequence to complete and returns the last element of the sequence. + If the sequence terminates with an OnError notification, the exception is throw. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + This only invokes observer callbacks on a scheduler. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a scheduler, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + This only invokes observer callbacks on a synchronization context. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a synchronization context, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified scheduler. In order to invoke observer + callbacks on a scheduler, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified synchronization context. In order to invoke observer + callbacks on a synchronization context, use . + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently. + This overload is useful to "fix" an observable sequence that exhibits concurrent callbacks on individual observers, which is invalid behavior for the query processor. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + It's invalid behavior - according to the observer grammar - for a sequence to exhibit concurrent callbacks on a given observer. + This operator can be used to "fix" a source that doesn't conform to this rule. + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently, using the specified gate object. + This overload is useful when writing n-ary query operators, in order to prevent concurrent callbacks from different sources by synchronizing on a common gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Subscribes an observer to an enumerable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Disposable object that can be used to unsubscribe the observer from the enumerable + or is null. + + + + Subscribes an observer to an enumerable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Scheduler to perform the enumeration on. + Disposable object that can be used to unsubscribe the observer from the enumerable + or or is null. + + + + Converts an observable sequence to an enumerable sequence. + + The type of the elements in the source sequence. + An observable sequence to convert to an enumerable sequence. + The enumerable sequence containing the elements in the observable sequence. + is null. + + + + Exposes an observable sequence as an object with an Action-based .NET event. + + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with an Action<TSource>-based .NET event. + + The type of the elements in the source sequence. + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with a .NET event, conforming to the standard .NET event pattern. + + The type of the event data generated by the event. + Observable source sequence. + The event source object. + is null. + + + + Converts an enumerable sequence to an observable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + The observable sequence whose elements are pulled from the given enumerable sequence. + is null. + + + + Converts an enumerable sequence to an observable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + Scheduler to run the enumeration of the input sequence on. + The observable sequence whose elements are pulled from the given enumerable sequence. + or is null. + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to produce elements. + The observable sequence surfacing the elements produced by the asynchronous method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to produce elements. + The observable sequence surfacing the elements produced by the asynchronous method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Observable factory function to invoke for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger an invocation of the given observable factory function. + is null. + + + + Returns an observable sequence that starts the specified asynchronous factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Asynchronous factory function to start for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger the given asynchronous observable factory function to be started. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Returns an observable sequence that starts the specified cancellable asynchronous factory function whenever a new observer subscribes. + The CancellationToken passed to the asynchronous factory function is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Asynchronous factory function to start for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger the given asynchronous observable factory function to be started. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous observable factory function will be signaled. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence with no elements. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + An observable sequence with no elements. + is null. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + The generated sequence. + or or is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements, using the specified scheduler to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Scheduler on which to run the generator loop. + The generated sequence. + or or or is null. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence whose observers will never get called. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence whose observers will never get called. + + + + Generates an observable sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + + + + Generates an observable sequence of integral numbers within a specified range, using the specified scheduler to send out observer messages. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + Scheduler to run the generator loop on. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + is null. + + + + Generates an observable sequence that repeats the given element infinitely. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + An observable sequence that repeats the given element infinitely. + + + + Generates an observable sequence that repeats the given element infinitely, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element infinitely. + is null. + + + + Generates an observable sequence that repeats the given element the specified number of times. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + + + + Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + is null. + + + + Returns an observable sequence that contains a single element. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + An observable sequence containing the single specified element. + + + + Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + Scheduler to send the single element on. + An observable sequence containing the single specified element. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Factory function to obtain a resource object. + Factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. The resource is obtained and used through asynchronous methods. + The CancellationToken passed to the asynchronous methods is tied to the returned disposable subscription, allowing best-effort cancellation at any stage of the resource acquisition or usage. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Asynchronous factory function to obtain a resource object. + Asynchronous factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous resource factory and observable factory functions will be signaled. + + + + Creates a pattern that matches when both observable sequences have an available element. + + The type of the elements in the left sequence. + The type of the elements in the right sequence. + Observable sequence to match with the right sequence. + Observable sequence to match with the left sequence. + Pattern object that matches when both observable sequences have an available element. + or is null. + + + + Matches when the observable sequence has an available element and projects the element by invoking the selector function. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, returned by the selector function. + Observable sequence to apply the selector on. + Selector that will be invoked for elements in the source sequence. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + or is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results from matching several patterns. + is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results form matching several patterns. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that surfaces either of the given sequences, whichever reacted first. + or is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + A function invoked to define the boundaries of the produced buffers. A new buffer is started when the previous one is closed. + An observable sequence of buffers. + or is null. + + + + Projects each element of an observable sequence into zero or more buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequence indicating buffer opening events, also passed to the closing selector to obtain a sequence of buffer closing events. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + Observable sequence whose elements denote the creation of new buffers. + A function invoked to define the closing of each produced buffer. + An observable sequence of buffers. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer boundary events. + Source sequence to produce buffers over. + Sequence of buffer boundary markers. The current buffer is closed and a new buffer is opened upon receiving a boundary marker. + An observable sequence of buffers. + or is null. + + + + Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler. + + The type of the elements in the source sequence and sequences returned by the exception handler function. + The type of the exception to catch and handle. Needs to derive from . + Source sequence. + Exception handler function, producing another observable sequence. + An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source sequence and handler sequence. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results when an error occurred in the first sequence. + An observable sequence containing the first sequence's elements, followed by the elements of the second sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Merges two observable sequences into one observable sequence by using the selector function whenever one of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke whenever either of the sources produces an element. + An observable sequence containing the result of combining elements of both sources using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Sixteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke whenever any of the sources produces an element. For efficiency, the input list is reused after the selector returns. Either aggregate or copy the values during the function call. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful termination of the first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that contains the elements of the first sequence, followed by those of the second the sequence. + or is null. + + + + Concatenates all of the specified observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all inner observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + An observable sequence that contains the elements of each observed inner sequence, in sequential order. + is null. + + + + Concatenates all task results, as long as the previous task terminated successfully. + + The type of the results produced by the tasks. + Observable sequence of tasks. + An observable sequence that contains the results of each task, in sequential order. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a concatenation operation using . + + + + Merges elements from all inner observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that merges the elements of the inner sequences. + is null. + + + + Merges results from all source tasks into a single observable sequence. + + The type of the results produced by the source tasks. + Observable sequence of tasks. + The observable sequence that merges the results of the source tasks. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a merge operation using . + + + + Merges elements from all inner observable sequences into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + Maximum number of inner observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the inner sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the observable sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences, and using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + is less than or equal to zero. + + + + Merges elements from two observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + The observable sequence that merges the elements of the given sequences. + or is null. + + + + Merges elements from two observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + Scheduler used to introduce concurrency for making subscriptions to the given sequences. + The observable sequence that merges the elements of the given sequences. + or or is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful or exceptional termination of the first. + + The type of the elements in the source sequences. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results after the first sequence terminates. + An observable sequence that concatenates the first and second sequence, even if the first sequence terminates exceptionally. + or is null. + + + + Concatenates all of the specified observable sequences, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Returns the elements from the source observable sequence only after the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of skip behavior. + Source sequence to propagate elements for. + Observable sequence that triggers propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation. + or is null. + + + + Switches between the inner observable sequences such that the resulting sequence always produces elements from the most recently received inner observable sequence. + Each time a new inner observable sequence is received, the previous inner observable sequence is unsubscribed from. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received. + is null. + + + + Switches between the tasks such that the resulting sequence always produces results from the most recently received task. + Each time a new task is received, the previous task's result is ignored. + + The type of the results produced by the source tasks. + Observable sequence of tasks. + The observable sequence that at any point in time produces the result of the most recent task that has been received. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a switch operation using . + + + + Returns the elements from the source observable sequence until the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of take behavior. + Source sequence to propagate elements for. + Observable sequence that terminates propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + A function invoked to define the boundaries of the produced windows. A new window is started when the previous one is closed. + An observable sequence of windows. + or is null. + + + + Projects each element of an observable sequence into zero or more windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequence indicating window opening events, also passed to the closing selector to obtain a sequence of window closing events. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + Observable sequence whose elements denote the creation of new windows. + A function invoked to define the closing of each produced window. + An observable sequence of windows. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window boundary events. + Source sequence to produce windows over. + Sequence of window boundary markers. The current window is closed and a new window is opened upon receiving a boundary marker. + An observable sequence of windows. + or is null. + + + + Merges two observable sequences into one observable sequence by combining their elements in a pairwise fashion. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Sixteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges an observable sequence and an enumerable sequence into one observable sequence by using the selector function. + + The type of the elements in the first observable source sequence. + The type of the elements in the second enumerable source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second enumerable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Hides the identity of an observable sequence. + + The type of the elements in the source sequence. + An observable sequence whose identity to hide. + An observable sequence that hides the identity of the source sequence. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Number of elements to skip between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than or equal to zero. + + + + Dematerializes the explicit notification values of an observable sequence as implicit notifications. + + The type of the elements materialized in the source sequence notification objects. + An observable sequence containing explicit notification values which have to be turned into implicit notifications. + An observable sequence exhibiting the behavior corresponding to the source sequence's notification values. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + An observable sequence only containing the distinct contiguous elements from the source sequence. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct contiguous elements from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + Equality comparer for computed key values. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or or is null. + + + + Invokes an action for each element in the observable sequence, and propagates all observer messages through the result sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or or is null. + + + + Invokes the observer's methods for each message in the source sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Observer whose methods to invoke as part of the source sequence's observation. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes a specified action after the source observable sequence terminates gracefully or exceptionally. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke after the source observable sequence terminates. + Source sequence with the action-invoking termination behavior applied. + or is null. + + + + Ignores all elements in an observable sequence leaving only the termination messages. + + The type of the elements in the source sequence. + Source sequence. + An empty observable sequence that signals termination, successful or exceptional, of the source sequence. + is null. + + + + Materializes the implicit notifications of an observable sequence as explicit notification values. + + The type of the elements in the source sequence. + An observable sequence to get notification values for. + An observable sequence containing the materialized notification values from the source sequence. + is null. + + + + Repeats the observable sequence indefinitely. + + The type of the elements in the source sequence. + Observable sequence to repeat. + The observable sequence producing the elements of the given sequence repeatedly and sequentially. + is null. + + + + Repeats the observable sequence a specified number of times. + + The type of the elements in the source sequence. + Observable sequence to repeat. + Number of times to repeat the sequence. + The observable sequence producing the elements of the given sequence repeatedly. + is null. + is less than zero. + + + + Repeats the source observable sequence until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + + + + Repeats the source observable sequence the specified number of times or until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + Number of times to repeat the sequence. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + is less than zero. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. The specified seed value is used as the initial accumulator value. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to accumulate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to accumulate over. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Bypasses a specified number of elements at the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to bypass at the end of the source sequence. + An observable sequence containing the source sequence elements except for the bypassed ones at the end. + is null. + is less than zero. + + This operator accumulates a queue with a length enough to store the first elements. As more elements are + received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed. + + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Returns a specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a specified number of contiguous elements from the end of an observable sequence, using the specified scheduler to drain the queue. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + Scheduler used to drain the queue upon completion of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + or is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a list with the specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing a single list with the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements. Upon completion of the + source sequence, this buffer is produced on the result sequence. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + An observable sequence of windows. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Number of elements to skip between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than or equal to zero. + + + + Converts the elements of an observable sequence to the specified type. + + The type to convert the elements in the source sequence to. + The observable sequence that contains the elements to be converted. + An observable sequence that contains each element of the source sequence converted to the specified type. + is null. + + + + Returns the elements of the specified sequence or the type parameter's default value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), whose default value will be taken if the sequence is empty. + The sequence to return a default value for if it is empty. + An observable sequence that contains the default value for the TSource type if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns the elements of the specified sequence or the specified value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), and the specified default value which will be taken if the sequence is empty. + The sequence to return the specified value for if it is empty. + The value to return if the sequence is empty. + An observable sequence that contains the specified default value if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns an observable sequence that contains only distinct elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + An observable sequence only containing the distinct elements from the source sequence. + is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct elements from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + Equality comparer for source elements. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Groups the elements of an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered. + + or or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or is null. + + + + Correlates the elements of two sequences based on overlapping durations, and groups the results. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any element of the left sequence with overlapping elements from the right observable sequence. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Correlates the elements of two sequences based on overlapping durations. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any two overlapping elements of the left and right observable sequences. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Filters the elements of an observable sequence based on the specified type. + + The type to filter the elements in the source sequence on. + The observable sequence that contains the elements to be filtered. + An observable sequence that contains elements from the input sequence of type TResult. + is null. + + + + Projects each element of an observable sequence into a new form. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of an observable sequence into a new form by incorporating the element's index. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of the source observable sequence to the other observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the other sequence and the elements in the result sequence. + An observable sequence of elements to project. + An observable sequence to project each element from the source sequence onto. + An observable sequence whose elements are the result of projecting each source element onto the other sequence and merging all the resulting sequences together. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to a task and merges all of the task results into one observable sequence. + + The type of the elements in the source sequence. + The type of the result produced by the projected tasks and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of the tasks executed for each element of the input sequence. + This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + or is null. + + + + Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence. + + The type of the elements in the source sequence. + The type of the result produced by the projected tasks and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of the tasks executed for each element of the input sequence. + This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to a task, invokes the result selector for the source element and the task result, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the results produced by the projected intermediate tasks. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element. + or or is null. + This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + + + + Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the results produced by the projected intermediate tasks. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element. + or or is null. + This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element. + A transform function to apply when an error occurs in the source sequence. + A transform function to apply when the end of the source sequence is reached. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element; the second parameter represents the index of the source element. + A transform function to apply when an error occurs in the source sequence; the second parameter represents the index of the source element. + A transform function to apply when the end of the source sequence is reached; the second parameter represents the number of elements observed. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + The index of each source element is used in the projected form of that element. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Bypasses a specified number of elements in an observable sequence and then returns the remaining elements. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to skip before returning the remaining elements. + An observable sequence that contains the elements that occur after the specified index in the input sequence. + is null. + is less than zero. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Returns a specified number of contiguous elements from the start of an observable sequence. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + An observable sequence that contains the specified number of elements from the start of the input sequence. + is null. + is less than zero. + + + + Returns a specified number of contiguous elements from the start of an observable sequence, using the specified scheduler for the edge case of Take(0). + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + Scheduler used to produce an OnCompleted message in case count is set to 0. + An observable sequence that contains the specified number of elements from the start of the input sequence. + or is null. + is less than zero. + + + + Returns elements from an observable sequence as long as a specified condition is true. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Returns elements from an observable sequence as long as a specified condition is true. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Filters the elements of an observable sequence based on a predicate. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a condition. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Filters the elements of an observable sequence based on a predicate by incorporating the element's index. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a conditio; the second parameter of the function represents the index of the source element. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a buffer. + Maximum element count of a buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Time shifts the observable sequence by the specified relative time duration. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence by the specified relative time duration, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence based on a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or is null. + + + + Time shifts the observable sequence based on a subscription delay and a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Sequence indicating the delay for the subscription to the source. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or or is null. + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Time-shifted sequence. + is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Returns an observable sequence that produces a value after each period. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Returns an observable sequence that produces a value after each period, using the specified scheduler to run timers and to send out observer messages. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + is null. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Samples the observable sequence at each interval. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Sampled observable sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the observable sequence at each interval, using the specified scheduler to run sampling timers. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Scheduler to run the sampling timer on. + Sampled observable sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the source observable sequence using a samper observable sequence producing sampling ticks. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + The type of the elements in the sampling sequence. + Source sequence to sample. + Sampling tick sequence. + Sampled observable sequence. + or is null. + + + + Skips elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements for the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements from the observable source sequence until the specified start time. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + An observable sequence with the elements skipped until the specified start time. + is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Skips elements from the observable source sequence until the specified start time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + Scheduler to run the timer on. + An observable sequence with the elements skipped until the specified start time. + or is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Takes elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Takes elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Returns elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified schedulers to run timers and to drain the collected elements. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + Scheduler to drain the collected elements. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Takes elements for the specified duration until the specified end time. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + An observable sequence with the elements taken until the specified end time. + is null. + + + + Takes elements for the specified duration until the specified end time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + Scheduler to run the timer on. + An observable sequence with the elements taken until the specified end time. + or is null. + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + The throttled sequence. + is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration, using the specified scheduler to run throttling timers. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + Scheduler to run the throttle timers on. + The throttled sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another value within a computed throttle duration. + + The type of the elements in the source sequence. + The type of the elements in the throttle sequences selected for each element in the source sequence. + Source sequence to throttle. + Selector function to retrieve a sequence indicating the throttle duration for each given element. + The throttled sequence. + or is null. + + This operator throttles the source sequence by holding on to each element for the duration denoted by . + If another element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this + whole process. For streams where the duration computed by applying the to each element overlaps with + the occurrence of the successor element, the resulting stream won't produce any elements. In order to reduce the volume of a stream whilst + guaranteeing the periodic production of elements, consider using the Observable.Sample set of operators. + + + + + Records the time interval between consecutive elements in an observable sequence. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + An observable sequence with time interval information on elements. + is null. + + + + Records the time interval between consecutive elements in an observable sequence, using the specified scheduler to compute time intervals. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + Scheduler used to compute time intervals. + An observable sequence with time interval information on elements. + or is null. + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + The source sequence with a TimeoutException in case of a timeout. + is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + The source sequence with a TimeoutException in case of a timeout. + is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or is null. + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or or is null. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + An observable sequence that produces a value after the due time has elapsed. + + + + Returns an observable sequence that produces a single value at the specified absolute due time. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + An observable sequence that produces a value at due time. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after due time has elapsed and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed, using the specified scheduler to run the timer. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after the due time has elapsed. + is null. + + + + Returns an observable sequence that produces a single value at the specified absolute due time, using the specified scheduler to run the timer. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value at due time. + is null. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed, using the specified scheduler to run timers. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value after due time has elapsed and then each period. + is less than TimeSpan.Zero. + is null. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time, using the specified scheduler to run timers. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + is null. + + + + Timestamps each element in an observable sequence using the local system clock. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + An observable sequence with timestamp information on elements. + is null. + + + + Timestamp each element in an observable sequence using the clock of the specified scheduler. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + Scheduler used to compute timestamps. + An observable sequence with timestamp information on elements. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + The sequence of windows. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of windows. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Internal interface describing the LINQ to Events query language. + + + + + Base class for classes that expose an observable sequence as a well-known event pattern (sender, event arguments). + Contains functionality to maintain a map of event handler delegates to observable sequence subscriptions. Subclasses + should only add an event with custom add and remove methods calling into the base class's operations. + + The type of the sender that raises the event. + The type of the event data generated by the event. + + + + Creates a new event pattern source. + + Source sequence to expose as an event. + Delegate used to invoke the event for each element of the sequence. + or is null. + + + + Adds the specified event handler, causing a subscription to the underlying source. + + Event handler to add. The same delegate should be passed to the Remove operation in order to remove the event handler. + Invocation delegate to raise the event in the derived class. + or is null. + + + + Removes the specified event handler, causing a disposal of the corresponding subscription to the underlying source that was created during the Add operation. + + Event handler to remove. This should be the same delegate as one that was passed to the Add operation. + is null. + + + + Represents a .NET event invocation consisting of the weakly typed object that raised the event and the data that was generated by the event. + + The type of the event data generated by the event. + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + The type of the sender that raised the event. + The type of the event data generated by the event. + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Determines whether the current EventPattern<TSender, TEventArgs> object represents the same event as a specified EventPattern<TSender, TEventArgs> object. + + An object to compare to the current EventPattern<TSender, TEventArgs> object. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>. + + The System.Object to compare with the current EventPattern<TSender, TEventArgs>. + true if the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>; otherwise, false. + + + + Returns the hash code for the current EventPattern<TSender, TEventArgs> instance. + + A hash code for the current EventPattern<TSender, TEventArgs> instance. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent the same event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent a different event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects don't represent the same event; otherwise, false. + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Base class for historical schedulers, which are virtual time schedulers that use DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Base class for virtual time schedulers. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts the virtual time scheduler. + + + + + Stops the virtual time scheduler. + + + + + Advances the scheduler's clock to the specified time, running all work till that point. + + Absolute time to advance the scheduler's clock to. + is in the past. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time, running all work scheduled for that timespan. + + Relative time to advance the scheduler's clock by. + is negative. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time. + + Relative time to advance the scheduler's clock by. + is negative. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Discovers scheduler services by interface type. The base class implementation supports + only the IStopwatchProvider service. To influence service discovery - such as adding + support for other scheduler services - derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Gets whether the scheduler is enabled to run work. + + + + + Gets the comparer used to compare absolute time values. + + + + + Gets the scheduler's absolute time clock value. + + + + + Gets the scheduler's notion of current time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial clock value. + + + + Creates a new historical scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Provides a virtual time scheduler that uses DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Base class for virtual time schedulers using a priority queue for scheduled items. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the resulting sequence, after transformation through the subject. + + + + Creates an observable that can be connected and disconnected from its source. + + Underlying observable source sequence that can be connected and disconnected from the wrapper. + Subject exposed by the connectable observable, receiving data from the underlying source sequence upon connection. + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable object used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Subscribes an observer to the observable sequence. No values from the underlying observable source will be received unless a connection was established through the Connect method. + + Observer that will receive values from the underlying observable source when the current ConnectableObservable instance is connected through a call to Connect. + Disposable used to unsubscribe from the observable sequence. + + + + Provides a set of static methods for creating subjects. + + + + + Creates a subject from the specified observer and observable. + + The type of the elements received by the observer. + The type of the elements produced by the observable sequence. + The observer used to send messages to the subject. + The observable used to subscribe to messages sent from the subject. + Subject implemented using the given observer and observable. + or is null. + + + + Synchronizes the messages sent to the subject. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Subject whose messages are synchronized. + is null. + + + + Synchronizes the messages sent to the subject and notifies observers on the specified scheduler. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Scheduler to notify observers on. + Subject whose messages are synchronized and whose observers are notified on the given scheduler. + or is null. + + + + Represents the result of an asynchronous operation. + The last value before the OnCompleted notification, or the error received through OnError, is sent to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject that can only receive one value and that value is cached for all future observations. + + + + + Notifies all subscribed observers about the end of the sequence, also causing the last received value to be sent out (if any). + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Sends a value to the subject. The last value received before successful termination will be sent to all subscribed and future observers. + + The value to store in the subject. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Gets an awaitable object for the current AsyncSubject. + + Object that can be awaited. + + + + Specifies a callback action that will be invoked when the subject completes. + + Callback action that will be invoked when the subject completes. + is null. + + + + Gets the last element of the subject, potentially blocking until the subject completes successfully or exceptionally. + + The last element of the subject. Throws an InvalidOperationException if no element was received. + The source sequence is empty. + + + + Indicates whether the subject has observers subscribed to it. + + + + + Gets whether the AsyncSubject has completed. + + + + + Represents a value that changes over time. + Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class which creates a subject that caches its last value and starts with the specified value. + + Initial value sent to observers when no other value has been received by the subject yet. + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject. + + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the specified exception. + + The exception to send to all currently subscribed observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all currently subscribed observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribes all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Abstract base class for join patterns. + + + + + Represents a join pattern over one observable sequence. + + The type of the elements in the first source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over two observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + + + + Creates a pattern that matches when all three observable sequences have an available element. + + The type of the elements in the third observable sequence. + Observable sequence to match with the two previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over three observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + + + + Creates a pattern that matches when all four observable sequences have an available element. + + The type of the elements in the fourth observable sequence. + Observable sequence to match with the three previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over four observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + + + + Creates a pattern that matches when all five observable sequences have an available element. + + The type of the elements in the fifth observable sequence. + Observable sequence to match with the four previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over five observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + + + + Creates a pattern that matches when all six observable sequences have an available element. + + The type of the elements in the sixth observable sequence. + Observable sequence to match with the five previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over six observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + + + + Creates a pattern that matches when all seven observable sequences have an available element. + + The type of the elements in the seventh observable sequence. + Observable sequence to match with the six previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over seven observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + + + + Creates a pattern that matches when all eight observable sequences have an available element. + + The type of the elements in the eighth observable sequence. + Observable sequence to match with the seven previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over eight observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + + + + Creates a pattern that matches when all nine observable sequences have an available element. + + The type of the elements in the ninth observable sequence. + Observable sequence to match with the eight previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over nine observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + + + + Creates a pattern that matches when all ten observable sequences have an available element. + + The type of the elements in the tenth observable sequence. + Observable sequence to match with the nine previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over ten observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + + + + Creates a pattern that matches when all eleven observable sequences have an available element. + + The type of the elements in the eleventh observable sequence. + Observable sequence to match with the ten previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over eleven observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + + + + Creates a pattern that matches when all twelve observable sequences have an available element. + + The type of the elements in the twelfth observable sequence. + Observable sequence to match with the eleven previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over twelve observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + + + + Creates a pattern that matches when all thirteen observable sequences have an available element. + + The type of the elements in the thirteenth observable sequence. + Observable sequence to match with the twelve previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over thirteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + + + + Creates a pattern that matches when all fourteen observable sequences have an available element. + + The type of the elements in the fourteenth observable sequence. + Observable sequence to match with the thirteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over fourteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + + + + Creates a pattern that matches when all fifteen observable sequences have an available element. + + The type of the elements in the fifteenth observable sequence. + Observable sequence to match with the fourteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over fifteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + + + + Creates a pattern that matches when all sixteen observable sequences have an available element. + + The type of the elements in the sixteenth observable sequence. + Observable sequence to match with the fifteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over sixteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents an execution plan for join patterns. + + The type of the results produced by the plan. + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed and future observers, subject to buffer trimming policies. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class with the specified buffer size, window and scheduler. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is less than zero. -or- is less than TimeSpan.Zero. + is null. + + + + Initializes a new instance of the class with the specified buffer size and window. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + is less than zero. -or- is less than TimeSpan.Zero. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified scheduler. + + Scheduler the observers are invoked on. + is null. + + + + Initializes a new instance of the class with the specified buffer size and scheduler. + + Maximum element count of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than zero. + + + + Initializes a new instance of the class with the specified buffer size. + + Maximum element count of the replay buffer. + is less than zero. + + + + Initializes a new instance of the class with the specified window and scheduler. + + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than TimeSpan.Zero. + + + + Initializes a new instance of the class with the specified window. + + Maximum time length of the replay buffer. + is less than TimeSpan.Zero. + + + + Notifies all subscribed and future observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Notifies all subscribed and future observers about the specified exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed and future observers about the end of the sequence. + + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribe all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + The System.Reactive.Threading.Tasks namespace contains helpers for the conversion between tasks and observable sequences. + + + + + Provides a set of static methods for converting tasks to observable sequences. + + + + + Returns an observable sequence that signals when the task completes. + + Task to convert to an observable sequence. + An observable sequence that produces a unit value when the task completes, or propagates the exception produced by the task. + is null. + If the specified task object supports cancellation, consider using instead. + + + + Returns an observable sequence that propagates the result of the task. + + The type of the result produced by the task. + Task to convert to an observable sequence. + An observable sequence that produces the task's result, or propagates the exception produced by the task. + is null. + If the specified task object supports cancellation, consider using instead. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + The state to use as the underlying task's AsyncState. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + The state to use as the underlying task's AsyncState. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Represents a value associated with time interval information. + The time interval can represent the time it took to produce the value, the interval relative to a previous value, the value's delivery time relative to a base, etc. + + The type of the value being annotated with time interval information. + + + + Constructs a time interval value. + + The value to be annotated with a time interval. + Time interval associated with the value. + + + + Determines whether the current TimeInterval<T> value has the same Value and Interval as a specified TimeInterval<T> value. + + An object to compare to the current TimeInterval<T> value. + true if both TimeInterval<T> values have the same Value and Interval; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has the same Value and Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values don't have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has a different Value or Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current TimeInterval<T>. + + The System.Object to compare with the current TimeInterval<T>. + true if the specified System.Object is equal to the current TimeInterval<T>; otherwise, false. + + + + Returns the hash code for the current TimeInterval<T> value. + + A hash code for the current TimeInterval<T> value. + + + + Returns a string representation of the current TimeInterval<T> value. + + String representation of the current TimeInterval<T> value. + + + + Gets the value. + + + + + Gets the interval. + + + + + Represents value with a timestamp on it. + The timestamp typically represents the time the value was received, using an IScheduler's clock to obtain the current time. + + The type of the value being timestamped. + + + + Constructs a timestamped value. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + + + + Determines whether the current Timestamped<T> value has the same Value and Timestamp as a specified Timestamped<T> value. + + An object to compare to the current Timestamped<T> value. + true if both Timestamped<T> values have the same Value and Timestamp; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has the same Value and Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values don't have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has a different Value or Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current Timestamped<T>. + + The System.Object to compare with the current Timestamped<T>. + true if the specified System.Object is equal to the current Timestamped<T>; otherwise, false. + + + + Returns the hash code for the current Timestamped<T> value. + + A hash code for the current Timestamped<T> value. + + + + Returns a string representation of the current Timestamped<T> value. + + String representation of the current Timestamped<T> value. + + + + Gets the value. + + + + + Gets the timestamp. + + + + + A helper class with a factory method for creating Timestamped<T> instances. + + + + + Creates an instance of a Timestamped<T>. This is syntactic sugar that uses type inference + to avoid specifying a type in a constructor call, which is very useful when using anonymous types. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + Creates a new timestamped value. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Could not find event '{0}' on object of type '{1}'.. + + + + + Looks up a localized string similar to Could not find event '{0}' on type '{1}'.. + + + + + Looks up a localized string similar to Add method should take 1 parameter.. + + + + + Looks up a localized string similar to The second parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Event is missing the add method.. + + + + + Looks up a localized string similar to Event is missing the remove method.. + + + + + Looks up a localized string similar to The event delegate must have a void return type.. + + + + + Looks up a localized string similar to The event delegate must have exactly two parameters.. + + + + + Looks up a localized string similar to Remove method should take 1 parameter.. + + + + + Looks up a localized string similar to The first parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Remove method of a WinRT event should take an EventRegistrationToken.. + + + + + Looks up a localized string similar to Sequence contains more than one element.. + + + + + Looks up a localized string similar to Sequence contains more than one matching element.. + + + + + Looks up a localized string similar to Sequence contains no elements.. + + + + + Looks up a localized string similar to Sequence contains no matching element.. + + + + + Looks up a localized string similar to {0} cannot be called when the scheduler is already running. Try using Sleep instead.. + + + + diff --git a/packages/Rx-Linq.2.1.30214.0/lib/Net45/System.Reactive.Linq.dll b/packages/Rx-Linq.2.1.30214.0/lib/Net45/System.Reactive.Linq.dll new file mode 100644 index 00000000000..6d89076a1ac Binary files /dev/null and b/packages/Rx-Linq.2.1.30214.0/lib/Net45/System.Reactive.Linq.dll differ diff --git a/packages/Rx-Linq.2.1.30214.0/lib/NetCore45/System.Reactive.Linq.XML b/packages/Rx-Linq.2.1.30214.0/lib/NetCore45/System.Reactive.Linq.XML new file mode 100644 index 00000000000..10215d6365d --- /dev/null +++ b/packages/Rx-Linq.2.1.30214.0/lib/NetCore45/System.Reactive.Linq.XML @@ -0,0 +1,10565 @@ + + + + System.Reactive.Linq + + + + + The System.Reactive.Joins namespace contains classes used to express join patterns over observable sequences using fluent method syntax. + + + + + Provides a set of extension methods for virtual time scheduling. + + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Attribute applied to static classes providing expression tree forms of query methods, + mapping those to the corresponding methods for local query execution on the specified + target class type. + + + + + Creates a new mapping to the specified local execution query method implementation type. + + Type with query methods for local execution. + + + + Gets the type with the implementation of local query methods. + + + + + Provides a set of static methods for writing in-memory queries over observable sequences. + + + + + Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. + The loop can be quit prematurely by setting the specified cancellation token. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Cancellation token used to stop the loop. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. + The loop can be quit prematurely by setting the specified cancellation token. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Cancellation token used to stop the loop. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Uses to determine which source in to return, choosing if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Default source to select in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence on the specified scheduler if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Scheduler to generate an empty sequence on in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated after each repeated completed. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated upon the completion of an iteration through the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Concatenates the observable sequences obtained by running the for each element in the given enumerable . + + The type of the elements in the enumerable source sequence. + The type of the elements in the observable result sequence. + Enumerable source for which each element will be mapped onto an observable source that will be concatenated in the result sequence. + Function to select an observable source for each element in the . + The observable sequence obtained by concatenating the sources returned by for each element in the . + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, select the sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Sequence returned in case evaluates false. + if evaluates true; otherwise. + or or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + if evaluates true; an empty sequence otherwise. + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence generated on the specified scheduler. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Scheduler to generate an empty sequence on in case evaluates false. + if evaluates true; an empty sequence otherwise. + or or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated before each repeated is subscribed to. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated before subscription to the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the fourteenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the fourteenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Invokes the specified function asynchronously, surfacing the result through an observable sequence. + + The type of the result returned by the function. + Function to run asynchronously. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the specified function asynchronously on the specified scheduler, surfacing the result through an observable sequence + + The type of the result returned by the function. + Function to run asynchronously. + Scheduler to run the function on. + An observable sequence exposing the function's result value, or an exception. + or is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the asynchronous function, surfacing the result through an observable sequence. + + The type of the result returned by the asynchronous function. + Asynchronous function to run. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the asynchronous function, surfacing the result through an observable sequence. + The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information. + + The type of the result returned by the asynchronous function. + Asynchronous function to run. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed + subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. + Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription + to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using + multicast operators. + + + + + + + Invokes the action asynchronously, surfacing the result through an observable sequence. + + Action to run asynchronously. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the action asynchronously on the specified scheduler, surfacing the result through an observable sequence. + + Action to run asynchronously. + Scheduler to run the action on. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + or is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the asynchronous action, surfacing the result through an observable sequence. + + Asynchronous action to run. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the asynchronous action, surfacing the result through an observable sequence. + The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information. + + Asynchronous action to run. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed + subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. + Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription + to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using + multicast operators. + + + + + + + Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. + + The type of the result returned by the asynchronous function. + Asynchronous function to convert. + An observable sequence exposing the result of invoking the function, or an exception. + is null. + + + + Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. + The CancellationToken passed to the asynchronous function is tied to the observable sequence's subscription that triggered the function's invocation and can be used for best-effort cancellation. + + The type of the result returned by the asynchronous function. + Asynchronous function to convert. + An observable sequence exposing the result of invoking the function, or an exception. + is null. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled. + + + + Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. + + Asynchronous action to convert. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + + Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. + The CancellationToken passed to the asynchronous action is tied to the observable sequence's subscription that triggered the action's invocation and can be used for best-effort cancellation. + + Asynchronous action to convert. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the sixteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the sixteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + The type of the sixteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + The type of the sixteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value, + and the specified result selector function is used to select the result value. + + The type of the elements in the source sequence. + The type of the accumulator value. + The type of the resulting value. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + A function to transform the final accumulator value into the result value. + An observable sequence containing a single element with the final accumulator value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to aggregate over. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether all elements of an observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether all elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains any elements. + + The type of the elements in the source sequence. + An observable sequence to check for non-emptiness. + An observable sequence containing a single element determining whether the source sequence contains any elements. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether any element of an observable sequence satisfies a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether any elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + (Asynchronous) The sum of the elements in the source sequence is larger than . + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using the default equality comparer. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using a specified System.Collections.Generic.IEqualityComparer<T>. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An equality comparer to compare elements. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the element at a specified index in a sequence. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence. + is null. + is less than zero. + (Asynchronous) is greater than or equal to the number of elements in the source sequence. + + + + Returns the element at a specified index in a sequence or a default value if the index is out of range. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence, or a default value if the index is outside the bounds of the source sequence. + is null. + is less than zero. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Determines whether an observable sequence is empty. + + The type of the elements in the source sequence. + An observable sequence to check for emptiness. + An observable sequence containing a single element determining whether the source sequence is empty. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + An observable sequence containing a single element with the maximum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + An observable sequence containing a single element with the minimum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the only element of an observable sequence, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence. + is null. + (Asynchronous) The source sequence contains more than one element. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence, or a default value if no such element exists. + is null. + (Asynchronous) The source sequence contains more than one element. + + + + Returns the only element of an observable sequence that matches the predicate, or a default value if no such element exists; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + (Asynchronous) The sequence contains more than one element that satisfies the condition in the predicate. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates an array from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get an array of elements for. + An observable sequence containing a single element with an array containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a list from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get a list of elements for. + An observable sequence containing a single element with a list containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes to the observable sequence, making it hot. + + The type of the elements in the source sequence. + Source sequence to await. + Object that can be awaited. + is null. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes and connects to the observable sequence, making it hot. + + The type of the elements in the source sequence. + Source sequence to await. + Object that can be awaited. + is null. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes to the observable sequence, making it hot. The supplied CancellationToken can be used to cancel the subscription. + + The type of the elements in the source sequence. + Source sequence to await. + Cancellation token. + Object that can be awaited. + is null. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes and connects to the observable sequence, making it hot. The supplied CancellationToken can be used to cancel the subscription and connection. + + The type of the elements in the source sequence. + Source sequence to await. + Cancellation token. + Object that can be awaited. + is null. + + + + Multicasts the source sequence notifications through the specified subject to the resulting connectable observable. Upon connection of the + connectable observable, the subject is subscribed to the source exactly one, and messages are forwarded to the observers registered with + the connectable observable. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be pushed into the specified subject. + Subject to push source elements into. + A connectable observable sequence that upon connection causes the source sequence to push results into the specified subject. + or is null. + + + + Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each + subscription to the resulting sequence causes a separate multicast invocation, exposing the sequence resulting from the selector function's + invocation. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements produced by the intermediate subject. + The type of the elements in the result sequence. + Source sequence which will be multicasted in the specified selector function. + Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function. + Selector function which can use the multicasted source sequence subject to the policies enforced by the created subject. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all notifications of the source from the time of the subscription on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Initial value received by observers upon subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + Initial value received by observers upon subscription. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will only receive the last notification of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will only receive the last notification of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + + The type of the elements in the source sequence. + Connectable observable sequence. + An observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all the notifications of the source. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Produces an enumerable sequence of consecutive (possibly empty) chunks of the source sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns consecutive (possibly empty) chunks upon each iteration. + is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create a new collector object. + Merges a sequence element with the current collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create the initial collector object. + Merges a sequence element with the current collector. + Factory to replace the current collector by a new collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or or is null. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Invokes an action for each element in the observable sequence, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Returns an enumerator that enumerates all values of the observable sequence. + + The type of the elements in the source sequence. + An observable sequence to get an enumerator for. + The enumerator that can be used to enumerate over the elements in the observable sequence. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Returns an enumerable sequence whose enumeration returns the latest observed element in the source observable sequence. + Enumerators on the resulting sequence will never produce the same element repeatedly, and will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns the last sampled element upon each iteration and subsequently blocks until the next element in the observable source sequence becomes available. + + + + Returns an enumerable sequence whose enumeration returns the most recently observed element in the source observable sequence, using the specified initial value in case no element has been sampled yet. + Enumerators on the resulting sequence never block and can produce the same element repeatedly. + + The type of the elements in the source sequence. + Source observable sequence. + Initial value that will be yielded by the enumerable sequence if no element has been sampled yet. + The enumerable sequence that returns the last sampled element upon each iteration. + is null. + + + + Returns an enumerable sequence whose enumeration blocks until the next element in the source observable sequence becomes available. + Enumerators on the resulting sequence will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that blocks upon each iteration until the next element in the observable source sequence becomes available. + is null. + + + + Returns the only element of an observable sequence, and throws an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence. + is null. + The source sequence contains more than one element. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and throws an exception if there is not exactly one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method throws an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence, or a default value if no such element exists. + is null. + The source sequence contains more than one element. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists; this method throws an exception if there is more than one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + The sequence contains more than one element that satisfies the condition in the predicate. + + + + + Waits for the observable sequence to complete and returns the last element of the sequence. + If the sequence terminates with an OnError notification, the exception is throw. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + This only invokes observer callbacks on a scheduler. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a scheduler, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + This only invokes observer callbacks on a synchronization context. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a synchronization context, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified scheduler. In order to invoke observer + callbacks on a scheduler, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified synchronization context. In order to invoke observer + callbacks on a synchronization context, use . + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently. + This overload is useful to "fix" an observable sequence that exhibits concurrent callbacks on individual observers, which is invalid behavior for the query processor. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + It's invalid behavior - according to the observer grammar - for a sequence to exhibit concurrent callbacks on a given observer. + This operator can be used to "fix" a source that doesn't conform to this rule. + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently, using the specified gate object. + This overload is useful when writing n-ary query operators, in order to prevent concurrent callbacks from different sources by synchronizing on a common gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Subscribes an observer to an enumerable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Disposable object that can be used to unsubscribe the observer from the enumerable + or is null. + + + + Subscribes an observer to an enumerable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Scheduler to perform the enumeration on. + Disposable object that can be used to unsubscribe the observer from the enumerable + or or is null. + + + + Converts an observable sequence to an enumerable sequence. + + The type of the elements in the source sequence. + An observable sequence to convert to an enumerable sequence. + The enumerable sequence containing the elements in the observable sequence. + is null. + + + + Exposes an observable sequence as an object with an Action-based .NET event. + + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with an Action<TSource>-based .NET event. + + The type of the elements in the source sequence. + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with a .NET event, conforming to the standard .NET event pattern. + + The type of the event data generated by the event. + Observable source sequence. + The event source object. + is null. + + + + Converts an enumerable sequence to an observable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + The observable sequence whose elements are pulled from the given enumerable sequence. + is null. + + + + Converts an enumerable sequence to an observable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + Scheduler to run the enumeration of the input sequence on. + The observable sequence whose elements are pulled from the given enumerable sequence. + or is null. + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to produce elements. + The observable sequence surfacing the elements produced by the asynchronous method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to produce elements. + The observable sequence surfacing the elements produced by the asynchronous method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Observable factory function to invoke for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger an invocation of the given observable factory function. + is null. + + + + Returns an observable sequence that starts the specified asynchronous factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Asynchronous factory function to start for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger the given asynchronous observable factory function to be started. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Returns an observable sequence that starts the specified cancellable asynchronous factory function whenever a new observer subscribes. + The CancellationToken passed to the asynchronous factory function is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Asynchronous factory function to start for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger the given asynchronous observable factory function to be started. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous observable factory function will be signaled. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence with no elements. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + An observable sequence with no elements. + is null. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + The generated sequence. + or or is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements, using the specified scheduler to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Scheduler on which to run the generator loop. + The generated sequence. + or or or is null. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence whose observers will never get called. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence whose observers will never get called. + + + + Generates an observable sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + + + + Generates an observable sequence of integral numbers within a specified range, using the specified scheduler to send out observer messages. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + Scheduler to run the generator loop on. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + is null. + + + + Generates an observable sequence that repeats the given element infinitely. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + An observable sequence that repeats the given element infinitely. + + + + Generates an observable sequence that repeats the given element infinitely, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element infinitely. + is null. + + + + Generates an observable sequence that repeats the given element the specified number of times. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + + + + Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + is null. + + + + Returns an observable sequence that contains a single element. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + An observable sequence containing the single specified element. + + + + Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + Scheduler to send the single element on. + An observable sequence containing the single specified element. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Factory function to obtain a resource object. + Factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. The resource is obtained and used through asynchronous methods. + The CancellationToken passed to the asynchronous methods is tied to the returned disposable subscription, allowing best-effort cancellation at any stage of the resource acquisition or usage. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Asynchronous factory function to obtain a resource object. + Asynchronous factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous resource factory and observable factory functions will be signaled. + + + + Creates a pattern that matches when both observable sequences have an available element. + + The type of the elements in the left sequence. + The type of the elements in the right sequence. + Observable sequence to match with the right sequence. + Observable sequence to match with the left sequence. + Pattern object that matches when both observable sequences have an available element. + or is null. + + + + Matches when the observable sequence has an available element and projects the element by invoking the selector function. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, returned by the selector function. + Observable sequence to apply the selector on. + Selector that will be invoked for elements in the source sequence. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + or is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results from matching several patterns. + is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results form matching several patterns. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that surfaces either of the given sequences, whichever reacted first. + or is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + A function invoked to define the boundaries of the produced buffers. A new buffer is started when the previous one is closed. + An observable sequence of buffers. + or is null. + + + + Projects each element of an observable sequence into zero or more buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequence indicating buffer opening events, also passed to the closing selector to obtain a sequence of buffer closing events. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + Observable sequence whose elements denote the creation of new buffers. + A function invoked to define the closing of each produced buffer. + An observable sequence of buffers. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer boundary events. + Source sequence to produce buffers over. + Sequence of buffer boundary markers. The current buffer is closed and a new buffer is opened upon receiving a boundary marker. + An observable sequence of buffers. + or is null. + + + + Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler. + + The type of the elements in the source sequence and sequences returned by the exception handler function. + The type of the exception to catch and handle. Needs to derive from . + Source sequence. + Exception handler function, producing another observable sequence. + An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source sequence and handler sequence. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results when an error occurred in the first sequence. + An observable sequence containing the first sequence's elements, followed by the elements of the second sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Merges two observable sequences into one observable sequence by using the selector function whenever one of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke whenever either of the sources produces an element. + An observable sequence containing the result of combining elements of both sources using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Sixteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke whenever any of the sources produces an element. For efficiency, the input list is reused after the selector returns. Either aggregate or copy the values during the function call. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful termination of the first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that contains the elements of the first sequence, followed by those of the second the sequence. + or is null. + + + + Concatenates all of the specified observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all inner observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + An observable sequence that contains the elements of each observed inner sequence, in sequential order. + is null. + + + + Concatenates all task results, as long as the previous task terminated successfully. + + The type of the results produced by the tasks. + Observable sequence of tasks. + An observable sequence that contains the results of each task, in sequential order. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a concatenation operation using . + + + + Merges elements from all inner observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that merges the elements of the inner sequences. + is null. + + + + Merges results from all source tasks into a single observable sequence. + + The type of the results produced by the source tasks. + Observable sequence of tasks. + The observable sequence that merges the results of the source tasks. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a merge operation using . + + + + Merges elements from all inner observable sequences into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + Maximum number of inner observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the inner sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the observable sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences, and using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + is less than or equal to zero. + + + + Merges elements from two observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + The observable sequence that merges the elements of the given sequences. + or is null. + + + + Merges elements from two observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + Scheduler used to introduce concurrency for making subscriptions to the given sequences. + The observable sequence that merges the elements of the given sequences. + or or is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful or exceptional termination of the first. + + The type of the elements in the source sequences. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results after the first sequence terminates. + An observable sequence that concatenates the first and second sequence, even if the first sequence terminates exceptionally. + or is null. + + + + Concatenates all of the specified observable sequences, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Returns the elements from the source observable sequence only after the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of skip behavior. + Source sequence to propagate elements for. + Observable sequence that triggers propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation. + or is null. + + + + Switches between the inner observable sequences such that the resulting sequence always produces elements from the most recently received inner observable sequence. + Each time a new inner observable sequence is received, the previous inner observable sequence is unsubscribed from. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received. + is null. + + + + Switches between the tasks such that the resulting sequence always produces results from the most recently received task. + Each time a new task is received, the previous task's result is ignored. + + The type of the results produced by the source tasks. + Observable sequence of tasks. + The observable sequence that at any point in time produces the result of the most recent task that has been received. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a switch operation using . + + + + Returns the elements from the source observable sequence until the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of take behavior. + Source sequence to propagate elements for. + Observable sequence that terminates propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + A function invoked to define the boundaries of the produced windows. A new window is started when the previous one is closed. + An observable sequence of windows. + or is null. + + + + Projects each element of an observable sequence into zero or more windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequence indicating window opening events, also passed to the closing selector to obtain a sequence of window closing events. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + Observable sequence whose elements denote the creation of new windows. + A function invoked to define the closing of each produced window. + An observable sequence of windows. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window boundary events. + Source sequence to produce windows over. + Sequence of window boundary markers. The current window is closed and a new window is opened upon receiving a boundary marker. + An observable sequence of windows. + or is null. + + + + Merges two observable sequences into one observable sequence by combining their elements in a pairwise fashion. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Sixteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges an observable sequence and an enumerable sequence into one observable sequence by using the selector function. + + The type of the elements in the first observable source sequence. + The type of the elements in the second enumerable source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second enumerable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Hides the identity of an observable sequence. + + The type of the elements in the source sequence. + An observable sequence whose identity to hide. + An observable sequence that hides the identity of the source sequence. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Number of elements to skip between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than or equal to zero. + + + + Dematerializes the explicit notification values of an observable sequence as implicit notifications. + + The type of the elements materialized in the source sequence notification objects. + An observable sequence containing explicit notification values which have to be turned into implicit notifications. + An observable sequence exhibiting the behavior corresponding to the source sequence's notification values. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + An observable sequence only containing the distinct contiguous elements from the source sequence. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct contiguous elements from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + Equality comparer for computed key values. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or or is null. + + + + Invokes an action for each element in the observable sequence, and propagates all observer messages through the result sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or or is null. + + + + Invokes the observer's methods for each message in the source sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Observer whose methods to invoke as part of the source sequence's observation. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes a specified action after the source observable sequence terminates gracefully or exceptionally. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke after the source observable sequence terminates. + Source sequence with the action-invoking termination behavior applied. + or is null. + + + + Ignores all elements in an observable sequence leaving only the termination messages. + + The type of the elements in the source sequence. + Source sequence. + An empty observable sequence that signals termination, successful or exceptional, of the source sequence. + is null. + + + + Materializes the implicit notifications of an observable sequence as explicit notification values. + + The type of the elements in the source sequence. + An observable sequence to get notification values for. + An observable sequence containing the materialized notification values from the source sequence. + is null. + + + + Repeats the observable sequence indefinitely. + + The type of the elements in the source sequence. + Observable sequence to repeat. + The observable sequence producing the elements of the given sequence repeatedly and sequentially. + is null. + + + + Repeats the observable sequence a specified number of times. + + The type of the elements in the source sequence. + Observable sequence to repeat. + Number of times to repeat the sequence. + The observable sequence producing the elements of the given sequence repeatedly. + is null. + is less than zero. + + + + Repeats the source observable sequence until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + + + + Repeats the source observable sequence the specified number of times or until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + Number of times to repeat the sequence. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + is less than zero. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. The specified seed value is used as the initial accumulator value. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to accumulate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to accumulate over. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Bypasses a specified number of elements at the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to bypass at the end of the source sequence. + An observable sequence containing the source sequence elements except for the bypassed ones at the end. + is null. + is less than zero. + + This operator accumulates a queue with a length enough to store the first elements. As more elements are + received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed. + + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Returns a specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a specified number of contiguous elements from the end of an observable sequence, using the specified scheduler to drain the queue. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + Scheduler used to drain the queue upon completion of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + or is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a list with the specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing a single list with the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements. Upon completion of the + source sequence, this buffer is produced on the result sequence. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + An observable sequence of windows. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Number of elements to skip between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than or equal to zero. + + + + Converts the elements of an observable sequence to the specified type. + + The type to convert the elements in the source sequence to. + The observable sequence that contains the elements to be converted. + An observable sequence that contains each element of the source sequence converted to the specified type. + is null. + + + + Returns the elements of the specified sequence or the type parameter's default value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), whose default value will be taken if the sequence is empty. + The sequence to return a default value for if it is empty. + An observable sequence that contains the default value for the TSource type if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns the elements of the specified sequence or the specified value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), and the specified default value which will be taken if the sequence is empty. + The sequence to return the specified value for if it is empty. + The value to return if the sequence is empty. + An observable sequence that contains the specified default value if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns an observable sequence that contains only distinct elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + An observable sequence only containing the distinct elements from the source sequence. + is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct elements from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + Equality comparer for source elements. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Groups the elements of an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered. + + or or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or is null. + + + + Correlates the elements of two sequences based on overlapping durations, and groups the results. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any element of the left sequence with overlapping elements from the right observable sequence. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Correlates the elements of two sequences based on overlapping durations. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any two overlapping elements of the left and right observable sequences. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Filters the elements of an observable sequence based on the specified type. + + The type to filter the elements in the source sequence on. + The observable sequence that contains the elements to be filtered. + An observable sequence that contains elements from the input sequence of type TResult. + is null. + + + + Projects each element of an observable sequence into a new form. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of an observable sequence into a new form by incorporating the element's index. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of the source observable sequence to the other observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the other sequence and the elements in the result sequence. + An observable sequence of elements to project. + An observable sequence to project each element from the source sequence onto. + An observable sequence whose elements are the result of projecting each source element onto the other sequence and merging all the resulting sequences together. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to a task and merges all of the task results into one observable sequence. + + The type of the elements in the source sequence. + The type of the result produced by the projected tasks and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of the tasks executed for each element of the input sequence. + This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + or is null. + + + + Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence. + + The type of the elements in the source sequence. + The type of the result produced by the projected tasks and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of the tasks executed for each element of the input sequence. + This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to a task, invokes the result selector for the source element and the task result, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the results produced by the projected intermediate tasks. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element. + or or is null. + This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + + + + Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the results produced by the projected intermediate tasks. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element. + or or is null. + This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element. + A transform function to apply when an error occurs in the source sequence. + A transform function to apply when the end of the source sequence is reached. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element; the second parameter represents the index of the source element. + A transform function to apply when an error occurs in the source sequence; the second parameter represents the index of the source element. + A transform function to apply when the end of the source sequence is reached; the second parameter represents the number of elements observed. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + The index of each source element is used in the projected form of that element. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Bypasses a specified number of elements in an observable sequence and then returns the remaining elements. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to skip before returning the remaining elements. + An observable sequence that contains the elements that occur after the specified index in the input sequence. + is null. + is less than zero. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Returns a specified number of contiguous elements from the start of an observable sequence. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + An observable sequence that contains the specified number of elements from the start of the input sequence. + is null. + is less than zero. + + + + Returns a specified number of contiguous elements from the start of an observable sequence, using the specified scheduler for the edge case of Take(0). + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + Scheduler used to produce an OnCompleted message in case count is set to 0. + An observable sequence that contains the specified number of elements from the start of the input sequence. + or is null. + is less than zero. + + + + Returns elements from an observable sequence as long as a specified condition is true. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Returns elements from an observable sequence as long as a specified condition is true. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Filters the elements of an observable sequence based on a predicate. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a condition. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Filters the elements of an observable sequence based on a predicate by incorporating the element's index. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a conditio; the second parameter of the function represents the index of the source element. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a buffer. + Maximum element count of a buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Time shifts the observable sequence by the specified relative time duration. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence by the specified relative time duration, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence based on a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or is null. + + + + Time shifts the observable sequence based on a subscription delay and a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Sequence indicating the delay for the subscription to the source. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or or is null. + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Time-shifted sequence. + is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Returns an observable sequence that produces a value after each period. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Returns an observable sequence that produces a value after each period, using the specified scheduler to run timers and to send out observer messages. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + is null. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Samples the observable sequence at each interval. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Sampled observable sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the observable sequence at each interval, using the specified scheduler to run sampling timers. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Scheduler to run the sampling timer on. + Sampled observable sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the source observable sequence using a samper observable sequence producing sampling ticks. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + The type of the elements in the sampling sequence. + Source sequence to sample. + Sampling tick sequence. + Sampled observable sequence. + or is null. + + + + Skips elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements for the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements from the observable source sequence until the specified start time. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + An observable sequence with the elements skipped until the specified start time. + is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Skips elements from the observable source sequence until the specified start time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + Scheduler to run the timer on. + An observable sequence with the elements skipped until the specified start time. + or is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Takes elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Takes elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Returns elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified schedulers to run timers and to drain the collected elements. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + Scheduler to drain the collected elements. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Takes elements for the specified duration until the specified end time. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + An observable sequence with the elements taken until the specified end time. + is null. + + + + Takes elements for the specified duration until the specified end time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + Scheduler to run the timer on. + An observable sequence with the elements taken until the specified end time. + or is null. + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + The throttled sequence. + is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration, using the specified scheduler to run throttling timers. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + Scheduler to run the throttle timers on. + The throttled sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another value within a computed throttle duration. + + The type of the elements in the source sequence. + The type of the elements in the throttle sequences selected for each element in the source sequence. + Source sequence to throttle. + Selector function to retrieve a sequence indicating the throttle duration for each given element. + The throttled sequence. + or is null. + + This operator throttles the source sequence by holding on to each element for the duration denoted by . + If another element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this + whole process. For streams where the duration computed by applying the to each element overlaps with + the occurrence of the successor element, the resulting stream won't produce any elements. In order to reduce the volume of a stream whilst + guaranteeing the periodic production of elements, consider using the Observable.Sample set of operators. + + + + + Records the time interval between consecutive elements in an observable sequence. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + An observable sequence with time interval information on elements. + is null. + + + + Records the time interval between consecutive elements in an observable sequence, using the specified scheduler to compute time intervals. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + Scheduler used to compute time intervals. + An observable sequence with time interval information on elements. + or is null. + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + The source sequence with a TimeoutException in case of a timeout. + is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + The source sequence with a TimeoutException in case of a timeout. + is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or is null. + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or or is null. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + An observable sequence that produces a value after the due time has elapsed. + + + + Returns an observable sequence that produces a single value at the specified absolute due time. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + An observable sequence that produces a value at due time. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after due time has elapsed and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed, using the specified scheduler to run the timer. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after the due time has elapsed. + is null. + + + + Returns an observable sequence that produces a single value at the specified absolute due time, using the specified scheduler to run the timer. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value at due time. + is null. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed, using the specified scheduler to run timers. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value after due time has elapsed and then each period. + is less than TimeSpan.Zero. + is null. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time, using the specified scheduler to run timers. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + is null. + + + + Timestamps each element in an observable sequence using the local system clock. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + An observable sequence with timestamp information on elements. + is null. + + + + Timestamp each element in an observable sequence using the clock of the specified scheduler. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + Scheduler used to compute timestamps. + An observable sequence with timestamp information on elements. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + The sequence of windows. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of windows. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Internal interface describing the LINQ to Events query language. + + + + + Base class for classes that expose an observable sequence as a well-known event pattern (sender, event arguments). + Contains functionality to maintain a map of event handler delegates to observable sequence subscriptions. Subclasses + should only add an event with custom add and remove methods calling into the base class's operations. + + The type of the sender that raises the event. + The type of the event data generated by the event. + + + + Creates a new event pattern source. + + Source sequence to expose as an event. + Delegate used to invoke the event for each element of the sequence. + or is null. + + + + Adds the specified event handler, causing a subscription to the underlying source. + + Event handler to add. The same delegate should be passed to the Remove operation in order to remove the event handler. + Invocation delegate to raise the event in the derived class. + or is null. + + + + Removes the specified event handler, causing a disposal of the corresponding subscription to the underlying source that was created during the Add operation. + + Event handler to remove. This should be the same delegate as one that was passed to the Add operation. + is null. + + + + Represents a .NET event invocation consisting of the weakly typed object that raised the event and the data that was generated by the event. + + The type of the event data generated by the event. + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + The type of the sender that raised the event. + The type of the event data generated by the event. + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Determines whether the current EventPattern<TSender, TEventArgs> object represents the same event as a specified EventPattern<TSender, TEventArgs> object. + + An object to compare to the current EventPattern<TSender, TEventArgs> object. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>. + + The System.Object to compare with the current EventPattern<TSender, TEventArgs>. + true if the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>; otherwise, false. + + + + Returns the hash code for the current EventPattern<TSender, TEventArgs> instance. + + A hash code for the current EventPattern<TSender, TEventArgs> instance. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent the same event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent a different event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects don't represent the same event; otherwise, false. + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Base class for historical schedulers, which are virtual time schedulers that use DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Base class for virtual time schedulers. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts the virtual time scheduler. + + + + + Stops the virtual time scheduler. + + + + + Advances the scheduler's clock to the specified time, running all work till that point. + + Absolute time to advance the scheduler's clock to. + is in the past. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time, running all work scheduled for that timespan. + + Relative time to advance the scheduler's clock by. + is negative. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time. + + Relative time to advance the scheduler's clock by. + is negative. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Discovers scheduler services by interface type. The base class implementation supports + only the IStopwatchProvider service. To influence service discovery - such as adding + support for other scheduler services - derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Gets whether the scheduler is enabled to run work. + + + + + Gets the comparer used to compare absolute time values. + + + + + Gets the scheduler's absolute time clock value. + + + + + Gets the scheduler's notion of current time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial clock value. + + + + Creates a new historical scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Provides a virtual time scheduler that uses DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Base class for virtual time schedulers using a priority queue for scheduled items. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the resulting sequence, after transformation through the subject. + + + + Creates an observable that can be connected and disconnected from its source. + + Underlying observable source sequence that can be connected and disconnected from the wrapper. + Subject exposed by the connectable observable, receiving data from the underlying source sequence upon connection. + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable object used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Subscribes an observer to the observable sequence. No values from the underlying observable source will be received unless a connection was established through the Connect method. + + Observer that will receive values from the underlying observable source when the current ConnectableObservable instance is connected through a call to Connect. + Disposable used to unsubscribe from the observable sequence. + + + + Provides a set of static methods for creating subjects. + + + + + Creates a subject from the specified observer and observable. + + The type of the elements received by the observer. + The type of the elements produced by the observable sequence. + The observer used to send messages to the subject. + The observable used to subscribe to messages sent from the subject. + Subject implemented using the given observer and observable. + or is null. + + + + Synchronizes the messages sent to the subject. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Subject whose messages are synchronized. + is null. + + + + Synchronizes the messages sent to the subject and notifies observers on the specified scheduler. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Scheduler to notify observers on. + Subject whose messages are synchronized and whose observers are notified on the given scheduler. + or is null. + + + + Represents the result of an asynchronous operation. + The last value before the OnCompleted notification, or the error received through OnError, is sent to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject that can only receive one value and that value is cached for all future observations. + + + + + Notifies all subscribed observers about the end of the sequence, also causing the last received value to be sent out (if any). + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Sends a value to the subject. The last value received before successful termination will be sent to all subscribed and future observers. + + The value to store in the subject. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Gets an awaitable object for the current AsyncSubject. + + Object that can be awaited. + + + + Specifies a callback action that will be invoked when the subject completes. + + Callback action that will be invoked when the subject completes. + is null. + + + + Gets the last element of the subject, potentially blocking until the subject completes successfully or exceptionally. + + The last element of the subject. Throws an InvalidOperationException if no element was received. + The source sequence is empty. + + + + Indicates whether the subject has observers subscribed to it. + + + + + Gets whether the AsyncSubject has completed. + + + + + Represents a value that changes over time. + Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class which creates a subject that caches its last value and starts with the specified value. + + Initial value sent to observers when no other value has been received by the subject yet. + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject. + + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the specified exception. + + The exception to send to all currently subscribed observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all currently subscribed observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribes all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Abstract base class for join patterns. + + + + + Represents a join pattern over one observable sequence. + + The type of the elements in the first source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over two observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + + + + Creates a pattern that matches when all three observable sequences have an available element. + + The type of the elements in the third observable sequence. + Observable sequence to match with the two previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over three observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + + + + Creates a pattern that matches when all four observable sequences have an available element. + + The type of the elements in the fourth observable sequence. + Observable sequence to match with the three previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over four observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + + + + Creates a pattern that matches when all five observable sequences have an available element. + + The type of the elements in the fifth observable sequence. + Observable sequence to match with the four previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over five observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + + + + Creates a pattern that matches when all six observable sequences have an available element. + + The type of the elements in the sixth observable sequence. + Observable sequence to match with the five previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over six observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + + + + Creates a pattern that matches when all seven observable sequences have an available element. + + The type of the elements in the seventh observable sequence. + Observable sequence to match with the six previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over seven observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + + + + Creates a pattern that matches when all eight observable sequences have an available element. + + The type of the elements in the eighth observable sequence. + Observable sequence to match with the seven previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over eight observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + + + + Creates a pattern that matches when all nine observable sequences have an available element. + + The type of the elements in the ninth observable sequence. + Observable sequence to match with the eight previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over nine observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + + + + Creates a pattern that matches when all ten observable sequences have an available element. + + The type of the elements in the tenth observable sequence. + Observable sequence to match with the nine previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over ten observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + + + + Creates a pattern that matches when all eleven observable sequences have an available element. + + The type of the elements in the eleventh observable sequence. + Observable sequence to match with the ten previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over eleven observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + + + + Creates a pattern that matches when all twelve observable sequences have an available element. + + The type of the elements in the twelfth observable sequence. + Observable sequence to match with the eleven previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over twelve observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + + + + Creates a pattern that matches when all thirteen observable sequences have an available element. + + The type of the elements in the thirteenth observable sequence. + Observable sequence to match with the twelve previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over thirteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + + + + Creates a pattern that matches when all fourteen observable sequences have an available element. + + The type of the elements in the fourteenth observable sequence. + Observable sequence to match with the thirteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over fourteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + + + + Creates a pattern that matches when all fifteen observable sequences have an available element. + + The type of the elements in the fifteenth observable sequence. + Observable sequence to match with the fourteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over fifteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + + + + Creates a pattern that matches when all sixteen observable sequences have an available element. + + The type of the elements in the sixteenth observable sequence. + Observable sequence to match with the fifteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over sixteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents an execution plan for join patterns. + + The type of the results produced by the plan. + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed and future observers, subject to buffer trimming policies. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class with the specified buffer size, window and scheduler. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is less than zero. -or- is less than TimeSpan.Zero. + is null. + + + + Initializes a new instance of the class with the specified buffer size and window. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + is less than zero. -or- is less than TimeSpan.Zero. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified scheduler. + + Scheduler the observers are invoked on. + is null. + + + + Initializes a new instance of the class with the specified buffer size and scheduler. + + Maximum element count of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than zero. + + + + Initializes a new instance of the class with the specified buffer size. + + Maximum element count of the replay buffer. + is less than zero. + + + + Initializes a new instance of the class with the specified window and scheduler. + + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than TimeSpan.Zero. + + + + Initializes a new instance of the class with the specified window. + + Maximum time length of the replay buffer. + is less than TimeSpan.Zero. + + + + Notifies all subscribed and future observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Notifies all subscribed and future observers about the specified exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed and future observers about the end of the sequence. + + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribe all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + The System.Reactive.Threading.Tasks namespace contains helpers for the conversion between tasks and observable sequences. + + + + + Provides a set of static methods for converting tasks to observable sequences. + + + + + Returns an observable sequence that signals when the task completes. + + Task to convert to an observable sequence. + An observable sequence that produces a unit value when the task completes, or propagates the exception produced by the task. + is null. + If the specified task object supports cancellation, consider using instead. + + + + Returns an observable sequence that propagates the result of the task. + + The type of the result produced by the task. + Task to convert to an observable sequence. + An observable sequence that produces the task's result, or propagates the exception produced by the task. + is null. + If the specified task object supports cancellation, consider using instead. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + The state to use as the underlying task's AsyncState. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + The state to use as the underlying task's AsyncState. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Represents a value associated with time interval information. + The time interval can represent the time it took to produce the value, the interval relative to a previous value, the value's delivery time relative to a base, etc. + + The type of the value being annotated with time interval information. + + + + Constructs a time interval value. + + The value to be annotated with a time interval. + Time interval associated with the value. + + + + Determines whether the current TimeInterval<T> value has the same Value and Interval as a specified TimeInterval<T> value. + + An object to compare to the current TimeInterval<T> value. + true if both TimeInterval<T> values have the same Value and Interval; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has the same Value and Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values don't have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has a different Value or Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current TimeInterval<T>. + + The System.Object to compare with the current TimeInterval<T>. + true if the specified System.Object is equal to the current TimeInterval<T>; otherwise, false. + + + + Returns the hash code for the current TimeInterval<T> value. + + A hash code for the current TimeInterval<T> value. + + + + Returns a string representation of the current TimeInterval<T> value. + + String representation of the current TimeInterval<T> value. + + + + Gets the value. + + + + + Gets the interval. + + + + + Represents value with a timestamp on it. + The timestamp typically represents the time the value was received, using an IScheduler's clock to obtain the current time. + + The type of the value being timestamped. + + + + Constructs a timestamped value. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + + + + Determines whether the current Timestamped<T> value has the same Value and Timestamp as a specified Timestamped<T> value. + + An object to compare to the current Timestamped<T> value. + true if both Timestamped<T> values have the same Value and Timestamp; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has the same Value and Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values don't have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has a different Value or Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current Timestamped<T>. + + The System.Object to compare with the current Timestamped<T>. + true if the specified System.Object is equal to the current Timestamped<T>; otherwise, false. + + + + Returns the hash code for the current Timestamped<T> value. + + A hash code for the current Timestamped<T> value. + + + + Returns a string representation of the current Timestamped<T> value. + + String representation of the current Timestamped<T> value. + + + + Gets the value. + + + + + Gets the timestamp. + + + + + A helper class with a factory method for creating Timestamped<T> instances. + + + + + Creates an instance of a Timestamped<T>. This is syntactic sugar that uses type inference + to avoid specifying a type in a constructor call, which is very useful when using anonymous types. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + Creates a new timestamped value. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Could not find event '{0}' on object of type '{1}'.. + + + + + Looks up a localized string similar to Could not find event '{0}' on type '{1}'.. + + + + + Looks up a localized string similar to Add method should take 1 parameter.. + + + + + Looks up a localized string similar to The second parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Event is missing the add method.. + + + + + Looks up a localized string similar to Event is missing the remove method.. + + + + + Looks up a localized string similar to The event delegate must have a void return type.. + + + + + Looks up a localized string similar to The event delegate must have exactly two parameters.. + + + + + Looks up a localized string similar to Remove method should take 1 parameter.. + + + + + Looks up a localized string similar to The first parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Remove method of a WinRT event should take an EventRegistrationToken.. + + + + + Looks up a localized string similar to Sequence contains more than one element.. + + + + + Looks up a localized string similar to Sequence contains more than one matching element.. + + + + + Looks up a localized string similar to Sequence contains no elements.. + + + + + Looks up a localized string similar to Sequence contains no matching element.. + + + + + Looks up a localized string similar to {0} cannot be called when the scheduler is already running. Try using Sleep instead.. + + + + diff --git a/packages/Rx-Linq.2.1.30214.0/lib/NetCore45/System.Reactive.Linq.dll b/packages/Rx-Linq.2.1.30214.0/lib/NetCore45/System.Reactive.Linq.dll new file mode 100644 index 00000000000..6d89076a1ac Binary files /dev/null and b/packages/Rx-Linq.2.1.30214.0/lib/NetCore45/System.Reactive.Linq.dll differ diff --git a/packages/Rx-Linq.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Linq.XML b/packages/Rx-Linq.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Linq.XML new file mode 100644 index 00000000000..10215d6365d --- /dev/null +++ b/packages/Rx-Linq.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Linq.XML @@ -0,0 +1,10565 @@ + + + + System.Reactive.Linq + + + + + The System.Reactive.Joins namespace contains classes used to express join patterns over observable sequences using fluent method syntax. + + + + + Provides a set of extension methods for virtual time scheduling. + + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Attribute applied to static classes providing expression tree forms of query methods, + mapping those to the corresponding methods for local query execution on the specified + target class type. + + + + + Creates a new mapping to the specified local execution query method implementation type. + + Type with query methods for local execution. + + + + Gets the type with the implementation of local query methods. + + + + + Provides a set of static methods for writing in-memory queries over observable sequences. + + + + + Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. + The loop can be quit prematurely by setting the specified cancellation token. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Cancellation token used to stop the loop. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. + The loop can be quit prematurely by setting the specified cancellation token. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Cancellation token used to stop the loop. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Uses to determine which source in to return, choosing if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Default source to select in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence on the specified scheduler if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Scheduler to generate an empty sequence on in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated after each repeated completed. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated upon the completion of an iteration through the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Concatenates the observable sequences obtained by running the for each element in the given enumerable . + + The type of the elements in the enumerable source sequence. + The type of the elements in the observable result sequence. + Enumerable source for which each element will be mapped onto an observable source that will be concatenated in the result sequence. + Function to select an observable source for each element in the . + The observable sequence obtained by concatenating the sources returned by for each element in the . + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, select the sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Sequence returned in case evaluates false. + if evaluates true; otherwise. + or or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + if evaluates true; an empty sequence otherwise. + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence generated on the specified scheduler. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Scheduler to generate an empty sequence on in case evaluates false. + if evaluates true; an empty sequence otherwise. + or or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated before each repeated is subscribed to. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated before subscription to the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the fourteenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the fourteenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Invokes the specified function asynchronously, surfacing the result through an observable sequence. + + The type of the result returned by the function. + Function to run asynchronously. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the specified function asynchronously on the specified scheduler, surfacing the result through an observable sequence + + The type of the result returned by the function. + Function to run asynchronously. + Scheduler to run the function on. + An observable sequence exposing the function's result value, or an exception. + or is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the asynchronous function, surfacing the result through an observable sequence. + + The type of the result returned by the asynchronous function. + Asynchronous function to run. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the asynchronous function, surfacing the result through an observable sequence. + The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information. + + The type of the result returned by the asynchronous function. + Asynchronous function to run. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed + subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. + Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription + to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using + multicast operators. + + + + + + + Invokes the action asynchronously, surfacing the result through an observable sequence. + + Action to run asynchronously. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the action asynchronously on the specified scheduler, surfacing the result through an observable sequence. + + Action to run asynchronously. + Scheduler to run the action on. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + or is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the asynchronous action, surfacing the result through an observable sequence. + + Asynchronous action to run. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the asynchronous action, surfacing the result through an observable sequence. + The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information. + + Asynchronous action to run. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed + subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. + Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription + to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using + multicast operators. + + + + + + + Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. + + The type of the result returned by the asynchronous function. + Asynchronous function to convert. + An observable sequence exposing the result of invoking the function, or an exception. + is null. + + + + Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. + The CancellationToken passed to the asynchronous function is tied to the observable sequence's subscription that triggered the function's invocation and can be used for best-effort cancellation. + + The type of the result returned by the asynchronous function. + Asynchronous function to convert. + An observable sequence exposing the result of invoking the function, or an exception. + is null. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled. + + + + Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. + + Asynchronous action to convert. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + + Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. + The CancellationToken passed to the asynchronous action is tied to the observable sequence's subscription that triggered the action's invocation and can be used for best-effort cancellation. + + Asynchronous action to convert. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the sixteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the sixteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + The type of the sixteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + The type of the sixteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value, + and the specified result selector function is used to select the result value. + + The type of the elements in the source sequence. + The type of the accumulator value. + The type of the resulting value. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + A function to transform the final accumulator value into the result value. + An observable sequence containing a single element with the final accumulator value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to aggregate over. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether all elements of an observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether all elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains any elements. + + The type of the elements in the source sequence. + An observable sequence to check for non-emptiness. + An observable sequence containing a single element determining whether the source sequence contains any elements. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether any element of an observable sequence satisfies a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether any elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + (Asynchronous) The sum of the elements in the source sequence is larger than . + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using the default equality comparer. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using a specified System.Collections.Generic.IEqualityComparer<T>. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An equality comparer to compare elements. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the element at a specified index in a sequence. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence. + is null. + is less than zero. + (Asynchronous) is greater than or equal to the number of elements in the source sequence. + + + + Returns the element at a specified index in a sequence or a default value if the index is out of range. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence, or a default value if the index is outside the bounds of the source sequence. + is null. + is less than zero. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Determines whether an observable sequence is empty. + + The type of the elements in the source sequence. + An observable sequence to check for emptiness. + An observable sequence containing a single element determining whether the source sequence is empty. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + An observable sequence containing a single element with the maximum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + An observable sequence containing a single element with the minimum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the only element of an observable sequence, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence. + is null. + (Asynchronous) The source sequence contains more than one element. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence, or a default value if no such element exists. + is null. + (Asynchronous) The source sequence contains more than one element. + + + + Returns the only element of an observable sequence that matches the predicate, or a default value if no such element exists; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + (Asynchronous) The sequence contains more than one element that satisfies the condition in the predicate. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates an array from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get an array of elements for. + An observable sequence containing a single element with an array containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a list from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get a list of elements for. + An observable sequence containing a single element with a list containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes to the observable sequence, making it hot. + + The type of the elements in the source sequence. + Source sequence to await. + Object that can be awaited. + is null. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes and connects to the observable sequence, making it hot. + + The type of the elements in the source sequence. + Source sequence to await. + Object that can be awaited. + is null. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes to the observable sequence, making it hot. The supplied CancellationToken can be used to cancel the subscription. + + The type of the elements in the source sequence. + Source sequence to await. + Cancellation token. + Object that can be awaited. + is null. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes and connects to the observable sequence, making it hot. The supplied CancellationToken can be used to cancel the subscription and connection. + + The type of the elements in the source sequence. + Source sequence to await. + Cancellation token. + Object that can be awaited. + is null. + + + + Multicasts the source sequence notifications through the specified subject to the resulting connectable observable. Upon connection of the + connectable observable, the subject is subscribed to the source exactly one, and messages are forwarded to the observers registered with + the connectable observable. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be pushed into the specified subject. + Subject to push source elements into. + A connectable observable sequence that upon connection causes the source sequence to push results into the specified subject. + or is null. + + + + Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each + subscription to the resulting sequence causes a separate multicast invocation, exposing the sequence resulting from the selector function's + invocation. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements produced by the intermediate subject. + The type of the elements in the result sequence. + Source sequence which will be multicasted in the specified selector function. + Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function. + Selector function which can use the multicasted source sequence subject to the policies enforced by the created subject. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all notifications of the source from the time of the subscription on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Initial value received by observers upon subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + Initial value received by observers upon subscription. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will only receive the last notification of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will only receive the last notification of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + + The type of the elements in the source sequence. + Connectable observable sequence. + An observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all the notifications of the source. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Produces an enumerable sequence of consecutive (possibly empty) chunks of the source sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns consecutive (possibly empty) chunks upon each iteration. + is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create a new collector object. + Merges a sequence element with the current collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create the initial collector object. + Merges a sequence element with the current collector. + Factory to replace the current collector by a new collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or or is null. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Invokes an action for each element in the observable sequence, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Returns an enumerator that enumerates all values of the observable sequence. + + The type of the elements in the source sequence. + An observable sequence to get an enumerator for. + The enumerator that can be used to enumerate over the elements in the observable sequence. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Returns an enumerable sequence whose enumeration returns the latest observed element in the source observable sequence. + Enumerators on the resulting sequence will never produce the same element repeatedly, and will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns the last sampled element upon each iteration and subsequently blocks until the next element in the observable source sequence becomes available. + + + + Returns an enumerable sequence whose enumeration returns the most recently observed element in the source observable sequence, using the specified initial value in case no element has been sampled yet. + Enumerators on the resulting sequence never block and can produce the same element repeatedly. + + The type of the elements in the source sequence. + Source observable sequence. + Initial value that will be yielded by the enumerable sequence if no element has been sampled yet. + The enumerable sequence that returns the last sampled element upon each iteration. + is null. + + + + Returns an enumerable sequence whose enumeration blocks until the next element in the source observable sequence becomes available. + Enumerators on the resulting sequence will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that blocks upon each iteration until the next element in the observable source sequence becomes available. + is null. + + + + Returns the only element of an observable sequence, and throws an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence. + is null. + The source sequence contains more than one element. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and throws an exception if there is not exactly one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method throws an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence, or a default value if no such element exists. + is null. + The source sequence contains more than one element. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists; this method throws an exception if there is more than one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + The sequence contains more than one element that satisfies the condition in the predicate. + + + + + Waits for the observable sequence to complete and returns the last element of the sequence. + If the sequence terminates with an OnError notification, the exception is throw. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + This only invokes observer callbacks on a scheduler. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a scheduler, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + This only invokes observer callbacks on a synchronization context. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a synchronization context, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified scheduler. In order to invoke observer + callbacks on a scheduler, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified synchronization context. In order to invoke observer + callbacks on a synchronization context, use . + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently. + This overload is useful to "fix" an observable sequence that exhibits concurrent callbacks on individual observers, which is invalid behavior for the query processor. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + It's invalid behavior - according to the observer grammar - for a sequence to exhibit concurrent callbacks on a given observer. + This operator can be used to "fix" a source that doesn't conform to this rule. + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently, using the specified gate object. + This overload is useful when writing n-ary query operators, in order to prevent concurrent callbacks from different sources by synchronizing on a common gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Subscribes an observer to an enumerable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Disposable object that can be used to unsubscribe the observer from the enumerable + or is null. + + + + Subscribes an observer to an enumerable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Scheduler to perform the enumeration on. + Disposable object that can be used to unsubscribe the observer from the enumerable + or or is null. + + + + Converts an observable sequence to an enumerable sequence. + + The type of the elements in the source sequence. + An observable sequence to convert to an enumerable sequence. + The enumerable sequence containing the elements in the observable sequence. + is null. + + + + Exposes an observable sequence as an object with an Action-based .NET event. + + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with an Action<TSource>-based .NET event. + + The type of the elements in the source sequence. + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with a .NET event, conforming to the standard .NET event pattern. + + The type of the event data generated by the event. + Observable source sequence. + The event source object. + is null. + + + + Converts an enumerable sequence to an observable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + The observable sequence whose elements are pulled from the given enumerable sequence. + is null. + + + + Converts an enumerable sequence to an observable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + Scheduler to run the enumeration of the input sequence on. + The observable sequence whose elements are pulled from the given enumerable sequence. + or is null. + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to produce elements. + The observable sequence surfacing the elements produced by the asynchronous method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to produce elements. + The observable sequence surfacing the elements produced by the asynchronous method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Observable factory function to invoke for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger an invocation of the given observable factory function. + is null. + + + + Returns an observable sequence that starts the specified asynchronous factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Asynchronous factory function to start for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger the given asynchronous observable factory function to be started. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Returns an observable sequence that starts the specified cancellable asynchronous factory function whenever a new observer subscribes. + The CancellationToken passed to the asynchronous factory function is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Asynchronous factory function to start for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger the given asynchronous observable factory function to be started. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous observable factory function will be signaled. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence with no elements. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + An observable sequence with no elements. + is null. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + The generated sequence. + or or is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements, using the specified scheduler to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Scheduler on which to run the generator loop. + The generated sequence. + or or or is null. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence whose observers will never get called. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence whose observers will never get called. + + + + Generates an observable sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + + + + Generates an observable sequence of integral numbers within a specified range, using the specified scheduler to send out observer messages. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + Scheduler to run the generator loop on. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + is null. + + + + Generates an observable sequence that repeats the given element infinitely. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + An observable sequence that repeats the given element infinitely. + + + + Generates an observable sequence that repeats the given element infinitely, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element infinitely. + is null. + + + + Generates an observable sequence that repeats the given element the specified number of times. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + + + + Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + is null. + + + + Returns an observable sequence that contains a single element. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + An observable sequence containing the single specified element. + + + + Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + Scheduler to send the single element on. + An observable sequence containing the single specified element. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Factory function to obtain a resource object. + Factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. The resource is obtained and used through asynchronous methods. + The CancellationToken passed to the asynchronous methods is tied to the returned disposable subscription, allowing best-effort cancellation at any stage of the resource acquisition or usage. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Asynchronous factory function to obtain a resource object. + Asynchronous factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous resource factory and observable factory functions will be signaled. + + + + Creates a pattern that matches when both observable sequences have an available element. + + The type of the elements in the left sequence. + The type of the elements in the right sequence. + Observable sequence to match with the right sequence. + Observable sequence to match with the left sequence. + Pattern object that matches when both observable sequences have an available element. + or is null. + + + + Matches when the observable sequence has an available element and projects the element by invoking the selector function. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, returned by the selector function. + Observable sequence to apply the selector on. + Selector that will be invoked for elements in the source sequence. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + or is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results from matching several patterns. + is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results form matching several patterns. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that surfaces either of the given sequences, whichever reacted first. + or is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + A function invoked to define the boundaries of the produced buffers. A new buffer is started when the previous one is closed. + An observable sequence of buffers. + or is null. + + + + Projects each element of an observable sequence into zero or more buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequence indicating buffer opening events, also passed to the closing selector to obtain a sequence of buffer closing events. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + Observable sequence whose elements denote the creation of new buffers. + A function invoked to define the closing of each produced buffer. + An observable sequence of buffers. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer boundary events. + Source sequence to produce buffers over. + Sequence of buffer boundary markers. The current buffer is closed and a new buffer is opened upon receiving a boundary marker. + An observable sequence of buffers. + or is null. + + + + Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler. + + The type of the elements in the source sequence and sequences returned by the exception handler function. + The type of the exception to catch and handle. Needs to derive from . + Source sequence. + Exception handler function, producing another observable sequence. + An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source sequence and handler sequence. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results when an error occurred in the first sequence. + An observable sequence containing the first sequence's elements, followed by the elements of the second sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Merges two observable sequences into one observable sequence by using the selector function whenever one of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke whenever either of the sources produces an element. + An observable sequence containing the result of combining elements of both sources using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Sixteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke whenever any of the sources produces an element. For efficiency, the input list is reused after the selector returns. Either aggregate or copy the values during the function call. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful termination of the first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that contains the elements of the first sequence, followed by those of the second the sequence. + or is null. + + + + Concatenates all of the specified observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all inner observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + An observable sequence that contains the elements of each observed inner sequence, in sequential order. + is null. + + + + Concatenates all task results, as long as the previous task terminated successfully. + + The type of the results produced by the tasks. + Observable sequence of tasks. + An observable sequence that contains the results of each task, in sequential order. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a concatenation operation using . + + + + Merges elements from all inner observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that merges the elements of the inner sequences. + is null. + + + + Merges results from all source tasks into a single observable sequence. + + The type of the results produced by the source tasks. + Observable sequence of tasks. + The observable sequence that merges the results of the source tasks. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a merge operation using . + + + + Merges elements from all inner observable sequences into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + Maximum number of inner observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the inner sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the observable sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences, and using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + is less than or equal to zero. + + + + Merges elements from two observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + The observable sequence that merges the elements of the given sequences. + or is null. + + + + Merges elements from two observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + Scheduler used to introduce concurrency for making subscriptions to the given sequences. + The observable sequence that merges the elements of the given sequences. + or or is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful or exceptional termination of the first. + + The type of the elements in the source sequences. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results after the first sequence terminates. + An observable sequence that concatenates the first and second sequence, even if the first sequence terminates exceptionally. + or is null. + + + + Concatenates all of the specified observable sequences, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Returns the elements from the source observable sequence only after the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of skip behavior. + Source sequence to propagate elements for. + Observable sequence that triggers propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation. + or is null. + + + + Switches between the inner observable sequences such that the resulting sequence always produces elements from the most recently received inner observable sequence. + Each time a new inner observable sequence is received, the previous inner observable sequence is unsubscribed from. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received. + is null. + + + + Switches between the tasks such that the resulting sequence always produces results from the most recently received task. + Each time a new task is received, the previous task's result is ignored. + + The type of the results produced by the source tasks. + Observable sequence of tasks. + The observable sequence that at any point in time produces the result of the most recent task that has been received. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a switch operation using . + + + + Returns the elements from the source observable sequence until the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of take behavior. + Source sequence to propagate elements for. + Observable sequence that terminates propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + A function invoked to define the boundaries of the produced windows. A new window is started when the previous one is closed. + An observable sequence of windows. + or is null. + + + + Projects each element of an observable sequence into zero or more windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequence indicating window opening events, also passed to the closing selector to obtain a sequence of window closing events. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + Observable sequence whose elements denote the creation of new windows. + A function invoked to define the closing of each produced window. + An observable sequence of windows. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window boundary events. + Source sequence to produce windows over. + Sequence of window boundary markers. The current window is closed and a new window is opened upon receiving a boundary marker. + An observable sequence of windows. + or is null. + + + + Merges two observable sequences into one observable sequence by combining their elements in a pairwise fashion. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Sixteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges an observable sequence and an enumerable sequence into one observable sequence by using the selector function. + + The type of the elements in the first observable source sequence. + The type of the elements in the second enumerable source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second enumerable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Hides the identity of an observable sequence. + + The type of the elements in the source sequence. + An observable sequence whose identity to hide. + An observable sequence that hides the identity of the source sequence. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Number of elements to skip between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than or equal to zero. + + + + Dematerializes the explicit notification values of an observable sequence as implicit notifications. + + The type of the elements materialized in the source sequence notification objects. + An observable sequence containing explicit notification values which have to be turned into implicit notifications. + An observable sequence exhibiting the behavior corresponding to the source sequence's notification values. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + An observable sequence only containing the distinct contiguous elements from the source sequence. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct contiguous elements from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + Equality comparer for computed key values. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or or is null. + + + + Invokes an action for each element in the observable sequence, and propagates all observer messages through the result sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or or is null. + + + + Invokes the observer's methods for each message in the source sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Observer whose methods to invoke as part of the source sequence's observation. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes a specified action after the source observable sequence terminates gracefully or exceptionally. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke after the source observable sequence terminates. + Source sequence with the action-invoking termination behavior applied. + or is null. + + + + Ignores all elements in an observable sequence leaving only the termination messages. + + The type of the elements in the source sequence. + Source sequence. + An empty observable sequence that signals termination, successful or exceptional, of the source sequence. + is null. + + + + Materializes the implicit notifications of an observable sequence as explicit notification values. + + The type of the elements in the source sequence. + An observable sequence to get notification values for. + An observable sequence containing the materialized notification values from the source sequence. + is null. + + + + Repeats the observable sequence indefinitely. + + The type of the elements in the source sequence. + Observable sequence to repeat. + The observable sequence producing the elements of the given sequence repeatedly and sequentially. + is null. + + + + Repeats the observable sequence a specified number of times. + + The type of the elements in the source sequence. + Observable sequence to repeat. + Number of times to repeat the sequence. + The observable sequence producing the elements of the given sequence repeatedly. + is null. + is less than zero. + + + + Repeats the source observable sequence until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + + + + Repeats the source observable sequence the specified number of times or until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + Number of times to repeat the sequence. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + is less than zero. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. The specified seed value is used as the initial accumulator value. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to accumulate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to accumulate over. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Bypasses a specified number of elements at the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to bypass at the end of the source sequence. + An observable sequence containing the source sequence elements except for the bypassed ones at the end. + is null. + is less than zero. + + This operator accumulates a queue with a length enough to store the first elements. As more elements are + received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed. + + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Returns a specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a specified number of contiguous elements from the end of an observable sequence, using the specified scheduler to drain the queue. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + Scheduler used to drain the queue upon completion of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + or is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a list with the specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing a single list with the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements. Upon completion of the + source sequence, this buffer is produced on the result sequence. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + An observable sequence of windows. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Number of elements to skip between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than or equal to zero. + + + + Converts the elements of an observable sequence to the specified type. + + The type to convert the elements in the source sequence to. + The observable sequence that contains the elements to be converted. + An observable sequence that contains each element of the source sequence converted to the specified type. + is null. + + + + Returns the elements of the specified sequence or the type parameter's default value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), whose default value will be taken if the sequence is empty. + The sequence to return a default value for if it is empty. + An observable sequence that contains the default value for the TSource type if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns the elements of the specified sequence or the specified value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), and the specified default value which will be taken if the sequence is empty. + The sequence to return the specified value for if it is empty. + The value to return if the sequence is empty. + An observable sequence that contains the specified default value if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns an observable sequence that contains only distinct elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + An observable sequence only containing the distinct elements from the source sequence. + is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct elements from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + Equality comparer for source elements. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Groups the elements of an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered. + + or or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or is null. + + + + Correlates the elements of two sequences based on overlapping durations, and groups the results. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any element of the left sequence with overlapping elements from the right observable sequence. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Correlates the elements of two sequences based on overlapping durations. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any two overlapping elements of the left and right observable sequences. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Filters the elements of an observable sequence based on the specified type. + + The type to filter the elements in the source sequence on. + The observable sequence that contains the elements to be filtered. + An observable sequence that contains elements from the input sequence of type TResult. + is null. + + + + Projects each element of an observable sequence into a new form. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of an observable sequence into a new form by incorporating the element's index. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of the source observable sequence to the other observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the other sequence and the elements in the result sequence. + An observable sequence of elements to project. + An observable sequence to project each element from the source sequence onto. + An observable sequence whose elements are the result of projecting each source element onto the other sequence and merging all the resulting sequences together. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to a task and merges all of the task results into one observable sequence. + + The type of the elements in the source sequence. + The type of the result produced by the projected tasks and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of the tasks executed for each element of the input sequence. + This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + or is null. + + + + Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence. + + The type of the elements in the source sequence. + The type of the result produced by the projected tasks and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of the tasks executed for each element of the input sequence. + This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to a task, invokes the result selector for the source element and the task result, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the results produced by the projected intermediate tasks. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element. + or or is null. + This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + + + + Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the results produced by the projected intermediate tasks. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element. + or or is null. + This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element. + A transform function to apply when an error occurs in the source sequence. + A transform function to apply when the end of the source sequence is reached. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element; the second parameter represents the index of the source element. + A transform function to apply when an error occurs in the source sequence; the second parameter represents the index of the source element. + A transform function to apply when the end of the source sequence is reached; the second parameter represents the number of elements observed. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + The index of each source element is used in the projected form of that element. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Bypasses a specified number of elements in an observable sequence and then returns the remaining elements. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to skip before returning the remaining elements. + An observable sequence that contains the elements that occur after the specified index in the input sequence. + is null. + is less than zero. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Returns a specified number of contiguous elements from the start of an observable sequence. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + An observable sequence that contains the specified number of elements from the start of the input sequence. + is null. + is less than zero. + + + + Returns a specified number of contiguous elements from the start of an observable sequence, using the specified scheduler for the edge case of Take(0). + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + Scheduler used to produce an OnCompleted message in case count is set to 0. + An observable sequence that contains the specified number of elements from the start of the input sequence. + or is null. + is less than zero. + + + + Returns elements from an observable sequence as long as a specified condition is true. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Returns elements from an observable sequence as long as a specified condition is true. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Filters the elements of an observable sequence based on a predicate. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a condition. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Filters the elements of an observable sequence based on a predicate by incorporating the element's index. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a conditio; the second parameter of the function represents the index of the source element. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a buffer. + Maximum element count of a buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Time shifts the observable sequence by the specified relative time duration. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence by the specified relative time duration, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence based on a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or is null. + + + + Time shifts the observable sequence based on a subscription delay and a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Sequence indicating the delay for the subscription to the source. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or or is null. + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Time-shifted sequence. + is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Returns an observable sequence that produces a value after each period. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Returns an observable sequence that produces a value after each period, using the specified scheduler to run timers and to send out observer messages. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + is null. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Samples the observable sequence at each interval. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Sampled observable sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the observable sequence at each interval, using the specified scheduler to run sampling timers. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Scheduler to run the sampling timer on. + Sampled observable sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the source observable sequence using a samper observable sequence producing sampling ticks. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + The type of the elements in the sampling sequence. + Source sequence to sample. + Sampling tick sequence. + Sampled observable sequence. + or is null. + + + + Skips elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements for the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements from the observable source sequence until the specified start time. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + An observable sequence with the elements skipped until the specified start time. + is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Skips elements from the observable source sequence until the specified start time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + Scheduler to run the timer on. + An observable sequence with the elements skipped until the specified start time. + or is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Takes elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Takes elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Returns elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified schedulers to run timers and to drain the collected elements. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + Scheduler to drain the collected elements. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Takes elements for the specified duration until the specified end time. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + An observable sequence with the elements taken until the specified end time. + is null. + + + + Takes elements for the specified duration until the specified end time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + Scheduler to run the timer on. + An observable sequence with the elements taken until the specified end time. + or is null. + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + The throttled sequence. + is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration, using the specified scheduler to run throttling timers. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + Scheduler to run the throttle timers on. + The throttled sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another value within a computed throttle duration. + + The type of the elements in the source sequence. + The type of the elements in the throttle sequences selected for each element in the source sequence. + Source sequence to throttle. + Selector function to retrieve a sequence indicating the throttle duration for each given element. + The throttled sequence. + or is null. + + This operator throttles the source sequence by holding on to each element for the duration denoted by . + If another element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this + whole process. For streams where the duration computed by applying the to each element overlaps with + the occurrence of the successor element, the resulting stream won't produce any elements. In order to reduce the volume of a stream whilst + guaranteeing the periodic production of elements, consider using the Observable.Sample set of operators. + + + + + Records the time interval between consecutive elements in an observable sequence. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + An observable sequence with time interval information on elements. + is null. + + + + Records the time interval between consecutive elements in an observable sequence, using the specified scheduler to compute time intervals. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + Scheduler used to compute time intervals. + An observable sequence with time interval information on elements. + or is null. + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + The source sequence with a TimeoutException in case of a timeout. + is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + The source sequence with a TimeoutException in case of a timeout. + is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or is null. + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or or is null. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + An observable sequence that produces a value after the due time has elapsed. + + + + Returns an observable sequence that produces a single value at the specified absolute due time. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + An observable sequence that produces a value at due time. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after due time has elapsed and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed, using the specified scheduler to run the timer. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after the due time has elapsed. + is null. + + + + Returns an observable sequence that produces a single value at the specified absolute due time, using the specified scheduler to run the timer. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value at due time. + is null. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed, using the specified scheduler to run timers. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value after due time has elapsed and then each period. + is less than TimeSpan.Zero. + is null. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time, using the specified scheduler to run timers. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + is null. + + + + Timestamps each element in an observable sequence using the local system clock. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + An observable sequence with timestamp information on elements. + is null. + + + + Timestamp each element in an observable sequence using the clock of the specified scheduler. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + Scheduler used to compute timestamps. + An observable sequence with timestamp information on elements. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + The sequence of windows. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of windows. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Internal interface describing the LINQ to Events query language. + + + + + Base class for classes that expose an observable sequence as a well-known event pattern (sender, event arguments). + Contains functionality to maintain a map of event handler delegates to observable sequence subscriptions. Subclasses + should only add an event with custom add and remove methods calling into the base class's operations. + + The type of the sender that raises the event. + The type of the event data generated by the event. + + + + Creates a new event pattern source. + + Source sequence to expose as an event. + Delegate used to invoke the event for each element of the sequence. + or is null. + + + + Adds the specified event handler, causing a subscription to the underlying source. + + Event handler to add. The same delegate should be passed to the Remove operation in order to remove the event handler. + Invocation delegate to raise the event in the derived class. + or is null. + + + + Removes the specified event handler, causing a disposal of the corresponding subscription to the underlying source that was created during the Add operation. + + Event handler to remove. This should be the same delegate as one that was passed to the Add operation. + is null. + + + + Represents a .NET event invocation consisting of the weakly typed object that raised the event and the data that was generated by the event. + + The type of the event data generated by the event. + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + The type of the sender that raised the event. + The type of the event data generated by the event. + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Determines whether the current EventPattern<TSender, TEventArgs> object represents the same event as a specified EventPattern<TSender, TEventArgs> object. + + An object to compare to the current EventPattern<TSender, TEventArgs> object. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>. + + The System.Object to compare with the current EventPattern<TSender, TEventArgs>. + true if the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>; otherwise, false. + + + + Returns the hash code for the current EventPattern<TSender, TEventArgs> instance. + + A hash code for the current EventPattern<TSender, TEventArgs> instance. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent the same event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent a different event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects don't represent the same event; otherwise, false. + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Base class for historical schedulers, which are virtual time schedulers that use DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Base class for virtual time schedulers. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts the virtual time scheduler. + + + + + Stops the virtual time scheduler. + + + + + Advances the scheduler's clock to the specified time, running all work till that point. + + Absolute time to advance the scheduler's clock to. + is in the past. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time, running all work scheduled for that timespan. + + Relative time to advance the scheduler's clock by. + is negative. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time. + + Relative time to advance the scheduler's clock by. + is negative. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Discovers scheduler services by interface type. The base class implementation supports + only the IStopwatchProvider service. To influence service discovery - such as adding + support for other scheduler services - derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Gets whether the scheduler is enabled to run work. + + + + + Gets the comparer used to compare absolute time values. + + + + + Gets the scheduler's absolute time clock value. + + + + + Gets the scheduler's notion of current time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial clock value. + + + + Creates a new historical scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Provides a virtual time scheduler that uses DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Base class for virtual time schedulers using a priority queue for scheduled items. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the resulting sequence, after transformation through the subject. + + + + Creates an observable that can be connected and disconnected from its source. + + Underlying observable source sequence that can be connected and disconnected from the wrapper. + Subject exposed by the connectable observable, receiving data from the underlying source sequence upon connection. + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable object used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Subscribes an observer to the observable sequence. No values from the underlying observable source will be received unless a connection was established through the Connect method. + + Observer that will receive values from the underlying observable source when the current ConnectableObservable instance is connected through a call to Connect. + Disposable used to unsubscribe from the observable sequence. + + + + Provides a set of static methods for creating subjects. + + + + + Creates a subject from the specified observer and observable. + + The type of the elements received by the observer. + The type of the elements produced by the observable sequence. + The observer used to send messages to the subject. + The observable used to subscribe to messages sent from the subject. + Subject implemented using the given observer and observable. + or is null. + + + + Synchronizes the messages sent to the subject. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Subject whose messages are synchronized. + is null. + + + + Synchronizes the messages sent to the subject and notifies observers on the specified scheduler. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Scheduler to notify observers on. + Subject whose messages are synchronized and whose observers are notified on the given scheduler. + or is null. + + + + Represents the result of an asynchronous operation. + The last value before the OnCompleted notification, or the error received through OnError, is sent to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject that can only receive one value and that value is cached for all future observations. + + + + + Notifies all subscribed observers about the end of the sequence, also causing the last received value to be sent out (if any). + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Sends a value to the subject. The last value received before successful termination will be sent to all subscribed and future observers. + + The value to store in the subject. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Gets an awaitable object for the current AsyncSubject. + + Object that can be awaited. + + + + Specifies a callback action that will be invoked when the subject completes. + + Callback action that will be invoked when the subject completes. + is null. + + + + Gets the last element of the subject, potentially blocking until the subject completes successfully or exceptionally. + + The last element of the subject. Throws an InvalidOperationException if no element was received. + The source sequence is empty. + + + + Indicates whether the subject has observers subscribed to it. + + + + + Gets whether the AsyncSubject has completed. + + + + + Represents a value that changes over time. + Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class which creates a subject that caches its last value and starts with the specified value. + + Initial value sent to observers when no other value has been received by the subject yet. + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject. + + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the specified exception. + + The exception to send to all currently subscribed observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all currently subscribed observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribes all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Abstract base class for join patterns. + + + + + Represents a join pattern over one observable sequence. + + The type of the elements in the first source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over two observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + + + + Creates a pattern that matches when all three observable sequences have an available element. + + The type of the elements in the third observable sequence. + Observable sequence to match with the two previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over three observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + + + + Creates a pattern that matches when all four observable sequences have an available element. + + The type of the elements in the fourth observable sequence. + Observable sequence to match with the three previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over four observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + + + + Creates a pattern that matches when all five observable sequences have an available element. + + The type of the elements in the fifth observable sequence. + Observable sequence to match with the four previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over five observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + + + + Creates a pattern that matches when all six observable sequences have an available element. + + The type of the elements in the sixth observable sequence. + Observable sequence to match with the five previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over six observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + + + + Creates a pattern that matches when all seven observable sequences have an available element. + + The type of the elements in the seventh observable sequence. + Observable sequence to match with the six previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over seven observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + + + + Creates a pattern that matches when all eight observable sequences have an available element. + + The type of the elements in the eighth observable sequence. + Observable sequence to match with the seven previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over eight observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + + + + Creates a pattern that matches when all nine observable sequences have an available element. + + The type of the elements in the ninth observable sequence. + Observable sequence to match with the eight previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over nine observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + + + + Creates a pattern that matches when all ten observable sequences have an available element. + + The type of the elements in the tenth observable sequence. + Observable sequence to match with the nine previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over ten observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + + + + Creates a pattern that matches when all eleven observable sequences have an available element. + + The type of the elements in the eleventh observable sequence. + Observable sequence to match with the ten previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over eleven observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + + + + Creates a pattern that matches when all twelve observable sequences have an available element. + + The type of the elements in the twelfth observable sequence. + Observable sequence to match with the eleven previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over twelve observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + + + + Creates a pattern that matches when all thirteen observable sequences have an available element. + + The type of the elements in the thirteenth observable sequence. + Observable sequence to match with the twelve previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over thirteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + + + + Creates a pattern that matches when all fourteen observable sequences have an available element. + + The type of the elements in the fourteenth observable sequence. + Observable sequence to match with the thirteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over fourteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + + + + Creates a pattern that matches when all fifteen observable sequences have an available element. + + The type of the elements in the fifteenth observable sequence. + Observable sequence to match with the fourteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over fifteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + + + + Creates a pattern that matches when all sixteen observable sequences have an available element. + + The type of the elements in the sixteenth observable sequence. + Observable sequence to match with the fifteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over sixteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents an execution plan for join patterns. + + The type of the results produced by the plan. + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed and future observers, subject to buffer trimming policies. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class with the specified buffer size, window and scheduler. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is less than zero. -or- is less than TimeSpan.Zero. + is null. + + + + Initializes a new instance of the class with the specified buffer size and window. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + is less than zero. -or- is less than TimeSpan.Zero. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified scheduler. + + Scheduler the observers are invoked on. + is null. + + + + Initializes a new instance of the class with the specified buffer size and scheduler. + + Maximum element count of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than zero. + + + + Initializes a new instance of the class with the specified buffer size. + + Maximum element count of the replay buffer. + is less than zero. + + + + Initializes a new instance of the class with the specified window and scheduler. + + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than TimeSpan.Zero. + + + + Initializes a new instance of the class with the specified window. + + Maximum time length of the replay buffer. + is less than TimeSpan.Zero. + + + + Notifies all subscribed and future observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Notifies all subscribed and future observers about the specified exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed and future observers about the end of the sequence. + + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribe all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + The System.Reactive.Threading.Tasks namespace contains helpers for the conversion between tasks and observable sequences. + + + + + Provides a set of static methods for converting tasks to observable sequences. + + + + + Returns an observable sequence that signals when the task completes. + + Task to convert to an observable sequence. + An observable sequence that produces a unit value when the task completes, or propagates the exception produced by the task. + is null. + If the specified task object supports cancellation, consider using instead. + + + + Returns an observable sequence that propagates the result of the task. + + The type of the result produced by the task. + Task to convert to an observable sequence. + An observable sequence that produces the task's result, or propagates the exception produced by the task. + is null. + If the specified task object supports cancellation, consider using instead. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + The state to use as the underlying task's AsyncState. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + The state to use as the underlying task's AsyncState. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Represents a value associated with time interval information. + The time interval can represent the time it took to produce the value, the interval relative to a previous value, the value's delivery time relative to a base, etc. + + The type of the value being annotated with time interval information. + + + + Constructs a time interval value. + + The value to be annotated with a time interval. + Time interval associated with the value. + + + + Determines whether the current TimeInterval<T> value has the same Value and Interval as a specified TimeInterval<T> value. + + An object to compare to the current TimeInterval<T> value. + true if both TimeInterval<T> values have the same Value and Interval; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has the same Value and Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values don't have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has a different Value or Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current TimeInterval<T>. + + The System.Object to compare with the current TimeInterval<T>. + true if the specified System.Object is equal to the current TimeInterval<T>; otherwise, false. + + + + Returns the hash code for the current TimeInterval<T> value. + + A hash code for the current TimeInterval<T> value. + + + + Returns a string representation of the current TimeInterval<T> value. + + String representation of the current TimeInterval<T> value. + + + + Gets the value. + + + + + Gets the interval. + + + + + Represents value with a timestamp on it. + The timestamp typically represents the time the value was received, using an IScheduler's clock to obtain the current time. + + The type of the value being timestamped. + + + + Constructs a timestamped value. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + + + + Determines whether the current Timestamped<T> value has the same Value and Timestamp as a specified Timestamped<T> value. + + An object to compare to the current Timestamped<T> value. + true if both Timestamped<T> values have the same Value and Timestamp; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has the same Value and Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values don't have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has a different Value or Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current Timestamped<T>. + + The System.Object to compare with the current Timestamped<T>. + true if the specified System.Object is equal to the current Timestamped<T>; otherwise, false. + + + + Returns the hash code for the current Timestamped<T> value. + + A hash code for the current Timestamped<T> value. + + + + Returns a string representation of the current Timestamped<T> value. + + String representation of the current Timestamped<T> value. + + + + Gets the value. + + + + + Gets the timestamp. + + + + + A helper class with a factory method for creating Timestamped<T> instances. + + + + + Creates an instance of a Timestamped<T>. This is syntactic sugar that uses type inference + to avoid specifying a type in a constructor call, which is very useful when using anonymous types. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + Creates a new timestamped value. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Could not find event '{0}' on object of type '{1}'.. + + + + + Looks up a localized string similar to Could not find event '{0}' on type '{1}'.. + + + + + Looks up a localized string similar to Add method should take 1 parameter.. + + + + + Looks up a localized string similar to The second parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Event is missing the add method.. + + + + + Looks up a localized string similar to Event is missing the remove method.. + + + + + Looks up a localized string similar to The event delegate must have a void return type.. + + + + + Looks up a localized string similar to The event delegate must have exactly two parameters.. + + + + + Looks up a localized string similar to Remove method should take 1 parameter.. + + + + + Looks up a localized string similar to The first parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Remove method of a WinRT event should take an EventRegistrationToken.. + + + + + Looks up a localized string similar to Sequence contains more than one element.. + + + + + Looks up a localized string similar to Sequence contains more than one matching element.. + + + + + Looks up a localized string similar to Sequence contains no elements.. + + + + + Looks up a localized string similar to Sequence contains no matching element.. + + + + + Looks up a localized string similar to {0} cannot be called when the scheduler is already running. Try using Sleep instead.. + + + + diff --git a/packages/Rx-Linq.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Linq.dll b/packages/Rx-Linq.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Linq.dll new file mode 100644 index 00000000000..6d89076a1ac Binary files /dev/null and b/packages/Rx-Linq.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Linq.dll differ diff --git a/packages/Rx-Linq.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Linq.XML b/packages/Rx-Linq.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Linq.XML new file mode 100644 index 00000000000..0c79927a5bf --- /dev/null +++ b/packages/Rx-Linq.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Linq.XML @@ -0,0 +1,7587 @@ + + + + System.Reactive.Linq + + + + + The System.Reactive.Joins namespace contains classes used to express join patterns over observable sequences using fluent method syntax. + + + + + Provides a set of extension methods for virtual time scheduling. + + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Attribute applied to static classes providing expression tree forms of query methods, + mapping those to the corresponding methods for local query execution on the specified + target class type. + + + + + Creates a new mapping to the specified local execution query method implementation type. + + Type with query methods for local execution. + + + + Gets the type with the implementation of local query methods. + + + + + Provides a set of static methods for writing in-memory queries over observable sequences. + + + + + Uses to determine which source in to return, choosing if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Default source to select in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence on the specified scheduler if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Scheduler to generate an empty sequence on in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated after each repeated completed. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated upon the completion of an iteration through the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Concatenates the observable sequences obtained by running the for each element in the given enumerable . + + The type of the elements in the enumerable source sequence. + The type of the elements in the observable result sequence. + Enumerable source for which each element will be mapped onto an observable source that will be concatenated in the result sequence. + Function to select an observable source for each element in the . + The observable sequence obtained by concatenating the sources returned by for each element in the . + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, select the sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Sequence returned in case evaluates false. + if evaluates true; otherwise. + or or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + if evaluates true; an empty sequence otherwise. + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence generated on the specified scheduler. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Scheduler to generate an empty sequence on in case evaluates false. + if evaluates true; an empty sequence otherwise. + or or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated before each repeated is subscribed to. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated before subscription to the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Invokes the specified function asynchronously, surfacing the result through an observable sequence. + + The type of the result returned by the function. + Function to run asynchronously. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the specified function asynchronously on the specified scheduler, surfacing the result through an observable sequence + + The type of the result returned by the function. + Function to run asynchronously. + Scheduler to run the function on. + An observable sequence exposing the function's result value, or an exception. + or is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the action asynchronously, surfacing the result through an observable sequence. + + Action to run asynchronously. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the action asynchronously on the specified scheduler, surfacing the result through an observable sequence. + + Action to run asynchronously. + Scheduler to run the action on. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + or is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value, + and the specified result selector function is used to select the result value. + + The type of the elements in the source sequence. + The type of the accumulator value. + The type of the resulting value. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + A function to transform the final accumulator value into the result value. + An observable sequence containing a single element with the final accumulator value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to aggregate over. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether all elements of an observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether all elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains any elements. + + The type of the elements in the source sequence. + An observable sequence to check for non-emptiness. + An observable sequence containing a single element determining whether the source sequence contains any elements. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether any element of an observable sequence satisfies a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether any elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + (Asynchronous) The sum of the elements in the source sequence is larger than . + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using the default equality comparer. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using a specified System.Collections.Generic.IEqualityComparer<T>. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An equality comparer to compare elements. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the element at a specified index in a sequence. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence. + is null. + is less than zero. + (Asynchronous) is greater than or equal to the number of elements in the source sequence. + + + + Returns the element at a specified index in a sequence or a default value if the index is out of range. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence, or a default value if the index is outside the bounds of the source sequence. + is null. + is less than zero. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Determines whether an observable sequence is empty. + + The type of the elements in the source sequence. + An observable sequence to check for emptiness. + An observable sequence containing a single element determining whether the source sequence is empty. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + An observable sequence containing a single element with the maximum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + An observable sequence containing a single element with the minimum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the only element of an observable sequence, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence. + is null. + (Asynchronous) The source sequence contains more than one element. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence, or a default value if no such element exists. + is null. + (Asynchronous) The source sequence contains more than one element. + + + + Returns the only element of an observable sequence that matches the predicate, or a default value if no such element exists; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + (Asynchronous) The sequence contains more than one element that satisfies the condition in the predicate. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates an array from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get an array of elements for. + An observable sequence containing a single element with an array containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a list from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get a list of elements for. + An observable sequence containing a single element with a list containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Multicasts the source sequence notifications through the specified subject to the resulting connectable observable. Upon connection of the + connectable observable, the subject is subscribed to the source exactly one, and messages are forwarded to the observers registered with + the connectable observable. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be pushed into the specified subject. + Subject to push source elements into. + A connectable observable sequence that upon connection causes the source sequence to push results into the specified subject. + or is null. + + + + Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each + subscription to the resulting sequence causes a separate multicast invocation, exposing the sequence resulting from the selector function's + invocation. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements produced by the intermediate subject. + The type of the elements in the result sequence. + Source sequence which will be multicasted in the specified selector function. + Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function. + Selector function which can use the multicasted source sequence subject to the policies enforced by the created subject. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all notifications of the source from the time of the subscription on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Initial value received by observers upon subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + Initial value received by observers upon subscription. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will only receive the last notification of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will only receive the last notification of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + + The type of the elements in the source sequence. + Connectable observable sequence. + An observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all the notifications of the source. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Produces an enumerable sequence of consecutive (possibly empty) chunks of the source sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns consecutive (possibly empty) chunks upon each iteration. + is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create a new collector object. + Merges a sequence element with the current collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create the initial collector object. + Merges a sequence element with the current collector. + Factory to replace the current collector by a new collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or or is null. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Invokes an action for each element in the observable sequence, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Returns an enumerator that enumerates all values of the observable sequence. + + The type of the elements in the source sequence. + An observable sequence to get an enumerator for. + The enumerator that can be used to enumerate over the elements in the observable sequence. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Returns an enumerable sequence whose enumeration returns the latest observed element in the source observable sequence. + Enumerators on the resulting sequence will never produce the same element repeatedly, and will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns the last sampled element upon each iteration and subsequently blocks until the next element in the observable source sequence becomes available. + + + + Returns an enumerable sequence whose enumeration returns the most recently observed element in the source observable sequence, using the specified initial value in case no element has been sampled yet. + Enumerators on the resulting sequence never block and can produce the same element repeatedly. + + The type of the elements in the source sequence. + Source observable sequence. + Initial value that will be yielded by the enumerable sequence if no element has been sampled yet. + The enumerable sequence that returns the last sampled element upon each iteration. + is null. + + + + Returns an enumerable sequence whose enumeration blocks until the next element in the source observable sequence becomes available. + Enumerators on the resulting sequence will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that blocks upon each iteration until the next element in the observable source sequence becomes available. + is null. + + + + Returns the only element of an observable sequence, and throws an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence. + is null. + The source sequence contains more than one element. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and throws an exception if there is not exactly one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method throws an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence, or a default value if no such element exists. + is null. + The source sequence contains more than one element. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists; this method throws an exception if there is more than one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + The sequence contains more than one element that satisfies the condition in the predicate. + + + + + Waits for the observable sequence to complete and returns the last element of the sequence. + If the sequence terminates with an OnError notification, the exception is throw. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + This only invokes observer callbacks on a scheduler. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a scheduler, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + This only invokes observer callbacks on a synchronization context. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a synchronization context, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified scheduler. In order to invoke observer + callbacks on a scheduler, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified synchronization context. In order to invoke observer + callbacks on a synchronization context, use . + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently. + This overload is useful to "fix" an observable sequence that exhibits concurrent callbacks on individual observers, which is invalid behavior for the query processor. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + It's invalid behavior - according to the observer grammar - for a sequence to exhibit concurrent callbacks on a given observer. + This operator can be used to "fix" a source that doesn't conform to this rule. + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently, using the specified gate object. + This overload is useful when writing n-ary query operators, in order to prevent concurrent callbacks from different sources by synchronizing on a common gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Subscribes an observer to an enumerable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Disposable object that can be used to unsubscribe the observer from the enumerable + or is null. + + + + Subscribes an observer to an enumerable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Scheduler to perform the enumeration on. + Disposable object that can be used to unsubscribe the observer from the enumerable + or or is null. + + + + Converts an observable sequence to an enumerable sequence. + + The type of the elements in the source sequence. + An observable sequence to convert to an enumerable sequence. + The enumerable sequence containing the elements in the observable sequence. + is null. + + + + Exposes an observable sequence as an object with an Action-based .NET event. + + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with an Action<TSource>-based .NET event. + + The type of the elements in the source sequence. + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with a .NET event, conforming to the standard .NET event pattern. + + The type of the event data generated by the event. + Observable source sequence. + The event source object. + is null. + + + + Converts an enumerable sequence to an observable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + The observable sequence whose elements are pulled from the given enumerable sequence. + is null. + + + + Converts an enumerable sequence to an observable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + Scheduler to run the enumeration of the input sequence on. + The observable sequence whose elements are pulled from the given enumerable sequence. + or is null. + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Observable factory function to invoke for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger an invocation of the given observable factory function. + is null. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence with no elements. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + An observable sequence with no elements. + is null. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + The generated sequence. + or or is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements, using the specified scheduler to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Scheduler on which to run the generator loop. + The generated sequence. + or or or is null. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence whose observers will never get called. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence whose observers will never get called. + + + + Generates an observable sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + + + + Generates an observable sequence of integral numbers within a specified range, using the specified scheduler to send out observer messages. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + Scheduler to run the generator loop on. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + is null. + + + + Generates an observable sequence that repeats the given element infinitely. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + An observable sequence that repeats the given element infinitely. + + + + Generates an observable sequence that repeats the given element infinitely, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element infinitely. + is null. + + + + Generates an observable sequence that repeats the given element the specified number of times. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + + + + Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + is null. + + + + Returns an observable sequence that contains a single element. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + An observable sequence containing the single specified element. + + + + Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + Scheduler to send the single element on. + An observable sequence containing the single specified element. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Factory function to obtain a resource object. + Factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + + + + Creates a pattern that matches when both observable sequences have an available element. + + The type of the elements in the left sequence. + The type of the elements in the right sequence. + Observable sequence to match with the right sequence. + Observable sequence to match with the left sequence. + Pattern object that matches when both observable sequences have an available element. + or is null. + + + + Matches when the observable sequence has an available element and projects the element by invoking the selector function. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, returned by the selector function. + Observable sequence to apply the selector on. + Selector that will be invoked for elements in the source sequence. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + or is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results from matching several patterns. + is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results form matching several patterns. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that surfaces either of the given sequences, whichever reacted first. + or is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + A function invoked to define the boundaries of the produced buffers. A new buffer is started when the previous one is closed. + An observable sequence of buffers. + or is null. + + + + Projects each element of an observable sequence into zero or more buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequence indicating buffer opening events, also passed to the closing selector to obtain a sequence of buffer closing events. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + Observable sequence whose elements denote the creation of new buffers. + A function invoked to define the closing of each produced buffer. + An observable sequence of buffers. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer boundary events. + Source sequence to produce buffers over. + Sequence of buffer boundary markers. The current buffer is closed and a new buffer is opened upon receiving a boundary marker. + An observable sequence of buffers. + or is null. + + + + Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler. + + The type of the elements in the source sequence and sequences returned by the exception handler function. + The type of the exception to catch and handle. Needs to derive from . + Source sequence. + Exception handler function, producing another observable sequence. + An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source sequence and handler sequence. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results when an error occurred in the first sequence. + An observable sequence containing the first sequence's elements, followed by the elements of the second sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Merges two observable sequences into one observable sequence by using the selector function whenever one of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke whenever either of the sources produces an element. + An observable sequence containing the result of combining elements of both sources using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke whenever any of the sources produces an element. For efficiency, the input list is reused after the selector returns. Either aggregate or copy the values during the function call. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful termination of the first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that contains the elements of the first sequence, followed by those of the second the sequence. + or is null. + + + + Concatenates all of the specified observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all inner observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + An observable sequence that contains the elements of each observed inner sequence, in sequential order. + is null. + + + + Merges elements from all inner observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that merges the elements of the inner sequences. + is null. + + + + Merges elements from all inner observable sequences into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + Maximum number of inner observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the inner sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the observable sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences, and using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + is less than or equal to zero. + + + + Merges elements from two observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + The observable sequence that merges the elements of the given sequences. + or is null. + + + + Merges elements from two observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + Scheduler used to introduce concurrency for making subscriptions to the given sequences. + The observable sequence that merges the elements of the given sequences. + or or is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful or exceptional termination of the first. + + The type of the elements in the source sequences. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results after the first sequence terminates. + An observable sequence that concatenates the first and second sequence, even if the first sequence terminates exceptionally. + or is null. + + + + Concatenates all of the specified observable sequences, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Returns the elements from the source observable sequence only after the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of skip behavior. + Source sequence to propagate elements for. + Observable sequence that triggers propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation. + or is null. + + + + Switches between the inner observable sequences such that the resulting sequence always produces elements from the most recently received inner observable sequence. + Each time a new inner observable sequence is received, the previous inner observable sequence is unsubscribed from. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received. + is null. + + + + Returns the elements from the source observable sequence until the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of take behavior. + Source sequence to propagate elements for. + Observable sequence that terminates propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + A function invoked to define the boundaries of the produced windows. A new window is started when the previous one is closed. + An observable sequence of windows. + or is null. + + + + Projects each element of an observable sequence into zero or more windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequence indicating window opening events, also passed to the closing selector to obtain a sequence of window closing events. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + Observable sequence whose elements denote the creation of new windows. + A function invoked to define the closing of each produced window. + An observable sequence of windows. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window boundary events. + Source sequence to produce windows over. + Sequence of window boundary markers. The current window is closed and a new window is opened upon receiving a boundary marker. + An observable sequence of windows. + or is null. + + + + Merges two observable sequences into one observable sequence by combining their elements in a pairwise fashion. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges an observable sequence and an enumerable sequence into one observable sequence by using the selector function. + + The type of the elements in the first observable source sequence. + The type of the elements in the second enumerable source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second enumerable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Hides the identity of an observable sequence. + + The type of the elements in the source sequence. + An observable sequence whose identity to hide. + An observable sequence that hides the identity of the source sequence. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Number of elements to skip between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than or equal to zero. + + + + Dematerializes the explicit notification values of an observable sequence as implicit notifications. + + The type of the elements materialized in the source sequence notification objects. + An observable sequence containing explicit notification values which have to be turned into implicit notifications. + An observable sequence exhibiting the behavior corresponding to the source sequence's notification values. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + An observable sequence only containing the distinct contiguous elements from the source sequence. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct contiguous elements from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + Equality comparer for computed key values. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or or is null. + + + + Invokes an action for each element in the observable sequence, and propagates all observer messages through the result sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or or is null. + + + + Invokes the observer's methods for each message in the source sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Observer whose methods to invoke as part of the source sequence's observation. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes a specified action after the source observable sequence terminates gracefully or exceptionally. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke after the source observable sequence terminates. + Source sequence with the action-invoking termination behavior applied. + or is null. + + + + Ignores all elements in an observable sequence leaving only the termination messages. + + The type of the elements in the source sequence. + Source sequence. + An empty observable sequence that signals termination, successful or exceptional, of the source sequence. + is null. + + + + Materializes the implicit notifications of an observable sequence as explicit notification values. + + The type of the elements in the source sequence. + An observable sequence to get notification values for. + An observable sequence containing the materialized notification values from the source sequence. + is null. + + + + Repeats the observable sequence indefinitely. + + The type of the elements in the source sequence. + Observable sequence to repeat. + The observable sequence producing the elements of the given sequence repeatedly and sequentially. + is null. + + + + Repeats the observable sequence a specified number of times. + + The type of the elements in the source sequence. + Observable sequence to repeat. + Number of times to repeat the sequence. + The observable sequence producing the elements of the given sequence repeatedly. + is null. + is less than zero. + + + + Repeats the source observable sequence until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + + + + Repeats the source observable sequence the specified number of times or until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + Number of times to repeat the sequence. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + is less than zero. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. The specified seed value is used as the initial accumulator value. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to accumulate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to accumulate over. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Bypasses a specified number of elements at the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to bypass at the end of the source sequence. + An observable sequence containing the source sequence elements except for the bypassed ones at the end. + is null. + is less than zero. + + This operator accumulates a queue with a length enough to store the first elements. As more elements are + received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed. + + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Returns a specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a specified number of contiguous elements from the end of an observable sequence, using the specified scheduler to drain the queue. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + Scheduler used to drain the queue upon completion of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + or is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a list with the specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing a single list with the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements. Upon completion of the + source sequence, this buffer is produced on the result sequence. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + An observable sequence of windows. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Number of elements to skip between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than or equal to zero. + + + + Converts the elements of an observable sequence to the specified type. + + The type to convert the elements in the source sequence to. + The observable sequence that contains the elements to be converted. + An observable sequence that contains each element of the source sequence converted to the specified type. + is null. + + + + Returns the elements of the specified sequence or the type parameter's default value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), whose default value will be taken if the sequence is empty. + The sequence to return a default value for if it is empty. + An observable sequence that contains the default value for the TSource type if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns the elements of the specified sequence or the specified value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), and the specified default value which will be taken if the sequence is empty. + The sequence to return the specified value for if it is empty. + The value to return if the sequence is empty. + An observable sequence that contains the specified default value if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns an observable sequence that contains only distinct elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + An observable sequence only containing the distinct elements from the source sequence. + is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct elements from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + Equality comparer for source elements. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Groups the elements of an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered. + + or or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or is null. + + + + Correlates the elements of two sequences based on overlapping durations, and groups the results. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any element of the left sequence with overlapping elements from the right observable sequence. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Correlates the elements of two sequences based on overlapping durations. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any two overlapping elements of the left and right observable sequences. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Filters the elements of an observable sequence based on the specified type. + + The type to filter the elements in the source sequence on. + The observable sequence that contains the elements to be filtered. + An observable sequence that contains elements from the input sequence of type TResult. + is null. + + + + Projects each element of an observable sequence into a new form. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of an observable sequence into a new form by incorporating the element's index. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of the source observable sequence to the other observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the other sequence and the elements in the result sequence. + An observable sequence of elements to project. + An observable sequence to project each element from the source sequence onto. + An observable sequence whose elements are the result of projecting each source element onto the other sequence and merging all the resulting sequences together. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element. + A transform function to apply when an error occurs in the source sequence. + A transform function to apply when the end of the source sequence is reached. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element; the second parameter represents the index of the source element. + A transform function to apply when an error occurs in the source sequence; the second parameter represents the index of the source element. + A transform function to apply when the end of the source sequence is reached; the second parameter represents the number of elements observed. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + The index of each source element is used in the projected form of that element. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Bypasses a specified number of elements in an observable sequence and then returns the remaining elements. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to skip before returning the remaining elements. + An observable sequence that contains the elements that occur after the specified index in the input sequence. + is null. + is less than zero. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Returns a specified number of contiguous elements from the start of an observable sequence. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + An observable sequence that contains the specified number of elements from the start of the input sequence. + is null. + is less than zero. + + + + Returns a specified number of contiguous elements from the start of an observable sequence, using the specified scheduler for the edge case of Take(0). + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + Scheduler used to produce an OnCompleted message in case count is set to 0. + An observable sequence that contains the specified number of elements from the start of the input sequence. + or is null. + is less than zero. + + + + Returns elements from an observable sequence as long as a specified condition is true. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Returns elements from an observable sequence as long as a specified condition is true. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Filters the elements of an observable sequence based on a predicate. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a condition. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Filters the elements of an observable sequence based on a predicate by incorporating the element's index. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a conditio; the second parameter of the function represents the index of the source element. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a buffer. + Maximum element count of a buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Time shifts the observable sequence by the specified relative time duration. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence by the specified relative time duration, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence based on a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or is null. + + + + Time shifts the observable sequence based on a subscription delay and a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Sequence indicating the delay for the subscription to the source. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or or is null. + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Time-shifted sequence. + is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Returns an observable sequence that produces a value after each period. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Returns an observable sequence that produces a value after each period, using the specified scheduler to run timers and to send out observer messages. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + is null. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Samples the observable sequence at each interval. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Sampled observable sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the observable sequence at each interval, using the specified scheduler to run sampling timers. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Scheduler to run the sampling timer on. + Sampled observable sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the source observable sequence using a samper observable sequence producing sampling ticks. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + The type of the elements in the sampling sequence. + Source sequence to sample. + Sampling tick sequence. + Sampled observable sequence. + or is null. + + + + Skips elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements for the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements from the observable source sequence until the specified start time. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + An observable sequence with the elements skipped until the specified start time. + is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Skips elements from the observable source sequence until the specified start time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + Scheduler to run the timer on. + An observable sequence with the elements skipped until the specified start time. + or is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Takes elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Takes elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Returns elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified schedulers to run timers and to drain the collected elements. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + Scheduler to drain the collected elements. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Takes elements for the specified duration until the specified end time. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + An observable sequence with the elements taken until the specified end time. + is null. + + + + Takes elements for the specified duration until the specified end time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + Scheduler to run the timer on. + An observable sequence with the elements taken until the specified end time. + or is null. + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + The throttled sequence. + is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration, using the specified scheduler to run throttling timers. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + Scheduler to run the throttle timers on. + The throttled sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another value within a computed throttle duration. + + The type of the elements in the source sequence. + The type of the elements in the throttle sequences selected for each element in the source sequence. + Source sequence to throttle. + Selector function to retrieve a sequence indicating the throttle duration for each given element. + The throttled sequence. + or is null. + + This operator throttles the source sequence by holding on to each element for the duration denoted by . + If another element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this + whole process. For streams where the duration computed by applying the to each element overlaps with + the occurrence of the successor element, the resulting stream won't produce any elements. In order to reduce the volume of a stream whilst + guaranteeing the periodic production of elements, consider using the Observable.Sample set of operators. + + + + + Records the time interval between consecutive elements in an observable sequence. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + An observable sequence with time interval information on elements. + is null. + + + + Records the time interval between consecutive elements in an observable sequence, using the specified scheduler to compute time intervals. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + Scheduler used to compute time intervals. + An observable sequence with time interval information on elements. + or is null. + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + The source sequence with a TimeoutException in case of a timeout. + is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + The source sequence with a TimeoutException in case of a timeout. + is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or is null. + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or or is null. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + An observable sequence that produces a value after the due time has elapsed. + + + + Returns an observable sequence that produces a single value at the specified absolute due time. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + An observable sequence that produces a value at due time. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after due time has elapsed and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed, using the specified scheduler to run the timer. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after the due time has elapsed. + is null. + + + + Returns an observable sequence that produces a single value at the specified absolute due time, using the specified scheduler to run the timer. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value at due time. + is null. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed, using the specified scheduler to run timers. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value after due time has elapsed and then each period. + is less than TimeSpan.Zero. + is null. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time, using the specified scheduler to run timers. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + is null. + + + + Timestamps each element in an observable sequence using the local system clock. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + An observable sequence with timestamp information on elements. + is null. + + + + Timestamp each element in an observable sequence using the clock of the specified scheduler. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + Scheduler used to compute timestamps. + An observable sequence with timestamp information on elements. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + The sequence of windows. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of windows. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Internal interface describing the LINQ to Events query language. + + + + + Base class for classes that expose an observable sequence as a well-known event pattern (sender, event arguments). + Contains functionality to maintain a map of event handler delegates to observable sequence subscriptions. Subclasses + should only add an event with custom add and remove methods calling into the base class's operations. + + The type of the sender that raises the event. + The type of the event data generated by the event. + + + + Creates a new event pattern source. + + Source sequence to expose as an event. + Delegate used to invoke the event for each element of the sequence. + or is null. + + + + Adds the specified event handler, causing a subscription to the underlying source. + + Event handler to add. The same delegate should be passed to the Remove operation in order to remove the event handler. + Invocation delegate to raise the event in the derived class. + or is null. + + + + Removes the specified event handler, causing a disposal of the corresponding subscription to the underlying source that was created during the Add operation. + + Event handler to remove. This should be the same delegate as one that was passed to the Add operation. + is null. + + + + Represents a .NET event invocation consisting of the weakly typed object that raised the event and the data that was generated by the event. + + The type of the event data generated by the event. + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + The type of the sender that raised the event. + The type of the event data generated by the event. + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Determines whether the current EventPattern<TSender, TEventArgs> object represents the same event as a specified EventPattern<TSender, TEventArgs> object. + + An object to compare to the current EventPattern<TSender, TEventArgs> object. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>. + + The System.Object to compare with the current EventPattern<TSender, TEventArgs>. + true if the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>; otherwise, false. + + + + Returns the hash code for the current EventPattern<TSender, TEventArgs> instance. + + A hash code for the current EventPattern<TSender, TEventArgs> instance. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent the same event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent a different event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects don't represent the same event; otherwise, false. + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Base class for historical schedulers, which are virtual time schedulers that use DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Base class for virtual time schedulers. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts the virtual time scheduler. + + + + + Stops the virtual time scheduler. + + + + + Advances the scheduler's clock to the specified time, running all work till that point. + + Absolute time to advance the scheduler's clock to. + is in the past. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time, running all work scheduled for that timespan. + + Relative time to advance the scheduler's clock by. + is negative. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time. + + Relative time to advance the scheduler's clock by. + is negative. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Discovers scheduler services by interface type. The base class implementation supports + only the IStopwatchProvider service. To influence service discovery - such as adding + support for other scheduler services - derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Gets whether the scheduler is enabled to run work. + + + + + Gets the comparer used to compare absolute time values. + + + + + Gets the scheduler's absolute time clock value. + + + + + Gets the scheduler's notion of current time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial clock value. + + + + Creates a new historical scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Provides a virtual time scheduler that uses DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Base class for virtual time schedulers using a priority queue for scheduled items. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the resulting sequence, after transformation through the subject. + + + + Creates an observable that can be connected and disconnected from its source. + + Underlying observable source sequence that can be connected and disconnected from the wrapper. + Subject exposed by the connectable observable, receiving data from the underlying source sequence upon connection. + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable object used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Subscribes an observer to the observable sequence. No values from the underlying observable source will be received unless a connection was established through the Connect method. + + Observer that will receive values from the underlying observable source when the current ConnectableObservable instance is connected through a call to Connect. + Disposable used to unsubscribe from the observable sequence. + + + + Provides a set of static methods for creating subjects. + + + + + Creates a subject from the specified observer and observable. + + The type of the elements received by the observer. + The type of the elements produced by the observable sequence. + The observer used to send messages to the subject. + The observable used to subscribe to messages sent from the subject. + Subject implemented using the given observer and observable. + or is null. + + + + Synchronizes the messages sent to the subject. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Subject whose messages are synchronized. + is null. + + + + Synchronizes the messages sent to the subject and notifies observers on the specified scheduler. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Scheduler to notify observers on. + Subject whose messages are synchronized and whose observers are notified on the given scheduler. + or is null. + + + + Represents the result of an asynchronous operation. + The last value before the OnCompleted notification, or the error received through OnError, is sent to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject that can only receive one value and that value is cached for all future observations. + + + + + Notifies all subscribed observers about the end of the sequence, also causing the last received value to be sent out (if any). + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Sends a value to the subject. The last value received before successful termination will be sent to all subscribed and future observers. + + The value to store in the subject. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Gets the last element of the subject, potentially blocking until the subject completes successfully or exceptionally. + + The last element of the subject. Throws an InvalidOperationException if no element was received. + The source sequence is empty. + + + + Indicates whether the subject has observers subscribed to it. + + + + + Gets whether the AsyncSubject has completed. + + + + + Represents a value that changes over time. + Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class which creates a subject that caches its last value and starts with the specified value. + + Initial value sent to observers when no other value has been received by the subject yet. + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject. + + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the specified exception. + + The exception to send to all currently subscribed observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all currently subscribed observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribes all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Abstract base class for join patterns. + + + + + Represents a join pattern over one observable sequence. + + The type of the elements in the first source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over two observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + + + + Creates a pattern that matches when all three observable sequences have an available element. + + The type of the elements in the third observable sequence. + Observable sequence to match with the two previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over three observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + + + + Creates a pattern that matches when all four observable sequences have an available element. + + The type of the elements in the fourth observable sequence. + Observable sequence to match with the three previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over four observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents an execution plan for join patterns. + + The type of the results produced by the plan. + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed and future observers, subject to buffer trimming policies. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class with the specified buffer size, window and scheduler. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is less than zero. -or- is less than TimeSpan.Zero. + is null. + + + + Initializes a new instance of the class with the specified buffer size and window. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + is less than zero. -or- is less than TimeSpan.Zero. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified scheduler. + + Scheduler the observers are invoked on. + is null. + + + + Initializes a new instance of the class with the specified buffer size and scheduler. + + Maximum element count of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than zero. + + + + Initializes a new instance of the class with the specified buffer size. + + Maximum element count of the replay buffer. + is less than zero. + + + + Initializes a new instance of the class with the specified window and scheduler. + + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than TimeSpan.Zero. + + + + Initializes a new instance of the class with the specified window. + + Maximum time length of the replay buffer. + is less than TimeSpan.Zero. + + + + Notifies all subscribed and future observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Notifies all subscribed and future observers about the specified exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed and future observers about the end of the sequence. + + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribe all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + The System.Reactive.Threading.Tasks namespace contains helpers for the conversion between tasks and observable sequences. + + + + + Represents a value associated with time interval information. + The time interval can represent the time it took to produce the value, the interval relative to a previous value, the value's delivery time relative to a base, etc. + + The type of the value being annotated with time interval information. + + + + Constructs a time interval value. + + The value to be annotated with a time interval. + Time interval associated with the value. + + + + Determines whether the current TimeInterval<T> value has the same Value and Interval as a specified TimeInterval<T> value. + + An object to compare to the current TimeInterval<T> value. + true if both TimeInterval<T> values have the same Value and Interval; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has the same Value and Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values don't have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has a different Value or Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current TimeInterval<T>. + + The System.Object to compare with the current TimeInterval<T>. + true if the specified System.Object is equal to the current TimeInterval<T>; otherwise, false. + + + + Returns the hash code for the current TimeInterval<T> value. + + A hash code for the current TimeInterval<T> value. + + + + Returns a string representation of the current TimeInterval<T> value. + + String representation of the current TimeInterval<T> value. + + + + Gets the value. + + + + + Gets the interval. + + + + + Represents value with a timestamp on it. + The timestamp typically represents the time the value was received, using an IScheduler's clock to obtain the current time. + + The type of the value being timestamped. + + + + Constructs a timestamped value. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + + + + Determines whether the current Timestamped<T> value has the same Value and Timestamp as a specified Timestamped<T> value. + + An object to compare to the current Timestamped<T> value. + true if both Timestamped<T> values have the same Value and Timestamp; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has the same Value and Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values don't have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has a different Value or Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current Timestamped<T>. + + The System.Object to compare with the current Timestamped<T>. + true if the specified System.Object is equal to the current Timestamped<T>; otherwise, false. + + + + Returns the hash code for the current Timestamped<T> value. + + A hash code for the current Timestamped<T> value. + + + + Returns a string representation of the current Timestamped<T> value. + + String representation of the current Timestamped<T> value. + + + + Gets the value. + + + + + Gets the timestamp. + + + + + A helper class with a factory method for creating Timestamped<T> instances. + + + + + Creates an instance of a Timestamped<T>. This is syntactic sugar that uses type inference + to avoid specifying a type in a constructor call, which is very useful when using anonymous types. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + Creates a new timestamped value. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Could not find event '{0}' on object of type '{1}'.. + + + + + Looks up a localized string similar to Could not find event '{0}' on type '{1}'.. + + + + + Looks up a localized string similar to Add method should take 1 parameter.. + + + + + Looks up a localized string similar to The second parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Event is missing the add method.. + + + + + Looks up a localized string similar to Event is missing the remove method.. + + + + + Looks up a localized string similar to The event delegate must have a void return type.. + + + + + Looks up a localized string similar to The event delegate must have exactly two parameters.. + + + + + Looks up a localized string similar to Remove method should take 1 parameter.. + + + + + Looks up a localized string similar to The first parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Remove method of a WinRT event should take an EventRegistrationToken.. + + + + + Looks up a localized string similar to Sequence contains more than one element.. + + + + + Looks up a localized string similar to Sequence contains more than one matching element.. + + + + + Looks up a localized string similar to Sequence contains no elements.. + + + + + Looks up a localized string similar to Sequence contains no matching element.. + + + + + Looks up a localized string similar to {0} cannot be called when the scheduler is already running. Try using Sleep instead.. + + + + diff --git a/packages/Rx-Linq.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Linq.dll b/packages/Rx-Linq.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Linq.dll new file mode 100644 index 00000000000..f9ef530a6ef Binary files /dev/null and b/packages/Rx-Linq.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.Linq.dll differ diff --git a/packages/Rx-Linq.2.1.30214.0/lib/SL4/_._ b/packages/Rx-Linq.2.1.30214.0/lib/SL4/_._ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/Rx-Linq.2.1.30214.0/lib/SL5/System.Reactive.Linq.XML b/packages/Rx-Linq.2.1.30214.0/lib/SL5/System.Reactive.Linq.XML new file mode 100644 index 00000000000..2ee99f58d59 --- /dev/null +++ b/packages/Rx-Linq.2.1.30214.0/lib/SL5/System.Reactive.Linq.XML @@ -0,0 +1,10510 @@ + + + + System.Reactive.Linq + + + + + The System.Reactive.Joins namespace contains classes used to express join patterns over observable sequences using fluent method syntax. + + + + + Provides a set of extension methods for virtual time scheduling. + + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Attribute applied to static classes providing expression tree forms of query methods, + mapping those to the corresponding methods for local query execution on the specified + target class type. + + + + + Creates a new mapping to the specified local execution query method implementation type. + + Type with query methods for local execution. + + + + Gets the type with the implementation of local query methods. + + + + + Provides a set of static methods for writing in-memory queries over observable sequences. + + + + + Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. + The loop can be quit prematurely by setting the specified cancellation token. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Cancellation token used to stop the loop. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. + The loop can be quit prematurely by setting the specified cancellation token. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Cancellation token used to stop the loop. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Uses to determine which source in to return, choosing if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Default source to select in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence on the specified scheduler if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Scheduler to generate an empty sequence on in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated after each repeated completed. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated upon the completion of an iteration through the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Concatenates the observable sequences obtained by running the for each element in the given enumerable . + + The type of the elements in the enumerable source sequence. + The type of the elements in the observable result sequence. + Enumerable source for which each element will be mapped onto an observable source that will be concatenated in the result sequence. + Function to select an observable source for each element in the . + The observable sequence obtained by concatenating the sources returned by for each element in the . + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, select the sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Sequence returned in case evaluates false. + if evaluates true; otherwise. + or or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + if evaluates true; an empty sequence otherwise. + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence generated on the specified scheduler. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Scheduler to generate an empty sequence on in case evaluates false. + if evaluates true; an empty sequence otherwise. + or or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated before each repeated is subscribed to. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated before subscription to the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the fourteenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the fourteenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Invokes the specified function asynchronously, surfacing the result through an observable sequence. + + The type of the result returned by the function. + Function to run asynchronously. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the specified function asynchronously on the specified scheduler, surfacing the result through an observable sequence + + The type of the result returned by the function. + Function to run asynchronously. + Scheduler to run the function on. + An observable sequence exposing the function's result value, or an exception. + or is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the asynchronous function, surfacing the result through an observable sequence. + + The type of the result returned by the asynchronous function. + Asynchronous function to run. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the asynchronous function, surfacing the result through an observable sequence. + The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information. + + The type of the result returned by the asynchronous function. + Asynchronous function to run. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed + subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. + Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription + to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using + multicast operators. + + + + + + + Invokes the action asynchronously, surfacing the result through an observable sequence. + + Action to run asynchronously. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the action asynchronously on the specified scheduler, surfacing the result through an observable sequence. + + Action to run asynchronously. + Scheduler to run the action on. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + or is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the asynchronous action, surfacing the result through an observable sequence. + + Asynchronous action to run. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the asynchronous action, surfacing the result through an observable sequence. + The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information. + + Asynchronous action to run. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed + subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. + Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription + to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using + multicast operators. + + + + + + + Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. + + The type of the result returned by the asynchronous function. + Asynchronous function to convert. + An observable sequence exposing the result of invoking the function, or an exception. + is null. + + + + Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. + The CancellationToken passed to the asynchronous function is tied to the observable sequence's subscription that triggered the function's invocation and can be used for best-effort cancellation. + + The type of the result returned by the asynchronous function. + Asynchronous function to convert. + An observable sequence exposing the result of invoking the function, or an exception. + is null. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled. + + + + Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. + + Asynchronous action to convert. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + + Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. + The CancellationToken passed to the asynchronous action is tied to the observable sequence's subscription that triggered the action's invocation and can be used for best-effort cancellation. + + Asynchronous action to convert. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the sixteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the sixteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + The type of the sixteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + The type of the sixteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value, + and the specified result selector function is used to select the result value. + + The type of the elements in the source sequence. + The type of the accumulator value. + The type of the resulting value. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + A function to transform the final accumulator value into the result value. + An observable sequence containing a single element with the final accumulator value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to aggregate over. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether all elements of an observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether all elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains any elements. + + The type of the elements in the source sequence. + An observable sequence to check for non-emptiness. + An observable sequence containing a single element determining whether the source sequence contains any elements. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether any element of an observable sequence satisfies a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether any elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + (Asynchronous) The sum of the elements in the source sequence is larger than . + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using the default equality comparer. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using a specified System.Collections.Generic.IEqualityComparer<T>. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An equality comparer to compare elements. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the element at a specified index in a sequence. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence. + is null. + is less than zero. + (Asynchronous) is greater than or equal to the number of elements in the source sequence. + + + + Returns the element at a specified index in a sequence or a default value if the index is out of range. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence, or a default value if the index is outside the bounds of the source sequence. + is null. + is less than zero. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Determines whether an observable sequence is empty. + + The type of the elements in the source sequence. + An observable sequence to check for emptiness. + An observable sequence containing a single element determining whether the source sequence is empty. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + An observable sequence containing a single element with the maximum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + An observable sequence containing a single element with the minimum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the only element of an observable sequence, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence. + is null. + (Asynchronous) The source sequence contains more than one element. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence, or a default value if no such element exists. + is null. + (Asynchronous) The source sequence contains more than one element. + + + + Returns the only element of an observable sequence that matches the predicate, or a default value if no such element exists; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + (Asynchronous) The sequence contains more than one element that satisfies the condition in the predicate. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates an array from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get an array of elements for. + An observable sequence containing a single element with an array containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a list from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get a list of elements for. + An observable sequence containing a single element with a list containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Multicasts the source sequence notifications through the specified subject to the resulting connectable observable. Upon connection of the + connectable observable, the subject is subscribed to the source exactly one, and messages are forwarded to the observers registered with + the connectable observable. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be pushed into the specified subject. + Subject to push source elements into. + A connectable observable sequence that upon connection causes the source sequence to push results into the specified subject. + or is null. + + + + Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each + subscription to the resulting sequence causes a separate multicast invocation, exposing the sequence resulting from the selector function's + invocation. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements produced by the intermediate subject. + The type of the elements in the result sequence. + Source sequence which will be multicasted in the specified selector function. + Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function. + Selector function which can use the multicasted source sequence subject to the policies enforced by the created subject. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all notifications of the source from the time of the subscription on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Initial value received by observers upon subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + Initial value received by observers upon subscription. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will only receive the last notification of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will only receive the last notification of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + + The type of the elements in the source sequence. + Connectable observable sequence. + An observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all the notifications of the source. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Produces an enumerable sequence of consecutive (possibly empty) chunks of the source sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns consecutive (possibly empty) chunks upon each iteration. + is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create a new collector object. + Merges a sequence element with the current collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create the initial collector object. + Merges a sequence element with the current collector. + Factory to replace the current collector by a new collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or or is null. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Invokes an action for each element in the observable sequence, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Returns an enumerator that enumerates all values of the observable sequence. + + The type of the elements in the source sequence. + An observable sequence to get an enumerator for. + The enumerator that can be used to enumerate over the elements in the observable sequence. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Returns an enumerable sequence whose enumeration returns the latest observed element in the source observable sequence. + Enumerators on the resulting sequence will never produce the same element repeatedly, and will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns the last sampled element upon each iteration and subsequently blocks until the next element in the observable source sequence becomes available. + + + + Returns an enumerable sequence whose enumeration returns the most recently observed element in the source observable sequence, using the specified initial value in case no element has been sampled yet. + Enumerators on the resulting sequence never block and can produce the same element repeatedly. + + The type of the elements in the source sequence. + Source observable sequence. + Initial value that will be yielded by the enumerable sequence if no element has been sampled yet. + The enumerable sequence that returns the last sampled element upon each iteration. + is null. + + + + Returns an enumerable sequence whose enumeration blocks until the next element in the source observable sequence becomes available. + Enumerators on the resulting sequence will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that blocks upon each iteration until the next element in the observable source sequence becomes available. + is null. + + + + Returns the only element of an observable sequence, and throws an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence. + is null. + The source sequence contains more than one element. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and throws an exception if there is not exactly one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method throws an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence, or a default value if no such element exists. + is null. + The source sequence contains more than one element. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists; this method throws an exception if there is more than one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + The sequence contains more than one element that satisfies the condition in the predicate. + + + + + Waits for the observable sequence to complete and returns the last element of the sequence. + If the sequence terminates with an OnError notification, the exception is throw. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + This only invokes observer callbacks on a scheduler. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a scheduler, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + This only invokes observer callbacks on a synchronization context. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a synchronization context, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified scheduler. In order to invoke observer + callbacks on a scheduler, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified synchronization context. In order to invoke observer + callbacks on a synchronization context, use . + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently. + This overload is useful to "fix" an observable sequence that exhibits concurrent callbacks on individual observers, which is invalid behavior for the query processor. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + It's invalid behavior - according to the observer grammar - for a sequence to exhibit concurrent callbacks on a given observer. + This operator can be used to "fix" a source that doesn't conform to this rule. + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently, using the specified gate object. + This overload is useful when writing n-ary query operators, in order to prevent concurrent callbacks from different sources by synchronizing on a common gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Subscribes an observer to an enumerable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Disposable object that can be used to unsubscribe the observer from the enumerable + or is null. + + + + Subscribes an observer to an enumerable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Scheduler to perform the enumeration on. + Disposable object that can be used to unsubscribe the observer from the enumerable + or or is null. + + + + Converts an observable sequence to an enumerable sequence. + + The type of the elements in the source sequence. + An observable sequence to convert to an enumerable sequence. + The enumerable sequence containing the elements in the observable sequence. + is null. + + + + Exposes an observable sequence as an object with an Action-based .NET event. + + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with an Action<TSource>-based .NET event. + + The type of the elements in the source sequence. + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with a .NET event, conforming to the standard .NET event pattern. + + The type of the event data generated by the event. + Observable source sequence. + The event source object. + is null. + + + + Converts an enumerable sequence to an observable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + The observable sequence whose elements are pulled from the given enumerable sequence. + is null. + + + + Converts an enumerable sequence to an observable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + Scheduler to run the enumeration of the input sequence on. + The observable sequence whose elements are pulled from the given enumerable sequence. + or is null. + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to produce elements. + The observable sequence surfacing the elements produced by the asynchronous method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to produce elements. + The observable sequence surfacing the elements produced by the asynchronous method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Observable factory function to invoke for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger an invocation of the given observable factory function. + is null. + + + + Returns an observable sequence that starts the specified asynchronous factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Asynchronous factory function to start for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger the given asynchronous observable factory function to be started. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Returns an observable sequence that starts the specified cancellable asynchronous factory function whenever a new observer subscribes. + The CancellationToken passed to the asynchronous factory function is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Asynchronous factory function to start for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger the given asynchronous observable factory function to be started. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous observable factory function will be signaled. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence with no elements. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + An observable sequence with no elements. + is null. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + The generated sequence. + or or is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements, using the specified scheduler to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Scheduler on which to run the generator loop. + The generated sequence. + or or or is null. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence whose observers will never get called. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence whose observers will never get called. + + + + Generates an observable sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + + + + Generates an observable sequence of integral numbers within a specified range, using the specified scheduler to send out observer messages. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + Scheduler to run the generator loop on. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + is null. + + + + Generates an observable sequence that repeats the given element infinitely. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + An observable sequence that repeats the given element infinitely. + + + + Generates an observable sequence that repeats the given element infinitely, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element infinitely. + is null. + + + + Generates an observable sequence that repeats the given element the specified number of times. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + + + + Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + is null. + + + + Returns an observable sequence that contains a single element. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + An observable sequence containing the single specified element. + + + + Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + Scheduler to send the single element on. + An observable sequence containing the single specified element. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Factory function to obtain a resource object. + Factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. The resource is obtained and used through asynchronous methods. + The CancellationToken passed to the asynchronous methods is tied to the returned disposable subscription, allowing best-effort cancellation at any stage of the resource acquisition or usage. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Asynchronous factory function to obtain a resource object. + Asynchronous factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous resource factory and observable factory functions will be signaled. + + + + Creates a pattern that matches when both observable sequences have an available element. + + The type of the elements in the left sequence. + The type of the elements in the right sequence. + Observable sequence to match with the right sequence. + Observable sequence to match with the left sequence. + Pattern object that matches when both observable sequences have an available element. + or is null. + + + + Matches when the observable sequence has an available element and projects the element by invoking the selector function. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, returned by the selector function. + Observable sequence to apply the selector on. + Selector that will be invoked for elements in the source sequence. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + or is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results from matching several patterns. + is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results form matching several patterns. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that surfaces either of the given sequences, whichever reacted first. + or is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + A function invoked to define the boundaries of the produced buffers. A new buffer is started when the previous one is closed. + An observable sequence of buffers. + or is null. + + + + Projects each element of an observable sequence into zero or more buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequence indicating buffer opening events, also passed to the closing selector to obtain a sequence of buffer closing events. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + Observable sequence whose elements denote the creation of new buffers. + A function invoked to define the closing of each produced buffer. + An observable sequence of buffers. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer boundary events. + Source sequence to produce buffers over. + Sequence of buffer boundary markers. The current buffer is closed and a new buffer is opened upon receiving a boundary marker. + An observable sequence of buffers. + or is null. + + + + Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler. + + The type of the elements in the source sequence and sequences returned by the exception handler function. + The type of the exception to catch and handle. Needs to derive from . + Source sequence. + Exception handler function, producing another observable sequence. + An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source sequence and handler sequence. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results when an error occurred in the first sequence. + An observable sequence containing the first sequence's elements, followed by the elements of the second sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Merges two observable sequences into one observable sequence by using the selector function whenever one of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke whenever either of the sources produces an element. + An observable sequence containing the result of combining elements of both sources using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Sixteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke whenever any of the sources produces an element. For efficiency, the input list is reused after the selector returns. Either aggregate or copy the values during the function call. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful termination of the first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that contains the elements of the first sequence, followed by those of the second the sequence. + or is null. + + + + Concatenates all of the specified observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all inner observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + An observable sequence that contains the elements of each observed inner sequence, in sequential order. + is null. + + + + Concatenates all task results, as long as the previous task terminated successfully. + + The type of the results produced by the tasks. + Observable sequence of tasks. + An observable sequence that contains the results of each task, in sequential order. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a concatenation operation using . + + + + Merges elements from all inner observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that merges the elements of the inner sequences. + is null. + + + + Merges results from all source tasks into a single observable sequence. + + The type of the results produced by the source tasks. + Observable sequence of tasks. + The observable sequence that merges the results of the source tasks. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a merge operation using . + + + + Merges elements from all inner observable sequences into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + Maximum number of inner observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the inner sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the observable sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences, and using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + is less than or equal to zero. + + + + Merges elements from two observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + The observable sequence that merges the elements of the given sequences. + or is null. + + + + Merges elements from two observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + Scheduler used to introduce concurrency for making subscriptions to the given sequences. + The observable sequence that merges the elements of the given sequences. + or or is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful or exceptional termination of the first. + + The type of the elements in the source sequences. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results after the first sequence terminates. + An observable sequence that concatenates the first and second sequence, even if the first sequence terminates exceptionally. + or is null. + + + + Concatenates all of the specified observable sequences, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Returns the elements from the source observable sequence only after the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of skip behavior. + Source sequence to propagate elements for. + Observable sequence that triggers propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation. + or is null. + + + + Switches between the inner observable sequences such that the resulting sequence always produces elements from the most recently received inner observable sequence. + Each time a new inner observable sequence is received, the previous inner observable sequence is unsubscribed from. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received. + is null. + + + + Switches between the tasks such that the resulting sequence always produces results from the most recently received task. + Each time a new task is received, the previous task's result is ignored. + + The type of the results produced by the source tasks. + Observable sequence of tasks. + The observable sequence that at any point in time produces the result of the most recent task that has been received. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a switch operation using . + + + + Returns the elements from the source observable sequence until the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of take behavior. + Source sequence to propagate elements for. + Observable sequence that terminates propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + A function invoked to define the boundaries of the produced windows. A new window is started when the previous one is closed. + An observable sequence of windows. + or is null. + + + + Projects each element of an observable sequence into zero or more windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequence indicating window opening events, also passed to the closing selector to obtain a sequence of window closing events. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + Observable sequence whose elements denote the creation of new windows. + A function invoked to define the closing of each produced window. + An observable sequence of windows. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window boundary events. + Source sequence to produce windows over. + Sequence of window boundary markers. The current window is closed and a new window is opened upon receiving a boundary marker. + An observable sequence of windows. + or is null. + + + + Merges two observable sequences into one observable sequence by combining their elements in a pairwise fashion. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Sixteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges an observable sequence and an enumerable sequence into one observable sequence by using the selector function. + + The type of the elements in the first observable source sequence. + The type of the elements in the second enumerable source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second enumerable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Hides the identity of an observable sequence. + + The type of the elements in the source sequence. + An observable sequence whose identity to hide. + An observable sequence that hides the identity of the source sequence. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Number of elements to skip between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than or equal to zero. + + + + Dematerializes the explicit notification values of an observable sequence as implicit notifications. + + The type of the elements materialized in the source sequence notification objects. + An observable sequence containing explicit notification values which have to be turned into implicit notifications. + An observable sequence exhibiting the behavior corresponding to the source sequence's notification values. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + An observable sequence only containing the distinct contiguous elements from the source sequence. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct contiguous elements from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + Equality comparer for computed key values. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or or is null. + + + + Invokes an action for each element in the observable sequence, and propagates all observer messages through the result sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or or is null. + + + + Invokes the observer's methods for each message in the source sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Observer whose methods to invoke as part of the source sequence's observation. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes a specified action after the source observable sequence terminates gracefully or exceptionally. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke after the source observable sequence terminates. + Source sequence with the action-invoking termination behavior applied. + or is null. + + + + Ignores all elements in an observable sequence leaving only the termination messages. + + The type of the elements in the source sequence. + Source sequence. + An empty observable sequence that signals termination, successful or exceptional, of the source sequence. + is null. + + + + Materializes the implicit notifications of an observable sequence as explicit notification values. + + The type of the elements in the source sequence. + An observable sequence to get notification values for. + An observable sequence containing the materialized notification values from the source sequence. + is null. + + + + Repeats the observable sequence indefinitely. + + The type of the elements in the source sequence. + Observable sequence to repeat. + The observable sequence producing the elements of the given sequence repeatedly and sequentially. + is null. + + + + Repeats the observable sequence a specified number of times. + + The type of the elements in the source sequence. + Observable sequence to repeat. + Number of times to repeat the sequence. + The observable sequence producing the elements of the given sequence repeatedly. + is null. + is less than zero. + + + + Repeats the source observable sequence until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + + + + Repeats the source observable sequence the specified number of times or until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + Number of times to repeat the sequence. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + is less than zero. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. The specified seed value is used as the initial accumulator value. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to accumulate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to accumulate over. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Bypasses a specified number of elements at the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to bypass at the end of the source sequence. + An observable sequence containing the source sequence elements except for the bypassed ones at the end. + is null. + is less than zero. + + This operator accumulates a queue with a length enough to store the first elements. As more elements are + received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed. + + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Returns a specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a specified number of contiguous elements from the end of an observable sequence, using the specified scheduler to drain the queue. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + Scheduler used to drain the queue upon completion of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + or is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a list with the specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing a single list with the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements. Upon completion of the + source sequence, this buffer is produced on the result sequence. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + An observable sequence of windows. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Number of elements to skip between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than or equal to zero. + + + + Converts the elements of an observable sequence to the specified type. + + The type to convert the elements in the source sequence to. + The observable sequence that contains the elements to be converted. + An observable sequence that contains each element of the source sequence converted to the specified type. + is null. + + + + Returns the elements of the specified sequence or the type parameter's default value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), whose default value will be taken if the sequence is empty. + The sequence to return a default value for if it is empty. + An observable sequence that contains the default value for the TSource type if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns the elements of the specified sequence or the specified value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), and the specified default value which will be taken if the sequence is empty. + The sequence to return the specified value for if it is empty. + The value to return if the sequence is empty. + An observable sequence that contains the specified default value if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns an observable sequence that contains only distinct elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + An observable sequence only containing the distinct elements from the source sequence. + is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct elements from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + Equality comparer for source elements. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Groups the elements of an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered. + + or or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or is null. + + + + Correlates the elements of two sequences based on overlapping durations, and groups the results. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any element of the left sequence with overlapping elements from the right observable sequence. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Correlates the elements of two sequences based on overlapping durations. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any two overlapping elements of the left and right observable sequences. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Filters the elements of an observable sequence based on the specified type. + + The type to filter the elements in the source sequence on. + The observable sequence that contains the elements to be filtered. + An observable sequence that contains elements from the input sequence of type TResult. + is null. + + + + Projects each element of an observable sequence into a new form. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of an observable sequence into a new form by incorporating the element's index. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of the source observable sequence to the other observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the other sequence and the elements in the result sequence. + An observable sequence of elements to project. + An observable sequence to project each element from the source sequence onto. + An observable sequence whose elements are the result of projecting each source element onto the other sequence and merging all the resulting sequences together. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to a task and merges all of the task results into one observable sequence. + + The type of the elements in the source sequence. + The type of the result produced by the projected tasks and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of the tasks executed for each element of the input sequence. + This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + or is null. + + + + Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence. + + The type of the elements in the source sequence. + The type of the result produced by the projected tasks and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of the tasks executed for each element of the input sequence. + This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to a task, invokes the result selector for the source element and the task result, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the results produced by the projected intermediate tasks. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element. + or or is null. + This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + + + + Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the results produced by the projected intermediate tasks. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element. + or or is null. + This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element. + A transform function to apply when an error occurs in the source sequence. + A transform function to apply when the end of the source sequence is reached. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element; the second parameter represents the index of the source element. + A transform function to apply when an error occurs in the source sequence; the second parameter represents the index of the source element. + A transform function to apply when the end of the source sequence is reached; the second parameter represents the number of elements observed. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + The index of each source element is used in the projected form of that element. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Bypasses a specified number of elements in an observable sequence and then returns the remaining elements. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to skip before returning the remaining elements. + An observable sequence that contains the elements that occur after the specified index in the input sequence. + is null. + is less than zero. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Returns a specified number of contiguous elements from the start of an observable sequence. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + An observable sequence that contains the specified number of elements from the start of the input sequence. + is null. + is less than zero. + + + + Returns a specified number of contiguous elements from the start of an observable sequence, using the specified scheduler for the edge case of Take(0). + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + Scheduler used to produce an OnCompleted message in case count is set to 0. + An observable sequence that contains the specified number of elements from the start of the input sequence. + or is null. + is less than zero. + + + + Returns elements from an observable sequence as long as a specified condition is true. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Returns elements from an observable sequence as long as a specified condition is true. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Filters the elements of an observable sequence based on a predicate. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a condition. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Filters the elements of an observable sequence based on a predicate by incorporating the element's index. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a conditio; the second parameter of the function represents the index of the source element. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a buffer. + Maximum element count of a buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Time shifts the observable sequence by the specified relative time duration. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence by the specified relative time duration, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence based on a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or is null. + + + + Time shifts the observable sequence based on a subscription delay and a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Sequence indicating the delay for the subscription to the source. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or or is null. + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Time-shifted sequence. + is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Returns an observable sequence that produces a value after each period. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Returns an observable sequence that produces a value after each period, using the specified scheduler to run timers and to send out observer messages. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + is null. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Samples the observable sequence at each interval. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Sampled observable sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the observable sequence at each interval, using the specified scheduler to run sampling timers. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Scheduler to run the sampling timer on. + Sampled observable sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the source observable sequence using a samper observable sequence producing sampling ticks. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + The type of the elements in the sampling sequence. + Source sequence to sample. + Sampling tick sequence. + Sampled observable sequence. + or is null. + + + + Skips elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements for the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements from the observable source sequence until the specified start time. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + An observable sequence with the elements skipped until the specified start time. + is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Skips elements from the observable source sequence until the specified start time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + Scheduler to run the timer on. + An observable sequence with the elements skipped until the specified start time. + or is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Takes elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Takes elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Returns elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified schedulers to run timers and to drain the collected elements. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + Scheduler to drain the collected elements. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Takes elements for the specified duration until the specified end time. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + An observable sequence with the elements taken until the specified end time. + is null. + + + + Takes elements for the specified duration until the specified end time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + Scheduler to run the timer on. + An observable sequence with the elements taken until the specified end time. + or is null. + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + The throttled sequence. + is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration, using the specified scheduler to run throttling timers. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + Scheduler to run the throttle timers on. + The throttled sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another value within a computed throttle duration. + + The type of the elements in the source sequence. + The type of the elements in the throttle sequences selected for each element in the source sequence. + Source sequence to throttle. + Selector function to retrieve a sequence indicating the throttle duration for each given element. + The throttled sequence. + or is null. + + This operator throttles the source sequence by holding on to each element for the duration denoted by . + If another element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this + whole process. For streams where the duration computed by applying the to each element overlaps with + the occurrence of the successor element, the resulting stream won't produce any elements. In order to reduce the volume of a stream whilst + guaranteeing the periodic production of elements, consider using the Observable.Sample set of operators. + + + + + Records the time interval between consecutive elements in an observable sequence. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + An observable sequence with time interval information on elements. + is null. + + + + Records the time interval between consecutive elements in an observable sequence, using the specified scheduler to compute time intervals. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + Scheduler used to compute time intervals. + An observable sequence with time interval information on elements. + or is null. + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + The source sequence with a TimeoutException in case of a timeout. + is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + The source sequence with a TimeoutException in case of a timeout. + is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or is null. + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or or is null. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + An observable sequence that produces a value after the due time has elapsed. + + + + Returns an observable sequence that produces a single value at the specified absolute due time. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + An observable sequence that produces a value at due time. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after due time has elapsed and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed, using the specified scheduler to run the timer. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after the due time has elapsed. + is null. + + + + Returns an observable sequence that produces a single value at the specified absolute due time, using the specified scheduler to run the timer. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value at due time. + is null. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed, using the specified scheduler to run timers. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value after due time has elapsed and then each period. + is less than TimeSpan.Zero. + is null. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time, using the specified scheduler to run timers. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + is null. + + + + Timestamps each element in an observable sequence using the local system clock. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + An observable sequence with timestamp information on elements. + is null. + + + + Timestamp each element in an observable sequence using the clock of the specified scheduler. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + Scheduler used to compute timestamps. + An observable sequence with timestamp information on elements. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + The sequence of windows. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of windows. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Internal interface describing the LINQ to Events query language. + + + + + Base class for classes that expose an observable sequence as a well-known event pattern (sender, event arguments). + Contains functionality to maintain a map of event handler delegates to observable sequence subscriptions. Subclasses + should only add an event with custom add and remove methods calling into the base class's operations. + + The type of the sender that raises the event. + The type of the event data generated by the event. + + + + Creates a new event pattern source. + + Source sequence to expose as an event. + Delegate used to invoke the event for each element of the sequence. + or is null. + + + + Adds the specified event handler, causing a subscription to the underlying source. + + Event handler to add. The same delegate should be passed to the Remove operation in order to remove the event handler. + Invocation delegate to raise the event in the derived class. + or is null. + + + + Removes the specified event handler, causing a disposal of the corresponding subscription to the underlying source that was created during the Add operation. + + Event handler to remove. This should be the same delegate as one that was passed to the Add operation. + is null. + + + + Represents a .NET event invocation consisting of the weakly typed object that raised the event and the data that was generated by the event. + + The type of the event data generated by the event. + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + The type of the sender that raised the event. + The type of the event data generated by the event. + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Determines whether the current EventPattern<TSender, TEventArgs> object represents the same event as a specified EventPattern<TSender, TEventArgs> object. + + An object to compare to the current EventPattern<TSender, TEventArgs> object. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>. + + The System.Object to compare with the current EventPattern<TSender, TEventArgs>. + true if the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>; otherwise, false. + + + + Returns the hash code for the current EventPattern<TSender, TEventArgs> instance. + + A hash code for the current EventPattern<TSender, TEventArgs> instance. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent the same event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent a different event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects don't represent the same event; otherwise, false. + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Base class for historical schedulers, which are virtual time schedulers that use DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Base class for virtual time schedulers. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts the virtual time scheduler. + + + + + Stops the virtual time scheduler. + + + + + Advances the scheduler's clock to the specified time, running all work till that point. + + Absolute time to advance the scheduler's clock to. + is in the past. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time, running all work scheduled for that timespan. + + Relative time to advance the scheduler's clock by. + is negative. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time. + + Relative time to advance the scheduler's clock by. + is negative. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Discovers scheduler services by interface type. The base class implementation supports + only the IStopwatchProvider service. To influence service discovery - such as adding + support for other scheduler services - derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Gets whether the scheduler is enabled to run work. + + + + + Gets the comparer used to compare absolute time values. + + + + + Gets the scheduler's absolute time clock value. + + + + + Gets the scheduler's notion of current time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial clock value. + + + + Creates a new historical scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Provides a virtual time scheduler that uses DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Base class for virtual time schedulers using a priority queue for scheduled items. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the resulting sequence, after transformation through the subject. + + + + Creates an observable that can be connected and disconnected from its source. + + Underlying observable source sequence that can be connected and disconnected from the wrapper. + Subject exposed by the connectable observable, receiving data from the underlying source sequence upon connection. + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable object used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Subscribes an observer to the observable sequence. No values from the underlying observable source will be received unless a connection was established through the Connect method. + + Observer that will receive values from the underlying observable source when the current ConnectableObservable instance is connected through a call to Connect. + Disposable used to unsubscribe from the observable sequence. + + + + Provides a set of static methods for creating subjects. + + + + + Creates a subject from the specified observer and observable. + + The type of the elements received by the observer. + The type of the elements produced by the observable sequence. + The observer used to send messages to the subject. + The observable used to subscribe to messages sent from the subject. + Subject implemented using the given observer and observable. + or is null. + + + + Synchronizes the messages sent to the subject. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Subject whose messages are synchronized. + is null. + + + + Synchronizes the messages sent to the subject and notifies observers on the specified scheduler. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Scheduler to notify observers on. + Subject whose messages are synchronized and whose observers are notified on the given scheduler. + or is null. + + + + Represents the result of an asynchronous operation. + The last value before the OnCompleted notification, or the error received through OnError, is sent to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject that can only receive one value and that value is cached for all future observations. + + + + + Notifies all subscribed observers about the end of the sequence, also causing the last received value to be sent out (if any). + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Sends a value to the subject. The last value received before successful termination will be sent to all subscribed and future observers. + + The value to store in the subject. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Gets the last element of the subject, potentially blocking until the subject completes successfully or exceptionally. + + The last element of the subject. Throws an InvalidOperationException if no element was received. + The source sequence is empty. + + + + Indicates whether the subject has observers subscribed to it. + + + + + Gets whether the AsyncSubject has completed. + + + + + Represents a value that changes over time. + Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class which creates a subject that caches its last value and starts with the specified value. + + Initial value sent to observers when no other value has been received by the subject yet. + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject. + + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the specified exception. + + The exception to send to all currently subscribed observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all currently subscribed observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribes all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Abstract base class for join patterns. + + + + + Represents a join pattern over one observable sequence. + + The type of the elements in the first source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over two observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + + + + Creates a pattern that matches when all three observable sequences have an available element. + + The type of the elements in the third observable sequence. + Observable sequence to match with the two previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over three observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + + + + Creates a pattern that matches when all four observable sequences have an available element. + + The type of the elements in the fourth observable sequence. + Observable sequence to match with the three previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over four observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + + + + Creates a pattern that matches when all five observable sequences have an available element. + + The type of the elements in the fifth observable sequence. + Observable sequence to match with the four previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over five observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + + + + Creates a pattern that matches when all six observable sequences have an available element. + + The type of the elements in the sixth observable sequence. + Observable sequence to match with the five previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over six observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + + + + Creates a pattern that matches when all seven observable sequences have an available element. + + The type of the elements in the seventh observable sequence. + Observable sequence to match with the six previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over seven observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + + + + Creates a pattern that matches when all eight observable sequences have an available element. + + The type of the elements in the eighth observable sequence. + Observable sequence to match with the seven previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over eight observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + + + + Creates a pattern that matches when all nine observable sequences have an available element. + + The type of the elements in the ninth observable sequence. + Observable sequence to match with the eight previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over nine observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + + + + Creates a pattern that matches when all ten observable sequences have an available element. + + The type of the elements in the tenth observable sequence. + Observable sequence to match with the nine previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over ten observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + + + + Creates a pattern that matches when all eleven observable sequences have an available element. + + The type of the elements in the eleventh observable sequence. + Observable sequence to match with the ten previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over eleven observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + + + + Creates a pattern that matches when all twelve observable sequences have an available element. + + The type of the elements in the twelfth observable sequence. + Observable sequence to match with the eleven previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over twelve observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + + + + Creates a pattern that matches when all thirteen observable sequences have an available element. + + The type of the elements in the thirteenth observable sequence. + Observable sequence to match with the twelve previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over thirteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + + + + Creates a pattern that matches when all fourteen observable sequences have an available element. + + The type of the elements in the fourteenth observable sequence. + Observable sequence to match with the thirteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over fourteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + + + + Creates a pattern that matches when all fifteen observable sequences have an available element. + + The type of the elements in the fifteenth observable sequence. + Observable sequence to match with the fourteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over fifteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + + + + Creates a pattern that matches when all sixteen observable sequences have an available element. + + The type of the elements in the sixteenth observable sequence. + Observable sequence to match with the fifteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over sixteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents an execution plan for join patterns. + + The type of the results produced by the plan. + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed and future observers, subject to buffer trimming policies. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class with the specified buffer size, window and scheduler. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is less than zero. -or- is less than TimeSpan.Zero. + is null. + + + + Initializes a new instance of the class with the specified buffer size and window. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + is less than zero. -or- is less than TimeSpan.Zero. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified scheduler. + + Scheduler the observers are invoked on. + is null. + + + + Initializes a new instance of the class with the specified buffer size and scheduler. + + Maximum element count of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than zero. + + + + Initializes a new instance of the class with the specified buffer size. + + Maximum element count of the replay buffer. + is less than zero. + + + + Initializes a new instance of the class with the specified window and scheduler. + + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than TimeSpan.Zero. + + + + Initializes a new instance of the class with the specified window. + + Maximum time length of the replay buffer. + is less than TimeSpan.Zero. + + + + Notifies all subscribed and future observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Notifies all subscribed and future observers about the specified exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed and future observers about the end of the sequence. + + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribe all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + The System.Reactive.Threading.Tasks namespace contains helpers for the conversion between tasks and observable sequences. + + + + + Provides a set of static methods for converting tasks to observable sequences. + + + + + Returns an observable sequence that signals when the task completes. + + Task to convert to an observable sequence. + An observable sequence that produces a unit value when the task completes, or propagates the exception produced by the task. + is null. + If the specified task object supports cancellation, consider using instead. + + + + Returns an observable sequence that propagates the result of the task. + + The type of the result produced by the task. + Task to convert to an observable sequence. + An observable sequence that produces the task's result, or propagates the exception produced by the task. + is null. + If the specified task object supports cancellation, consider using instead. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + The state to use as the underlying task's AsyncState. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + The state to use as the underlying task's AsyncState. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Represents a value associated with time interval information. + The time interval can represent the time it took to produce the value, the interval relative to a previous value, the value's delivery time relative to a base, etc. + + The type of the value being annotated with time interval information. + + + + Constructs a time interval value. + + The value to be annotated with a time interval. + Time interval associated with the value. + + + + Determines whether the current TimeInterval<T> value has the same Value and Interval as a specified TimeInterval<T> value. + + An object to compare to the current TimeInterval<T> value. + true if both TimeInterval<T> values have the same Value and Interval; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has the same Value and Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values don't have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has a different Value or Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current TimeInterval<T>. + + The System.Object to compare with the current TimeInterval<T>. + true if the specified System.Object is equal to the current TimeInterval<T>; otherwise, false. + + + + Returns the hash code for the current TimeInterval<T> value. + + A hash code for the current TimeInterval<T> value. + + + + Returns a string representation of the current TimeInterval<T> value. + + String representation of the current TimeInterval<T> value. + + + + Gets the value. + + + + + Gets the interval. + + + + + Represents value with a timestamp on it. + The timestamp typically represents the time the value was received, using an IScheduler's clock to obtain the current time. + + The type of the value being timestamped. + + + + Constructs a timestamped value. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + + + + Determines whether the current Timestamped<T> value has the same Value and Timestamp as a specified Timestamped<T> value. + + An object to compare to the current Timestamped<T> value. + true if both Timestamped<T> values have the same Value and Timestamp; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has the same Value and Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values don't have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has a different Value or Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current Timestamped<T>. + + The System.Object to compare with the current Timestamped<T>. + true if the specified System.Object is equal to the current Timestamped<T>; otherwise, false. + + + + Returns the hash code for the current Timestamped<T> value. + + A hash code for the current Timestamped<T> value. + + + + Returns a string representation of the current Timestamped<T> value. + + String representation of the current Timestamped<T> value. + + + + Gets the value. + + + + + Gets the timestamp. + + + + + A helper class with a factory method for creating Timestamped<T> instances. + + + + + Creates an instance of a Timestamped<T>. This is syntactic sugar that uses type inference + to avoid specifying a type in a constructor call, which is very useful when using anonymous types. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + Creates a new timestamped value. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Could not find event '{0}' on object of type '{1}'.. + + + + + Looks up a localized string similar to Could not find event '{0}' on type '{1}'.. + + + + + Looks up a localized string similar to Add method should take 1 parameter.. + + + + + Looks up a localized string similar to The second parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Event is missing the add method.. + + + + + Looks up a localized string similar to Event is missing the remove method.. + + + + + Looks up a localized string similar to The event delegate must have a void return type.. + + + + + Looks up a localized string similar to The event delegate must have exactly two parameters.. + + + + + Looks up a localized string similar to Remove method should take 1 parameter.. + + + + + Looks up a localized string similar to The first parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Remove method of a WinRT event should take an EventRegistrationToken.. + + + + + Looks up a localized string similar to Sequence contains more than one element.. + + + + + Looks up a localized string similar to Sequence contains more than one matching element.. + + + + + Looks up a localized string similar to Sequence contains no elements.. + + + + + Looks up a localized string similar to Sequence contains no matching element.. + + + + + Looks up a localized string similar to {0} cannot be called when the scheduler is already running. Try using Sleep instead.. + + + + diff --git a/packages/Rx-Linq.2.1.30214.0/lib/SL5/System.Reactive.Linq.dll b/packages/Rx-Linq.2.1.30214.0/lib/SL5/System.Reactive.Linq.dll new file mode 100644 index 00000000000..05ef35b96e9 Binary files /dev/null and b/packages/Rx-Linq.2.1.30214.0/lib/SL5/System.Reactive.Linq.dll differ diff --git a/packages/Rx-Linq.2.1.30214.0/lib/WP8/System.Reactive.Linq.XML b/packages/Rx-Linq.2.1.30214.0/lib/WP8/System.Reactive.Linq.XML new file mode 100644 index 00000000000..10215d6365d --- /dev/null +++ b/packages/Rx-Linq.2.1.30214.0/lib/WP8/System.Reactive.Linq.XML @@ -0,0 +1,10565 @@ + + + + System.Reactive.Linq + + + + + The System.Reactive.Joins namespace contains classes used to express join patterns over observable sequences using fluent method syntax. + + + + + Provides a set of extension methods for virtual time scheduling. + + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Schedules an action to be executed at dueTime. + + Absolute time representation type. + Relative time representation type. + Scheduler to execute the action on. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + or is null. + + + + Attribute applied to static classes providing expression tree forms of query methods, + mapping those to the corresponding methods for local query execution on the specified + target class type. + + + + + Creates a new mapping to the specified local execution query method implementation type. + + Type with query methods for local execution. + + + + Gets the type with the implementation of local query methods. + + + + + Provides a set of static methods for writing in-memory queries over observable sequences. + + + + + Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates. + The loop can be quit prematurely by setting the specified cancellation token. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Cancellation token used to stop the loop. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates. + The loop can be quit prematurely by setting the specified cancellation token. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Cancellation token used to stop the loop. + Task that signals the termination of the sequence. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Uses to determine which source in to return, choosing if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Default source to select in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence on the specified scheduler if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + Scheduler to generate an empty sequence on in case no matching source in is found. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or or is null. + + + + Uses to determine which source in to return, choosing an empty sequence if no match is found. + + The type of the value returned by the selector function, used to look up the resulting source. + The type of the elements in the result sequence. + Selector function invoked to determine the source to lookup in the dictionary. + Dictionary of sources to select from based on the invocation result. + The observable sequence retrieved from the dictionary based on the invocation result, or an empty sequence if no match is found. + or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated after each repeated completed. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated upon the completion of an iteration through the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Concatenates the observable sequences obtained by running the for each element in the given enumerable . + + The type of the elements in the enumerable source sequence. + The type of the elements in the observable result sequence. + Enumerable source for which each element will be mapped onto an observable source that will be concatenated in the result sequence. + Function to select an observable source for each element in the . + The observable sequence obtained by concatenating the sources returned by for each element in the . + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, select the sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Sequence returned in case evaluates false. + if evaluates true; otherwise. + or or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + if evaluates true; an empty sequence otherwise. + or is null. + + + + If the specified evaluates true, select the sequence. Otherwise, return an empty sequence generated on the specified scheduler. + + The type of the elements in the result sequence. + Condition evaluated to decide which sequence to return. + Sequence returned in case evaluates true. + Scheduler to generate an empty sequence on in case evaluates false. + if evaluates true; an empty sequence otherwise. + or or is null. + + + + Repeats the given as long as the specified holds, where the is evaluated before each repeated is subscribed to. + + The type of the elements in the source sequence. + Source to repeat as long as the function evaluates to true. + Condition that will be evaluated before subscription to the , to determine whether repetition of the source is required. + The observable sequence obtained by concatenating the sequence as long as the holds. + or is null. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the fourteenth argument passed to the begin delegate. + The type of the result returned by the end delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + The type of the first argument passed to the begin delegate. + The type of the second argument passed to the begin delegate. + The type of the third argument passed to the begin delegate. + The type of the fourth argument passed to the begin delegate. + The type of the fifth argument passed to the begin delegate. + The type of the sixth argument passed to the begin delegate. + The type of the seventh argument passed to the begin delegate. + The type of the eighth argument passed to the begin delegate. + The type of the ninth argument passed to the begin delegate. + The type of the tenth argument passed to the begin delegate. + The type of the eleventh argument passed to the begin delegate. + The type of the twelfth argument passed to the begin delegate. + The type of the thirteenth argument passed to the begin delegate. + The type of the fourteenth argument passed to the begin delegate. + The delegate that begins the asynchronous operation. + The delegate that ends the asynchronous operation. + Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence. + or is null. + Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result. + + + + Invokes the specified function asynchronously, surfacing the result through an observable sequence. + + The type of the result returned by the function. + Function to run asynchronously. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the specified function asynchronously on the specified scheduler, surfacing the result through an observable sequence + + The type of the result returned by the function. + Function to run asynchronously. + Scheduler to run the function on. + An observable sequence exposing the function's result value, or an exception. + or is null. + + + The function is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the asynchronous function, surfacing the result through an observable sequence. + + The type of the result returned by the asynchronous function. + Asynchronous function to run. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + + + + + Invokes the asynchronous function, surfacing the result through an observable sequence. + The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information. + + The type of the result returned by the asynchronous function. + Asynchronous function to run. + An observable sequence exposing the function's result value, or an exception. + is null. + + + The function is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the function's result. + + If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed + subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. + Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription + to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using + multicast operators. + + + + + + + Invokes the action asynchronously, surfacing the result through an observable sequence. + + Action to run asynchronously. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the action asynchronously on the specified scheduler, surfacing the result through an observable sequence. + + Action to run asynchronously. + Scheduler to run the action on. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + or is null. + + + The action is called immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the asynchronous action, surfacing the result through an observable sequence. + + Asynchronous action to run. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + + + + + Invokes the asynchronous action, surfacing the result through an observable sequence. + The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information. + + Asynchronous action to run. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + The action is started immediately, not during the subscription of the resulting sequence. + Multiple subscriptions to the resulting sequence can observe the action's outcome. + + If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed + subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator. + Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription + to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using + multicast operators. + + + + + + + Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. + + The type of the result returned by the asynchronous function. + Asynchronous function to convert. + An observable sequence exposing the result of invoking the function, or an exception. + is null. + + + + Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started. + The CancellationToken passed to the asynchronous function is tied to the observable sequence's subscription that triggered the function's invocation and can be used for best-effort cancellation. + + The type of the result returned by the asynchronous function. + Asynchronous function to convert. + An observable sequence exposing the result of invoking the function, or an exception. + is null. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled. + + + + Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. + + Asynchronous action to convert. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + is null. + + + + Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started. + The CancellationToken passed to the asynchronous action is tied to the observable sequence's subscription that triggered the action's invocation and can be used for best-effort cancellation. + + Asynchronous action to convert. + An observable sequence exposing a Unit value upon completion of the action, or an exception. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the sixteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Asynchronous function. + is null. + + + + Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler. + + The type of the first argument passed to the function. + The type of the second argument passed to the function. + The type of the third argument passed to the function. + The type of the fourth argument passed to the function. + The type of the fifth argument passed to the function. + The type of the sixth argument passed to the function. + The type of the seventh argument passed to the function. + The type of the eighth argument passed to the function. + The type of the ninth argument passed to the function. + The type of the tenth argument passed to the function. + The type of the eleventh argument passed to the function. + The type of the twelfth argument passed to the function. + The type of the thirteenth argument passed to the function. + The type of the fourteenth argument passed to the function. + The type of the fifteenth argument passed to the function. + The type of the sixteenth argument passed to the function. + The type of the result returned by the function. + Function to convert to an asynchronous function. + Scheduler to invoke the original function on. + Asynchronous function. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + The type of the sixteenth argument passed to the action. + Action to convert to an asynchronous action. + Asynchronous action. + is null. + + + + Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler. + + The type of the first argument passed to the action. + The type of the second argument passed to the action. + The type of the third argument passed to the action. + The type of the fourth argument passed to the action. + The type of the fifth argument passed to the action. + The type of the sixth argument passed to the action. + The type of the seventh argument passed to the action. + The type of the eighth argument passed to the action. + The type of the ninth argument passed to the action. + The type of the tenth argument passed to the action. + The type of the eleventh argument passed to the action. + The type of the twelfth argument passed to the action. + The type of the thirteenth argument passed to the action. + The type of the fourteenth argument passed to the action. + The type of the fifteenth argument passed to the action. + The type of the sixteenth argument passed to the action. + Action to convert to an asynchronous action. + Scheduler to invoke the original action on. + Asynchronous action. + or is null. + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The delegate type of the event to be converted. + The type of the sender that raises the event. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event, conforming to the standard .NET event pattern based on , to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the target object type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Object instance that exposes the event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with an parameter, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEventPattern, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence. + Each event invocation is surfaced through an OnNext message in the resulting sequence. + Reflection is used to discover the event based on the specified type and the specified event name. + For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead. + + The type of the sender that raises the event. + The type of the event data generated by the event. + Type that exposes the static event to convert. + Name of the event to convert. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains data representations of invocations of the underlying .NET event. + or or is null. + The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The delegate type of the event to be converted. + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + The type of the event data generated by the event. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + The current is captured during the call to FromEvent, and is used to post add and remove handler invocations. + This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks. + + + If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread + making the Subscribe or Dispose call, respectively. + + + It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so + makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions + more concise and easier to understand. + + + + + + + Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence. + For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The scheduler to run the add and remove event handler logic on. + The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event. + or or is null. + + + Add and remove handler invocations are made whenever the number of observers grows beyond zero. + As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting. + + + Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be + accessed from the same context, as required by some UI frameworks. + + + It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries, + making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler + parameter. For more information, see the remarks section on those overloads. + + + + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value, + and the specified result selector function is used to select the result value. + + The type of the elements in the source sequence. + The type of the accumulator value. + The type of the resulting value. + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + A function to transform the final accumulator value into the result value. + An observable sequence containing a single element with the final accumulator value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. + For aggregation behavior with incremental intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to aggregate over. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether all elements of an observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether all elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains any elements. + + The type of the elements in the source sequence. + An observable sequence to check for non-emptiness. + An observable sequence containing a single element determining whether the source sequence contains any elements. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether any element of an observable sequence satisfies a condition. + + The type of the elements in the source sequence. + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether any elements in the source sequence pass the test in the specified predicate. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + (Asynchronous) The sum of the elements in the source sequence is larger than . + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values to calculate the average of. + A transform function to apply to each element. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + or is null. + (Asynchronous) The source sequence is empty. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using the default equality comparer. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using a specified System.Collections.Generic.IEqualityComparer<T>. + + The type of the elements in the source sequence. + An observable sequence in which to locate a value. + The value to locate in the source sequence. + An equality comparer to compare elements. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the element at a specified index in a sequence. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence. + is null. + is less than zero. + (Asynchronous) is greater than or equal to the number of elements in the source sequence. + + + + Returns the element at a specified index in a sequence or a default value if the index is out of range. + + The type of the elements in the source sequence. + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence, or a default value if the index is outside the bounds of the source sequence. + is null. + is less than zero. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the first element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Determines whether an observable sequence is empty. + + The type of the elements in the source sequence. + An observable sequence to check for emptiness. + An observable sequence containing a single element determining whether the source sequence is empty. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence. + is null. + (Asynchronous) The source sequence is empty. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the last element in the observable sequence, or a default value if no such element exists. + is null. + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + Returns an observable sequence containing an that represents the total number of elements in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + is null. + (Asynchronous) The number of elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence containing an that represents how many elements in the specified observable sequence satisfy a condition. + + The type of the elements in the source sequence. + An observable sequence that contains elements to be counted. + A function to test each element for a condition. + An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + An observable sequence containing a single element with the maximum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the maximum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the maximum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the maximum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the maximum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the maximum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the maximum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a maximum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + An observable sequence containing a single element with the minimum element in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence according to the specified comparer. + + The type of the elements in the source sequence. + An observable sequence to determine the mimimum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the objects derived from the elements in the source sequence to determine the minimum of. + An observable sequence to determine the mimimum element of. + A transform function to apply to each element. + Comparer used to compare elements. + An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Invokes a transform function on each element of a sequence and returns the minimum nullable value. + + The type of the elements in the source sequence. + A sequence of values to determine the minimum value of. + A transform function to apply to each element. + An observable sequence containing a single element with the value of type that corresponds to the minimum value in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value according to the specified comparer. + + The type of the elements in the source sequence. + The type of the key computed for each element in the source sequence. + An observable sequence to get the minimum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a minimum key value. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise using a specified equality comparer. + + The type of the elements in the source sequence. + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the only element of an observable sequence, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence. + is null. + (Asynchronous) The source sequence contains more than one element. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and reports an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate. + or is null. + (Asynchronous) No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + Sequence containing the single element in the observable sequence, or a default value if no such element exists. + is null. + (Asynchronous) The source sequence contains more than one element. + + + + Returns the only element of an observable sequence that matches the predicate, or a default value if no such element exists; this method reports an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + Sequence containing the single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + (Asynchronous) The sequence contains more than one element that satisfies the condition in the predicate. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the source sequence. + is null. + (Asynchronous) The sum of the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements in the source sequence. + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + An observable sequence containing a single element with the sum of the values in the source sequence. + or is null. + (Asynchronous) The sum of the projected values for the elements in the source sequence is larger than . + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates an array from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get an array of elements for. + An observable sequence containing a single element with an array containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the dictionary key computed for each element in the source sequence. + The type of the dictionary value computed for each element in the source sequence. + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a list from an observable sequence. + + The type of the elements in the source sequence. + The source observable sequence to get a list of elements for. + An observable sequence containing a single element with a list containing all the elements of the source sequence. + is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and a comparer. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + The type of the elements in the source sequence. + The type of the lookup key computed for each element in the source sequence. + The type of the lookup value computed for each element in the source sequence. + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + or or or is null. + The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes to the observable sequence, making it hot. + + The type of the elements in the source sequence. + Source sequence to await. + Object that can be awaited. + is null. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes and connects to the observable sequence, making it hot. + + The type of the elements in the source sequence. + Source sequence to await. + Object that can be awaited. + is null. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes to the observable sequence, making it hot. The supplied CancellationToken can be used to cancel the subscription. + + The type of the elements in the source sequence. + Source sequence to await. + Cancellation token. + Object that can be awaited. + is null. + + + + Gets an awaiter that returns the last value of the observable sequence or throws an exception if the sequence is empty. + This operation subscribes and connects to the observable sequence, making it hot. The supplied CancellationToken can be used to cancel the subscription and connection. + + The type of the elements in the source sequence. + Source sequence to await. + Cancellation token. + Object that can be awaited. + is null. + + + + Multicasts the source sequence notifications through the specified subject to the resulting connectable observable. Upon connection of the + connectable observable, the subject is subscribed to the source exactly one, and messages are forwarded to the observers registered with + the connectable observable. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be pushed into the specified subject. + Subject to push source elements into. + A connectable observable sequence that upon connection causes the source sequence to push results into the specified subject. + or is null. + + + + Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each + subscription to the resulting sequence causes a separate multicast invocation, exposing the sequence resulting from the selector function's + invocation. For specializations with fixed subject types, see Publish, PublishLast, and Replay. + + The type of the elements in the source sequence. + The type of the elements produced by the intermediate subject. + The type of the elements in the result sequence. + Source sequence which will be multicasted in the specified selector function. + Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function. + Selector function which can use the multicasted source sequence subject to the policies enforced by the created subject. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence. + This operator is a specialization of Multicast using a regular . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all notifications of the source from the time of the subscription on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Initial value received by observers upon subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + Initial value received by observers upon subscription. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will only receive the last notification of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will only receive the last notification of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + + The type of the elements in the source sequence. + Connectable observable sequence. + An observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + is null. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + Subscribers will receive all the notifications of the source. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + or is null. + is less than zero. + is less than TimeSpan.Zero. + Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer. + This operator is a specialization of Multicast using a . + + The type of the elements in the source sequence. + The type of the elements in the result sequence. + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + or or is null. + is less than zero. + is less than TimeSpan.Zero. + + + + + Produces an enumerable sequence of consecutive (possibly empty) chunks of the source sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns consecutive (possibly empty) chunks upon each iteration. + is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create a new collector object. + Merges a sequence element with the current collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or is null. + + + + Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations. + + The type of the elements in the source sequence. + The type of the elements produced by the merge operation during collection. + Source observable sequence. + Factory to create the initial collector object. + Merges a sequence element with the current collector. + Factory to replace the current collector by a new collector. + The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration. + or or or is null. + + + + Returns the first element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the first element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The first element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Invokes an action for each element in the observable sequence, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Invokes an action for each element in the observable sequence, incorporating the element's index, and blocks until the sequence is terminated. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + or is null. + Because of its blocking nature, this operator is mainly used for testing. + + + + Returns an enumerator that enumerates all values of the observable sequence. + + The type of the elements in the source sequence. + An observable sequence to get an enumerator for. + The enumerator that can be used to enumerate over the elements in the observable sequence. + is null. + + + + Returns the last element of an observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the last element of an observable sequence, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence, or a default value if no such element exists. + is null. + + + + + Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + + + + + Returns an enumerable sequence whose enumeration returns the latest observed element in the source observable sequence. + Enumerators on the resulting sequence will never produce the same element repeatedly, and will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that returns the last sampled element upon each iteration and subsequently blocks until the next element in the observable source sequence becomes available. + + + + Returns an enumerable sequence whose enumeration returns the most recently observed element in the source observable sequence, using the specified initial value in case no element has been sampled yet. + Enumerators on the resulting sequence never block and can produce the same element repeatedly. + + The type of the elements in the source sequence. + Source observable sequence. + Initial value that will be yielded by the enumerable sequence if no element has been sampled yet. + The enumerable sequence that returns the last sampled element upon each iteration. + is null. + + + + Returns an enumerable sequence whose enumeration blocks until the next element in the source observable sequence becomes available. + Enumerators on the resulting sequence will block until the next element becomes available. + + The type of the elements in the source sequence. + Source observable sequence. + The enumerable sequence that blocks upon each iteration until the next element in the observable source sequence becomes available. + is null. + + + + Returns the only element of an observable sequence, and throws an exception if there is not exactly one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence. + is null. + The source sequence contains more than one element. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, and throws an exception if there is not exactly one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate. + or is null. + No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty. + + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method throws an exception if there is more than one element in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + The single element in the observable sequence, or a default value if no such element exists. + is null. + The source sequence contains more than one element. + + + + + Returns the only element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists; this method throws an exception if there is more than one element matching the predicate in the observable sequence. + + The type of the elements in the source sequence. + Source observable sequence. + A predicate function to evaluate for elements in the source sequence. + The single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists. + or is null. + The sequence contains more than one element that satisfies the condition in the predicate. + + + + + Waits for the observable sequence to complete and returns the last element of the sequence. + If the sequence terminates with an OnError notification, the exception is throw. + + The type of the elements in the source sequence. + Source observable sequence. + The last element in the observable sequence. + is null. + The source sequence is empty. + + + + Wraps the source sequence in order to run its observer callbacks on the specified scheduler. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + or is null. + + This only invokes observer callbacks on a scheduler. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a scheduler, use . + + + + + Wraps the source sequence in order to run its observer callbacks on the specified synchronization context. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + or is null. + + This only invokes observer callbacks on a synchronization context. In case the subscription and/or unsubscription actions have side-effects + that require to be run on a synchronization context, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified scheduler. In order to invoke observer + callbacks on a scheduler, use . + + + + + Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. This operation is not commonly used; + see the remarks section for more information on the distinction between SubscribeOn and ObserveOn. + + The type of the elements in the source sequence. + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + or is null. + + This only performs the side-effects of subscription and unsubscription on the specified synchronization context. In order to invoke observer + callbacks on a synchronization context, use . + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently. + This overload is useful to "fix" an observable sequence that exhibits concurrent callbacks on individual observers, which is invalid behavior for the query processor. + + The type of the elements in the source sequence. + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + is null. + + It's invalid behavior - according to the observer grammar - for a sequence to exhibit concurrent callbacks on a given observer. + This operator can be used to "fix" a source that doesn't conform to this rule. + + + + + Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently, using the specified gate object. + This overload is useful when writing n-ary query operators, in order to prevent concurrent callbacks from different sources by synchronizing on a common gate object. + + The type of the elements in the source sequence. + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + or is null. + + + + Subscribes an observer to an enumerable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Disposable object that can be used to unsubscribe the observer from the enumerable + or is null. + + + + Subscribes an observer to an enumerable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Scheduler to perform the enumeration on. + Disposable object that can be used to unsubscribe the observer from the enumerable + or or is null. + + + + Converts an observable sequence to an enumerable sequence. + + The type of the elements in the source sequence. + An observable sequence to convert to an enumerable sequence. + The enumerable sequence containing the elements in the observable sequence. + is null. + + + + Exposes an observable sequence as an object with an Action-based .NET event. + + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with an Action<TSource>-based .NET event. + + The type of the elements in the source sequence. + Observable source sequence. + The event source object. + is null. + + + + Exposes an observable sequence as an object with a .NET event, conforming to the standard .NET event pattern. + + The type of the event data generated by the event. + Observable source sequence. + The event source object. + is null. + + + + Converts an enumerable sequence to an observable sequence. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + The observable sequence whose elements are pulled from the given enumerable sequence. + is null. + + + + Converts an enumerable sequence to an observable sequence, using the specified scheduler to run the enumeration loop. + + The type of the elements in the source sequence. + Enumerable sequence to convert to an observable sequence. + Scheduler to run the enumeration of the input sequence on. + The observable sequence whose elements are pulled from the given enumerable sequence. + or is null. + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified Subscribe method implementation. + + The type of the elements in the produced sequence. + Implementation of the resulting observable sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + + Use of this operator is preferred over manual implementation of the IObservable<T> interface. In case + you need a type implementing IObservable<T> rather than an anonymous implementation, consider using + the abstract base class. + + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to produce elements. + The observable sequence surfacing the elements produced by the asynchronous method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to produce elements. + The observable sequence surfacing the elements produced by the asynchronous method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Creates an observable sequence from a specified cancellable asynchronous Subscribe method. + The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled. + + + + Creates an observable sequence from a specified asynchronous Subscribe method. + + The type of the elements in the produced sequence. + Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Observable factory function to invoke for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger an invocation of the given observable factory function. + is null. + + + + Returns an observable sequence that starts the specified asynchronous factory function whenever a new observer subscribes. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Asynchronous factory function to start for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger the given asynchronous observable factory function to be started. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + + + + Returns an observable sequence that starts the specified cancellable asynchronous factory function whenever a new observer subscribes. + The CancellationToken passed to the asynchronous factory function is tied to the returned disposable subscription, allowing best-effort cancellation. + + The type of the elements in the sequence returned by the factory function, and in the resulting sequence. + Asynchronous factory function to start for each observer that subscribes to the resulting sequence. + An observable sequence whose observers trigger the given asynchronous observable factory function to be started. + is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous observable factory function will be signaled. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence with no elements. + + + + Returns an empty observable sequence. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + An observable sequence with no elements. + is null. + + + + Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Scheduler to send the termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence with no elements. + is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + The generated sequence. + or or is null. + + + + Generates an observable sequence by running a state-driven loop producing the sequence's elements, using the specified scheduler to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Scheduler on which to run the generator loop. + The generated sequence. + or or or is null. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + An observable sequence whose observers will never get called. + + + + Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). + + The type used for the IObservable<T> type parameter of the resulting sequence. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + An observable sequence whose observers will never get called. + + + + Generates an observable sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + + + + Generates an observable sequence of integral numbers within a specified range, using the specified scheduler to send out observer messages. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + Scheduler to run the generator loop on. + An observable sequence that contains a range of sequential integral numbers. + is less than zero. -or- + - 1 is larger than . + is null. + + + + Generates an observable sequence that repeats the given element infinitely. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + An observable sequence that repeats the given element infinitely. + + + + Generates an observable sequence that repeats the given element infinitely, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element infinitely. + is null. + + + + Generates an observable sequence that repeats the given element the specified number of times. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + + + + Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages. + + The type of the element that will be repeated in the produced sequence. + Element to repeat. + Number of times to repeat the element. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element the specified number of times. + is less than zero. + is null. + + + + Returns an observable sequence that contains a single element. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + An observable sequence containing the single specified element. + + + + Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages. + + The type of the element that will be returned in the produced sequence. + Single element in the resulting observable sequence. + Scheduler to send the single element on. + An observable sequence containing the single specified element. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message. + + The type used for the IObservable<T> type parameter of the resulting sequence. + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + Object solely used to infer the type of the type parameter. This parameter is typically used when creating a sequence of anonymously typed elements. + The observable sequence that terminates exceptionally with the specified exception object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Factory function to obtain a resource object. + Factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. The resource is obtained and used through asynchronous methods. + The CancellationToken passed to the asynchronous methods is tied to the returned disposable subscription, allowing best-effort cancellation at any stage of the resource acquisition or usage. + + The type of the elements in the produced sequence. + The type of the resource used during the generation of the resulting sequence. Needs to implement . + Asynchronous factory function to obtain a resource object. + Asynchronous factory function to obtain an observable sequence that depends on the obtained resource. + An observable sequence whose lifetime controls the lifetime of the dependent resource object. + or is null. + This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11. + When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous resource factory and observable factory functions will be signaled. + + + + Creates a pattern that matches when both observable sequences have an available element. + + The type of the elements in the left sequence. + The type of the elements in the right sequence. + Observable sequence to match with the right sequence. + Observable sequence to match with the left sequence. + Pattern object that matches when both observable sequences have an available element. + or is null. + + + + Matches when the observable sequence has an available element and projects the element by invoking the selector function. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, returned by the selector function. + Observable sequence to apply the selector on. + Selector that will be invoked for elements in the source sequence. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + or is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results from matching several patterns. + is null. + + + + Joins together the results from several patterns. + + The type of the elements in the result sequence, obtained from the specified patterns. + A series of plans created by use of the Then operator on patterns. + An observable sequence with the results form matching several patterns. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that surfaces either of the given sequences, whichever reacted first. + or is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Propagates the observable sequence that reacts first. + + The type of the elements in the source sequences. + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + A function invoked to define the boundaries of the produced buffers. A new buffer is started when the previous one is closed. + An observable sequence of buffers. + or is null. + + + + Projects each element of an observable sequence into zero or more buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequence indicating buffer opening events, also passed to the closing selector to obtain a sequence of buffer closing events. + The type of the elements in the sequences indicating buffer closing events. + Source sequence to produce buffers over. + Observable sequence whose elements denote the creation of new buffers. + A function invoked to define the closing of each produced buffer. + An observable sequence of buffers. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + The type of the elements in the sequences indicating buffer boundary events. + Source sequence to produce buffers over. + Sequence of buffer boundary markers. The current buffer is closed and a new buffer is opened upon receiving a boundary marker. + An observable sequence of buffers. + or is null. + + + + Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler. + + The type of the elements in the source sequence and sequences returned by the exception handler function. + The type of the exception to catch and handle. Needs to derive from . + Source sequence. + Exception handler function, producing another observable sequence. + An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source sequence and handler sequence. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results when an error occurred in the first sequence. + An observable sequence containing the first sequence's elements, followed by the elements of the second sequence in case an exception occurred. + or is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + The type of the elements in the source and handler sequences. + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + is null. + + + + Merges two observable sequences into one observable sequence by using the selector function whenever one of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke whenever either of the sources produces an element. + An observable sequence containing the result of combining elements of both sources using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Sixteenth observable source. + Function to invoke whenever any of the sources produces an element. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke whenever any of the sources produces an element. For efficiency, the input list is reused after the selector returns. Either aggregate or copy the values during the function call. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of the latest elements of the sources. + is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful termination of the first. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + An observable sequence that contains the elements of the first sequence, followed by those of the second the sequence. + or is null. + + + + Concatenates all of the specified observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + is null. + + + + Concatenates all inner observable sequences, as long as the previous observable sequence terminated successfully. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + An observable sequence that contains the elements of each observed inner sequence, in sequential order. + is null. + + + + Concatenates all task results, as long as the previous task terminated successfully. + + The type of the results produced by the tasks. + Observable sequence of tasks. + An observable sequence that contains the results of each task, in sequential order. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a concatenation operation using . + + + + Merges elements from all inner observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that merges the elements of the inner sequences. + is null. + + + + Merges results from all source tasks into a single observable sequence. + + The type of the results produced by the source tasks. + Observable sequence of tasks. + The observable sequence that merges the results of the source tasks. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a merge operation using . + + + + Merges elements from all inner observable sequences into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + Maximum number of inner observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the inner sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the observable sequences. + is null. + is less than or equal to zero. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences, and using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + is less than or equal to zero. + + + + Merges elements from two observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + The observable sequence that merges the elements of the given sequences. + or is null. + + + + Merges elements from two observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + First observable sequence. + Second observable sequence. + Scheduler used to introduce concurrency for making subscriptions to the given sequences. + The observable sequence that merges the elements of the given sequences. + or or is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence. + + The type of the elements in the source sequences. + Observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all of the specified observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + The observable sequence that merges the elements of the observable sequences. + is null. + + + + Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources. + + The type of the elements in the source sequences. + Enumerable sequence of observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + or is null. + + + + Concatenates the second observable sequence to the first observable sequence upon successful or exceptional termination of the first. + + The type of the elements in the source sequences. + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results after the first sequence terminates. + An observable sequence that concatenates the first and second sequence, even if the first sequence terminates exceptionally. + or is null. + + + + Concatenates all of the specified observable sequences, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Concatenates all observable sequences in the given enumerable sequence, even if the previous observable sequence terminated exceptionally. + + The type of the elements in the source sequences. + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + is null. + + + + Returns the elements from the source observable sequence only after the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of skip behavior. + Source sequence to propagate elements for. + Observable sequence that triggers propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation. + or is null. + + + + Switches between the inner observable sequences such that the resulting sequence always produces elements from the most recently received inner observable sequence. + Each time a new inner observable sequence is received, the previous inner observable sequence is unsubscribed from. + + The type of the elements in the source sequences. + Observable sequence of inner observable sequences. + The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received. + is null. + + + + Switches between the tasks such that the resulting sequence always produces results from the most recently received task. + Each time a new task is received, the previous task's result is ignored. + + The type of the results produced by the source tasks. + Observable sequence of tasks. + The observable sequence that at any point in time produces the result of the most recent task that has been received. + is null. + If the tasks support cancellation, consider manual conversion of the tasks using , followed by a switch operation using . + + + + Returns the elements from the source observable sequence until the other observable sequence produces an element. + + The type of the elements in the source sequence. + The type of the elements in the other sequence that indicates the end of take behavior. + Source sequence to propagate elements for. + Observable sequence that terminates propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + A function invoked to define the boundaries of the produced windows. A new window is started when the previous one is closed. + An observable sequence of windows. + or is null. + + + + Projects each element of an observable sequence into zero or more windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequence indicating window opening events, also passed to the closing selector to obtain a sequence of window closing events. + The type of the elements in the sequences indicating window closing events. + Source sequence to produce windows over. + Observable sequence whose elements denote the creation of new windows. + A function invoked to define the closing of each produced window. + An observable sequence of windows. + or or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + The type of the elements in the source sequence, and in the windows in the result sequence. + The type of the elements in the sequences indicating window boundary events. + Source sequence to produce windows over. + Sequence of window boundary markers. The current window is closed and a new window is opened upon receiving a boundary marker. + An observable sequence of windows. + or is null. + + + + Merges two observable sequences into one observable sequence by combining their elements in a pairwise fashion. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second observable source. + Third observable source. + Fourth observable source. + Fifth observable source. + Sixth observable source. + Seventh observable source. + Eighth observable source. + Ninth observable source. + Tenth observable source. + Eleventh observable source. + Twelfth observable source. + Thirteenth observable source. + Fourteenth observable source. + Fifteenth observable source. + Sixteenth observable source. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or or or or or or or or or or or or or or or or is null. + + + + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + The type of the elements in the source sequences. + The type of the elements in the result sequence, returned by the selector function. + Observable sources. + Function to invoke for each series of elements at corresponding indexes in the sources. + An observable sequence containing the result of combining elements of the sources using the specified result selector function. + or is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes. + + The type of the elements in the source sequences, and in the lists in the result sequence. + Observable sources. + An observable sequence containing lists of elements at corresponding indexes. + is null. + + + + Merges an observable sequence and an enumerable sequence into one observable sequence by using the selector function. + + The type of the elements in the first observable source sequence. + The type of the elements in the second enumerable source sequence. + The type of the elements in the result sequence, returned by the selector function. + First observable source. + Second enumerable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + or or is null. + + + + Hides the identity of an observable sequence. + + The type of the elements in the source sequence. + An observable sequence whose identity to hide. + An observable sequence that hides the identity of the source sequence. + is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on element count information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Number of elements to skip between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than or equal to zero. + + + + Dematerializes the explicit notification values of an observable sequence as implicit notifications. + + The type of the elements materialized in the source sequence notification objects. + An observable sequence containing explicit notification values which have to be turned into implicit notifications. + An observable sequence exhibiting the behavior corresponding to the source sequence's notification values. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + An observable sequence only containing the distinct contiguous elements from the source sequence. + is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct contiguous elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct contiguous elements from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or is null. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + Equality comparer for computed key values. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + or or is null. + + + + Invokes an action for each element in the observable sequence, and propagates all observer messages through the result sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or is null. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + or or or is null. + + + + Invokes the observer's methods for each message in the source sequence. + This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. + + The type of the elements in the source sequence. + Source sequence. + Observer whose methods to invoke as part of the source sequence's observation. + The source sequence with the side-effecting behavior applied. + or is null. + + + + Invokes a specified action after the source observable sequence terminates gracefully or exceptionally. + + The type of the elements in the source sequence. + Source sequence. + Action to invoke after the source observable sequence terminates. + Source sequence with the action-invoking termination behavior applied. + or is null. + + + + Ignores all elements in an observable sequence leaving only the termination messages. + + The type of the elements in the source sequence. + Source sequence. + An empty observable sequence that signals termination, successful or exceptional, of the source sequence. + is null. + + + + Materializes the implicit notifications of an observable sequence as explicit notification values. + + The type of the elements in the source sequence. + An observable sequence to get notification values for. + An observable sequence containing the materialized notification values from the source sequence. + is null. + + + + Repeats the observable sequence indefinitely. + + The type of the elements in the source sequence. + Observable sequence to repeat. + The observable sequence producing the elements of the given sequence repeatedly and sequentially. + is null. + + + + Repeats the observable sequence a specified number of times. + + The type of the elements in the source sequence. + Observable sequence to repeat. + Number of times to repeat the sequence. + The observable sequence producing the elements of the given sequence repeatedly. + is null. + is less than zero. + + + + Repeats the source observable sequence until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + + + + Repeats the source observable sequence the specified number of times or until it successfully terminates. + + The type of the elements in the source sequence. + Observable sequence to repeat until it successfully terminates. + Number of times to repeat the sequence. + An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + is null. + is less than zero. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. The specified seed value is used as the initial accumulator value. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence. + The type of the result of the aggregation. + An observable sequence to accumulate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. + For aggregation behavior with no intermediate results, see . + + The type of the elements in the source sequence and the result of the aggregation. + An observable sequence to accumulate over. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + or is null. + + + + Bypasses a specified number of elements at the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to bypass at the end of the source sequence. + An observable sequence containing the source sequence elements except for the bypassed ones at the end. + is null. + is less than zero. + + This operator accumulates a queue with a length enough to store the first elements. As more elements are + received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed. + + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Prepends a sequence of values to an observable sequence. + + The type of the elements in the source sequence. + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + or or is null. + + + + Returns a specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a specified number of contiguous elements from the end of an observable sequence, using the specified scheduler to drain the queue. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + Scheduler used to drain the queue upon completion of the source sequence. + An observable sequence containing the specified number of elements from the end of the source sequence. + or is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements elements. Upon completion of + the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. + + + + + Returns a list with the specified number of contiguous elements from the end of an observable sequence. + + The type of the elements in the source sequence. + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing a single list with the specified number of elements from the end of the source sequence. + is null. + is less than zero. + + This operator accumulates a buffer with a length enough to store elements. Upon completion of the + source sequence, this buffer is produced on the result sequence. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + An observable sequence of windows. + is null. + is less than or equal to zero. + + + + Projects each element of an observable sequence into zero or more windows which are produced based on element count information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Number of elements to skip between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than or equal to zero. + + + + Converts the elements of an observable sequence to the specified type. + + The type to convert the elements in the source sequence to. + The observable sequence that contains the elements to be converted. + An observable sequence that contains each element of the source sequence converted to the specified type. + is null. + + + + Returns the elements of the specified sequence or the type parameter's default value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), whose default value will be taken if the sequence is empty. + The sequence to return a default value for if it is empty. + An observable sequence that contains the default value for the TSource type if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns the elements of the specified sequence or the specified value in a singleton sequence if the sequence is empty. + + The type of the elements in the source sequence (if any), and the specified default value which will be taken if the sequence is empty. + The sequence to return the specified value for if it is empty. + The value to return if the sequence is empty. + An observable sequence that contains the specified default value if the source is empty; otherwise, the elements of the source itself. + is null. + + + + Returns an observable sequence that contains only distinct elements. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + An observable sequence only containing the distinct elements from the source sequence. + is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the comparer. + + The type of the elements in the source sequence. + An observable sequence to retain distinct elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct elements from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector and the comparer. + + The type of the elements in the source sequence. + The type of the discriminator key computed for each element in the source sequence. + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + Equality comparer for source elements. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + or or is null. + Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large. + + + + Groups the elements of an observable sequence according to a specified key selector function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered. + + or or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements within the groups computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or or is null. + + + + Groups the elements of an observable sequence according to a specified key selector function. + A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same + key value as a reclaimed group occurs, the group will be reborn with a new lifetime request. + + The type of the elements in the source sequence. + The type of the grouping key computed for each element in the source sequence. + The type of the elements in the duration sequences obtained for each group to denote its lifetime. + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + or or is null. + + + + Correlates the elements of two sequences based on overlapping durations, and groups the results. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any element of the left sequence with overlapping elements from the right observable sequence. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Correlates the elements of two sequences based on overlapping durations. + + The type of the elements in the left source sequence. + The type of the elements in the right source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence. + The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence. + The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration. + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any two overlapping elements of the left and right observable sequences. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + or or or or is null. + + + + Filters the elements of an observable sequence based on the specified type. + + The type to filter the elements in the source sequence on. + The observable sequence that contains the elements to be filtered. + An observable sequence that contains elements from the input sequence of type TResult. + is null. + + + + Projects each element of an observable sequence into a new form. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of an observable sequence into a new form by incorporating the element's index. + + The type of the elements in the source sequence. + The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence. + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + or is null. + + + + Projects each element of the source observable sequence to the other observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the other sequence and the elements in the result sequence. + An observable sequence of elements to project. + An observable sequence to project each element from the source sequence onto. + An observable sequence whose elements are the result of projecting each source element onto the other sequence and merging all the resulting sequences together. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + + + + Projects each element of an observable sequence to a task and merges all of the task results into one observable sequence. + + The type of the elements in the source sequence. + The type of the result produced by the projected tasks and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of the tasks executed for each element of the input sequence. + This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + or is null. + + + + Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence. + + The type of the elements in the source sequence. + The type of the result produced by the projected tasks and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of the tasks executed for each element of the input sequence. + This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + + + + Projects each element of an observable sequence to a task, invokes the result selector for the source element and the task result, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the results produced by the projected intermediate tasks. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element. + or or is null. + This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + + + + Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the results produced by the projected intermediate tasks. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element. + or or is null. + This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using . + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element. + A transform function to apply when an error occurs in the source sequence. + A transform function to apply when the end of the source sequence is reached. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner sequences and the elements in the merged result sequence. + An observable sequence of notifications to project. + A transform function to apply to each element; the second parameter represents the index of the source element. + A transform function to apply when an error occurs in the source sequence; the second parameter represents the index of the source element. + A transform function to apply when the end of the source sequence is reached; the second parameter represents the number of elements observed. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + or or or is null. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence. + The index of each source element is used in the projected form of that element. + + The type of the elements in the source sequence. + The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence. + An observable sequence of elements to project. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the projected intermediate enumerable sequences. + The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements. + An observable sequence of elements to project. + A transform function to apply to each element; the second parameter of the function represents the index of the source element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + or or is null. + The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the conversion. + + + + Bypasses a specified number of elements in an observable sequence and then returns the remaining elements. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to skip before returning the remaining elements. + An observable sequence that contains the elements that occur after the specified index in the input sequence. + is null. + is less than zero. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + An observable sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + or is null. + + + + Returns a specified number of contiguous elements from the start of an observable sequence. + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + An observable sequence that contains the specified number of elements from the start of the input sequence. + is null. + is less than zero. + + + + Returns a specified number of contiguous elements from the start of an observable sequence, using the specified scheduler for the edge case of Take(0). + + The type of the elements in the source sequence. + The sequence to take elements from. + The number of elements to return. + Scheduler used to produce an OnCompleted message in case count is set to 0. + An observable sequence that contains the specified number of elements from the start of the input sequence. + or is null. + is less than zero. + + + + Returns elements from an observable sequence as long as a specified condition is true. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Returns elements from an observable sequence as long as a specified condition is true. + The element's index is used in the logic of the predicate function. + + The type of the elements in the source sequence. + A sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + or is null. + + + + Filters the elements of an observable sequence based on a predicate. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a condition. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Filters the elements of an observable sequence based on a predicate by incorporating the element's index. + + The type of the elements in the source sequence. + An observable sequence whose elements to filter. + A function to test each source element for a conditio; the second parameter of the function represents the index of the source element. + An observable sequence that contains elements from the input sequence that satisfy the condition. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + An observable sequence of buffers. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers with minimum duration + length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of buffers. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the lists in the result sequence. + Source sequence to produce buffers over. + Maximum time length of a buffer. + Maximum element count of a buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create buffers as fast as it can. + Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Time shifts the observable sequence by the specified relative time duration. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence by the specified relative time duration, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Time-shifted sequence. + is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence to start propagating notifications at the specified absolute time, using the specified scheduler to run timers. + The relative time intervals between the values are preserved. + + The type of the elements in the source sequence. + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible. + Scheduler to run the delay timers on. + Time-shifted sequence. + or is null. + + + This operator is less efficient than DelaySubscription because it records all notifications and time-delays those. This allows for immediate propagation of errors. + + + Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn. + + + Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped. + In order to delay error propagation, consider using the Observable.Materialize and Observable.Dematerialize operators, or use DelaySubscription. + + + + + + Time shifts the observable sequence based on a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or is null. + + + + Time shifts the observable sequence based on a subscription delay and a delay selector function for each element. + + The type of the elements in the source sequence. + The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence. + Source sequence to delay values for. + Sequence indicating the delay for the subscription to the source. + Selector function to retrieve a sequence indicating the delay for each given element. + Time-shifted sequence. + or or is null. + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Time-shifted sequence. + is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription with the specified relative time duration, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Relative time shift of the subscription. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Time-shifted sequence. + is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected. + + + + + + Time shifts the observable sequence by delaying the subscription to the specified absolute time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to delay subscription for. + Absolute time to perform the subscription at. + Scheduler to run the subscription delay timer on. + Time-shifted sequence. + or is null. + + + This operator is more efficient than Delay but postpones all side-effects of subscription and affects error propagation timing. + + + The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected. + + + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + or or or is null. + + + + Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages. + + The type of the state used in the generator loop. + The type of the elements in the produced sequence. + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + or or or or is null. + + + + Returns an observable sequence that produces a value after each period. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Returns an observable sequence that produces a value after each period, using the specified scheduler to run timers and to send out observer messages. + + Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after each period. + is less than TimeSpan.Zero. + is null. + + Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification. + If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the + current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the + + operator instead. + + + + + Samples the observable sequence at each interval. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Sampled observable sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the observable sequence at each interval, using the specified scheduler to run sampling timers. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + Source sequence to sample. + Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream. + Scheduler to run the sampling timer on. + Sampled observable sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee all source sequence elements will be preserved. This is a side-effect + of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Samples the source observable sequence using a samper observable sequence producing sampling ticks. + Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence. + + The type of the elements in the source sequence. + The type of the elements in the sampling sequence. + Source sequence to sample. + Sampling tick sequence. + Sampled observable sequence. + or is null. + + + + Skips elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for doesn't guarantee no elements will be dropped from the start of the source sequence. + This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded + may not execute immediately, despite the TimeSpan.Zero due time. + + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + + Skips elements for the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements for the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Duration for skipping elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements skipped during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a queue with a length enough to store elements received during the initial window. + As more elements are received, elements older than the specified are taken from the queue and produced on the + result sequence. This causes elements to be delayed with . + + + + + Skips elements from the observable source sequence until the specified start time. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + An observable sequence with the elements skipped until the specified start time. + is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Skips elements from the observable source sequence until the specified start time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to skip elements for. + Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped. + Scheduler to run the timer on. + An observable sequence with the elements skipped until the specified start time. + or is null. + + Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the . + + + + + Takes elements for the specified duration from the start of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Takes elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the start of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the start of the source sequence. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for doesn't guarantee an empty sequence will be returned. This is a side-effect + of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute + immediately, despite the TimeSpan.Zero due time. + + + + + Returns elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns elements within the specified duration from the end of the observable source sequence, using the specified schedulers to run timers and to drain the collected elements. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + Scheduler to drain the collected elements. + An observable sequence with the elements taken during the specified duration from the end of the source sequence. + or or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements + to be delayed with . + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Returns a list with the elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Duration for taking elements from the end of the sequence. + Scheduler to run the timer on. + An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence. + or is null. + is less than TimeSpan.Zero. + + This operator accumulates a buffer with a length enough to store elements for any window during the lifetime of + the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence. + + + + + Takes elements for the specified duration until the specified end time. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + An observable sequence with the elements taken until the specified end time. + is null. + + + + Takes elements for the specified duration until the specified end time, using the specified scheduler to run timers. + + The type of the elements in the source sequence. + Source sequence to take elements from. + Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately. + Scheduler to run the timer on. + An observable sequence with the elements taken until the specified end time. + or is null. + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + The throttled sequence. + is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another element within a specified relative time duration, using the specified scheduler to run throttling timers. + + The type of the elements in the source sequence. + Source sequence to throttle. + Throttling duration for each element. + Scheduler to run the throttle timers on. + The throttled sequence. + or is null. + is less than TimeSpan.Zero. + + + This operator throttles the source sequence by holding on to each element for the duration specified in . If another + element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole + process. For streams that never have gaps larger than or equal to between elements, the resulting stream won't + produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the + Observable.Sample set of operators. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing throttling timers to be scheduled + that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the + asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero + due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action. + + + + + + Ignores elements from an observable sequence which are followed by another value within a computed throttle duration. + + The type of the elements in the source sequence. + The type of the elements in the throttle sequences selected for each element in the source sequence. + Source sequence to throttle. + Selector function to retrieve a sequence indicating the throttle duration for each given element. + The throttled sequence. + or is null. + + This operator throttles the source sequence by holding on to each element for the duration denoted by . + If another element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this + whole process. For streams where the duration computed by applying the to each element overlaps with + the occurrence of the successor element, the resulting stream won't produce any elements. In order to reduce the volume of a stream whilst + guaranteeing the periodic production of elements, consider using the Observable.Sample set of operators. + + + + + Records the time interval between consecutive elements in an observable sequence. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + An observable sequence with time interval information on elements. + is null. + + + + Records the time interval between consecutive elements in an observable sequence, using the specified scheduler to compute time intervals. + + The type of the elements in the source sequence. + Source sequence to record time intervals for. + Scheduler used to compute time intervals. + An observable sequence with time interval information on elements. + or is null. + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + The source sequence with a TimeoutException in case of a timeout. + is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + is less than TimeSpan.Zero. + (Asynchronous) If no element is produced within from the previous element. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. + If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Maximum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + is less than TimeSpan.Zero. + + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing timeout timers to be scheduled that are due + immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the + scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may + arrive before the scheduler gets a chance to run the timeout action. + + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + The source sequence with a TimeoutException in case of a timeout. + is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + or is null. + (Asynchronous) If the sequence hasn't terminated before . + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers. + If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + Source sequence to perform a timeout for. + Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + In case you only want to timeout on the first element, consider using the + operator applied to the source sequence and a delayed sequence. Alternatively, the general-purpose overload + of Timeout, can be used. + + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or is null. + + + + Applies a timeout policy to the observable sequence based on a timeout duration computed for each element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer. + + The type of the elements in the source sequence. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + The source sequence with a TimeoutException in case of a timeout. + or or is null. + + + + Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element. + If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on. + + The type of the elements in the source sequence and the other sequence used upon a timeout. + The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence. + Source sequence to perform a timeout for. + Observable sequence that represents the timeout for the first element. + Selector to retrieve an observable sequence that represents the timeout between the current element and the next element. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + or or or is null. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + An observable sequence that produces a value after the due time has elapsed. + + + + Returns an observable sequence that produces a single value at the specified absolute due time. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + An observable sequence that produces a value at due time. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value after due time has elapsed and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + + + + Returns an observable sequence that produces a single value after the specified relative due time has elapsed, using the specified scheduler to run the timer. + + Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value after the due time has elapsed. + is null. + + + + Returns an observable sequence that produces a single value at the specified absolute due time, using the specified scheduler to run the timer. + + Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Scheduler to run the timer on. + An observable sequence that produces a value at due time. + is null. + + + + Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed, using the specified scheduler to run timers. + + Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value after due time has elapsed and then each period. + is less than TimeSpan.Zero. + is null. + + + + Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time, using the specified scheduler to run timers. + + Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible. + Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible. + Scheduler to run timers on. + An observable sequence that produces a value at due time and then after each period. + is less than TimeSpan.Zero. + is null. + + + + Timestamps each element in an observable sequence using the local system clock. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + An observable sequence with timestamp information on elements. + is null. + + + + Timestamp each element in an observable sequence using the clock of the specified scheduler. + + The type of the elements in the source sequence. + Source sequence to timestamp elements for. + Scheduler used to compute timestamps. + An observable sequence with timestamp information on elements. + or is null. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + The sequence of windows. + is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + An observable sequence of windows. + is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information, using the specified scheduler to run timers. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + or is less than TimeSpan.Zero. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows with minimum duration + length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the + current window may not execute immediately, despite the TimeSpan.Zero due time. + + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler, + where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of windows. + is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers. + A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first. + + The type of the elements in the source sequence, and in the windows in the result sequence. + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + Scheduler to run windowing timers on. + An observable sequence of windows. + or is null. + is less than TimeSpan.Zero. -or- is less than or equal to zero. + + Specifying a TimeSpan.Zero value for is not recommended but supported, causing the scheduler to create windows as fast as it can. + Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced + by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time. + + + + + Internal interface describing the LINQ to Events query language. + + + + + Base class for classes that expose an observable sequence as a well-known event pattern (sender, event arguments). + Contains functionality to maintain a map of event handler delegates to observable sequence subscriptions. Subclasses + should only add an event with custom add and remove methods calling into the base class's operations. + + The type of the sender that raises the event. + The type of the event data generated by the event. + + + + Creates a new event pattern source. + + Source sequence to expose as an event. + Delegate used to invoke the event for each element of the sequence. + or is null. + + + + Adds the specified event handler, causing a subscription to the underlying source. + + Event handler to add. The same delegate should be passed to the Remove operation in order to remove the event handler. + Invocation delegate to raise the event in the derived class. + or is null. + + + + Removes the specified event handler, causing a disposal of the corresponding subscription to the underlying source that was created during the Add operation. + + Event handler to remove. This should be the same delegate as one that was passed to the Add operation. + is null. + + + + Represents a .NET event invocation consisting of the weakly typed object that raised the event and the data that was generated by the event. + + The type of the event data generated by the event. + + + + Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. + + The type of the sender that raised the event. + The type of the event data generated by the event. + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Determines whether the current EventPattern<TSender, TEventArgs> object represents the same event as a specified EventPattern<TSender, TEventArgs> object. + + An object to compare to the current EventPattern<TSender, TEventArgs> object. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>. + + The System.Object to compare with the current EventPattern<TSender, TEventArgs>. + true if the specified System.Object is equal to the current EventPattern<TSender, TEventArgs>; otherwise, false. + + + + Returns the hash code for the current EventPattern<TSender, TEventArgs> instance. + + A hash code for the current EventPattern<TSender, TEventArgs> instance. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent the same event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects represent the same event; otherwise, false. + + + + Determines whether two specified EventPattern<TSender, TEventArgs> objects represent a different event. + + The first EventPattern<TSender, TEventArgs> to compare, or null. + The second EventPattern<TSender, TEventArgs> to compare, or null. + true if both EventPattern<TSender, TEventArgs> objects don't represent the same event; otherwise, false. + + + + Gets the sender object that raised the event. + + + + + Gets the event data that was generated by the event. + + + + + Creates a new data representation instance of a .NET event invocation with the given sender and event data. + + The sender object that raised the event. + The event data that was generated by the event. + + + + Base class for historical schedulers, which are virtual time schedulers that use DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Base class for virtual time schedulers. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Relative time after which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Absolute time at which to execute the action. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts the virtual time scheduler. + + + + + Stops the virtual time scheduler. + + + + + Advances the scheduler's clock to the specified time, running all work till that point. + + Absolute time to advance the scheduler's clock to. + is in the past. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time, running all work scheduled for that timespan. + + Relative time to advance the scheduler's clock by. + is negative. + The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use . + + + + Advances the scheduler's clock by the specified relative time. + + Relative time to advance the scheduler's clock by. + is negative. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Discovers scheduler services by interface type. The base class implementation supports + only the IStopwatchProvider service. To influence service discovery - such as adding + support for other scheduler services - derived types can override this method. + + Scheduler service interface type to discover. + Object implementing the requested service, if available; null otherwise. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Gets whether the scheduler is enabled to run work. + + + + + Gets the comparer used to compare absolute time values. + + + + + Gets the scheduler's absolute time clock value. + + + + + Gets the scheduler's notion of current time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial clock value. + + + + Creates a new historical scheduler with the specified initial clock value and absolute time comparer. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + + + + Adds a relative time value to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Provides a virtual time scheduler that uses DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value. + + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + + + + Creates a new historical scheduler with the specified initial clock value. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Base class for virtual time schedulers using a priority queue for scheduled items. + + Absolute time representation type. + Relative time representation type. + + + + Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value. + + + + + Creates a new virtual time scheduler. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + is null. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. + + The type of the elements in the source sequence. + The type of the elements in the resulting sequence, after transformation through the subject. + + + + Creates an observable that can be connected and disconnected from its source. + + Underlying observable source sequence that can be connected and disconnected from the wrapper. + Subject exposed by the connectable observable, receiving data from the underlying source sequence upon connection. + + + + Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. + + Disposable object used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. + + + + Subscribes an observer to the observable sequence. No values from the underlying observable source will be received unless a connection was established through the Connect method. + + Observer that will receive values from the underlying observable source when the current ConnectableObservable instance is connected through a call to Connect. + Disposable used to unsubscribe from the observable sequence. + + + + Provides a set of static methods for creating subjects. + + + + + Creates a subject from the specified observer and observable. + + The type of the elements received by the observer. + The type of the elements produced by the observable sequence. + The observer used to send messages to the subject. + The observable used to subscribe to messages sent from the subject. + Subject implemented using the given observer and observable. + or is null. + + + + Synchronizes the messages sent to the subject. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Subject whose messages are synchronized. + is null. + + + + Synchronizes the messages sent to the subject and notifies observers on the specified scheduler. + + The type of the elements received by the subject. + The type of the elements produced by the subject. + The subject to synchronize. + Scheduler to notify observers on. + Subject whose messages are synchronized and whose observers are notified on the given scheduler. + or is null. + + + + Represents the result of an asynchronous operation. + The last value before the OnCompleted notification, or the error received through OnError, is sent to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject that can only receive one value and that value is cached for all future observations. + + + + + Notifies all subscribed observers about the end of the sequence, also causing the last received value to be sent out (if any). + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Sends a value to the subject. The last value received before successful termination will be sent to all subscribed and future observers. + + The value to store in the subject. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Gets an awaitable object for the current AsyncSubject. + + Object that can be awaited. + + + + Specifies a callback action that will be invoked when the subject completes. + + Callback action that will be invoked when the subject completes. + is null. + + + + Gets the last element of the subject, potentially blocking until the subject completes successfully or exceptionally. + + The last element of the subject. Throws an InvalidOperationException if no element was received. + The source sequence is empty. + + + + Indicates whether the subject has observers subscribed to it. + + + + + Gets whether the AsyncSubject has completed. + + + + + Represents a value that changes over time. + Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class which creates a subject that caches its last value and starts with the specified value. + + Initial value sent to observers when no other value has been received by the subject yet. + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Unsubscribe all observers and release resources. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed observers. + + The type of the elements processed by the subject. + + + + Creates a subject. + + + + + Notifies all subscribed observers about the end of the sequence. + + + + + Notifies all subscribed observers about the specified exception. + + The exception to send to all currently subscribed observers. + is null. + + + + Notifies all subscribed observers about the arrival of the specified element in the sequence. + + The value to send to all currently subscribed observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribes all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + Abstract base class for join patterns. + + + + + Represents a join pattern over one observable sequence. + + The type of the elements in the first source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over two observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + + + + Creates a pattern that matches when all three observable sequences have an available element. + + The type of the elements in the third observable sequence. + Observable sequence to match with the two previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over three observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + + + + Creates a pattern that matches when all four observable sequences have an available element. + + The type of the elements in the fourth observable sequence. + Observable sequence to match with the three previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over four observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + + + + Creates a pattern that matches when all five observable sequences have an available element. + + The type of the elements in the fifth observable sequence. + Observable sequence to match with the four previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over five observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + + + + Creates a pattern that matches when all six observable sequences have an available element. + + The type of the elements in the sixth observable sequence. + Observable sequence to match with the five previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over six observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + + + + Creates a pattern that matches when all seven observable sequences have an available element. + + The type of the elements in the seventh observable sequence. + Observable sequence to match with the six previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over seven observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + + + + Creates a pattern that matches when all eight observable sequences have an available element. + + The type of the elements in the eighth observable sequence. + Observable sequence to match with the seven previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over eight observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + + + + Creates a pattern that matches when all nine observable sequences have an available element. + + The type of the elements in the ninth observable sequence. + Observable sequence to match with the eight previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over nine observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + + + + Creates a pattern that matches when all ten observable sequences have an available element. + + The type of the elements in the tenth observable sequence. + Observable sequence to match with the nine previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over ten observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + + + + Creates a pattern that matches when all eleven observable sequences have an available element. + + The type of the elements in the eleventh observable sequence. + Observable sequence to match with the ten previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over eleven observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + + + + Creates a pattern that matches when all twelve observable sequences have an available element. + + The type of the elements in the twelfth observable sequence. + Observable sequence to match with the eleven previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over twelve observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + + + + Creates a pattern that matches when all thirteen observable sequences have an available element. + + The type of the elements in the thirteenth observable sequence. + Observable sequence to match with the twelve previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over thirteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + + + + Creates a pattern that matches when all fourteen observable sequences have an available element. + + The type of the elements in the fourteenth observable sequence. + Observable sequence to match with the thirteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over fourteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + + + + Creates a pattern that matches when all fifteen observable sequences have an available element. + + The type of the elements in the fifteenth observable sequence. + Observable sequence to match with the fourteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over fifteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + + + + Creates a pattern that matches when all sixteen observable sequences have an available element. + + The type of the elements in the sixteenth observable sequence. + Observable sequence to match with the fifteen previous sequences. + Pattern object that matches when all observable sequences have an available element. + is null. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents a join pattern over sixteen observable sequences. + + The type of the elements in the first source sequence. + The type of the elements in the second source sequence. + The type of the elements in the third source sequence. + The type of the elements in the fourth source sequence. + The type of the elements in the fifth source sequence. + The type of the elements in the sixth source sequence. + The type of the elements in the seventh source sequence. + The type of the elements in the eighth source sequence. + The type of the elements in the ninth source sequence. + The type of the elements in the tenth source sequence. + The type of the elements in the eleventh source sequence. + The type of the elements in the twelfth source sequence. + The type of the elements in the thirteenth source sequence. + The type of the elements in the fourteenth source sequence. + The type of the elements in the fifteenth source sequence. + The type of the elements in the sixteenth source sequence. + + + + Matches when all observable sequences have an available element and projects the elements by invoking the selector function. + + The type of the elements in the result sequence, returned by the selector function. + Selector that will be invoked for elements in the source sequences. + Plan that produces the projected results, to be fed (with other plans) to the When operator. + is null. + + + + Represents an execution plan for join patterns. + + The type of the results produced by the plan. + + + + Represents an object that is both an observable sequence as well as an observer. + Each notification is broadcasted to all subscribed and future observers, subject to buffer trimming policies. + + The type of the elements processed by the subject. + + + + Initializes a new instance of the class with the specified buffer size, window and scheduler. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is less than zero. -or- is less than TimeSpan.Zero. + is null. + + + + Initializes a new instance of the class with the specified buffer size and window. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + is less than zero. -or- is less than TimeSpan.Zero. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified scheduler. + + Scheduler the observers are invoked on. + is null. + + + + Initializes a new instance of the class with the specified buffer size and scheduler. + + Maximum element count of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than zero. + + + + Initializes a new instance of the class with the specified buffer size. + + Maximum element count of the replay buffer. + is less than zero. + + + + Initializes a new instance of the class with the specified window and scheduler. + + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + is null. + is less than TimeSpan.Zero. + + + + Initializes a new instance of the class with the specified window. + + Maximum time length of the replay buffer. + is less than TimeSpan.Zero. + + + + Notifies all subscribed and future observers about the arrival of the specified element in the sequence. + + The value to send to all observers. + + + + Notifies all subscribed and future observers about the specified exception. + + The exception to send to all observers. + is null. + + + + Notifies all subscribed and future observers about the end of the sequence. + + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + Disposable object that can be used to unsubscribe the observer from the subject. + is null. + + + + Releases all resources used by the current instance of the class and unsubscribe all observers. + + + + + Indicates whether the subject has observers subscribed to it. + + + + + The System.Reactive.Threading.Tasks namespace contains helpers for the conversion between tasks and observable sequences. + + + + + Provides a set of static methods for converting tasks to observable sequences. + + + + + Returns an observable sequence that signals when the task completes. + + Task to convert to an observable sequence. + An observable sequence that produces a unit value when the task completes, or propagates the exception produced by the task. + is null. + If the specified task object supports cancellation, consider using instead. + + + + Returns an observable sequence that propagates the result of the task. + + The type of the result produced by the task. + Task to convert to an observable sequence. + An observable sequence that produces the task's result, or propagates the exception produced by the task. + is null. + If the specified task object supports cancellation, consider using instead. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + The state to use as the underlying task's AsyncState. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Returns a task that will receive the last value or the exception produced by the observable sequence. + + The type of the elements in the source sequence. + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + The state to use as the underlying task's AsyncState. + A task that will receive the last element or the exception produced by the observable sequence. + is null. + + + + Represents a value associated with time interval information. + The time interval can represent the time it took to produce the value, the interval relative to a previous value, the value's delivery time relative to a base, etc. + + The type of the value being annotated with time interval information. + + + + Constructs a time interval value. + + The value to be annotated with a time interval. + Time interval associated with the value. + + + + Determines whether the current TimeInterval<T> value has the same Value and Interval as a specified TimeInterval<T> value. + + An object to compare to the current TimeInterval<T> value. + true if both TimeInterval<T> values have the same Value and Interval; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has the same Value and Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the two specified TimeInterval<T> values don't have the same Value and Interval. + + The first TimeInterval<T> value to compare. + The second TimeInterval<T> value to compare. + true if the first TimeInterval<T> value has a different Value or Interval as the second TimeInterval<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current TimeInterval<T>. + + The System.Object to compare with the current TimeInterval<T>. + true if the specified System.Object is equal to the current TimeInterval<T>; otherwise, false. + + + + Returns the hash code for the current TimeInterval<T> value. + + A hash code for the current TimeInterval<T> value. + + + + Returns a string representation of the current TimeInterval<T> value. + + String representation of the current TimeInterval<T> value. + + + + Gets the value. + + + + + Gets the interval. + + + + + Represents value with a timestamp on it. + The timestamp typically represents the time the value was received, using an IScheduler's clock to obtain the current time. + + The type of the value being timestamped. + + + + Constructs a timestamped value. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + + + + Determines whether the current Timestamped<T> value has the same Value and Timestamp as a specified Timestamped<T> value. + + An object to compare to the current Timestamped<T> value. + true if both Timestamped<T> values have the same Value and Timestamp; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has the same Value and Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the two specified Timestamped<T> values don't have the same Value and Timestamp. + + The first Timestamped<T> value to compare. + The second Timestamped<T> value to compare. + true if the first Timestamped<T> value has a different Value or Timestamp as the second Timestamped<T> value; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current Timestamped<T>. + + The System.Object to compare with the current Timestamped<T>. + true if the specified System.Object is equal to the current Timestamped<T>; otherwise, false. + + + + Returns the hash code for the current Timestamped<T> value. + + A hash code for the current Timestamped<T> value. + + + + Returns a string representation of the current Timestamped<T> value. + + String representation of the current Timestamped<T> value. + + + + Gets the value. + + + + + Gets the timestamp. + + + + + A helper class with a factory method for creating Timestamped<T> instances. + + + + + Creates an instance of a Timestamped<T>. This is syntactic sugar that uses type inference + to avoid specifying a type in a constructor call, which is very useful when using anonymous types. + + The value to be annotated with a timestamp. + Timestamp associated with the value. + Creates a new timestamped value. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Could not find event '{0}' on object of type '{1}'.. + + + + + Looks up a localized string similar to Could not find event '{0}' on type '{1}'.. + + + + + Looks up a localized string similar to Add method should take 1 parameter.. + + + + + Looks up a localized string similar to The second parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Event is missing the add method.. + + + + + Looks up a localized string similar to Event is missing the remove method.. + + + + + Looks up a localized string similar to The event delegate must have a void return type.. + + + + + Looks up a localized string similar to The event delegate must have exactly two parameters.. + + + + + Looks up a localized string similar to Remove method should take 1 parameter.. + + + + + Looks up a localized string similar to The first parameter of the event delegate must be assignable to '{0}'.. + + + + + Looks up a localized string similar to Remove method of a WinRT event should take an EventRegistrationToken.. + + + + + Looks up a localized string similar to Sequence contains more than one element.. + + + + + Looks up a localized string similar to Sequence contains more than one matching element.. + + + + + Looks up a localized string similar to Sequence contains no elements.. + + + + + Looks up a localized string similar to Sequence contains no matching element.. + + + + + Looks up a localized string similar to {0} cannot be called when the scheduler is already running. Try using Sleep instead.. + + + + diff --git a/packages/Rx-Linq.2.1.30214.0/lib/WP8/System.Reactive.Linq.dll b/packages/Rx-Linq.2.1.30214.0/lib/WP8/System.Reactive.Linq.dll new file mode 100644 index 00000000000..6d89076a1ac Binary files /dev/null and b/packages/Rx-Linq.2.1.30214.0/lib/WP8/System.Reactive.Linq.dll differ diff --git a/packages/Rx-Main.2.1.30214.0/Rx-Main.2.1.30214.0.nupkg b/packages/Rx-Main.2.1.30214.0/Rx-Main.2.1.30214.0.nupkg new file mode 100644 index 00000000000..cb36ac8a245 Binary files /dev/null and b/packages/Rx-Main.2.1.30214.0/Rx-Main.2.1.30214.0.nupkg differ diff --git a/packages/Rx-Main.2.1.30214.0/Rx-Main.2.1.30214.0.nuspec b/packages/Rx-Main.2.1.30214.0/Rx-Main.2.1.30214.0.nuspec new file mode 100644 index 00000000000..5d7afc3349d --- /dev/null +++ b/packages/Rx-Main.2.1.30214.0/Rx-Main.2.1.30214.0.nuspec @@ -0,0 +1,24 @@ + + + + Rx-Main + 2.1.30214.0 + Reactive Extensions - Main Library + Microsoft Corporation + Microsoft Corporation + http://go.microsoft.com/fwlink/?LinkID=261272 + http://go.microsoft.com/fwlink/?LinkID=261273 + http://go.microsoft.com/fwlink/?LinkId=261274 + true + Reactive Extensions Main Library combining the interfaces, core, LINQ, and platform services libraries. + Microsoft Corporation © 2012 + en-us + Rx Reactive Extensions Observable LINQ Events + + + + + + + + \ No newline at end of file diff --git a/packages/Rx-PlatformServices.2.1.30214.0/Rx-PlatformServices.2.1.30214.0.nupkg b/packages/Rx-PlatformServices.2.1.30214.0/Rx-PlatformServices.2.1.30214.0.nupkg new file mode 100644 index 00000000000..b46232fe974 Binary files /dev/null and b/packages/Rx-PlatformServices.2.1.30214.0/Rx-PlatformServices.2.1.30214.0.nupkg differ diff --git a/packages/Rx-PlatformServices.2.1.30214.0/Rx-PlatformServices.2.1.30214.0.nuspec b/packages/Rx-PlatformServices.2.1.30214.0/Rx-PlatformServices.2.1.30214.0.nuspec new file mode 100644 index 00000000000..c12590ad68e --- /dev/null +++ b/packages/Rx-PlatformServices.2.1.30214.0/Rx-PlatformServices.2.1.30214.0.nuspec @@ -0,0 +1,26 @@ + + + + Rx-PlatformServices + 2.1.30214.0 + Reactive Extensions - Platform Services Library + Microsoft Corporation + Microsoft Corporation + http://go.microsoft.com/fwlink/?LinkID=261272 + http://go.microsoft.com/fwlink/?LinkID=261273 + http://go.microsoft.com/fwlink/?LinkId=261274 + true + Reactive Extensions Platform Services Library used to access platform-specific functionality and enlightenment services. + Microsoft Corporation © 2012 + en-us + Rx Reactive Extensions Observable LINQ Events + + + + + + + + + + \ No newline at end of file diff --git a/packages/Rx-PlatformServices.2.1.30214.0/content/Net40/_._ b/packages/Rx-PlatformServices.2.1.30214.0/content/Net40/_._ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/Rx-PlatformServices.2.1.30214.0/content/Net45/_._ b/packages/Rx-PlatformServices.2.1.30214.0/content/Net45/_._ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/Rx-PlatformServices.2.1.30214.0/content/NetCore45/_._ b/packages/Rx-PlatformServices.2.1.30214.0/content/NetCore45/_._ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/Rx-PlatformServices.2.1.30214.0/content/Portable-Net45+WinRT45+WP8/Readme.txt b/packages/Rx-PlatformServices.2.1.30214.0/content/Portable-Net45+WinRT45+WP8/Readme.txt new file mode 100644 index 00000000000..88acdb41a29 --- /dev/null +++ b/packages/Rx-PlatformServices.2.1.30214.0/content/Portable-Net45+WinRT45+WP8/Readme.txt @@ -0,0 +1,16 @@ +Portable libraries built using Rx do not include the System.Reactive.PlatformServices assembly +containing "platform enlightenments" that depend on platform-specific functionality. (Doing so +would prevent the library to be portable due to the dependencies on a specific platform.) + +When including the resulting portable library in another project, please include the platform's +System.Reactive.PlatformServices assembly in order to get the best performance. To include this +assembly, use any of the following options: + +1. Select the System.Reactive.PlatformServices assembly from the Visual Studio "Add Reference" + dialog. This option works for Windows Store apps, .NET 4.5, and Windows Phone 8 projects. + +2. For Windows Store apps and Windows Phone 8 projects, use the Reactive Extensions Extension SDK + which can be found in the "Add Reference" dialog. + +3. Use NuGet to include the Rx-Main package (or any package that depends on Rx-Main, such as + Rx-Xaml) which will automatically include the Rx-PlatformServices enlightenment package. diff --git a/packages/Rx-PlatformServices.2.1.30214.0/content/SL4-WindowsPhone71/_._ b/packages/Rx-PlatformServices.2.1.30214.0/content/SL4-WindowsPhone71/_._ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/Rx-PlatformServices.2.1.30214.0/content/SL4/_._ b/packages/Rx-PlatformServices.2.1.30214.0/content/SL4/_._ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/Rx-PlatformServices.2.1.30214.0/content/SL5/_._ b/packages/Rx-PlatformServices.2.1.30214.0/content/SL5/_._ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/Rx-PlatformServices.2.1.30214.0/content/WP8/_._ b/packages/Rx-PlatformServices.2.1.30214.0/content/WP8/_._ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/Net40/System.Reactive.PlatformServices.XML b/packages/Rx-PlatformServices.2.1.30214.0/lib/Net40/System.Reactive.PlatformServices.XML new file mode 100644 index 00000000000..fcb42c0c5c9 --- /dev/null +++ b/packages/Rx-PlatformServices.2.1.30214.0/lib/Net40/System.Reactive.PlatformServices.XML @@ -0,0 +1,378 @@ + + + + System.Reactive.PlatformServices + + + + + Represents an object that schedules units of work on a designated thread. + + + + + Counter for diagnostic purposes, to name the threads. + + + + + Thread factory function. + + + + + Stopwatch for timing free of absolute time dependencies. + + + + + Thread used by the event loop to run work items on. No work should be run on any other thread. + If ExitIfEmpty is set, the thread can quit and a new thread will be created when new work is scheduled. + + + + + Gate to protect data structures, including the work queue and the ready list. + + + + + Semaphore to count requests to re-evaluate the queue, from either Schedule requests or when a timer + expires and moves on to the next item in the queue. + + + + + Queue holding work items. Protected by the gate. + + + + + Queue holding items that are ready to be run as soon as possible. Protected by the gate. + + + + + Work item that will be scheduled next. Used upon reevaluation of the queue to check whether the next + item is still the same. If not, a new timer needs to be started (see below). + + + + + Disposable that always holds the timer to dispatch the first element in the queue. + + + + + Flag indicating whether the event loop should quit. When set, the event should be signaled as well to + wake up the event loop thread, which will subsequently abandon all work. + + + + + Creates an object that schedules units of work on a designated thread. + + + + + Creates an object that schedules units of work on a designated thread, using the specified factory to control thread creation options. + + Factory function for thread creation. + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + The scheduler has been disposed and doesn't accept new work. + + + + Schedules a periodic piece of work on the designated thread. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + The scheduler has been disposed and doesn't accept new work. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Ends the thread associated with this scheduler. All remaining work in the scheduler queue is abandoned. + + + + + Ensures there is an event loop thread running. Should be called under the gate. + + + + + Event loop scheduled on the designated event loop thread. The loop is suspended/resumed using the event + which gets set by calls to Schedule, the next item timer, or calls to Dispose. + + + + + Indicates whether the event loop thread is allowed to quit when no work is left. If new work + is scheduled afterwards, a new event loop thread is created. This property is used by the + NewThreadScheduler which uses an event loop for its recursive invocations. + + + + + Represents an object that schedules each unit of work on a separate thread. + + + + + Creates an object that schedules each unit of work on a separate thread. + + + + + Creates an object that schedules each unit of work on a separate thread. + + Factory function for thread creation. + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new thread. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work by creating a new thread that goes to sleep when work has been dispatched and wakes up again at the next periodic due time. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Gets an instance of this scheduler that uses the default Thread constructor. + + + + + Provides access to the platform enlightenments used by other Rx libraries to improve system performance and + runtime efficiency. While Rx can run without platform enlightenments loaded, it's recommended to deploy the + System.Reactive.PlatformServices assembly with your application and call during application startup to ensure enlightenments are properly loaded. + + + + + Ensures that the calling assembly has a reference to the System.Reactive.PlatformServices assembly with + platform enlightenments. If no reference is made from the user code, it's possible for the build process + to drop the deployment of System.Reactive.PlatformServices, preventing its runtime discovery. + + + true if the loaded enlightenment provider matches the provided defined in the current assembly; false + otherwise. When a custom enlightenment provider is installed by the host, false will be returned. + + + + + Represents an object that schedules units of work on the Task Parallel Library (TPL) task pool. + + Instance of this type using the default TaskScheduler to schedule work on the TPL task pool. + + + + Creates an object that schedules units of work using the provided TaskFactory. + + Task factory used to create tasks to run units of work. + is null. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new task using TaskCreationOptions.LongRunning. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets a new stopwatch ob ject. + + New stopwatch object; started at the time of the request. + + + + Schedules a periodic piece of work by running a platform-specific timer to create tasks periodically. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + + + + Gets an instance of this scheduler that uses the default TaskScheduler. + + + + + Represents an object that schedules units of work on the CLR thread pool. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new thread. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Schedules a periodic piece of work, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than or equal to zero. + + + + Gets the singleton instance of the CLR thread pool scheduler. + + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The WinRT thread pool doesn't support creating periodic timers with a period below 1 millisecond.. + + + + diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/Net40/System.Reactive.PlatformServices.dll b/packages/Rx-PlatformServices.2.1.30214.0/lib/Net40/System.Reactive.PlatformServices.dll new file mode 100644 index 00000000000..f48d9cb1d0d Binary files /dev/null and b/packages/Rx-PlatformServices.2.1.30214.0/lib/Net40/System.Reactive.PlatformServices.dll differ diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/Net45/System.Reactive.PlatformServices.XML b/packages/Rx-PlatformServices.2.1.30214.0/lib/Net45/System.Reactive.PlatformServices.XML new file mode 100644 index 00000000000..fcb42c0c5c9 --- /dev/null +++ b/packages/Rx-PlatformServices.2.1.30214.0/lib/Net45/System.Reactive.PlatformServices.XML @@ -0,0 +1,378 @@ + + + + System.Reactive.PlatformServices + + + + + Represents an object that schedules units of work on a designated thread. + + + + + Counter for diagnostic purposes, to name the threads. + + + + + Thread factory function. + + + + + Stopwatch for timing free of absolute time dependencies. + + + + + Thread used by the event loop to run work items on. No work should be run on any other thread. + If ExitIfEmpty is set, the thread can quit and a new thread will be created when new work is scheduled. + + + + + Gate to protect data structures, including the work queue and the ready list. + + + + + Semaphore to count requests to re-evaluate the queue, from either Schedule requests or when a timer + expires and moves on to the next item in the queue. + + + + + Queue holding work items. Protected by the gate. + + + + + Queue holding items that are ready to be run as soon as possible. Protected by the gate. + + + + + Work item that will be scheduled next. Used upon reevaluation of the queue to check whether the next + item is still the same. If not, a new timer needs to be started (see below). + + + + + Disposable that always holds the timer to dispatch the first element in the queue. + + + + + Flag indicating whether the event loop should quit. When set, the event should be signaled as well to + wake up the event loop thread, which will subsequently abandon all work. + + + + + Creates an object that schedules units of work on a designated thread. + + + + + Creates an object that schedules units of work on a designated thread, using the specified factory to control thread creation options. + + Factory function for thread creation. + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + The scheduler has been disposed and doesn't accept new work. + + + + Schedules a periodic piece of work on the designated thread. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + The scheduler has been disposed and doesn't accept new work. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Ends the thread associated with this scheduler. All remaining work in the scheduler queue is abandoned. + + + + + Ensures there is an event loop thread running. Should be called under the gate. + + + + + Event loop scheduled on the designated event loop thread. The loop is suspended/resumed using the event + which gets set by calls to Schedule, the next item timer, or calls to Dispose. + + + + + Indicates whether the event loop thread is allowed to quit when no work is left. If new work + is scheduled afterwards, a new event loop thread is created. This property is used by the + NewThreadScheduler which uses an event loop for its recursive invocations. + + + + + Represents an object that schedules each unit of work on a separate thread. + + + + + Creates an object that schedules each unit of work on a separate thread. + + + + + Creates an object that schedules each unit of work on a separate thread. + + Factory function for thread creation. + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new thread. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work by creating a new thread that goes to sleep when work has been dispatched and wakes up again at the next periodic due time. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Gets an instance of this scheduler that uses the default Thread constructor. + + + + + Provides access to the platform enlightenments used by other Rx libraries to improve system performance and + runtime efficiency. While Rx can run without platform enlightenments loaded, it's recommended to deploy the + System.Reactive.PlatformServices assembly with your application and call during application startup to ensure enlightenments are properly loaded. + + + + + Ensures that the calling assembly has a reference to the System.Reactive.PlatformServices assembly with + platform enlightenments. If no reference is made from the user code, it's possible for the build process + to drop the deployment of System.Reactive.PlatformServices, preventing its runtime discovery. + + + true if the loaded enlightenment provider matches the provided defined in the current assembly; false + otherwise. When a custom enlightenment provider is installed by the host, false will be returned. + + + + + Represents an object that schedules units of work on the Task Parallel Library (TPL) task pool. + + Instance of this type using the default TaskScheduler to schedule work on the TPL task pool. + + + + Creates an object that schedules units of work using the provided TaskFactory. + + Task factory used to create tasks to run units of work. + is null. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new task using TaskCreationOptions.LongRunning. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets a new stopwatch ob ject. + + New stopwatch object; started at the time of the request. + + + + Schedules a periodic piece of work by running a platform-specific timer to create tasks periodically. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + + + + Gets an instance of this scheduler that uses the default TaskScheduler. + + + + + Represents an object that schedules units of work on the CLR thread pool. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new thread. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Schedules a periodic piece of work, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than or equal to zero. + + + + Gets the singleton instance of the CLR thread pool scheduler. + + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The WinRT thread pool doesn't support creating periodic timers with a period below 1 millisecond.. + + + + diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/Net45/System.Reactive.PlatformServices.dll b/packages/Rx-PlatformServices.2.1.30214.0/lib/Net45/System.Reactive.PlatformServices.dll new file mode 100644 index 00000000000..ae7d1e304bb Binary files /dev/null and b/packages/Rx-PlatformServices.2.1.30214.0/lib/Net45/System.Reactive.PlatformServices.dll differ diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/NetCore45/System.Reactive.PlatformServices.XML b/packages/Rx-PlatformServices.2.1.30214.0/lib/NetCore45/System.Reactive.PlatformServices.XML new file mode 100644 index 00000000000..3bbe4b1e58e --- /dev/null +++ b/packages/Rx-PlatformServices.2.1.30214.0/lib/NetCore45/System.Reactive.PlatformServices.XML @@ -0,0 +1,376 @@ + + + + System.Reactive.PlatformServices + + + + + Represents an object that schedules units of work on a designated thread. + + + + + Counter for diagnostic purposes, to name the threads. + + + + + Thread factory function. + + + + + Stopwatch for timing free of absolute time dependencies. + + + + + Thread used by the event loop to run work items on. No work should be run on any other thread. + If ExitIfEmpty is set, the thread can quit and a new thread will be created when new work is scheduled. + + + + + Gate to protect data structures, including the work queue and the ready list. + + + + + Semaphore to count requests to re-evaluate the queue, from either Schedule requests or when a timer + expires and moves on to the next item in the queue. + + + + + Queue holding work items. Protected by the gate. + + + + + Queue holding items that are ready to be run as soon as possible. Protected by the gate. + + + + + Work item that will be scheduled next. Used upon reevaluation of the queue to check whether the next + item is still the same. If not, a new timer needs to be started (see below). + + + + + Disposable that always holds the timer to dispatch the first element in the queue. + + + + + Flag indicating whether the event loop should quit. When set, the event should be signaled as well to + wake up the event loop thread, which will subsequently abandon all work. + + + + + Creates an object that schedules units of work on a designated thread. + + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + The scheduler has been disposed and doesn't accept new work. + + + + Schedules a periodic piece of work on the designated thread. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + The scheduler has been disposed and doesn't accept new work. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Ends the thread associated with this scheduler. All remaining work in the scheduler queue is abandoned. + + + + + Ensures there is an event loop thread running. Should be called under the gate. + + + + + Event loop scheduled on the designated event loop thread. The loop is suspended/resumed using the event + which gets set by calls to Schedule, the next item timer, or calls to Dispose. + + + + + Indicates whether the event loop thread is allowed to quit when no work is left. If new work + is scheduled afterwards, a new event loop thread is created. This property is used by the + NewThreadScheduler which uses an event loop for its recursive invocations. + + + + + Represents an object that schedules each unit of work on a separate thread. + + + + + Creates an object that schedules each unit of work on a separate thread. + + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new thread. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work by creating a new thread that goes to sleep when work has been dispatched and wakes up again at the next periodic due time. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Gets an instance of this scheduler that uses the default Thread constructor. + + + + + Represents an object that schedules units of work on the Windows Runtime thread pool. + + Singleton instance of this type exposed through this static property. + + + + Constructs a ThreadPoolScheduler that schedules units of work on the Windows ThreadPool. + + + + + Constructs a ThreadPoolScheduler that schedules units of work on the Windows ThreadPool with the given priority. + + Priority for scheduled units of work. + + + + Constructs a ThreadPoolScheduler that schedules units of work on the Windows ThreadPool with the given priority. + + Priority for scheduled units of work. + Options that configure how work is scheduled. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a Windows.System.Threading.ThreadPoolTimer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work, using a Windows.System.Threading.ThreadPoolTimer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than one millisecond. + + + + Gets the singleton instance of the Windows Runtime thread pool scheduler. + + + + + Gets the priority at which work is scheduled. + + + + + Gets the options that configure how work is scheduled. + + + + + Provides access to the platform enlightenments used by other Rx libraries to improve system performance and + runtime efficiency. While Rx can run without platform enlightenments loaded, it's recommended to deploy the + System.Reactive.PlatformServices assembly with your application and call during application startup to ensure enlightenments are properly loaded. + + + + + Ensures that the calling assembly has a reference to the System.Reactive.PlatformServices assembly with + platform enlightenments. If no reference is made from the user code, it's possible for the build process + to drop the deployment of System.Reactive.PlatformServices, preventing its runtime discovery. + + + true if the loaded enlightenment provider matches the provided defined in the current assembly; false + otherwise. When a custom enlightenment provider is installed by the host, false will be returned. + + + + + Represents an object that schedules units of work on the Task Parallel Library (TPL) task pool. + + Instance of this type using the default TaskScheduler to schedule work on the TPL task pool. + + + + Creates an object that schedules units of work using the provided TaskFactory. + + Task factory used to create tasks to run units of work. + is null. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new task using TaskCreationOptions.LongRunning. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets a new stopwatch ob ject. + + New stopwatch object; started at the time of the request. + + + + Schedules a periodic piece of work by running a platform-specific timer to create tasks periodically. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + + + + Gets an instance of this scheduler that uses the default TaskScheduler. + + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The WinRT thread pool doesn't support creating periodic timers with a period below 1 millisecond.. + + + + diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/NetCore45/System.Reactive.PlatformServices.dll b/packages/Rx-PlatformServices.2.1.30214.0/lib/NetCore45/System.Reactive.PlatformServices.dll new file mode 100644 index 00000000000..6ec3489438b Binary files /dev/null and b/packages/Rx-PlatformServices.2.1.30214.0/lib/NetCore45/System.Reactive.PlatformServices.dll differ diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/_._ b/packages/Rx-PlatformServices.2.1.30214.0/lib/Portable-Net45+WinRT45+WP8/_._ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.PlatformServices.XML b/packages/Rx-PlatformServices.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.PlatformServices.XML new file mode 100644 index 00000000000..e1d6bbe46e0 --- /dev/null +++ b/packages/Rx-PlatformServices.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.PlatformServices.XML @@ -0,0 +1,311 @@ + + + + System.Reactive.PlatformServices + + + + + Represents an object that schedules units of work on a designated thread. + + + + + Counter for diagnostic purposes, to name the threads. + + + + + Thread factory function. + + + + + Stopwatch for timing free of absolute time dependencies. + + + + + Thread used by the event loop to run work items on. No work should be run on any other thread. + If ExitIfEmpty is set, the thread can quit and a new thread will be created when new work is scheduled. + + + + + Gate to protect data structures, including the work queue and the ready list. + + + + + Semaphore to count requests to re-evaluate the queue, from either Schedule requests or when a timer + expires and moves on to the next item in the queue. + + + + + Queue holding work items. Protected by the gate. + + + + + Queue holding items that are ready to be run as soon as possible. Protected by the gate. + + + + + Work item that will be scheduled next. Used upon reevaluation of the queue to check whether the next + item is still the same. If not, a new timer needs to be started (see below). + + + + + Disposable that always holds the timer to dispatch the first element in the queue. + + + + + Flag indicating whether the event loop should quit. When set, the event should be signaled as well to + wake up the event loop thread, which will subsequently abandon all work. + + + + + Creates an object that schedules units of work on a designated thread. + + + + + Creates an object that schedules units of work on a designated thread, using the specified factory to control thread creation options. + + Factory function for thread creation. + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + The scheduler has been disposed and doesn't accept new work. + + + + Schedules a periodic piece of work on the designated thread. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + The scheduler has been disposed and doesn't accept new work. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Ends the thread associated with this scheduler. All remaining work in the scheduler queue is abandoned. + + + + + Ensures there is an event loop thread running. Should be called under the gate. + + + + + Event loop scheduled on the designated event loop thread. The loop is suspended/resumed using the event + which gets set by calls to Schedule, the next item timer, or calls to Dispose. + + + + + Indicates whether the event loop thread is allowed to quit when no work is left. If new work + is scheduled afterwards, a new event loop thread is created. This property is used by the + NewThreadScheduler which uses an event loop for its recursive invocations. + + + + + Represents an object that schedules each unit of work on a separate thread. + + + + + Creates an object that schedules each unit of work on a separate thread. + + + + + Creates an object that schedules each unit of work on a separate thread. + + Factory function for thread creation. + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new thread. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work by creating a new thread that goes to sleep when work has been dispatched and wakes up again at the next periodic due time. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Gets an instance of this scheduler that uses the default Thread constructor. + + + + + Provides access to the platform enlightenments used by other Rx libraries to improve system performance and + runtime efficiency. While Rx can run without platform enlightenments loaded, it's recommended to deploy the + System.Reactive.PlatformServices assembly with your application and call during application startup to ensure enlightenments are properly loaded. + + + + + Ensures that the calling assembly has a reference to the System.Reactive.PlatformServices assembly with + platform enlightenments. If no reference is made from the user code, it's possible for the build process + to drop the deployment of System.Reactive.PlatformServices, preventing its runtime discovery. + + + true if the loaded enlightenment provider matches the provided defined in the current assembly; false + otherwise. When a custom enlightenment provider is installed by the host, false will be returned. + + + + + Represents an object that schedules units of work on the CLR thread pool. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new thread. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Schedules a periodic piece of work, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than or equal to zero. + + + + Gets the singleton instance of the CLR thread pool scheduler. + + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The WinRT thread pool doesn't support creating periodic timers with a period below 1 millisecond.. + + + + diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.PlatformServices.dll b/packages/Rx-PlatformServices.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.PlatformServices.dll new file mode 100644 index 00000000000..2cd85b666c2 Binary files /dev/null and b/packages/Rx-PlatformServices.2.1.30214.0/lib/SL4-WindowsPhone71/System.Reactive.PlatformServices.dll differ diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/SL4/_._ b/packages/Rx-PlatformServices.2.1.30214.0/lib/SL4/_._ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/SL5/System.Reactive.PlatformServices.XML b/packages/Rx-PlatformServices.2.1.30214.0/lib/SL5/System.Reactive.PlatformServices.XML new file mode 100644 index 00000000000..32b22444608 --- /dev/null +++ b/packages/Rx-PlatformServices.2.1.30214.0/lib/SL5/System.Reactive.PlatformServices.XML @@ -0,0 +1,354 @@ + + + + System.Reactive.PlatformServices + + + + + Represents an object that schedules units of work on a designated thread. + + + + + Counter for diagnostic purposes, to name the threads. + + + + + Thread factory function. + + + + + Stopwatch for timing free of absolute time dependencies. + + + + + Thread used by the event loop to run work items on. No work should be run on any other thread. + If ExitIfEmpty is set, the thread can quit and a new thread will be created when new work is scheduled. + + + + + Gate to protect data structures, including the work queue and the ready list. + + + + + Semaphore to count requests to re-evaluate the queue, from either Schedule requests or when a timer + expires and moves on to the next item in the queue. + + + + + Queue holding work items. Protected by the gate. + + + + + Queue holding items that are ready to be run as soon as possible. Protected by the gate. + + + + + Work item that will be scheduled next. Used upon reevaluation of the queue to check whether the next + item is still the same. If not, a new timer needs to be started (see below). + + + + + Disposable that always holds the timer to dispatch the first element in the queue. + + + + + Flag indicating whether the event loop should quit. When set, the event should be signaled as well to + wake up the event loop thread, which will subsequently abandon all work. + + + + + Creates an object that schedules units of work on a designated thread. + + + + + Creates an object that schedules units of work on a designated thread, using the specified factory to control thread creation options. + + Factory function for thread creation. + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + The scheduler has been disposed and doesn't accept new work. + + + + Schedules a periodic piece of work on the designated thread. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + The scheduler has been disposed and doesn't accept new work. + + + + Ends the thread associated with this scheduler. All remaining work in the scheduler queue is abandoned. + + + + + Ensures there is an event loop thread running. Should be called under the gate. + + + + + Event loop scheduled on the designated event loop thread. The loop is suspended/resumed using the event + which gets set by calls to Schedule, the next item timer, or calls to Dispose. + + + + + Indicates whether the event loop thread is allowed to quit when no work is left. If new work + is scheduled afterwards, a new event loop thread is created. This property is used by the + NewThreadScheduler which uses an event loop for its recursive invocations. + + + + + Represents an object that schedules each unit of work on a separate thread. + + + + + Creates an object that schedules each unit of work on a separate thread. + + + + + Creates an object that schedules each unit of work on a separate thread. + + Factory function for thread creation. + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new thread. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work by creating a new thread that goes to sleep when work has been dispatched and wakes up again at the next periodic due time. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + + + + Gets an instance of this scheduler that uses the default Thread constructor. + + + + + Provides access to the platform enlightenments used by other Rx libraries to improve system performance and + runtime efficiency. While Rx can run without platform enlightenments loaded, it's recommended to deploy the + System.Reactive.PlatformServices assembly with your application and call during application startup to ensure enlightenments are properly loaded. + + + + + Ensures that the calling assembly has a reference to the System.Reactive.PlatformServices assembly with + platform enlightenments. If no reference is made from the user code, it's possible for the build process + to drop the deployment of System.Reactive.PlatformServices, preventing its runtime discovery. + + + true if the loaded enlightenment provider matches the provided defined in the current assembly; false + otherwise. When a custom enlightenment provider is installed by the host, false will be returned. + + + + + Represents an object that schedules units of work on the Task Parallel Library (TPL) task pool. + + Instance of this type using the default TaskScheduler to schedule work on the TPL task pool. + + + + Creates an object that schedules units of work using the provided TaskFactory. + + Task factory used to create tasks to run units of work. + is null. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new task using TaskCreationOptions.LongRunning. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work by running a platform-specific timer to create tasks periodically. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + + + + Gets an instance of this scheduler that uses the default TaskScheduler. + + + + + Represents an object that schedules units of work on the CLR thread pool. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new thread. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than or equal to zero. + + + + Gets the singleton instance of the CLR thread pool scheduler. + + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The WinRT thread pool doesn't support creating periodic timers with a period below 1 millisecond.. + + + + diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/SL5/System.Reactive.PlatformServices.dll b/packages/Rx-PlatformServices.2.1.30214.0/lib/SL5/System.Reactive.PlatformServices.dll new file mode 100644 index 00000000000..a622c43e252 Binary files /dev/null and b/packages/Rx-PlatformServices.2.1.30214.0/lib/SL5/System.Reactive.PlatformServices.dll differ diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/WP8/System.Reactive.PlatformServices.XML b/packages/Rx-PlatformServices.2.1.30214.0/lib/WP8/System.Reactive.PlatformServices.XML new file mode 100644 index 00000000000..fcb42c0c5c9 --- /dev/null +++ b/packages/Rx-PlatformServices.2.1.30214.0/lib/WP8/System.Reactive.PlatformServices.XML @@ -0,0 +1,378 @@ + + + + System.Reactive.PlatformServices + + + + + Represents an object that schedules units of work on a designated thread. + + + + + Counter for diagnostic purposes, to name the threads. + + + + + Thread factory function. + + + + + Stopwatch for timing free of absolute time dependencies. + + + + + Thread used by the event loop to run work items on. No work should be run on any other thread. + If ExitIfEmpty is set, the thread can quit and a new thread will be created when new work is scheduled. + + + + + Gate to protect data structures, including the work queue and the ready list. + + + + + Semaphore to count requests to re-evaluate the queue, from either Schedule requests or when a timer + expires and moves on to the next item in the queue. + + + + + Queue holding work items. Protected by the gate. + + + + + Queue holding items that are ready to be run as soon as possible. Protected by the gate. + + + + + Work item that will be scheduled next. Used upon reevaluation of the queue to check whether the next + item is still the same. If not, a new timer needs to be started (see below). + + + + + Disposable that always holds the timer to dispatch the first element in the queue. + + + + + Flag indicating whether the event loop should quit. When set, the event should be signaled as well to + wake up the event loop thread, which will subsequently abandon all work. + + + + + Creates an object that schedules units of work on a designated thread. + + + + + Creates an object that schedules units of work on a designated thread, using the specified factory to control thread creation options. + + Factory function for thread creation. + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + The scheduler has been disposed and doesn't accept new work. + + + + Schedules a periodic piece of work on the designated thread. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + The scheduler has been disposed and doesn't accept new work. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Ends the thread associated with this scheduler. All remaining work in the scheduler queue is abandoned. + + + + + Ensures there is an event loop thread running. Should be called under the gate. + + + + + Event loop scheduled on the designated event loop thread. The loop is suspended/resumed using the event + which gets set by calls to Schedule, the next item timer, or calls to Dispose. + + + + + Indicates whether the event loop thread is allowed to quit when no work is left. If new work + is scheduled afterwards, a new event loop thread is created. This property is used by the + NewThreadScheduler which uses an event loop for its recursive invocations. + + + + + Represents an object that schedules each unit of work on a separate thread. + + + + + Creates an object that schedules each unit of work on a separate thread. + + + + + Creates an object that schedules each unit of work on a separate thread. + + Factory function for thread creation. + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new thread. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a periodic piece of work by creating a new thread that goes to sleep when work has been dispatched and wakes up again at the next periodic due time. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Gets an instance of this scheduler that uses the default Thread constructor. + + + + + Provides access to the platform enlightenments used by other Rx libraries to improve system performance and + runtime efficiency. While Rx can run without platform enlightenments loaded, it's recommended to deploy the + System.Reactive.PlatformServices assembly with your application and call during application startup to ensure enlightenments are properly loaded. + + + + + Ensures that the calling assembly has a reference to the System.Reactive.PlatformServices assembly with + platform enlightenments. If no reference is made from the user code, it's possible for the build process + to drop the deployment of System.Reactive.PlatformServices, preventing its runtime discovery. + + + true if the loaded enlightenment provider matches the provided defined in the current assembly; false + otherwise. When a custom enlightenment provider is installed by the host, false will be returned. + + + + + Represents an object that schedules units of work on the Task Parallel Library (TPL) task pool. + + Instance of this type using the default TaskScheduler to schedule work on the TPL task pool. + + + + Creates an object that schedules units of work using the provided TaskFactory. + + Task factory used to create tasks to run units of work. + is null. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new task using TaskCreationOptions.LongRunning. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Gets a new stopwatch ob ject. + + New stopwatch object; started at the time of the request. + + + + Schedules a periodic piece of work by running a platform-specific timer to create tasks periodically. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than TimeSpan.Zero. + + + + Gets an instance of this scheduler that uses the default TaskScheduler. + + + + + Represents an object that schedules units of work on the CLR thread pool. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Schedules a long-running task by creating a new thread. Cancellation happens through polling. + + The type of the state passed to the scheduled action. + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + is null. + + + + Starts a new stopwatch object. + + New stopwatch object; started at the time of the request. + + + + Schedules a periodic piece of work, using a System.Threading.Timer object. + + The type of the state passed to the scheduled action. + Initial state passed to the action upon the first iteration. + Period for running the work periodically. + Action to be executed, potentially updating the state. + The disposable object used to cancel the scheduled recurring action (best effort). + is null. + is less than or equal to zero. + + + + Gets the singleton instance of the CLR thread pool scheduler. + + + + + (Infrastructure) Provider for platform-specific framework enlightenments. + + + + + (Infastructure) Tries to gets the specified service. + + Service type. + Optional set of arguments. + Service instance or null if not found. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The WinRT thread pool doesn't support creating periodic timers with a period below 1 millisecond.. + + + + diff --git a/packages/Rx-PlatformServices.2.1.30214.0/lib/WP8/System.Reactive.PlatformServices.dll b/packages/Rx-PlatformServices.2.1.30214.0/lib/WP8/System.Reactive.PlatformServices.dll new file mode 100644 index 00000000000..651e148c5a5 Binary files /dev/null and b/packages/Rx-PlatformServices.2.1.30214.0/lib/WP8/System.Reactive.PlatformServices.dll differ diff --git a/packages/SharpDX.2.5.0/SharpDX.2.5.0.nupkg b/packages/SharpDX.2.5.0/SharpDX.2.5.0.nupkg new file mode 100644 index 00000000000..d3a0877b8d1 Binary files /dev/null and b/packages/SharpDX.2.5.0/SharpDX.2.5.0.nupkg differ diff --git a/packages/SharpDX.2.5.0/SharpDX.2.5.0.nuspec b/packages/SharpDX.2.5.0/SharpDX.2.5.0.nuspec new file mode 100644 index 00000000000..bfd34131759 --- /dev/null +++ b/packages/SharpDX.2.5.0/SharpDX.2.5.0.nuspec @@ -0,0 +1,22 @@ + + + + SharpDX + 2.5.0 + SharpDX + Alexandre Mutel + Alexandre Mutel + http://sharpdx.org/License.txt + http://sharpdx.org/ + http://sharpdx.org/logo_100x100.png + false + Core assembly for all SharpDX assemblies. + + Copyright (c) 2010-2013 Alexandre Mutel + SharpDX DirectX Direct3D Multimedia MDX 3D + + + + + + \ No newline at end of file diff --git a/packages/SharpDX.2.5.0/lib/net20/SharpDX.dll b/packages/SharpDX.2.5.0/lib/net20/SharpDX.dll new file mode 100644 index 00000000000..4f3b73dc80f Binary files /dev/null and b/packages/SharpDX.2.5.0/lib/net20/SharpDX.dll differ diff --git a/packages/SharpDX.2.5.0/lib/net20/SharpDX.xml b/packages/SharpDX.2.5.0/lib/net20/SharpDX.xml new file mode 100644 index 00000000000..dc8ae96a8d5 --- /dev/null +++ b/packages/SharpDX.2.5.0/lib/net20/SharpDX.xml @@ -0,0 +1,46872 @@ + + + + SharpDX + + + + + Represents a unit independent angle using a single-precision floating-point + internal representation. + + + + + Implement this interface to serialize datas with . + + + + + Reads or writes datas from/to the given binary serializer. + + The binary serializer. + + + + A value that specifies the size of a single degree. + + + + + A value that specifies the size of a single minute. + + + + + A value that specifies the size of a single second. + + + + + A value that specifies the size of a single radian. + + + + + A value that specifies the size of a single milliradian. + + + + + A value that specifies the size of a single gradian. + + + + + The internal representation of the angle. + + + + + Initializes a new instance of the SharpDX.AngleSingle structure with the + given unit dependant angle and unit type. + + A unit dependant measure of the angle. + The type of unit the angle argument is. + + + + Initializes a new instance of the SharpDX.AngleSingle structure using the + arc length formula (θ = s/r). + + The measure of the arc. + The radius of the circle. + + + + Wraps this SharpDX.AngleSingle to be in the range [π, -π]. + + + + + Wraps this SharpDX.AngleSingle to be in the range [0, 2π). + + + + + Wraps the SharpDX.AngleSingle given in the value argument to be in the range [π, -π]. + + A SharpDX.AngleSingle to wrap. + The SharpDX.AngleSingle that is wrapped. + + + + Wraps the SharpDX.AngleSingle given in the value argument to be in the range [0, 2π). + + A SharpDX.AngleSingle to wrap. + The SharpDX.AngleSingle that is wrapped. + + + + Compares two SharpDX.AngleSingle instances and returns the smaller angle. + + The first SharpDX.AngleSingle instance to compare. + The second SharpDX.AngleSingle instance to compare. + The smaller of the two given SharpDX.AngleSingle instances. + + + + Compares two SharpDX.AngleSingle instances and returns the greater angle. + + The first SharpDX.AngleSingle instance to compare. + The second SharpDX.AngleSingle instance to compare. + The greater of the two given SharpDX.AngleSingle instances. + + + + Adds two SharpDX.AngleSingle objects and returns the result. + + The first object to add. + The second object to add. + The value of the two objects added together. + + + + Subtracts two SharpDX.AngleSingle objects and returns the result. + + The first object to subtract. + The second object to subtract. + The value of the two objects subtracted. + + + + Multiplies two SharpDX.AngleSingle objects and returns the result. + + The first object to multiply. + The second object to multiply. + The value of the two objects multiplied together. + + + + Divides two SharpDX.AngleSingle objects and returns the result. + + The numerator object. + The denominator object. + The value of the two objects divided. + + + + Returns a System.Boolean that indicates whether the values of two SharpDX.Angle + objects are equal. + + The first object to compare. + The second object to compare. + True if the left and right parameters have the same value; otherwise, false. + + + + Returns a System.Boolean that indicates whether the values of two SharpDX.Angle + objects are not equal. + + The first object to compare. + The second object to compare. + True if the left and right parameters do not have the same value; otherwise, false. + + + + Returns a System.Boolean that indicates whether a SharpDX.Angle + object is less than another SharpDX.AngleSingle object. + + The first object to compare. + The second object to compare. + True if left is less than right; otherwise, false. + + + + Returns a System.Boolean that indicates whether a SharpDX.Angle + object is greater than another SharpDX.AngleSingle object. + + The first object to compare. + The second object to compare. + True if left is greater than right; otherwise, false. + + + + Returns a System.Boolean that indicates whether a SharpDX.Angle + object is less than or equal to another SharpDX.AngleSingle object. + + The first object to compare. + The second object to compare. + True if left is less than or equal to right; otherwise, false. + + + + Returns a System.Boolean that indicates whether a SharpDX.Angle + object is greater than or equal to another SharpDX.AngleSingle object. + + The first object to compare. + The second object to compare. + True if left is greater than or equal to right; otherwise, false. + + + + Returns the value of the SharpDX.AngleSingle operand. (The sign of + the operand is unchanged.) + + A SharpDX.AngleSingle object. + The value of the value parameter. + + + + Returns the the negated value of the SharpDX.AngleSingle operand. + + A SharpDX.AngleSingle object. + The negated value of the value parameter. + + + + Adds two SharpDX.AngleSingle objects and returns the result. + + The first object to add. + The second object to add. + The value of the two objects added together. + + + + Subtracts two SharpDX.AngleSingle objects and returns the result. + + The first object to subtract + The second object to subtract. + The value of the two objects subtracted. + + + + Multiplies two SharpDX.AngleSingle objects and returns the result. + + The first object to multiply. + The second object to multiply. + The value of the two objects multiplied together. + + + + Divides two SharpDX.AngleSingle objects and returns the result. + + The numerator object. + The denominator object. + The value of the two objects divided. + + + + Compares this instance to a specified object and returns an integer that + indicates whether the value of this instance is less than, equal to, or greater + than the value of the specified object. + + The object to compare. + + A signed integer that indicates the relationship of the current instance + to the obj parameter. If the value is less than zero, the current instance + is less than the other. If the value is zero, the current instance is equal + to the other. If the value is greater than zero, the current instance is + greater than the other. + + + + + Compares this instance to a second SharpDX.AngleSingle and returns + an integer that indicates whether the value of this instance is less than, + equal to, or greater than the value of the specified object. + + The object to compare. + + A signed integer that indicates the relationship of the current instance + to the obj parameter. If the value is less than zero, the current instance + is less than the other. If the value is zero, the current instance is equal + to the other. If the value is greater than zero, the current instance is + greater than the other. + + + + + Returns a value that indicates whether the current instance and a specified + SharpDX.AngleSingle object have the same value. + + The object to compare. + + Returns true if this SharpDX.AngleSingle object and another have the same value; + otherwise, false. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this SharpDX.AngleSingle instance. + + A 32-bit signed integer hash code. + + + + Returns a value that indicates whether the current instance and a specified + object have the same value. + + The object to compare. + + Returns true if the obj parameter is a SharpDX.AngleSingle object or a type + capable of implicit conversion to a SharpDX.AngleSingle value, and + its value is equal to the value of the current SharpDX.Angle + object; otherwise, false. + + + + + + + + Gets or sets the total number of revolutions this SharpDX.AngleSingle represents. + + + + + Gets or sets the total number of degrees this SharpDX.AngleSingle represents. + + + + + Gets or sets the minutes component of the degrees this SharpDX.AngleSingle represents. + When setting the minutes, if the value is in the range (-60, 60) the whole degrees are + not changed; otherwise, the whole degrees may be changed. Fractional values may set + the seconds component. + + + + + Gets or sets the seconds of the degrees this SharpDX.AngleSingle represents. + When setting the seconds, if the value is in the range (-60, 60) the whole minutes + or whole degrees are not changed; otherwise, the whole minutes or whole degrees + may be changed. + + + + + Gets or sets the total number of radians this SharpDX.AngleSingle represents. + + + + + Gets or sets the total number of milliradians this SharpDX.AngleSingle represents. + One milliradian is equal to 1/(2000π). + + + + + Gets or sets the total number of gradians this SharpDX.AngleSingle represents. + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is a right angle (i.e. 90° or π/2). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is a straight angle (i.e. 180° or π). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is a full rotation angle (i.e. 360° or 2π). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is an oblique angle (i.e. is not 90° or a multiple of 90°). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is an acute angle (i.e. less than 90° but greater than 0°). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is an obtuse angle (i.e. greater than 90° but less than 180°). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is a reflex angle (i.e. greater than 180° but less than 360°). + + + + + Gets a SharpDX.AngleSingle instance that complements this angle (i.e. the two angles add to 90°). + + + + + Gets a SharpDX.AngleSingle instance that supplements this angle (i.e. the two angles add to 180°). + + + + + Gets a new SharpDX.AngleSingle instance that represents the zero angle (i.e. 0°). + + + + + Gets a new SharpDX.AngleSingle instance that represents the right angle (i.e. 90° or π/2). + + + + + Gets a new SharpDX.AngleSingle instance that represents the straight angle (i.e. 180° or π). + + + + + Gets a new SharpDX.AngleSingle instance that represents the full rotation angle (i.e. 360° or 2π). + + + + + A boolean value stored on 4 bytes (instead of 1 in .NET). + + + + + Initializes a new instance of the class. + + if set to true [bool value]. + + + + Indicates whether this instance and a specified object are equal. + + The other. + true if and this instance are the same type and represent the same value; otherwise, false. + + + + Implements the ==. + + The left. + The right. + The result of the operator. + + + + Implements the !=. + + The left. + The right. + The result of the operator. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + + + + Represents an axis-aligned bounding box in three dimensional space. + + + + + The minimum point of the box. + + + + + The maximum point of the box. + + + + + Initializes a new instance of the struct. + + The minimum vertex of the bounding box. + The maximum vertex of the bounding box. + + + + Retrieves the eight corners of the bounding box. + + An array of points representing the eight corners of the bounding box. + + + + Retrieves the eight corners of the bounding box. + + An array of points representing the eight corners of the bounding box. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines whether the current objects contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The box to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The box to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The sphere to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The sphere to test. + The type of containment the two objects have. + + + + Constructs a that fully contains the given points. + + The points that will be contained by the box. + When the method completes, contains the newly constructed bounding box. + Thrown when is null. + + + + Constructs a that fully contains the given points. + + The points that will be contained by the box. + The newly constructed bounding box. + Thrown when is null. + + + + Constructs a from a given sphere. + + The sphere that will designate the extents of the box. + When the method completes, contains the newly constructed bounding box. + + + + Constructs a from a given sphere. + + The sphere that will designate the extents of the box. + The newly constructed bounding box. + + + + Constructs a that is as large as the total combined area of the two specified boxes. + + The first box to merge. + The second box to merge. + When the method completes, contains the newly constructed bounding box. + + + + Constructs a that is as large as the total combined area of the two specified boxes. + + The first box to merge. + The second box to merge. + The newly constructed bounding box. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Defines a frustum which can be used in frustum culling, zoom to Extents (zoom to fit) operations, + (matrix, frustum, camera) interchange, and many kind of intersection testing. + + + + + Creates a new instance of BoundingFrustum. + + Combined matrix that usually takes view × projection matrix. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + + Returns one of the 6 planes related to this frustum. + + Plane index where 0 fro Left, 1 for Right, 2 for Top, 3 for Bottom, 4 for Near, 5 for Far + + + + + Creates a new frustum relaying on perspective camera parameters + + The camera pos. + The look dir. + Up dir. + The fov. + The znear. + The zfar. + The aspect. + The bounding frustum calculated from perspective camera + + + + Creates a new frustum relaying on perspective camera parameters + + The camera params. + The bounding frustum from camera params + + + + Returns the 8 corners of the frustum, element0 is Near1 (near right down corner) + , element1 is Near2 (near right top corner) + , element2 is Near3 (near Left top corner) + , element3 is Near4 (near Left down corner) + , element4 is Far1 (far right down corner) + , element5 is Far2 (far right top corner) + , element6 is Far3 (far left top corner) + , element7 is Far4 (far left down corner) + + The 8 corners of the frustum + + + + Returns the 8 corners of the frustum, element0 is Near1 (near right down corner) + , element1 is Near2 (near right top corner) + , element2 is Near3 (near Left top corner) + , element3 is Near4 (near Left down corner) + , element4 is Far1 (far right down corner) + , element5 is Far2 (far right top corner) + , element6 is Far3 (far left top corner) + , element7 is Far4 (far left down corner) + + The 8 corners of the frustum + + + + Extracts perspective camera parameters from the frustum, doesn't work with orthographic frustums. + + Perspective camera parameters from the frustum + + + + Checks whether a point lay inside, intersects or lay outside the frustum. + + The point. + Type of the containment + + + + Checks whether a point lay inside, intersects or lay outside the frustum. + + The point. + Type of the containment + + + + Checks whether a group of points lay totally inside the frustum (Contains), or lay partially inside the frustum (Intersects), or lay outside the frustum (Disjoint). + + The points. + Type of the containment + + + + Checks whether a group of points lay totally inside the frustum (Contains), or lay partially inside the frustum (Intersects), or lay outside the frustum (Disjoint). + + The points. + Type of the containment. + + + + Determines the intersection relationship between the frustum and a bounding box. + + The box. + Type of the containment + + + + Determines the intersection relationship between the frustum and a bounding box. + + The box. + Type of the containment + + + + Determines the intersection relationship between the frustum and a bounding box. + + The box. + Type of the containment. + + + + Determines the intersection relationship between the frustum and a bounding sphere. + + The sphere. + Type of the containment + + + + Determines the intersection relationship between the frustum and a bounding sphere. + + The sphere. + Type of the containment + + + + Determines the intersection relationship between the frustum and a bounding sphere. + + The sphere. + Type of the containment. + + + + Determines the intersection relationship between the frustum and another bounding frustum. + + The frustum. + Type of the containment + + + + Determines the intersection relationship between the frustum and another bounding frustum. + + The frustum. + Type of the containment + + + + Determines the intersection relationship between the frustum and another bounding frustum. + + The frustum. + Type of the containment. + + + + Checks whether the current BoundingFrustum intersects a BoundingSphere. + + The sphere. + Type of the containment + + + + Checks whether the current BoundingFrustum intersects a BoundingSphere. + + The sphere. + Set to true if the current BoundingFrustum intersects a BoundingSphere. + + + + Checks whether the current BoundingFrustum intersects a BoundingBox. + + The box. + true if the current BoundingFrustum intersects a BoundingSphere. + + + + Checks whether the current BoundingFrustum intersects a BoundingBox. + + The box. + true if the current BoundingFrustum intersects a BoundingSphere. + + + + Checks whether the current BoundingFrustum intersects the specified Plane. + + The plane. + Plane intersection type. + + + + Checks whether the current BoundingFrustum intersects the specified Plane. + + The plane. + Plane intersection type. + + + + Get the width of the frustum at specified depth. + + the depth at which to calculate frustum width. + With of the frustum at the specified depth + + + + Get the height of the frustum at specified depth. + + the depth at which to calculate frustum height. + Height of the frustum at the specified depth + + + + Checks whether the current BoundingFrustum intersects the specified Ray. + + The ray. + true if the current BoundingFrustum intersects the specified Ray. + + + + Checks whether the current BoundingFrustum intersects the specified Ray. + + The Ray to check for intersection with. + The distance at which the ray enters the frustum if there is an intersection and the ray starts outside the frustum. + The distance at which the ray exits the frustum if there is an intersection. + true if the current BoundingFrustum intersects the specified Ray. + + + + Get the distance which when added to camera position along the lookat direction will do the effect of zoom to extents (zoom to fit) operation, + so all the passed points will fit in the current view. + if the returned value is positive, the camera will move toward the lookat direction (ZoomIn). + if the returned value is negative, the camera will move in the reverse direction of the lookat direction (ZoomOut). + + The points. + The zoom to fit distance + + + + Get the distance which when added to camera position along the lookat direction will do the effect of zoom to extents (zoom to fit) operation, + so all the passed points will fit in the current view. + if the returned value is positive, the camera will move toward the lookat direction (ZoomIn). + if the returned value is negative, the camera will move in the reverse direction of the lookat direction (ZoomOut). + + The bounding box. + The zoom to fit distance + + + + Get the vector shift which when added to camera position will do the effect of zoom to extents (zoom to fit) operation, + so all the passed points will fit in the current view. + + The points. + The zoom to fit vector + + + + Get the vector shift which when added to camera position will do the effect of zoom to extents (zoom to fit) operation, + so all the passed points will fit in the current view. + + The bounding box. + The zoom to fit vector + + + + + + + Gets or sets the Matrix that describes this bounding frustum. + + + + + Gets the near plane of the BoundingFrustum. + + + + + Gets the far plane of the BoundingFrustum. + + + + + Gets the left plane of the BoundingFrustum. + + + + + Gets the right plane of the BoundingFrustum. + + + + + Gets the top plane of the BoundingFrustum. + + + + + Gets the bottom plane of the BoundingFrustum. + + + + + Indicate whether the current BoundingFrustrum is Orthographic. + + + true if the current BoundingFrustrum is Orthographic; otherwise, false. + + + + + Represents a bounding sphere in three dimensional space. + + + + + The center of the sphere in three dimensional space. + + + + + The radius of the sphere. + + + + + Initializes a new instance of the struct. + + The center of the sphere in three dimensional space. + The radius of the sphere. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines whether the current objects contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The box to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The sphere to test. + The type of containment the two objects have. + + + + Constructs a that fully contains the given points. + + The points that will be contained by the sphere. + The start index from points array to start compute the bounding sphere. + The count of points to process to compute the bounding sphere. + When the method completes, contains the newly constructed bounding sphere. + points + + start + or + count + + + + + Constructs a that fully contains the given points. + + The points that will be contained by the sphere. + When the method completes, contains the newly constructed bounding sphere. + + + + Constructs a that fully contains the given points. + + The points that will be contained by the sphere. + The newly constructed bounding sphere. + + + + Constructs a from a given box. + + The box that will designate the extents of the sphere. + When the method completes, the newly constructed bounding sphere. + + + + Constructs a from a given box. + + The box that will designate the extents of the sphere. + The newly constructed bounding sphere. + + + + Constructs a that is the as large as the total combined area of the two specified spheres. + + The first sphere to merge. + The second sphere to merge. + When the method completes, contains the newly constructed bounding sphere. + + + + Constructs a that is the as large as the total combined area of the two specified spheres. + + The first sphere to merge. + The second sphere to merge. + The newly constructed bounding sphere. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Callback base implementation of . + + + + + Base class for a class. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Occurs when this instance is starting to be disposed. + + + + + Occurs when this instance is fully disposed. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Use this interface to tag a class that is called by an unmanaged + object. A class must dispose the + on dispose. + + + + + Gets or sets the unmanaged shadow callback. + + The unmanaged shadow callback. + + This property is set whenever this instance has an unmanaged shadow callback + registered. This callback must be disposed when disposing this instance. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Provides for default value types. + + + + + A default for . + + + + + An observable collection. + + Type of a collection item + + + + Raised when an item is added to this instance. + + + + + + Raised when a item is removed from this instance. + + + + + + An event providing the item changed in a collection (inserted or removed). + + Type of a collection item + + + + Initializes a new instance of the class. + + The item from the collection. + + + + Gets the item from the collection that was inserted or removed. + + The collection item. + + + + A generic collection for effect framework. + + Type of the collection + + + + Adds the specified item. + + The item. + + + + Determines whether this collection contains an element with the specified name. + + The name. + true if [contains] an element with the specified name; otherwise, false. + + + + Gets the number of objects in the collection. + + + + Gets a specific element in the collection by using an index value. + Index of the EffectTechnique to get. + + + Gets a specific element in the collection by using a name. + Name of the EffectTechnique to get. + + + + Internal class used to initialize this assembly. + + + + + Initializes this assembly. + + + This method is called when the assembly is loaded. + + + + + OrientedBoundingBox (OBB) is a rectangular block, much like an AABB (BoundingBox) but with an arbitrary orientation. + + + + + Half lengths of the box along each axis. + + + + + The matrix which aligns and scales the box, and its translation vector represents the center of the box. + + + + + Creates an from a BoundingBox. + + The BoundingBox to create from. + + Initially, the OBB is axis-aligned box, but it can be rotated and transformed later. + + + + + Creates an which contained between two minimum and maximum points. + + The minimum vertex of the bounding box. + The maximum vertex of the bounding box. + + Initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later. + + + + + Creates an that fully contains the given points. + + The points that will be contained by the box. + + This method is not for computing the best tight-fitting OrientedBoundingBox. + And initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later. + + + + + Retrieves the eight corners of the bounding box. + + An array of points representing the eight corners of the bounding box. + + + + Transforms this box using a transformation matrix. + + The transformation matrix. + + While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which + scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy. + + + + + Transforms this box using a transformation matrix. + + The transformation matrix. + + While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which + scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy. + + + + + Scales the by scaling its Extents without affecting the Transformation matrix, + By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate. + + + + + + Scales the by scaling its Extents without affecting the Transformation matrix, + By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate. + + + + + + Scales the by scaling its Extents without affecting the Transformation matrix, + By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate. + + + + + + Translates the to a new position using a translation vector; + + the translation vector. + + + + Translates the to a new position using a translation vector; + + the translation vector. + + + + Returns the size of the taking into consideration the scaling applied to the transformation matrix. + + The size of the consideration + + This method is computationally expensive, so if no scale is applied to the transformation matrix + use property instead. + + + + + Returns the square size of the taking into consideration the scaling applied to the transformation matrix. + + The size of the consideration + + + + Determines whether a contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether a contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether a contains an array of points>. + + The points array to test. + The type of containment. + + + + Determines whether a contains a . + + The sphere to test. + Optimize the check operation by assuming that has no scaling applied + The type of containment the two objects have. + + This method is not designed for which has a non-uniform scaling applied to its transformation matrix. + But any type of scaling applied using Scale method will keep this method accurate. + + + + + Check the intersection between two + + The OrientedBoundingBoxs to test. + The type of containment the two objects have. + + For accuracy, The transformation matrix for both must not have any scaling applied to it. + Anyway, scaling using Scale method will keep this method accurate. + + + + + Check the intersection between an and a line defined by two points + + The first point in the line. + The second point in the line. + The type of containment the two objects have. + + For accuracy, The transformation matrix for the must not have any scaling applied to it. + Anyway, scaling using Scale method will keep this method accurate. + + + + + Check the intersection between an and + + The BoundingBox to test. + The type of containment the two objects have. + + For accuracy, The transformation matrix for the must not have any scaling applied to it. + Anyway, scaling using Scale method will keep this method accurate. + + + + + Determines whether there is an intersection between a and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + Whether the two objects intersected. + + + + Get the axis-aligned which contains all corners. + + The axis-aligned BoundingBox of this OrientedBoundingBox. + + + + Calculates the matrix required to transfer any point from one local coordinates to another. + + The source OrientedBoundingBox. + The target OrientedBoundingBox. + + If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox. + + + + + + Merge an OrientedBoundingBox B into another OrientedBoundingBox A, by expanding A to contain B and keeping A orientation. + + The to merge into it. + The to be merged + + If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox. + + + Unlike merging axis aligned boxes, The operation is not interchangeable, because it keeps A orientation and merge B into it. + + + + + Merge this OrientedBoundingBox into another OrientedBoundingBox, keeping the other OrientedBoundingBox orientation. + + The other to merge into. + + If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox. + + + + + Merge another OrientedBoundingBox into this OrientedBoundingBox. + + The other to merge into this OrientedBoundingBox. + + If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + + + + The size of the if no scaling is applied to the transformation matrix. + + + The property will return the actual size even if the scaling is applied using Scale method, + but if the scaling is applied to transformation matrix, use GetSize Function instead. + + + + + Returns the center of the . + + + + + Task utility for threading. + + + + + Runs the specified action in a thread. + + The action. + Name of the task. + + + + Defines the viewport dimensions using float coordinates for (X,Y,Width,Height). + + + + + Position of the pixel coordinate of the upper-left corner of the viewport. + + + + + Position of the pixel coordinate of the upper-left corner of the viewport. + + + + + Width dimension of the viewport. + + + + + Height dimension of the viewport. + + + + + Gets or sets the minimum depth of the clip volume. + + + + + Gets or sets the maximum depth of the clip volume. + + + + + Initializes a new instance of the struct. + + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + + + + Initializes a new instance of the struct. + + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + The minimum depth of the clip volume. + The maximum depth of the clip volume. + + + + Initializes a new instance of the struct. + + A bounding box that defines the location and size of the viewport in a render target. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified object is equal to this instance. + + The object to compare with this instance. + + true if the specified object is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Retrieves a string representation of this object. + + A that represents this instance. + + + + Projects a 3D vector from object space into screen space. + + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + Vector3. + + + + Converts a screen space point into a corresponding point in world space. + + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + Vector3. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Gets the size of this resource. + + The bounds. + + + + Gets the aspect ratio used by the viewport. + + The aspect ratio. + + + + Defines a type converter for . + + + + + Provides a base class for mathematical type converters. + + + + + Converts values to a string. + + Type of the value + The context. + The culture. + The values. + A string representing the values + + + + Converts a string to values. + + Type of the value + The context. + The culture. + The string value. + An array of value or null if strValue is not a string. + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + An that provides a format context. + A that represents the type you want to convert from. + + true if this converter can perform the conversion; otherwise, false. + + + + + Returns whether this converter can convert the object to the specified type, using the specified context. + + An that provides a format context. + A that represents the type you want to convert to. + + true if this converter can perform the conversion; otherwise, false. + + + + + Returns whether changing a value on this object requires a call to to create a new value, using the specified context. + + An that provides a format context. + + true if changing a property on this object requires a call to to create a new value; otherwise, false. + + + + + Gets a value indicating whether this object supports properties using the specified context. + + An that provides a format context. + + true because should be called to find the properties of this object. This method never returns false. + + + + + Gets a collection of properties for the type of object specified by the value parameter. + + An that provides a format context. + An that specifies the type of object to get the properties for. + An array of type that will be used as a filter. + + A with the properties that are exposed for the component, or null if there are no properties. + + + + + Gets or sets the collection of exposed properties. + + The collection of exposed properties. + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + A fast method to pass array of to SharpDX methods. + + + + + Initializes a new instance of the class. + + The array. + + + + Initializes a new instance of the class. + + The size. + + + + Gets an object at the specified index. + + The index. + A + + + + Sets an object at the specified index. + + The index. + The value. + + + + + + + Gets the pointer to the native array associated to this instance. + + + + + Gets the length. + + + + + A typed version of + + Type of the + + + + Initializes a new instance of the class. + + The array. + + + + Initializes a new instance of the class. + + The size. + + + + Gets or sets the with the specified i. + + + + + Generic class to hold a shader compilation results. + + Type of the class containing the generated bytecode. + + + + Initializes a new instance of the class. + + The bytecode. + Result code from compilation. + The message. + + + + + + + Gets the Shader bytecode. + + + + + Gets the result code from the compilation. + + + + + Gets a value indicating whether this instance has errors. + + + true if this instance has errors; otherwise, false. + + + + + Gets the message. + + + Message are warning or error messages. + + + + + Represents a four dimensional mathematical vector of bool (32 bits per bool value). + + + + + The size of the type, in bytes. + + + + + A with all of its components set to false. + + + + + The X unit (true, 0, 0, 0). + + + + + The Y unit (0, true, 0, 0). + + + + + The Z unit (0, 0, true, 0). + + + + + The W unit (0, 0, 0, true). + + + + + A with all of its components set to true. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Creates an array containing the elements of the vector. + + A four-element array containing the components of the vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Performs an implicit conversion from array to . + + The input. + The result of the conversion. + + + + Performs an implicit conversion from to array. + + The input. + The result of the conversion. + + + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + The assembly is the core assembly providing infrastructure for all managed DirectX API. + + + + + Represents a 32-bit color (4 bytes) in the form of RGBA (in byte order: R, G, B, A). + + + List of predefined . + + + + + The red component of the color. + + + + + The green component of the color. + + + + + The blue component of the color. + + + + + The alpha component of the color. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. Alpha is set to 255. + + The red component of the color. + The green component of the color. + The blue component of the color. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. Alpha is set to 255. + + The red component of the color. + The green component of the color. + The blue component of the color. + + + + Initializes a new instance of the struct. + + The red, green, blue, and alpha components of the color. + + + + Initializes a new instance of the struct. + + The red, green, and blue components of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. Alpha is set to 255. + + The red, green, and blue components of the color. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in RGBA order. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in RGBA order. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Initializes a new instance of the struct. + + The values to assign to the alpha, red, green, and blue components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a three component vector. + + A three component vector containing the red, green, and blue components of the color. + + + + Converts the color into a three component color. + + A three component color containing the red, green, and blue components of the color. + + + + Converts the color into a four component vector. + + A four component vector containing all four color components. + + + + Creates an array containing the elements of the color. + + A four-element array containing the components of the color in RGBA order. + + + + Gets the brightness. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Gets the hue. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Gets the saturation. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Adds two colors. + + The first color to add. + The second color to add. + When the method completes, completes the sum of the two colors. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + WHen the method completes, contains the difference of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract + The difference of the two colors. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + When the method completes, contains the modulated color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + When the method completes, contains the scaled color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + The scaled color. + + + + Negates a color. + + The color to negate. + When the method completes, contains the negated color. + + + + Negates a color. + + The color to negate. + The negated color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in BGRA order + A color. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in BGRA order + A color. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in RGBA order + A color. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in RGBA order + A color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two colors. + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the largest components of the source colors. + + + + Returns a color containing the largest components of the specified colorss. + + The first source color. + The second source color. + A color containing the largest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the smallest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + A color containing the smallest components of the source colors. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + When the method completes, contains the adjusted color. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + The adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + When the method completes, contains the adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + The adjusted color. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Assert a color (return it unchanged). + + The color to assert (unchanged). + The asserted (unchanged) color. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + The difference of the two colors. + + + + Negates a color. + + The color to negate. + A negated color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Convert this instance to a + + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel element (byte). + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel element (byte). + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Zero color. + + + + + Transparent color. + + + + + AliceBlue color. + + + + + AntiqueWhite color. + + + + + Aqua color. + + + + + Aquamarine color. + + + + + Azure color. + + + + + Beige color. + + + + + Bisque color. + + + + + Black color. + + + + + BlanchedAlmond color. + + + + + Blue color. + + + + + BlueViolet color. + + + + + Brown color. + + + + + BurlyWood color. + + + + + CadetBlue color. + + + + + Chartreuse color. + + + + + Chocolate color. + + + + + Coral color. + + + + + CornflowerBlue color. + + + + + Cornsilk color. + + + + + Crimson color. + + + + + Cyan color. + + + + + DarkBlue color. + + + + + DarkCyan color. + + + + + DarkGoldenrod color. + + + + + DarkGray color. + + + + + DarkGreen color. + + + + + DarkKhaki color. + + + + + DarkMagenta color. + + + + + DarkOliveGreen color. + + + + + DarkOrange color. + + + + + DarkOrchid color. + + + + + DarkRed color. + + + + + DarkSalmon color. + + + + + DarkSeaGreen color. + + + + + DarkSlateBlue color. + + + + + DarkSlateGray color. + + + + + DarkTurquoise color. + + + + + DarkViolet color. + + + + + DeepPink color. + + + + + DeepSkyBlue color. + + + + + DimGray color. + + + + + DodgerBlue color. + + + + + Firebrick color. + + + + + FloralWhite color. + + + + + ForestGreen color. + + + + + Fuchsia color. + + + + + Gainsboro color. + + + + + GhostWhite color. + + + + + Gold color. + + + + + Goldenrod color. + + + + + Gray color. + + + + + Green color. + + + + + GreenYellow color. + + + + + Honeydew color. + + + + + HotPink color. + + + + + IndianRed color. + + + + + Indigo color. + + + + + Ivory color. + + + + + Khaki color. + + + + + Lavender color. + + + + + LavenderBlush color. + + + + + LawnGreen color. + + + + + LemonChiffon color. + + + + + LightBlue color. + + + + + LightCoral color. + + + + + LightCyan color. + + + + + LightGoldenrodYellow color. + + + + + LightGray color. + + + + + LightGreen color. + + + + + LightPink color. + + + + + LightSalmon color. + + + + + LightSeaGreen color. + + + + + LightSkyBlue color. + + + + + LightSlateGray color. + + + + + LightSteelBlue color. + + + + + LightYellow color. + + + + + Lime color. + + + + + LimeGreen color. + + + + + Linen color. + + + + + Magenta color. + + + + + Maroon color. + + + + + MediumAquamarine color. + + + + + MediumBlue color. + + + + + MediumOrchid color. + + + + + MediumPurple color. + + + + + MediumSeaGreen color. + + + + + MediumSlateBlue color. + + + + + MediumSpringGreen color. + + + + + MediumTurquoise color. + + + + + MediumVioletRed color. + + + + + MidnightBlue color. + + + + + MintCream color. + + + + + MistyRose color. + + + + + Moccasin color. + + + + + NavajoWhite color. + + + + + Navy color. + + + + + OldLace color. + + + + + Olive color. + + + + + OliveDrab color. + + + + + Orange color. + + + + + OrangeRed color. + + + + + Orchid color. + + + + + PaleGoldenrod color. + + + + + PaleGreen color. + + + + + PaleTurquoise color. + + + + + PaleVioletRed color. + + + + + PapayaWhip color. + + + + + PeachPuff color. + + + + + Peru color. + + + + + Pink color. + + + + + Plum color. + + + + + PowderBlue color. + + + + + Purple color. + + + + + Red color. + + + + + RosyBrown color. + + + + + RoyalBlue color. + + + + + SaddleBrown color. + + + + + Salmon color. + + + + + SandyBrown color. + + + + + SeaGreen color. + + + + + SeaShell color. + + + + + Sienna color. + + + + + Silver color. + + + + + SkyBlue color. + + + + + SlateBlue color. + + + + + SlateGray color. + + + + + Snow color. + + + + + SpringGreen color. + + + + + SteelBlue color. + + + + + Tan color. + + + + + Teal color. + + + + + Thistle color. + + + + + Tomato color. + + + + + Turquoise color. + + + + + Violet color. + + + + + Wheat color. + + + + + White color. + + + + + WhiteSmoke color. + + + + + Yellow color. + + + + + YellowGreen color. + + + + + Gets or sets the component at the specified index. + + The value of the alpha, red, green, or blue component, depending on the index. + The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Represents a 32-bit color (4 bytes) in the form of BGRA (in byte order: B, G, B, A). + + + + + The blue component of the color. + + + + + The green component of the color. + + + + + The red component of the color. + + + + + The alpha component of the color. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + The red, green, blue, and alpha components of the color. + + + + Initializes a new instance of the struct. + + The red, green, and blue components of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in BGRA order. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in BGRA. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a three component vector. + + A three component vector containing the red, green, and blue components of the color. + + + + Converts the color into a three component color. + + A three component color containing the red, green, and blue components of the color. + + + + Converts the color into a four component vector. + + A four component vector containing all four color components. + + + + Creates an array containing the elements of the color. + + A four-element array containing the components of the color in BGRA order. + + + + Gets the brightness. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Gets the hue. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Gets the saturation. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in BGRA order + A color. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in BGRA order + A color. + + + + Converts the color from a packed RGBA integer. + + A packed integer containing all four color components in RGBA order + A color. + + + + Converts the color from a packed RGBA integer. + + A packed integer containing all four color components in RGBA order + A color. + + + + Adds two colors. + + The first color to add. + The second color to add. + When the method completes, completes the sum of the two colors. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + WHen the method completes, contains the difference of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract + The difference of the two colors. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + When the method completes, contains the modulated color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + When the method completes, contains the scaled color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + The scaled color. + + + + Negates a color. + + The color to negate. + When the method completes, contains the negated color. + + + + Negates a color. + + The color to negate. + The negated color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two colors. + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two colors. + + + + Returns a color containing the smallest components of the specified colorss. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the largest components of the source colorss. + + + + Returns a color containing the largest components of the specified colorss. + + The first source color. + The second source color. + A color containing the largest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the smallest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + A color containing the smallest components of the source colors. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + When the method completes, contains the adjusted color. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + The adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + When the method completes, contains the adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + The adjusted color. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Assert a color (return it unchanged). + + The color to assert (unchange). + The asserted (unchanged) color. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + The difference of the two colors. + + + + Negates a color. + + The color to negate. + A negated color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel (byte). + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel (byte). + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the component at the specified index. + + The value of the alpha, red, green, or blue component, depending on the index. + The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Defines a type converter for . + + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + Base interface for a component base. + + + + + Gets the name of this component. + + The name. + + + + A service registry is a that provides methods to register and unregister services. + + + + + Adds a service to this service provider. + + The type of service to add. + The instance of the service provider to add. + Service type cannot be null + Service is already registered + + + + Removes the object providing a specified service. + + The type of service. + + + + Occurs when a new service is added. + + + + + Occurs when when a service is removed. + + + + + Path utility methods. + + + + + Transform a path by replacing '/' by '\' and transforming relative '..' or current path '.' to an absolute path. See remarks. + + A path string + A normalized path. + + Unlike , this doesn't make a path absolute to the actual file system. + + + + + Specify the size used for encoding length for array while using a , just before an array is encoded. + + + + + Use variable length 7Bit Encoding that will output from 1 byte to 5 byte depending on the range of length value. + + + + + Output a length as a byte. The length must not be greater than 255. + + + + + Output a length as an ushort. The length must not be greater than 65535. + + + + + Output a length as an int. The length must not be greater than 2^31 - 1. + + + + + The namespace contains a serialization API. + + + + + Flags used when serializing a value with a . + + + + + Normal serialize (not dynamic, not nullable). + + + + + Serialize a value as a dynamic value (the output stream will contain a magic-code for each encoded object). + + + + + Serialize a value that can be null. + + + + + A singleton string is a string that has a unique instance in memory, See remarks for usage scenarios. + + + This class should mostly be used internally for performance reasons, in scenarios where equals/hashcode + could be invoked frequently, and the set of strings is limited. Internally, + string is using the method and also is precaching the hashcode of the string. + + + + + Initializes a new instance of the struct. + + The text. + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + A lightweight Component base class. + + + + + Occurs while this component is disposing and before it is disposed. + + + + + Gets or sets a value indicating whether the name of this instance is immutable. + + true if this instance is name immutable; otherwise, false. + + + + Initializes a new instance of the class with a mutable name. + + + + + Initializes a new instance of the class with an immutable name. + + The name. + + + + Gets the name of this component. + + The name. + + + + Gets or sets the tag associated to this object. + + The tag. + + + + Pointer to a native buffer with a specific size. + + + + + Gets an Empty Data Pointer. + + + + + Initializes a new instance of the struct. + + The pointer. + The size. + + + + Initializes a new instance of the struct. + + The pointer. + The size. + + + + Pointer to the buffer. + + + + + Size in bytes of the buffer. + + + + + Implements the ==. + + The left. + The right. + The result of the operator. + + + + Implements the !=. + + The left. + The right. + The result of the operator. + + + + The namespace contains design-time converters for all vectors structures. + + + + + The namespace contains classes to help to diagnostic of COM object lifecycles Dispose and Release methods. + + + + + The namespace contains enumerations and structures shared by , and assemblies. + + + + + A class to dispose instances and allocated unmanaged memory. + + + + + Disposes all object collected by this class and clear the list. The collector can still be used for collecting. + + + To completely dispose this instance and avoid further dispose, use method instead. + + + + + Disposes of object resources. + + If true, managed resources should be + disposed of in addition to unmanaged resources. + + + + Adds a object or a allocated using to the list of the objects to dispose. + + To dispose. + If toDispose argument is not IDisposable or a valid memory pointer allocated by + + + + Dispose a disposable object and set the reference to null. Removes this object from this instance.. + + Object to dispose. + + + + Removes a disposable object to the list of the objects to dispose. + + + To dispose. + + + + Gets the number of elements to dispose. + + The number of elements to dispose. + + + + Frustum camera parameters. + + + + + Position of the camera. + + + + + Looking at direction of the camera. + + + + + Up direction. + + + + + Field of view. + + + + + Z near distance. + + + + + Z far distance. + + + + + Aspect ratio. + + + + + Equality comparer using the identify of the object. + + Type of the parameter + + From http://stackoverflow.com/questions/8946790/how-to-use-an-objects-identity-as-key-for-dictionaryk-v. + + + + + Represents a three dimensional mathematical int vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0, 0). + + + + + The Y unit (0, 1, 0). + + + + + The Z unit (0, 0, 1). + + + + + A with all of its components set to one. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Creates an array containing the elements of the vector. + + A four-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Performs an implicit conversion from array to . + + The input. + The result of the conversion. + + + + Performs an implicit conversion from to array. + + The input. + The result of the conversion. + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + The namespace contains helper classes in replacement of some classes in useful under Windows 8 Metro. + + + + + This enumeration defines constants that indicate the role that the system has assigned to an audio endpoint device. + + dd370842 + ERole + ERole + + + + Games, system notification sounds, and voice commands + + + + + Music, movies, narration, and live music recording. + + + + + Voice communications (talking to another person). + + + + + The namespace contains common structures and helper classes for audio/video processing. + + + + + Use this attribute to specify the id of a dynamic type with . + + + + + Initializes a new instance of the class. + + The id to register as a dynamic type. + + + + Initializes a new instance of the class. + + The id to register as a dynamic type. + + + + Gets the id. + + The id. + + + + Exceptions thrown when an invalid chunk is decoded. + + + + + Initializes a new instance of the class with a specified error message. + + The chunk id. + The expected chunk id. + + + + Gets the chunk id. + + The chunk id. + + + + Gets the expected chunk id. + + The expected chunk id. + + + + Serializer action. + + The value to read or write. + The serializer. + + + + This class provides serialization methods for types implementing the . + + + BinarySerializer is a basic binary serializer with the following features: +
    +
  • 10x times faster and smaller than default System Serialization and Xml Serialization.
  • +
  • Supports for all primitive types, array/List<T>/Dictionary of primitive types, custom data via (struct or class) and array/List/Dictionary of custom data.
  • +
  • Optimized binary format, data serialized to the strict minimum.
  • +
  • Should be compatible with Win8/WinRT, Desktop.
  • +
  • Not reflection based serializer, but fully compile time serializer.
  • +
  • Format could be read back from C/C++.
  • + +
+
+
+ + + A disposable component base class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with an immutable name. + + The name. + + + + Releases unmanaged and - optionally - managed resources + + + + + Disposes of object resources. + + If true, managed resources should be + disposed of in addition to unmanaged resources. + + + + Adds a disposable object to the list of the objects to dispose. + + To dispose. + + + + Dispose a disposable object and set the reference to null. Removes this object from the ToDispose list. + + Object to dispose. + + + + Removes a disposable object to the list of the objects to dispose. + + + To dispose. + + + + Gets or sets the disposables. + + The disposables. + + + + Gets or sets a value indicating whether this instance is attached to a collector. + + + true if this instance is attached to a collector; otherwise, false. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Occurs when when Dispose is called. + + + + + Gets the reader and throws an exception if this serializer is in Write mode. + + The context object that requires a Reader. + A BinaryReader. + context + If this reader is not in read mode + + + + Initializes a new instance of the class. + + The stream to read or write to. + The read or write mode. + + + + Initializes a new instance of the class. + + The stream to read or write to. + The read or write mode. + Default encoding used for strings. This parameter can be overriden later using Encoding property. + + + + Gets a tag value with the specified key. + + The tag key. + A tag value associated to a key + + + + Determines whether a tag with a specified key is already stored. + + The key. + true if a tag with a specified key is already stored; otherwise, false. + + + + Removes a tag with the specified key. + + The key. + + + + Sets a tag value with the specified key. + + The key. + The value. + + + + + Register a dynamic serializer for a particular type implementing the interface and having the . + + Type of the element to serialize. + + + + Register a dynamic serializer for a particular type implementing the interface. + + Type of the element to serialize. + The id to use for serializing T. + + + + Register a dynamic array serializer for a particular type implementing the interface. + + Type of the element in the array. + The id to use for serializing T[]. + + + + Register a dynamic List<T> serializer for a particular type implementing the interface. + + Type of the element in the List<T>. + The id to use for serializing List<T>. + + + + Register a dynamic serializer using an external action. + + Type of the element to serialize. + The id to use for serializing T. + The serializer. + + + + Begin to serialize a a new chunk. + + The chunk id. + If the chuck to read is not the expecting chunk. + + A Chunk is an identifiable portion of data that will serialized. Chunk are useful to encapsulate a variable + data (and check for the presence of the chunk Id). Chunk are storing a 4 bytes identifier and the length of + the chunk before reading/writing actual data. + + + + + Ends a chunk. + + If there EndChunk is called without a previous BeginChunk. + If the size of data read from the chunk is different from chunk size. + + + + Deserialize a data from the underlying stream. + + Type of the data to load. + An instance of the loaded data. + + + + Serializes the specified value to the underlying stream. + + Type of the data to save. + The value to save. + + + + Flush the underlying + + + + + Serializes a dynamic value that can be nullable. + + Known type of the value to serialize. The known type is not the runtime type that will be actually serialized. + The value to serialize based on its runtime type. + + + + Serializes a dynamic value. + + Known type of the value to serialize. The known type is not the runtime type that will be actually serialized. + The value to serialize based on its runtime type. + Type of serialization, see . + + + + Serializes a static value implementing the interface. + + Type of the data to serialize. + The value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a static value implementing the interface. Unlike , + this method doesn't allocate a new instance when reading but use the reference value. + + Type of the data to serialize. + The value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes an enum value. + + Type of the enum to serialize. + The value to serialize + If type T is not an enum. + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes an array of primitives using serialization methods implemented by this instance for each item in the array. + + Type of the primitive data to serialize. + An array of primitive value to serialize + The serializer to user to serialize the T values. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes count elements in an array of primitives using serialization methods implemented by this instance for each item in the array. + + Type of the primitive data to serialize. + An array of primitive value to serialize + Count elements to serialize. See remarks. + The serializer to user to serialize the T values. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes an array of static values that are implementing the interface. + + Type of the data to serialize. + An array of value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes an array of static values that are implementing the interface. + + Type of the data to serialize. + An array of value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes count elements in an array of static values that are implementing the interface. + + Type of the data to serialize. + An array of value to serialize + Count elements to serialize. See remarks. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes an array of bytes. + + An array of bytes to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes an array of bytes. + + An array of bytes to serialize + Count elements to serialize. See remarks. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes a list of static values that are implementing the interface. + + Type of the data to serialize. + A list of value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a list of static values that are implementing the interface. + + Type of the data to serialize. + A list of value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a list of primitive values using a specific serializer method from this instance. + + Type of the data to serialize. + A list of value to serialize + A method of this instance to serialize the primitive T type + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes count elements from a list of static values that are implementing the interface. + + Type of the data to serialize. + A list of value to serialize + Count elements to serialize. See remarks. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes count elements from a list of primitive values using a specific serializer method from this instance. + + Type of the data to serialize. + A list of value to serialize + A method of this instance to serialize the primitive T type + Count elements to serialize. See remarks. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes a dictionary of key/values that are both implementing the interface. + + Type of key to serialize. + Type of value to serialize. + A dictionary to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a dictionary of key/values. + + Type of key to serialize that is implementing the interface. + Type of primitive value with its associated serializer. + A dictionary to serialize + Serializer used for the TValue. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a dictionary of key/values. + + Type of primitive value with its associated serializer. + Type of value to serialize that is implementing the interface. + A dictionary to serialize + Serializer used for the TKey. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a dictionary of key/values. + + Type of primitive key with its associated serializer. + Type of primitive value with its associated serializer. + A dictionary to serialize + Serializer used for the TKey. + Serializer used for the TValue. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single string value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + This string is serialized with the current set on this instance. + + + + + Serializes a single string value. + + The value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + This string is serialized with the current set on this instance. + + + + + Serializes a single string value. + + The value to serialize + Write a null byte at the end of the string. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + This string is serialized with the current set on this instance. + + + + + Serializes a single fixed length string value. + + The value to serialize + Read/write a specific number of characters. + + Note that depending on the serialization , this method reads or writes the value. + This string is serialized with the current set on this instance. + + + + + Serializes a single boolean value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single byte value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single sbyte value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single short value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single ushort value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single int value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single int as a packed value (from 1 byte to 5 byte. if value < 128, then 1 byte...etc.) + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a memory region. + + The pointer to an unmanaged memory region. For read operation, this pointer must be allocated by the caller. + If the end of stream was reached before reading all the bytes. + Note that depending on the serialization , this method reads or writes the value. + This method doesn't serialize the sizeInBytes of the region, so the size must be serialized separately. + + + + + Serializes a memory region. + + The data pointer. For read operation, this pointer must be allocated by the caller. + The size in bytes. See remarks. + If the end of stream was reached before reading all the bytes. + Note that depending on the serialization , this method reads or writes the value. + This method doesn't serialize the sizeInBytes of the region, so the size must be serialized separately. + + + + + Serializes a single uint value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single long value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single ulong value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single char value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single float value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single double value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single DateTime value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single Guid value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Underlying stream this instance is reading/writing to. + + + + + Reader used to directly read from the underlying stream. + + + + + Writer used to directly write to the underlying stream. + + + + + Gets or sets the serialization mode. + + The serialization mode. + + + + Gets or sets the encoding used to serialized strings. + + The encoding. + When setting a null encoding + + + + Enables to serialize an object only once using object reference. Default is false. + + true if [allow null]; otherwise, false. + If an invalid matching pair of true/false is detected. + + + + Serialization mode used by . + + + + + Reads the data from the stream. + + + + + Writes the data to the stream. + + + + + Shadow attribute used to associate a COM callbackable interface to its Shadow implementation. + + + + + Initializes a new instance of class. + + Type of the associated shadow + + + + Get ShadowAttribute from type. + + Type to get shadow attribute + The associated shadow attribute or null if no shadow attribute were found + + + + Gets the value. + + + + + Represents a 4x4 mathematical Matrix5x4. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The identity . + + + + + Value at row 1 column 1 of the Matrix5x4. + + + + + Value at row 1 column 2 of the Matrix5x4. + + + + + Value at row 1 column 3 of the Matrix5x4. + + + + + Value at row 1 column 4 of the Matrix5x4. + + + + + Value at row 2 column 1 of the Matrix5x4. + + + + + Value at row 2 column 2 of the Matrix5x4. + + + + + Value at row 2 column 3 of the Matrix5x4. + + + + + Value at row 2 column 4 of the Matrix5x4. + + + + + Value at row 3 column 1 of the Matrix5x4. + + + + + Value at row 3 column 2 of the Matrix5x4. + + + + + Value at row 3 column 3 of the Matrix5x4. + + + + + Value at row 3 column 4 of the Matrix5x4. + + + + + Value at row 4 column 1 of the Matrix5x4. + + + + + Value at row 4 column 2 of the Matrix5x4. + + + + + Value at row 4 column 3 of the Matrix5x4. + + + + + Value at row 4 column 4 of the Matrix5x4. + + + + + Value at row 5 column 1 of the Matrix5x4. + + + + + Value at row 5 column 2 of the Matrix5x4. + + + + + Value at row 5 column 3 of the Matrix5x4. + + + + + Value at row 5 column 4 of the Matrix5x4. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value to assign at row 1 column 1 of the Matrix5x4. + The value to assign at row 1 column 2 of the Matrix5x4. + The value to assign at row 1 column 3 of the Matrix5x4. + The value to assign at row 1 column 4 of the Matrix5x4. + The value to assign at row 2 column 1 of the Matrix5x4. + The value to assign at row 2 column 2 of the Matrix5x4. + The value to assign at row 2 column 3 of the Matrix5x4. + The value to assign at row 2 column 4 of the Matrix5x4. + The value to assign at row 3 column 1 of the Matrix5x4. + The value to assign at row 3 column 2 of the Matrix5x4. + The value to assign at row 3 column 3 of the Matrix5x4. + The value to assign at row 3 column 4 of the Matrix5x4. + The value to assign at row 4 column 1 of the Matrix5x4. + The value to assign at row 4 column 2 of the Matrix5x4. + The value to assign at row 4 column 3 of the Matrix5x4. + The value to assign at row 4 column 4 of the Matrix5x4. + The value to assign at row 5 column 1 of the Matrix5x4. + The value to assign at row 5 column 2 of the Matrix5x4. + The value to assign at row 5 column 3 of the Matrix5x4. + The value to assign at row 5 column 4 of the Matrix5x4. + + + + Initializes a new instance of the struct. + + The values to assign to the components of the Matrix5x4. This must be an array with sixteen elements. + Thrown when is null. + Thrown when contains more or less than sixteen elements. + + + + Determines the sum of two matrices. + + The first Matrix5x4 to add. + The second Matrix5x4 to add. + When the method completes, contains the sum of the two matrices. + + + + Determines the sum of two matrices. + + The first Matrix5x4 to add. + The second Matrix5x4 to add. + The sum of the two matrices. + + + + Determines the difference between two matrices. + + The first Matrix5x4 to subtract. + The second Matrix5x4 to subtract. + When the method completes, contains the difference between the two matrices. + + + + Determines the difference between two matrices. + + The first Matrix5x4 to subtract. + The second Matrix5x4 to subtract. + The difference between the two matrices. + + + + Scales a Matrix5x4 by the given value. + + The Matrix5x4 to scale. + The amount by which to scale. + When the method completes, contains the scaled Matrix5x4. + + + + Scales a Matrix5x4 by the given value. + + The Matrix5x4 to scale. + The amount by which to scale. + When the method completes, contains the scaled Matrix5x4. + + + + Negates a Matrix5x4. + + The Matrix5x4 to be negated. + When the method completes, contains the negated Matrix5x4. + + + + Negates a Matrix5x4. + + The Matrix5x4 to be negated. + The negated Matrix5x4. + + + + Performs a linear interpolation between two matrices. + + Start Matrix5x4. + End Matrix5x4. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two matrices. + + Start Matrix5x4. + End Matrix5x4. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two matrices. + + Start Matrix5x4. + End Matrix5x4. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two matrices. + + + + Performs a cubic interpolation between two matrices. + + Start Matrix5x4. + End Matrix5x4. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two matrices. + + + + Creates a Matrix5x4 that scales along the x-axis, y-axis, y-axis and w-axis + + Scaling factor for all three axes. + When the method completes, contains the created scaling Matrix5x4. + + + + Creates a Matrix5x4 that scales along the x-axis, y-axis, and y-axis. + + Scaling factor for all three axes. + The created scaling Matrix5x4. + + + + Creates a Matrix5x4 that scales along the x-axis, y-axis, z-axis and w-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Scaling factor that is applied along the z-axis. + Scaling factor that is applied along the w-axis. + When the method completes, contains the created scaling Matrix5x4. + + + + Creates a Matrix5x4 that scales along the x-axis, y-axis, z-axis and w-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Scaling factor that is applied along the z-axis. + Scaling factor that is applied along the w-axis. + The created scaling Matrix5x4. + + + + Creates a Matrix5x4 that uniformly scales along all three axis. + + The uniform scale that is applied along all axis. + When the method completes, contains the created scaling Matrix5x4. + + + + Creates a Matrix5x4 that uniformly scales along all three axis. + + The uniform scale that is applied along all axis. + The created scaling Matrix5x4. + + + + Creates a translation Matrix5x4 using the specified offsets. + + The offset for all three coordinate planes. + When the method completes, contains the created translation Matrix5x4. + + + + Creates a translation Matrix5x4 using the specified offsets. + + The offset for all three coordinate planes. + The created translation Matrix5x4. + + + + Creates a translation Matrix5x4 using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + Z-coordinate offset. + W-coordinate offset. + When the method completes, contains the created translation Matrix5x4. + + + + Creates a translation Matrix5x4 using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + Z-coordinate offset. + W-coordinate offset. + The created translation Matrix5x4. + + + + Adds two matrices. + + The first Matrix5x4 to add. + The second Matrix5x4 to add. + The sum of the two matrices. + + + + Assert a Matrix5x4 (return it unchanged). + + The Matrix5x4 to assert (unchanged). + The asserted (unchanged) Matrix5x4. + + + + Subtracts two matrices. + + The first Matrix5x4 to subtract. + The second Matrix5x4 to subtract. + The difference between the two matrices. + + + + Negates a Matrix5x4. + + The Matrix5x4 to negate. + The negated Matrix5x4. + + + + Scales a Matrix5x4 by a given value. + + The Matrix5x4 to scale. + The amount by which to scale. + The scaled Matrix5x4. + + + + Scales a Matrix5x4 by a given value. + + The Matrix5x4 to scale. + The amount by which to scale. + The scaled Matrix5x4. + + + + Scales a Matrix5x4 by a given value. + + The Matrix5x4 to scale. + The amount by which to scale. + The scaled Matrix5x4. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the first row in the Matrix5x4; that is M11, M12, M13, and M14. + + + + + Gets or sets the second row in the Matrix5x4; that is M21, M22, M23, and M24. + + + + + Gets or sets the third row in the Matrix5x4; that is M31, M32, M33, and M34. + + + + + Gets or sets the fourth row in the Matrix5x4; that is M41, M42, M43, and M44. + + + + + Gets or sets the fifth row in the Matrix5x4; that is M51, M52, M53, and M54. + + + + + Gets or sets the translation of the Matrix5x4; that is M41, M42, and M43. + + + + + Gets or sets the scale of the Matrix5x4; that is M11, M22, and M33. + + + + + Gets a value indicating whether this instance is an identity Matrix5x4. + + + true if this instance is an identity Matrix5x4; otherwise, false. + + + + + Gets or sets the component at the specified index. + + The value of the Matrix5x4 component, depending on the index. + The zero-based index of the component to access. + The value of the component at the specified index. + Thrown when the is out of the range [0, 15]. + + + + Gets or sets the component at the specified index. + + The value of the Matrix5x4 component, depending on the index. + The row of the Matrix5x4 to access. + The column of the Matrix5x4 to access. + The value of the component at the specified index. + Thrown when the or is out of the range [0, 3]. + + + + Descriptor used to provide detailed message for a particular . + + + + + Initializes a new instance of the class. + + The HRESULT error code. + The module (ex: SharpDX.Direct2D1). + The API code (ex: D2D1_ERR_...). + The description of the result code if any. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Performs an implicit conversion from to . + + The result. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Registers a provider. + + Type of the descriptors provider. + + Providers are usually registered at module init when SharpDX assemblies are loaded. + + + + + Finds the specified result descriptor. + + The result code. + A descriptor for the specified result + + + + Gets the result. + + + + + Gets the HRESULT error code. + + The HRESULT error code. + + + + Gets the module (ex: SharpDX.Direct2D1) + + + + + Gets the native API code (ex: D2D1_ERR_ ...) + + + + + Gets the API code (ex: DemiceRemoved ...) + + + + + Gets the description of the result code if any. + + + + + Structure using the same layout than . + + + + + Initializes a new instance of the struct. + + The x. + The y. + + + + Width. + + + + + Height. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + + + + + Structure using the same layout than . + + + + + Initializes a new instance of the struct. + + The x. + The y. + + + + Width. + + + + + Height. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + + + + + Structure using the same layout than . + + + + + Initializes a new instance of the struct. + + The x. + The y. + + + + Left coordinate. + + + + + Top coordinate. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + + + + Helper class for PIX. + + + + + Marks the beginning of a user-defined event. PIX can use this event to trigger an action. + + The Event color. + The Event Name. + The zero-based level of the hierarchy that this event is starting in. If an error occurs, the return value will be negative. + D3DPERF_BeginEvent + + + + Marks the beginning of a user-defined event. PIX can use this event to trigger an action. + + The Event color. + The Event formatted Name. + The parameters to use for the formatted name. + + The zero-based level of the hierarchy that this event is starting in. If an error occurs, the return value will be negative. + + D3DPERF_BeginEvent + + + + Mark the end of a user-defined event. PIX can use this event to trigger an action. + + The level of the hierarchy in which the event is ending. If an error occurs, this value is negative. + D3DPERF_EndEvent + + + + Mark an instantaneous event. PIX can use this event to trigger an action. + + The color. + The name. + D3DPERF_SetMarker + + + + Mark an instantaneous event. PIX can use this event to trigger an action. + + The color. + The name to format. + The parameters to use to format the name. + D3DPERF_SetMarker + + + + Set this to false to notify PIX that the target program does not give permission to be profiled. + + if set to true PIX profiling is authorized. Default to true. + D3DPERF_SetOptions + + + + Gets a value indicating whether this instance is currently profiled by PIX. + + + true if this instance is currently profiled; otherwise, false. + + D3DPERF_GetStatus + + + + Windows File Helper. + + + + + Checks if the specified file path exists. + + The file path. + true if the specified file path exists, false otherwise + + + + Opens a binary file, reads the contents of the file into a byte array, and then closes the file. + + The file to open for reading. + A byte array containing the contents of the file. + + + + Opens a text file, reads all lines of the file, and then closes the file. + + The file to open for reading. + A string containing all lines of the file. + + + + Opens a text file, reads all lines of the file, and then closes the file. + + The file to open for reading. + The encoding. + The sharing. + A string containing all lines of the file. + + + + Gets the last write time access for the specified path. + + The path. + The last write time access + + + + Reads to a file. + + The file handle. + The buffer. + The number of bytes to read. + The number of bytes read. + The overlapped. + A Result + ReadFile + + + + Writes to a file. + + The file handle. + The buffer. + The number of bytes to read. + The number of bytes read. + The overlapped. + A Result + WriteFile + + + + Sets the file pointer. + + The handle. + The distance to move. + The distance to move high. + The seek origin. + + SetFilePointerEx + + + + Sets the end of file. + + The handle. + + SetEndOfFile + + + + Creates the file. + + Name of the file. + The desired access. + The share mode. + The security attributes. + The creation disposition. + The flags and attributes. + The template file. + A handle to the created file. IntPtr.Zero if failed. + CreateFile + + + + Gets the size of the file. + + The handle. + Size of the file. + + GetFileSizeEx + + + + Windows File Helper. + + + + + Initializes a new instance of the class. + + Name of the file. + The file mode. + The access mode. + The share mode. + + + + + + + + + + + + + + + + Reads a block of bytes from the stream and writes the data in a given buffer. + + When this method returns, contains the specified buffer with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. + The byte offset in array at which the read bytes will be placed. + The maximum number of bytes to read. + array is null. + The total number of bytes read into the buffer. This might be less than the number of bytes requested if that number of bytes are not currently available, or zero if the end of the stream is reached. + + + + + + + Writes a block of bytes to this stream using data from a buffer. + + The buffer containing data to write to the stream. + The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + + + + + + + + + + + + + + + + + + Native File access flags. + + + + + Read access. + + + + + Write access. + + + + + Read/Write Access, + + + + + Execute access. + + + + + All access + + + + + Native file attributes. + + + + + None attribute. + + + + + Read only attribute. + + + + + Hidden attribute. + + + + + System attribute. + + + + + Directory attribute. + + + + + Archive attribute. + + + + + Device attribute. + + + + + Normal attribute. + + + + + Temporary attribute. + + + + + Sparse file attribute. + + + + + ReparsePoint attribute. + + + + + Compressed attribute. + + + + + Offline attribute. + + + + + Not content indexed attribute. + + + + + Encrypted attribute. + + + + + Write through attribute. + + + + + Overlapped attribute. + + + + + No buffering attribute. + + + + + Random access attribute. + + + + + Sequential scan attribute. + + + + + Delete on close attribute. + + + + + Backup semantics attribute. + + + + + Post semantics attribute. + + + + + Open reparse point attribute. + + + + + Open no recall attribute. + + + + + First pipe instance attribute. + + + + + Native file creation disposition. + + + + + Creates a new file. The function fails if a specified file exists. + + + + + Creates a new file, always. + If a file exists, the function overwrites the file, clears the existing attributes, combines the specified file attributes, + and flags with FILE_ATTRIBUTE_ARCHIVE, but does not set the security descriptor that the SECURITY_ATTRIBUTES structure specifies. + + + + + Opens a file. The function fails if the file does not exist. + + + + + Opens a file, always. + If a file does not exist, the function creates a file as if dwCreationDisposition is CREATE_NEW. + + + + + Opens a file and truncates it so that its size is 0 (zero) bytes. The function fails if the file does not exist. + The calling process must open the file with the GENERIC_WRITE access right. + + + + + Native file share. + + + + + None flag. + + + + + Enables subsequent open operations on an object to request read access. + Otherwise, other processes cannot open the object if they request read access. + If this flag is not specified, but the object has been opened for read access, the function fails. + + + + + Enables subsequent open operations on an object to request write access. + Otherwise, other processes cannot open the object if they request write access. + If this flag is not specified, but the object has been opened for write access, the function fails. + + + + + Read and Write flags. + + + + + Enables subsequent open operations on an object to request delete access. + Otherwise, other processes cannot open the object if they request delete access. + If this flag is not specified, but the object has been opened for delete access, the function fails. + + + + + Direct2D Matrix3x2. Supports implicit cast from . + + + + + Gets the identity matrix. + + The identity matrix. + + + + Element (1,1) + + + + + Element (1,2) + + + + + Element (2,1) + + + + + Element (2,2) + + + + + Element (3,1) + + + + + Element (3,2) + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value to assign at row 1 column 1 of the matrix. + The value to assign at row 1 column 2 of the matrix. + The value to assign at row 2 column 1 of the matrix. + The value to assign at row 2 column 2 of the matrix. + The value to assign at row 3 column 1 of the matrix. + The value to assign at row 3 column 2 of the matrix. + + + + Initializes a new instance of the struct. + + The values to assign to the components of the matrix. This must be an array with six elements. + Thrown when is null. + Thrown when contains more or less than six elements. + + + + Creates an array containing the elements of the matrix. + + A sixteen-element array containing the components of the matrix. + + + + Determines the sum of two matrices. + + The first matrix to add. + The second matrix to add. + When the method completes, contains the sum of the two matrices. + + + + Determines the sum of two matrices. + + The first matrix to add. + The second matrix to add. + The sum of the two matrices. + + + + Determines the difference between two matrices. + + The first matrix to subtract. + The second matrix to subtract. + When the method completes, contains the difference between the two matrices. + + + + Determines the difference between two matrices. + + The first matrix to subtract. + The second matrix to subtract. + The difference between the two matrices. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + When the method completes, contains the scaled matrix. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Determines the product of two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Determines the product of two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + When the method completes, contains the scaled matrix. + + + + Determines the quotient of two matrices. + + The first matrix to divide. + The second matrix to divide. + When the method completes, contains the quotient of the two matrices. + + + + Negates a matrix. + + The matrix to be negated. + When the method completes, contains the negated matrix. + + + + Negates a matrix. + + The matrix to be negated. + The negated matrix. + + + + Performs a linear interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two matrices. + + + + Performs a cubic interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two matrices. + + + + Creates a matrix that scales along the x-axis and y-axis. + + Scaling factor for both axes. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that scales along the x-axis and y-axis. + + Scaling factor for both axes. + The created scaling matrix. + + + + Creates a matrix that scales along the x-axis and y-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that scales along the x-axis and y-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + The created scaling matrix. + + + + Creates a matrix that uniformly scales along both axes. + + The uniform scale that is applied along both axes. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that uniformly scales along both axes. + + The uniform scale that is applied along both axes. + The created scaling matrix. + + + + Creates a matrix that is scaling from a specified center. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + The center of the scaling. + The created scaling matrix. + + + + Creates a matrix that is scaling from a specified center. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + The center of the scaling. + The created scaling matrix. + + + + Calculates the determinant of this matrix. + + Result of the determinant. + + + + Creates a matrix that rotates. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + The created rotation matrix. + + + + Creates a matrix that rotates about a specified center. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + The center of the rotation. + The created rotation matrix. + + + + Creates a matrix that rotates about a specified center. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + The center of the rotation. + When the method completes, contains the created rotation matrix. + + + + Creates a transformation matrix. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + X-coordinate offset. + Y-coordinate offset. + When the method completes, contains the created transformation matrix. + + + + Creates a transformation matrix. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Angle of rotation in radians. + X-coordinate offset. + Y-coordinate offset. + The created transformation matrix. + + + + Creates a translation matrix using the specified offsets. + + The offset for both coordinate planes. + When the method completes, contains the created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + The offset for both coordinate planes. + The created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + When the method completes, contains the created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + The created translation matrix. + + + + Transforms a vector by this matrix. + + The matrix to use as a transformation matrix. + The original vector to apply the transformation. + The result of the transformation for the input vector. + + + + Transforms a vector by this matrix. + + The matrix to use as a transformation matrix. + The original vector to apply the transformation. + The result of the transformation for the input vector. + + + + + Calculates the inverse of this matrix instance. + + + + + Calculates the inverse of the specified matrix. + + The matrix whose inverse is to be calculated. + the inverse of the specified matrix. + + + + Calculates the inverse of the specified matrix. + + The matrix whose inverse is to be calculated. + When the method completes, contains the inverse of the specified matrix. + + + + Adds two matrices. + + The first matrix to add. + The second matrix to add. + The sum of the two matrices. + + + + Assert a matrix (return it unchanged). + + The matrix to assert (unchanged). + The asserted (unchanged) matrix. + + + + Subtracts two matrices. + + The first matrix to subtract. + The second matrix to subtract. + The difference between the two matrices. + + + + Negates a matrix. + + The matrix to negate. + The negated matrix. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Multiplies two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Divides two matrices. + + The first matrix to divide. + The second matrix to divide. + The quotient of the two matrices. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Performs an implicit conversion from to . + + The matrix. + The result of the conversion. + + + + Gets or sets the first row in the matrix; that is M11 and M12. + + + + + Gets or sets the second row in the matrix; that is M21 and M22. + + + + + Gets or sets the third row in the matrix; that is M31 and M32. + + + + + Gets or sets the first column in the matrix; that is M11, M21, and M31. + + + + + Gets or sets the second column in the matrix; that is M12, M22, and M32. + + + + + Gets or sets the translation of the matrix; that is M31 and M32. + + + + + Gets or sets the scale of the matrix; that is M11 and M22. + + + + + Gets a value indicating whether this instance is an identity matrix. + + + true if this instance is an identity matrix; otherwise, false. + + + + + Gets or sets the component at the specified index. + + The value of the matrix component, depending on the index. + The zero-based index of the component to access. + The value of the component at the specified index. + Thrown when the is out of the range [0, 5]. + + + + Gets or sets the component at the specified index. + + The value of the matrix component, depending on the index. + The row of the matrix to access. + The column of the matrix to access. + The value of the component at the specified index. + Thrown when the or is out of the range [0, 3]. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + The ShadowContainer is the main container used internally to keep references to all native COM/C++ callbacks. + It is stored in the property . + + + + + Contains static methods to help in determining intersections, containment, etc. + + + + + Determines the closest point between a point and a triangle. + + The point to test. + The first vertex to test. + The second vertex to test. + The third vertex to test. + When the method completes, contains the closest point between the two objects. + + + + Determines the closest point between a and a point. + + The plane to test. + The point to test. + When the method completes, contains the closest point between the two objects. + + + + Determines the closest point between a and a point. + + The box to test. + The point to test. + When the method completes, contains the closest point between the two objects. + + + + Determines the closest point between a and a point. + + + The point to test. + When the method completes, contains the closest point between the two objects; + or, if the point is directly in the center of the sphere, contains . + + + + Determines the closest point between a and a . + + The first sphere to test. + The second sphere to test. + When the method completes, contains the closest point between the two objects; + or, if the point is directly in the center of the sphere, contains . + + If the two spheres are overlapping, but not directly on top of each other, the closest point + is the 'closest' point of intersection. This can also be considered is the deepest point of + intersection. + + + + + Determines the distance between a and a point. + + The plane to test. + The point to test. + The distance between the two objects. + + + + Determines the distance between a and a point. + + The box to test. + The point to test. + The distance between the two objects. + + + + Determines the distance between a and a . + + The first box to test. + The second box to test. + The distance between the two objects. + + + + Determines the distance between a and a point. + + The sphere to test. + The point to test. + The distance between the two objects. + + + + Determines the distance between a and a . + + The first sphere to test. + The second sphere to test. + The distance between the two objects. + + + + Determines whether there is an intersection between a and a point. + + The ray to test. + The point to test. + Whether the two objects intersect. + + + + Determines whether there is an intersection between a and a . + + The first ray to test. + The second ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersect. + + This method performs a ray vs ray intersection test based on the following formula + from Goldman. + s = det([o_2 - o_1, d_2, d_1 x d_2]) / ||d_1 x d_2||^2 + t = det([o_2 - o_1, d_1, d_1 x d_2]) / ||d_1 x d_2||^2 + Where o_1 is the position of the first ray, o_2 is the position of the second ray, + d_1 is the normalized direction of the first ray, d_2 is the normalized direction + of the second ray, det denotes the determinant of a matrix, x denotes the cross + product, [ ] denotes a matrix, and || || denotes the length or magnitude of a vector. + + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The plane to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersect. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The plane to test + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a triangle. + + The ray to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + This method tests if the ray intersects either the front or back of the triangle. + If the ray is parallel to the triangle's plane, no intersection is assumed to have + happened. If the intersection of the ray and the triangle is behind the origin of + the ray, no intersection is assumed to have happened. In both cases of assumptions, + this method returns false. + + + + + Determines whether there is an intersection between a and a triangle. + + The ray to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The box to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The box to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The sphere to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The sphere to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a point. + + The plane to test. + The point to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The first plane to test. + The second plane to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The first plane to test. + The second plane to test. + When the method completes, contains the line of intersection + as a , or a zero ray if there was no intersection. + Whether the two objects intersected. + + Although a ray is set to have an origin, the ray returned by this method is really + a line in three dimensions which has no real origin. The ray is considered valid when + both the positive direction is used and when the negative direction is used. + + + + + Determines whether there is an intersection between a and a triangle. + + The plane to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The plane to test. + The box to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The plane to test. + The sphere to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The first box to test. + The second box to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The box to test. + The sphere to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a triangle. + + The sphere to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + First sphere to test. + Second sphere to test. + Whether the two objects intersected. + + + + Determines whether a contains a point. + + The box to test. + The point to test. + The type of containment the two objects have. + + + + Determines whether a contains a . + + The first box to test. + The second box to test. + The type of containment the two objects have. + + + + Determines whether a contains a . + + The box to test. + The sphere to test. + The type of containment the two objects have. + + + + Determines whether a contains a point. + + The sphere to test. + The point to test. + The type of containment the two objects have. + + + + Determines whether a contains a triangle. + + The sphere to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + The type of containment the two objects have. + + + + Determines whether a contains a . + + The sphere to test. + The box to test. + The type of containment the two objects have. + + + + Determines whether a contains a . + + The first sphere to test. + The second sphere to test. + The type of containment the two objects have. + + + + Represents a color in the form of rgb. + + + + + The Black color (0, 0, 0). + + + + + The White color (1, 1, 1, 1). + + + + + The red component of the color. + + + + + The green component of the color. + + + + + The blue component of the color. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + + + + Initializes a new instance of the struct. + + The red, green, and blue components of the color. + + + + Initializes a new instance of the struct. + + A packed integer containing all three color components in RGB order. + The alpha component is ignored. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, and blue components of the color. This must be an array with three elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Converts the color into a packed integer. + + A packed integer containing all three color components. + The alpha channel is set to 255. + + + + Converts the color into a packed integer. + + A packed integer containing all three color components. + The alpha channel is set to 255. + + + + Converts the color into a three component vector. + + A three component vector containing the red, green, and blue components of the color. + + + + Creates an array containing the elements of the color. + + A three-element array containing the components of the color. + + + + Adds two colors. + + The first color to add. + The second color to add. + When the method completes, completes the sum of the two colors. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + WHen the method completes, contains the difference of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract + The difference of the two colors. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + When the method completes, contains the modulated color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + When the method completes, contains the scaled color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + The scaled color. + + + + Negates a color. + + The color to negate. + When the method completes, contains the negated color. + + + + Negates a color. + + The color to negate. + The negated color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two colors. + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the largest components of the source colors. + + + + Returns a color containing the largest components of the specified colors. + + The first source color. + The second source color. + A color containing the largest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the smallest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + A color containing the smallest components of the source colors. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + When the method completes, contains the adjusted color. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + The adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + When the method completes, contains the adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + The adjusted color. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Assert a color (return it unchanged). + + The color to assert (unchanged). + The asserted (unchanged) color. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + The difference of the two colors. + + + + Negates a color. + + The color to negate. + A negated color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel element (float) + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel element (float). + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the component at the specified index. + + The value of the red, green, or blue component, depending on the index. + The index of the component to access. Use 0 for the red component, 1 for the green component, and 2 for the blue component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 2]. + + + + Represents a color in the form of rgba. + + + + + The Black color (0, 0, 0, 1). + + + + + The White color (1, 1, 1, 1). + + + + + The red component of the color. + + + + + The green component of the color. + + + + + The blue component of the color. + + + + + The alpha component of the color. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + The red, green, blue, and alpha components of the color. + + + + Initializes a new instance of the struct. + + The red, green, and blue components of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in RGBA order. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in RGBA order. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, blue, and alpha components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Initializes a new instance of the struct. + + used to initialize the color. + + + + Initializes a new instance of the struct. + + used to initialize the color. + The alpha component of the color. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a three component vector. + + A three component vector containing the red, green, and blue components of the color. + + + + Converts the color into a four component vector. + + A four component vector containing all four color components. + + + + Creates an array containing the elements of the color. + + A four-element array containing the components of the color. + + + + Adds two colors. + + The first color to add. + The second color to add. + When the method completes, completes the sum of the two colors. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + WHen the method completes, contains the difference of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract + The difference of the two colors. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + When the method completes, contains the modulated color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + When the method completes, contains the scaled color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + The scaled color. + + + + Negates a color. + + The color to negate. + When the method completes, contains the negated color. + + + + Negates a color. + + The color to negate. + The negated color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two colors. + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the largest components of the source colors. + + + + Returns a color containing the largest components of the specified colors. + + The first source color. + The second source color. + A color containing the largest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the smallest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + A color containing the smallest components of the source colors. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + When the method completes, contains the adjusted color. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + The adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + When the method completes, contains the adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + The adjusted color. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Assert a color (return it unchanged). + + The color to assert (unchanged). + The asserted (unchanged) color. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + The difference of the two colors. + + + + Negates a color. + + The color to negate. + A negated color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel (float). + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel (float). + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the component at the specified index. + + The value of the red, green, blue, and alpha components, depending on the index. + The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Gets or sets the unmanaged callback. + + The unmanaged callback. + + This property is set whenever this instance has an unmanaged callback + registered. This callback must be disposed when disposing this instance. + + + + + Root IUnknown class to interop with COM object + + + + + Root class for all Cpp interop object. + + + + + The native pointer + + + + + Default constructor. + + Pointer to Cpp Object + + + + Initializes a new instance of the class. + + + + + Performs an explicit conversion from to . + + The CPP object. + + The result of the conversion. + + + + + Initializes this instance with a pointer from a temporary object and set the pointer of the temporary + object to IntPtr.Zero. + + The instance to get the NativePointer. + + + + Initializes this instance with a pointer from a temporary object and set the pointer of the temporary + object to IntPtr.Zero. + + The instance to get the NativePointer. + + + + Method called when is going to be update. + + + + + Method called when the is updated. + + + + + Instantiate a ComObject from a native pointer. + + The ComObject class that will be returned + The native pointer to a com object. + An instance of T binded to the native pointer + + + + Return the unmanaged C++ pointer from a instance. + + The type of the callback. + The callback. + A pointer to the unmanaged C++ object of the callback + + + + Gets or sets a custom user tag object to associate with this instance.. + + The tag object. + + + + Get a pointer to the underlying Cpp Object + + + + + Base interface for Component Object Model (COM). + + + + + Queries the supported COM interface on this instance. + + The guid of the interface. + The output COM object reference. + If successful, + + + + Increments the reference count for an interface on this instance. + + The method returns the new reference count. + + + + Decrements the reference count for an interface on this instance. + + The method returns the new reference count. + + + + Initializes a new instance of the class. + + Pointer to Cpp Object + + + + Initializes a new instance of the class from a IUnknown object. + + Reference to a IUnknown object + + + + Initializes a new instance of the class. + + + + + Query this instance for a particular COM GUID/interface support. + + GUID query interface + output object associated with this GUID, IntPtr.Zero in interface is not supported + If this object doesn't support the interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Query instance for a particular COM GUID/interface support. + + GUID query interface + If this object doesn't support the interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Compares 2 COM objects and return true if the native pointer is the same. + + The left. + The right. + true if the native pointer is the same, false otherwise + + + + Query this instance for a particular COM interface support. + + The type of the COM interface to query + An instance of the queried interface + If this object doesn't support the interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Query this instance for a particular COM interface support. + + The type of the COM interface to query + An instance of the queried interface + If this object doesn't support the interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Queries a managed object for a particular COM interface support (This method is a shortcut to ) + + The type of the COM interface to query + The managed COM object. + An instance of the queried interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Queries a managed object for a particular COM interface support (This method is a shortcut to ) + + The type of the COM interface to query + The managed COM object. + An instance of the queried interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Queries a managed object for a particular COM interface support. + + The type of the COM interface to query + The managed COM object. + An instance of the queried interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Queries a managed object for a particular COM interface support. + + The type of the COM interface to query + A pointer to a COM object. + An instance of the queried interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Query Interface for a particular interface support. + + An instance of the queried interface or null if it is not supported + + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Performs an explicit conversion from to . + + The native pointer. + + The result of the conversion. + + + + + Query Interface for a particular interface support and attach to the given instance. + + + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + ms682317 + IUnknown::Release + IUnknown::Release + + + + Base class for unmanaged callbackable Com object. + + + + + Initializes a new instance of the class. + + Pointer to Cpp Object + + + + Initializes a new instance of the class. + + + + + Implements but it cannot not be set. + This is only used to support for interop with unmanaged callback. + + + + + A COM Interface Callback + + + + + An Interface shadow callback + + + + + Initializes the specified shadow instance from a vtbl and a callback. + + The callback. + + + + Gets the callback. + + + + + Gets the VTBL associated with this shadow instance. + + + + + Default Constructor. + + number of methods to allocate in the VTBL + + + + Add a method supported by this interface. This method is typically called from inherited constructor. + + the managed delegate method + + + + Gets the pointer to the vtbl. + + + + + A compilation exception. + + + + + The base class for errors that occur in SharpDX. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The result code that caused this exception. + + + + Initializes a new instance of the class. + + The result descriptor. + + + + Initializes a new instance of the class. + + The error result code. + The message describing the exception. + + + + Initializes a new instance of the class. + + The error result code. + The message describing the exception. + formatting arguments + + + + Initializes a new instance of the class. + + The message describing the exception. + formatting arguments + + + + Initializes a new instance of the class. + + The message describing the exception. + The exception that caused this exception. + formatting arguments + + + + Gets the Result code for the exception. This value indicates + the specific type of failure that occurred within SharpDX. + + + + + Gets the Result code for the exception. This value indicates + the specific type of failure that occurred within SharpDX. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The error code. + The message. + + + + Global configuration. + + + + + Enables or disables object tracking. Default is disabled (false). + + + Object Tracking is used to track COM object lifecycle creation/dispose. When this option is enabled + objects can be tracked using . Using Object tracking has a significant + impact on performance and should be used only while debugging. + + + + + Throws a when a shader or effect compilation error occurred. Default is enabled (true). + + + + + By default all objects in the process are tracked. + Use this property to track objects per thread. + + + + + Provides access to data organized in 3D. + + + + + Initializes a new instance of the struct. + + The datapointer. + The row pitch. + The slice pitch. + + + + Initializes a new instance of the struct. + + The data pointer. + + + + Pointer to the data. + + + + + Gets the number of bytes per row. + + + + + Gets the number of bytes per slice (for a 3D texture, a slice is a 2D image) + + + + + Provides access to data organized in 2D. + + + + + Initializes a new instance of the class. + + The data pointer. + The pitch. + + + + Pointer to the data. + + + + + Gets the number of bytes per row. + + + + + Provides a stream interface to a buffer located in unmanaged memory. + + + + + Initializes a new instance of the class from a Blob buffer. + + The buffer. + + + + Initializes a new instance of the class, using a managed buffer as a backing store. + + + A managed array to be used as a backing store. + true if reading from the buffer should be allowed; otherwise, false. + true if writing to the buffer should be allowed; otherwise, false. + Index inside the buffer in terms of element count (not size in bytes). + True to keep the managed buffer and pin it, false will allocate unmanaged memory and make a copy of it. Default is true. + + + + + Initializes a new instance of the class, and allocates a new buffer to use as a backing store. + + The size of the buffer to be allocated, in bytes. + + true if reading from the buffer should be allowed; otherwise, false. + + true if writing to the buffer should be allowed; otherwise, false. + + + + Initializes a new instance of the class, using an unmanaged buffer as a backing store. + + A pointer to the buffer to be used as a backing store. + The size of the buffer provided, in bytes. + + true if reading from the buffer should be allowed; otherwise, false. + + true if writing to the buffer should be allowed; otherwise, false. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Not supported. + + Always thrown. + + + + Reads a single value from the current stream and advances the current + position within this stream by the number of bytes read. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The type of the value to be read from the stream. + The value that was read. + This stream does not support reading. + + + + Reads a float. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + a float from the stream + + + + Reads a int. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an int from the stream + + + + Reads a short. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an short from the stream + + + + Reads a bool. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an bool from the stream + + + + Reads a Vector2. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Vector2 from the stream + + + + Reads a Vector3. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Vector3 from the stream + + + + Reads a Vector4. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Vector4 from the stream + + + + Reads a Color3. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Color3 from the stream + + + + Reads a Color4. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Color4 from the stream + + + + Reads a Half. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Half from the stream + + + + Reads a Half2. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Half2 from the stream + + + + Reads a Half3. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Half3 from the stream + + + + Reads a Half4. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Half4 from the stream + + + + Reads a Matrix. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + a Matrix from the stream + + + + Reads a Quaternion. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + a Quaternion from the stream + + + + + + + Reads a sequence of bytes from the current stream and advances the position + within the stream by the number of bytes read. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + An array of values to be read from the stream. + The zero-based byte offset in buffer at which to begin storing + the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The number of bytes read from the stream. + This stream does not support reading. + + + + Reads a sequence of bytes from the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + + + Reads an array of values from the current stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The type of the values to be read from the stream. + An array of values that was read from the current stream. + + + + Reads a sequence of elements from the current stream into a target buffer and + advances the position within the stream by the number of bytes read. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + An array of values to be read from the stream. + The zero-based byte offset in buffer at which to begin storing + the data read from the current stream. + The number of values to be read from the current stream. + The number of bytes read from the stream. + This stream does not support reading. + + + + Sets the position within the current stream. + + Attempted to seek outside of the bounds of the stream. + + + + Not supported. + + Always ignored. + Always thrown. + + + + Writes a single value to the stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The type of the value to be written to the stream. + The value to write to the stream. + The stream does not support writing. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes a sequence of bytes to the current stream and advances the current + position within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + An array of bytes. This method copies count bytes from buffer to the current stream. + The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + This stream does not support writing. + + + + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + + + Writes an array of values to the current stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + An array of values to be written to the current stream. + This stream does not support writing. + + + + Writes a range of bytes to the current stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + A pointer to the location to start copying from. + The number of bytes to copy from source to the current stream. + This stream does not support writing. + + + + Writes an array of values to the current stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The type of the values to be written to the stream. + An array of values to be written to the stream. + The zero-based offset in data at which to begin copying values to the current stream. + The number of values to be written to the current stream. If this is zero, + all of the contents will be written. + This stream does not support writing. + + + + Performs an explicit conversion from to . + + The from value. + The result of the conversion. + + + + Gets a value indicating whether the current stream supports reading. + + + true if the stream supports reading; otherwise, false. + + + + Gets a value indicating whether the current stream supports seeking. + + Always true. + + + + Gets a value indicating whether the current stream supports writing. + + + true if the stream supports writing; otherwise, false. + + + + Gets the internal pointer to the current stream's backing store. + + An IntPtr to the buffer being used as a backing store. + + + + Gets the length in bytes of the stream. + + A long value representing the length of the stream in bytes. + + + + Gets or sets the position within the current stream. + + The current position within the stream. + Stream Class + + + + Gets the position pointer. + + The position pointer. + + + + Gets the length of the remaining. + + The length of the remaining. + + + + Provides methods to perform fast read/write random access data on a buffer located in an unmanaged memory. + + + This class doesn't validate the position read/write from. It is the responsibility of the client of this class + to verify that access is done within the size of the buffer. + + + + + Creates the specified user buffer. + + Type of the buffer. + The buffer to use as a DataBuffer. + Index inside the buffer in terms of element count (not size in bytes). + True to keep the managed buffer and pin it, false will allocate unmanaged memory and make a copy of it. Default is true. + An instance of a DataBuffer + + + + Initializes a new instance of the class, and allocates a new buffer to use as a backing store. + + The size of the buffer to be allocated, in bytes. + + is less than 1. + + + + Initializes a new instance of the class, using an unmanaged buffer as a backing store. + + A pointer to the buffer to be used as a backing store. + The size of the buffer provided, in bytes. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears the buffer. + + + + + Gets a single value from the current buffer at the specified position. + + Relative position in bytes from the beginning of the buffer to get the data from. + The type of the value to be read from the buffer. + The value that was read. + + + + Gets a float. + + Relative position in bytes from the beginning of the buffer to get the data from. + a float from the buffer + + + + Gets a int. + + Relative position in bytes from the beginning of the buffer to get the data from. + an int from the buffer + + + + Gets a short. + + Relative position in bytes from the beginning of the buffer to get the data from. + an short from the buffer + + + + Gets a bool. + + Relative position in bytes from the beginning of the buffer to get the data from. + an bool from the buffer + + + + Gets a Vector2. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Vector2 from the buffer + + + + Gets a Vector3. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Vector3 from the buffer + + + + Gets a Vector4. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Vector4 from the buffer + + + + Gets a Color3. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Color3 from the buffer + + + + Gets a Color4. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Color4 from the buffer + + + + Gets a Half. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Half from the buffer + + + + Gets a Half2. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Half2 from the buffer + + + + Gets a Half3. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Half3 from the buffer + + + + Gets a Half4. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Half4 from the buffer + + + + Gets a Matrix. + + Relative position in bytes from the beginning of the buffer to get the data from. + a Matrix from the buffer + + + + Gets a Quaternion. + + Relative position in bytes from the beginning of the buffer to get the data from. + a Quaternion from the buffer + + + + Gets an array of values from a position in the buffer. + + Relative position in bytes from the beginning of the buffer to get the data from. + number of T instance to get from the positionInBytes + The type of the values to be read from the buffer. + An array of values that was read from the current buffer. + + + + Gets a sequence of elements from a position in the buffer into a target buffer. + + Relative position in bytes from the beginning of the buffer to get the data from. + An array of values to be read from the buffer. + The zero-based byte offset in buffer at which to begin storing + the data read from the current buffer. + The number of values to be read from the current buffer. + + + + Sets a single value to the buffer at a specified position. + + The type of the value to be written to the buffer. + Relative position in bytes from the beginning of the buffer to set the data to. + The value to write to the buffer. + + + + Sets a single value to the buffer at a specified position. + + The type of the value to be written to the buffer. + Relative position in bytes from the beginning of the buffer to set the data to. + The value to write to the buffer. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets an array of values to a specified position into the buffer. + + Relative position in bytes from the beginning of the buffer to set the data to. + An array of values to be written to the current buffer. + + + + Sets a range of data to a specified position into the buffer. + + Relative position in bytes from the beginning of the buffer to set the data to. + A pointer to the location to start copying from. + The number of bytes to copy from source to the current buffer. + + + + Sets an array of values to a specified position into the buffer. + + The type of the values to be written to the buffer. + Relative position in bytes from the beginning of the buffer to set the data to. + An array of values to be written to the buffer. + The zero-based offset in data at which to begin copying values to the current buffer. + The number of values to be written to the current buffer. If this is zero, + all of the contents will be written. + + + + Performs an explicit conversion from to . + + The from value. + The result of the conversion. + + + + Gets a pointer to the buffer used as a backing store.. + + An IntPtr to the buffer being used as a backing store. + + + + Gets the length in bytes of the buffer. + + A long value representing the length of the buffer in bytes. + + + + Provides a type converter to convert objects to and from various + other representations. + + + + + Initializes a new instance of the class. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + A that provides a format context. + A System::Type that represents the type you want to convert from. + + true if this converter can perform the conversion; otherwise, false. + + + + Returns whether this converter can convert the object to the specified type, using the specified context. + + A that provides a format context. + A that represents the type you want to convert to. + + true if this converter can perform the conversion; otherwise, false. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + An that represents the converted value. + + + + Converts the given value object to the specified type, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + A that represents the type you want to convert to. + An that represents the converted value. + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + A that provides a format context. + An of new property values. + An representing the given , or null if the object cannot be created. + + + + Returns whether changing a value on this object requires a call to System::ComponentModel::TypeConverter::CreateInstance(System::Collections::IDictionary^) + to create a new value, using the specified context. + + A that provides a format context. + + false if changing a property on this object requires a call to System::ComponentModel::TypeConverter::CreateInstance(System::Collections::IDictionary^) to create a new value; otherwise, false. + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + A that provides a format context. + An that specifies the type of array for which to get properties. + An array of type that is used as a filter. + A with the properties that are exposed for this data type, or a null reference (Nothing in Visual Basic) if there are no properties. + + + + Returns whether this object supports properties, using the specified context. + + A that provides a format context. + + true if GetProperties should be called to find the properties of this object; otherwise, false. + + + + Provides a type converter to convert objects to and from various + other representations. + + + + + Initializes a new instance of the class. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + A that provides a format context. + A System.Type that represents the type you want to convert from. + + true if this converter can perform the conversion; otherwise, false. + + + + Returns whether this converter can convert the object to the specified type, using the specified context. + + A that provides a format context. + A that represents the type you want to convert to. + + true if this converter can perform the conversion; otherwise, false. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + An that represents the converted value. + + + + Converts the given value object to the specified type, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + A that represents the type you want to convert to. + An that represents the converted value. + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + A that provides a format context. + An of new property values. + An representing the given , or null if the object cannot be created. + + + + Returns whether changing a value on this object requires a call to System::ComponentModel::TypeConverter::CreateInstance(System::Collections::IDictionary^) + to create a new value, using the specified context. + + A that provides a format context. + + false if changing a property on this object requires a call to System.ComponentModel::TypeConverter::CreateInstance(System::Collections::IDictionary^) to create a new value; otherwise, false. + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + A that provides a format context. + An that specifies the type of array for which to get properties. + An array of type that is used as a filter. + A with the properties that are exposed for this data type, or a null reference (Nothing in Visual Basic) if there are no properties. + + + + Returns whether this object supports properties, using the specified context. + + A that provides a format context. + + true if GetProperties should be called to find the properties of this object; otherwise, false. + + + + Provides a type converter to convert objects to and from various + other representations. + + + + + Initializes a new instance of the class. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + A that provides a format context. + A System::Type that represents the type you want to convert from. + + true if this converter can perform the conversion; otherwise, false. + + + + Returns whether this converter can convert the object to the specified type, using the specified context. + + A that provides a format context. + A that represents the type you want to convert to. + + true if this converter can perform the conversion; otherwise, false. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + An that represents the converted value. + + + + Converts the given value object to the specified type, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + A that represents the type you want to convert to. + An that represents the converted value. + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + A that provides a format context. + An of new property values. + An representing the given , or null if the object cannot be created. + + + + Returns whether changing a value on this object requires a call to System::ComponentModel::TypeConverter::CreateInstance(System::Collections::IDictionary^) + to create a new value, using the specified context. + + A that provides a format context. + + false if changing a property on this object requires a call to System::ComponentModel::TypeConverter::CreateInstance(System::Collections::IDictionary^) + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + A that provides a format context. + An that specifies the type of array for which to get properties. + An array of type that is used as a filter. + A with the properties that are exposed for this data type, or a null reference (Nothing in Visual Basic) if there are no properties. + + + + Returns whether this object supports properties, using the specified context. + + A that provides a format context. + + true if GetProperties should be called to find the properties of this object; otherwise, false. + + + + Provides a type converter to convert objects to and from various + other representations. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + A that provides a format context. + A System::Type that represents the type you want to convert from. + + true if this converter can perform the conversion; otherwise, false. + + + + Returns whether this converter can convert the object to the specified type, using the specified context. + + A that provides a format context. + A that represents the type you want to convert to. + + true if this converter can perform the conversion; otherwise, false. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + An that represents the converted value. + + + + Converts the given value object to the specified type, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + A that represents the type you want to convert to. + An that represents the converted value. + + + + Defines a type converter for . + + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + Defines a type converter for . + + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + Defines a type converter for . + + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + Defines a type converter for . + + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + Defines a type converter for . + + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + Contains information about a tracked COM object. + + + + + Initializes a new instance of the class. + + The creation time. + The com object to track. + The stack trace. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the time the object was created. + + The creation time. + + + + Gets a weak reference to the tracked object. + + The weak reference to the tracked object. + + + + Gets the stack trace when the track object was created. + + The stack trace. + + + + Gets a value indicating whether the tracked object is alive. + + true if tracked object is alive; otherwise, false. + + + + Event args for used by . + + + + + The object being tracked/untracked. + + + + + Initializes a new instance of the class. + + The o. + + + + Track all allocated objects. + + + + + Initializes the class. + + + + + Called when [process exit]. + + The sender. + The instance containing the event data. + + + + Tracks the specified COM object. + + The COM object. + + + + Finds a list of object reference from a specified COM object pointer. + + The COM object pointer. + A list of object reference + + + + Finds the object reference for a specific COM object. + + The COM object. + An object reference + + + + Untracks the specified COM object. + + The COM object. + + + + Reports all COM object that are active and not yet disposed. + + + + + Reports all COM object that are active and not yet disposed. + + + + + Occurs when a ComObject is tracked. + + + + + Occurs when a ComObject is untracked. + + + + + Describes the type of angle. + + + + + Specifies an angle measurement in revolutions. + + + + + Specifies an angle measurement in degrees. + + + + + Specifies an angle measurement in radians. + + + + + Specifies an angle measurement in gradians. + + + + + Describes how one bounding volume contains another. + + + + + The two bounding volumes don't intersect at all. + + + + + One bounding volume completely contains another. + + + + + The two bounding volumes overlap. + + + + + Describes the result of an intersection with a plane in three dimensions. + + + + + The object is behind the plane. + + + + + The object is in front of the plane. + + + + + The object is intersecting the plane. + + + + + FunctionCallback + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + +

Driver type options.

+
+ +

The driver type is required when calling or .

+
+ + ff476328 + D3D_DRIVER_TYPE + D3D_DRIVER_TYPE +
+ + +

The driver type is unknown.

+
+ + ff476328 + D3D_DRIVER_TYPE_UNKNOWN + D3D_DRIVER_TYPE_UNKNOWN +
+ + +

A hardware driver, which implements Direct3D features in hardware. This is the primary driver that you should use in your Direct3D applications because it provides the best performance. A hardware driver uses hardware acceleration (on supported hardware) but can also use software for parts of the pipeline that are not supported in hardware. This driver type is often referred to as a hardware abstraction layer or HAL.

+
+ + ff476328 + D3D_DRIVER_TYPE_HARDWARE + D3D_DRIVER_TYPE_HARDWARE +
+ + +

A reference driver, which is a software implementation that supports every Direct3D feature. A reference driver is designed for accuracy rather than speed and as a result is slow but accurate. The rasterizer portion of the driver does make use of special CPU instructions whenever it can, but it is not intended for retail applications; use it only for feature testing, demonstration of functionality, debugging, or verifying bugs in other drivers. This driver is installed by the DirectX SDK. This driver may be referred to as a REF driver, a reference driver or a reference rasterizer.

+
+ + ff476328 + D3D_DRIVER_TYPE_REFERENCE + D3D_DRIVER_TYPE_REFERENCE +
+ + +

A null driver, which is a reference driver without render capability. This driver is commonly used for debugging non-rendering API calls, it is not appropriate for retail applications. This driver is installed by the DirectX SDK.

+
+ + ff476328 + D3D_DRIVER_TYPE_NULL + D3D_DRIVER_TYPE_NULL +
+ + +

A software driver, which is a driver implemented completely in software. The software implementation is not intended for a high-performance application due to its very slow performance.

+
+ + ff476328 + D3D_DRIVER_TYPE_SOFTWARE + D3D_DRIVER_TYPE_SOFTWARE +
+ + +

A WARP driver, which is a high-performance software rasterizer. The rasterizer supports feature levels 9_1 through level 10.1 with a high performance software implementation. For information about limitations creating a WARP device on certain feature levels, see Limitations Creating WARP and Reference Devices. For more information about using a WARP driver, see Windows Advanced Rasterization Platform (WARP) In-Depth Guide.

+
+ + ff476328 + D3D_DRIVER_TYPE_WARP + D3D_DRIVER_TYPE_WARP +
+ + +

Describes the set of features targeted by a Direct3D device.

+
+ +

For an overview of the capabilities of each feature level, see Overview For Each Feature Level.

For information about limitations creating nonhardware-type devices on certain feature levels, see Limitations Creating WARP and Reference Devices.

+
+ + ff476329 + D3D_FEATURE_LEVEL + D3D_FEATURE_LEVEL +
+ + +

Targets features supported by feature level 9.1 including shader model 2.

+
+ + ff476329 + D3D_FEATURE_LEVEL_9_1 + D3D_FEATURE_LEVEL_9_1 +
+ + +

Targets features supported by feature level 9.2 including shader model 2.

+
+ + ff476329 + D3D_FEATURE_LEVEL_9_2 + D3D_FEATURE_LEVEL_9_2 +
+ + +

Targets features supported by feature level 9.3 including shader model 2.0b.

+
+ + ff476329 + D3D_FEATURE_LEVEL_9_3 + D3D_FEATURE_LEVEL_9_3 +
+ + +

Targets features supported by Direct3D 10.0 including shader model 4.

+
+ + ff476329 + D3D_FEATURE_LEVEL_10_0 + D3D_FEATURE_LEVEL_10_0 +
+ + +

Targets features supported by Direct3D 10.1 including shader model 4.

+
+ + ff476329 + D3D_FEATURE_LEVEL_10_1 + D3D_FEATURE_LEVEL_10_1 +
+ + +

Targets features supported by Direct3D 11.0 including shader model 5.

+
+ + ff476329 + D3D_FEATURE_LEVEL_11_0 + D3D_FEATURE_LEVEL_11_0 +
+ + +

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.

+
+ +

Use the method and a value from to bind a primitive topology to the input-assembler stage. Use the method to retrieve the primitive topology for the input-assembler stage.

The following diagram shows the various primitive types for a geometry shader object.

+
+ + ff728726 + D3D_PRIMITIVE_TOPOLOGY + D3D_PRIMITIVE_TOPOLOGY +
+ + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_UNDEFINED + D3D_PRIMITIVE_TOPOLOGY_UNDEFINED + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_POINTLIST + D3D_PRIMITIVE_TOPOLOGY_POINTLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_LINELIST + D3D_PRIMITIVE_TOPOLOGY_LINELIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ + D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST + + + +

Values that identify the type of resource to be viewed as a shader resource.

+
+ +

A -typed value is specified in the ViewDimension member of the structure or the Dimension member of the structure.

+
+ + ff728736 + D3D_SRV_DIMENSION + D3D_SRV_DIMENSION +
+ + +

The type is unknown.

+
+ + ff728736 + D3D_SRV_DIMENSION_UNKNOWN + D3D_SRV_DIMENSION_UNKNOWN +
+ + +

The resource is a buffer.

+
+ + ff728736 + D3D_SRV_DIMENSION_BUFFER + D3D_SRV_DIMENSION_BUFFER +
+ + +

The resource is a 1D texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE1D + D3D_SRV_DIMENSION_TEXTURE1D +
+ + +

The resource is an array of 1D textures.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE1DARRAY + D3D_SRV_DIMENSION_TEXTURE1DARRAY +
+ + +

The resource is a 2D texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE2D + D3D_SRV_DIMENSION_TEXTURE2D +
+ + +

The resource is an array of 2D textures.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE2DARRAY + D3D_SRV_DIMENSION_TEXTURE2DARRAY +
+ + +

The resource is a multisampling 2D texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE2DMS + D3D_SRV_DIMENSION_TEXTURE2DMS +
+ + +

The resource is an array of multisampling 2D textures.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE2DMSARRAY + D3D_SRV_DIMENSION_TEXTURE2DMSARRAY +
+ + +

The resource is a 3D texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE3D + D3D_SRV_DIMENSION_TEXTURE3D +
+ + +

The resource is a cube texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURECUBE + D3D_SRV_DIMENSION_TEXTURECUBE +
+ + +

The resource is an array of cube textures.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURECUBEARRAY + D3D_SRV_DIMENSION_TEXTURECUBEARRAY +
+ + +

The resource is an extended buffer.

+
+ + ff728736 + D3D_SRV_DIMENSION_BUFFEREX + D3D_SRV_DIMENSION_BUFFEREX +
+ + + Functions + + + + + Constant DebugObjectName. + WKPDID_D3DDebugObjectName + + + + Functions + + + + + +

Creates a buffer.

+
+

Number of bytes in the blob.

+

The address of a reference to the ID3DBlob interface that is used to retrieve the buffer.

+

Returns one of the following Direct3D 10 Return Codes.

+ +

The latest D3dcompiler_nn.dll contains the compiler function. Therefore, you are no longer required to create and use an arbitrary length data buffer by using the D3D10CreateBlob function that is contained in D3d10.dll.

+
+ + ff728672 + HRESULT D3DCreateBlob([In] SIZE_T Size,[Out, Fast] ID3D10Blob** ppBlob) + D3DCreateBlob +
+ + +

This interface is used to return arbitrary length data.

+
+ +

An is obtained by calling D3D10CreateBlob.

The ID3DBlob interface is type defined in the D3DCommon.h header file as a interface, which is fully defined in the D3DCommon.h header file. ID3DBlob is version neutral and can be used in code for any Direct3D version.

Blobs can be used as a data buffer, storing vertex, adjacency, and material information during mesh optimization and loading operations. Also, these objects are used to return object code and error messages in APIs that compile vertex, geometry and pixel shaders.

+
+ + bb173507 + ID3D10Blob + ID3D10Blob +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Get a reference to the data.

+
+

Returns a reference.

+ + bb173508 + void* ID3D10Blob::GetBufferPointer() + ID3D10Blob::GetBufferPointer +
+ + +

Get the size.

+
+

The size of the data, in bytes.

+ + bb173509 + SIZE_T ID3D10Blob::GetBufferSize() + ID3D10Blob::GetBufferSize +
+ + +

Get a reference to the data.

+
+ + bb173508 + GetBufferPointer + GetBufferPointer + void* ID3D10Blob::GetBufferPointer() +
+ + +

Get the size.

+
+ + bb173509 + GetBufferSize + GetBufferSize + SIZE_T ID3D10Blob::GetBufferSize() +
+ + +

A multithread interface accesses multithread settings and can only be used if the thread-safe layer is turned on.

+
+ +

This interface is obtained by querying it from the Interface using IUnknown::QueryInterface.

+
+ + bb173816 + ID3D10Multithread + ID3D10Multithread +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enter a device's critical section.

+
+ +

Entering a device's critical section prevents other threads from simultaneously calling that device's methods (if multithread protection is set to true), calling DXGI methods, and calling the methods of all resource, view, shader, state, and asynchronous interfaces.

This function should be used in multithreaded applications when there is a series of graphics commands that must happen in order. This function is typically called at the beginning of the series of graphics commands, and is typically called after those graphics commands.

+
+ + bb173817 + void ID3D10Multithread::Enter() + ID3D10Multithread::Enter +
+ + +

Leave a device's critical section.

+
+ +

This function is typically used in multithreaded applications when there is a series of graphics commands that must happen in order. is typically called at the beginning of a series of graphics commands, and this function is typically called after those graphics commands.

+
+ + bb173819 + void ID3D10Multithread::Leave() + ID3D10Multithread::Leave +
+ + +

Turn multithreading on or off.

+
+

True to turn multithreading on, false to turn it off.

+

True if multithreading was turned on prior to calling this method, false otherwise.

+ + bb173820 + BOOL ID3D10Multithread::SetMultithreadProtected([In] BOOL bMTProtect) + ID3D10Multithread::SetMultithreadProtected +
+ + +

Find out if multithreading is turned on or not.

+
+

Whether or not multithreading is turned on. True means on, false means off.

+ + bb173818 + BOOL ID3D10Multithread::GetMultithreadProtected() + ID3D10Multithread::GetMultithreadProtected +
+ + +

Defines a shader macro.

+
+ +

You can use shader macros in your shaders. The structure defines a single shader macro as shown in the following example:

  Shader_Macros[1] = { "zero", "0"  };	
+            

The following shader or effect creation functions take an array of shader macros as an input parameter:

  • D3D10CompileShader
  • D3DX10PreprocessShaderFromFile
  • D3DX11CreateAsyncShaderPreprocessProcessor
+
+ + ff728732 + D3D_SHADER_MACRO + D3D_SHADER_MACRO +
+ + +

The macro name.

+
+ + ff728732 + const char* Name + char Name +
+ + +

The macro definition.

+
+ + ff728732 + const char* Definition + char Definition +
+ + + Initializes a new instance of the struct. + + + The name. + + + The definition. + + + + + No documentation. + + + SPEAKER_FLAGS + SPEAKER_FLAGS + + + + No documentation. + + + SPEAKER_FRONT_LEFT + SPEAKER_FRONT_LEFT + + + + No documentation. + + + SPEAKER_FRONT_RIGHT + SPEAKER_FRONT_RIGHT + + + + No documentation. + + + SPEAKER_FRONT_CENTER + SPEAKER_FRONT_CENTER + + + + No documentation. + + + SPEAKER_LOW_FREQUENCY + SPEAKER_LOW_FREQUENCY + + + + No documentation. + + + SPEAKER_BACK_LEFT + SPEAKER_BACK_LEFT + + + + No documentation. + + + SPEAKER_BACK_RIGHT + SPEAKER_BACK_RIGHT + + + + No documentation. + + + SPEAKER_FRONT_LEFT_OF_CENTER + SPEAKER_FRONT_LEFT_OF_CENTER + + + + No documentation. + + + SPEAKER_FRONT_RIGHT_OF_CENTER + SPEAKER_FRONT_RIGHT_OF_CENTER + + + + No documentation. + + + SPEAKER_BACK_CENTER + SPEAKER_BACK_CENTER + + + + No documentation. + + + SPEAKER_SIDE_LEFT + SPEAKER_SIDE_LEFT + + + + No documentation. + + + SPEAKER_SIDE_RIGHT + SPEAKER_SIDE_RIGHT + + + + No documentation. + + + SPEAKER_TOP_CENTER + SPEAKER_TOP_CENTER + + + + No documentation. + + + SPEAKER_TOP_FRONT_LEFT + SPEAKER_TOP_FRONT_LEFT + + + + No documentation. + + + SPEAKER_TOP_FRONT_CENTER + SPEAKER_TOP_FRONT_CENTER + + + + No documentation. + + + SPEAKER_TOP_FRONT_RIGHT + SPEAKER_TOP_FRONT_RIGHT + + + + No documentation. + + + SPEAKER_TOP_BACK_LEFT + SPEAKER_TOP_BACK_LEFT + + + + No documentation. + + + SPEAKER_TOP_BACK_CENTER + SPEAKER_TOP_BACK_CENTER + + + + No documentation. + + + SPEAKER_TOP_BACK_RIGHT + SPEAKER_TOP_BACK_RIGHT + + + + No documentation. + + + SPEAKER_RESERVED + SPEAKER_RESERVED + + + + No documentation. + + + SPEAKER_ALL + SPEAKER_ALL + + + + No documentation. + + + SPEAKER_MONO + SPEAKER_MONO + + + + No documentation. + + + SPEAKER_STEREO + SPEAKER_STEREO + + + + No documentation. + + + SPEAKER_2POINT1 + SPEAKER_2POINT1 + + + + No documentation. + + + SPEAKER_SURROUND + SPEAKER_SURROUND + + + + No documentation. + + + SPEAKER_QUAD + SPEAKER_QUAD + + + + No documentation. + + + SPEAKER_4POINT1 + SPEAKER_4POINT1 + + + + No documentation. + + + SPEAKER_5POINT1 + SPEAKER_5POINT1 + + + + No documentation. + + + SPEAKER_7POINT1 + SPEAKER_7POINT1 + + + + No documentation. + + + SPEAKER_5POINT1_SURROUND + SPEAKER_5POINT1_SURROUND + + + + No documentation. + + + SPEAKER_7POINT1_SURROUND + SPEAKER_7POINT1_SURROUND + + + + None. + + + None + None + + + + No documentation. + + + HID_USAGE_ID + HID_USAGE_ID + + + + No documentation. + + + HID_USAGE_GENERIC_POINTER + HID_USAGE_GENERIC_POINTER + + + + No documentation. + + + HID_USAGE_GENERIC_MOUSE + HID_USAGE_GENERIC_MOUSE + + + + No documentation. + + + HID_USAGE_GENERIC_JOYSTICK + HID_USAGE_GENERIC_JOYSTICK + + + + No documentation. + + + HID_USAGE_GENERIC_GAMEPAD + HID_USAGE_GENERIC_GAMEPAD + + + + No documentation. + + + HID_USAGE_GENERIC_KEYBOARD + HID_USAGE_GENERIC_KEYBOARD + + + + No documentation. + + + HID_USAGE_GENERIC_KEYPAD + HID_USAGE_GENERIC_KEYPAD + + + + No documentation. + + + HID_USAGE_GENERIC_SYSTEM_CTL + HID_USAGE_GENERIC_SYSTEM_CTL + + + + No documentation. + + + HID_USAGE_GENERIC_X + HID_USAGE_GENERIC_X + + + + No documentation. + + + HID_USAGE_GENERIC_Y + HID_USAGE_GENERIC_Y + + + + No documentation. + + + HID_USAGE_GENERIC_Z + HID_USAGE_GENERIC_Z + + + + No documentation. + + + HID_USAGE_GENERIC_RX + HID_USAGE_GENERIC_RX + + + + No documentation. + + + HID_USAGE_GENERIC_RY + HID_USAGE_GENERIC_RY + + + + No documentation. + + + HID_USAGE_GENERIC_RZ + HID_USAGE_GENERIC_RZ + + + + No documentation. + + + HID_USAGE_GENERIC_SLIDER + HID_USAGE_GENERIC_SLIDER + + + + No documentation. + + + HID_USAGE_GENERIC_DIAL + HID_USAGE_GENERIC_DIAL + + + + No documentation. + + + HID_USAGE_GENERIC_WHEEL + HID_USAGE_GENERIC_WHEEL + + + + No documentation. + + + HID_USAGE_GENERIC_HATSWITCH + HID_USAGE_GENERIC_HATSWITCH + + + + No documentation. + + + HID_USAGE_GENERIC_COUNTED_BUFFER + HID_USAGE_GENERIC_COUNTED_BUFFER + + + + No documentation. + + + HID_USAGE_GENERIC_BYTE_COUNT + HID_USAGE_GENERIC_BYTE_COUNT + + + + No documentation. + + + HID_USAGE_GENERIC_MOTION_WAKEUP + HID_USAGE_GENERIC_MOTION_WAKEUP + + + + No documentation. + + + HID_USAGE_GENERIC_VX + HID_USAGE_GENERIC_VX + + + + No documentation. + + + HID_USAGE_GENERIC_VY + HID_USAGE_GENERIC_VY + + + + No documentation. + + + HID_USAGE_GENERIC_VZ + HID_USAGE_GENERIC_VZ + + + + No documentation. + + + HID_USAGE_GENERIC_VBRX + HID_USAGE_GENERIC_VBRX + + + + No documentation. + + + HID_USAGE_GENERIC_VBRY + HID_USAGE_GENERIC_VBRY + + + + No documentation. + + + HID_USAGE_GENERIC_VBRZ + HID_USAGE_GENERIC_VBRZ + + + + No documentation. + + + HID_USAGE_GENERIC_VNO + HID_USAGE_GENERIC_VNO + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_POWER + HID_USAGE_GENERIC_SYSCTL_POWER + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_SLEEP + HID_USAGE_GENERIC_SYSCTL_SLEEP + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_WAKE + HID_USAGE_GENERIC_SYSCTL_WAKE + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU + HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MAIN_MENU + HID_USAGE_GENERIC_SYSCTL_MAIN_MENU + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_APP_MENU + HID_USAGE_GENERIC_SYSCTL_APP_MENU + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_HELP_MENU + HID_USAGE_GENERIC_SYSCTL_HELP_MENU + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MENU_EXIT + HID_USAGE_GENERIC_SYSCTL_MENU_EXIT + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MENU_SELECT + HID_USAGE_GENERIC_SYSCTL_MENU_SELECT + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT + HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MENU_LEFT + HID_USAGE_GENERIC_SYSCTL_MENU_LEFT + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MENU_UP + HID_USAGE_GENERIC_SYSCTL_MENU_UP + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MENU_DOWN + HID_USAGE_GENERIC_SYSCTL_MENU_DOWN + + + + No documentation. + + + HID_USAGE_SIMULATION_RUDDER + HID_USAGE_SIMULATION_RUDDER + + + + No documentation. + + + HID_USAGE_SIMULATION_THROTTLE + HID_USAGE_SIMULATION_THROTTLE + + + + No documentation. + + + HID_USAGE_KEYBOARD_NOEVENT + HID_USAGE_KEYBOARD_NOEVENT + + + + No documentation. + + + HID_USAGE_KEYBOARD_ROLLOVER + HID_USAGE_KEYBOARD_ROLLOVER + + + + No documentation. + + + HID_USAGE_KEYBOARD_POSTFAIL + HID_USAGE_KEYBOARD_POSTFAIL + + + + No documentation. + + + HID_USAGE_KEYBOARD_UNDEFINED + HID_USAGE_KEYBOARD_UNDEFINED + + + + No documentation. + + + HID_USAGE_KEYBOARD_aA + HID_USAGE_KEYBOARD_aA + + + + No documentation. + + + HID_USAGE_KEYBOARD_zZ + HID_USAGE_KEYBOARD_zZ + + + + No documentation. + + + HID_USAGE_KEYBOARD_ONE + HID_USAGE_KEYBOARD_ONE + + + + No documentation. + + + HID_USAGE_KEYBOARD_ZERO + HID_USAGE_KEYBOARD_ZERO + + + + No documentation. + + + HID_USAGE_KEYBOARD_LCTRL + HID_USAGE_KEYBOARD_LCTRL + + + + No documentation. + + + HID_USAGE_KEYBOARD_LSHFT + HID_USAGE_KEYBOARD_LSHFT + + + + No documentation. + + + HID_USAGE_KEYBOARD_LALT + HID_USAGE_KEYBOARD_LALT + + + + No documentation. + + + HID_USAGE_KEYBOARD_LGUI + HID_USAGE_KEYBOARD_LGUI + + + + No documentation. + + + HID_USAGE_KEYBOARD_RCTRL + HID_USAGE_KEYBOARD_RCTRL + + + + No documentation. + + + HID_USAGE_KEYBOARD_RSHFT + HID_USAGE_KEYBOARD_RSHFT + + + + No documentation. + + + HID_USAGE_KEYBOARD_RALT + HID_USAGE_KEYBOARD_RALT + + + + No documentation. + + + HID_USAGE_KEYBOARD_RGUI + HID_USAGE_KEYBOARD_RGUI + + + + No documentation. + + + HID_USAGE_KEYBOARD_SCROLL_LOCK + HID_USAGE_KEYBOARD_SCROLL_LOCK + + + + No documentation. + + + HID_USAGE_KEYBOARD_NUM_LOCK + HID_USAGE_KEYBOARD_NUM_LOCK + + + + No documentation. + + + HID_USAGE_KEYBOARD_CAPS_LOCK + HID_USAGE_KEYBOARD_CAPS_LOCK + + + + No documentation. + + + HID_USAGE_KEYBOARD_F1 + HID_USAGE_KEYBOARD_F1 + + + + No documentation. + + + HID_USAGE_KEYBOARD_F12 + HID_USAGE_KEYBOARD_F12 + + + + No documentation. + + + HID_USAGE_KEYBOARD_RETURN + HID_USAGE_KEYBOARD_RETURN + + + + No documentation. + + + HID_USAGE_KEYBOARD_ESCAPE + HID_USAGE_KEYBOARD_ESCAPE + + + + No documentation. + + + HID_USAGE_KEYBOARD_DELETE + HID_USAGE_KEYBOARD_DELETE + + + + No documentation. + + + HID_USAGE_KEYBOARD_PRINT_SCREEN + HID_USAGE_KEYBOARD_PRINT_SCREEN + + + + No documentation. + + + HID_USAGE_LED_NUM_LOCK + HID_USAGE_LED_NUM_LOCK + + + + No documentation. + + + HID_USAGE_LED_CAPS_LOCK + HID_USAGE_LED_CAPS_LOCK + + + + No documentation. + + + HID_USAGE_LED_SCROLL_LOCK + HID_USAGE_LED_SCROLL_LOCK + + + + No documentation. + + + HID_USAGE_LED_COMPOSE + HID_USAGE_LED_COMPOSE + + + + No documentation. + + + HID_USAGE_LED_KANA + HID_USAGE_LED_KANA + + + + No documentation. + + + HID_USAGE_LED_POWER + HID_USAGE_LED_POWER + + + + No documentation. + + + HID_USAGE_LED_SHIFT + HID_USAGE_LED_SHIFT + + + + No documentation. + + + HID_USAGE_LED_DO_NOT_DISTURB + HID_USAGE_LED_DO_NOT_DISTURB + + + + No documentation. + + + HID_USAGE_LED_MUTE + HID_USAGE_LED_MUTE + + + + No documentation. + + + HID_USAGE_LED_TONE_ENABLE + HID_USAGE_LED_TONE_ENABLE + + + + No documentation. + + + HID_USAGE_LED_HIGH_CUT_FILTER + HID_USAGE_LED_HIGH_CUT_FILTER + + + + No documentation. + + + HID_USAGE_LED_LOW_CUT_FILTER + HID_USAGE_LED_LOW_CUT_FILTER + + + + No documentation. + + + HID_USAGE_LED_EQUALIZER_ENABLE + HID_USAGE_LED_EQUALIZER_ENABLE + + + + No documentation. + + + HID_USAGE_LED_SOUND_FIELD_ON + HID_USAGE_LED_SOUND_FIELD_ON + + + + No documentation. + + + HID_USAGE_LED_SURROUND_FIELD_ON + HID_USAGE_LED_SURROUND_FIELD_ON + + + + No documentation. + + + HID_USAGE_LED_REPEAT + HID_USAGE_LED_REPEAT + + + + No documentation. + + + HID_USAGE_LED_STEREO + HID_USAGE_LED_STEREO + + + + No documentation. + + + HID_USAGE_LED_SAMPLING_RATE_DETECT + HID_USAGE_LED_SAMPLING_RATE_DETECT + + + + No documentation. + + + HID_USAGE_LED_SPINNING + HID_USAGE_LED_SPINNING + + + + No documentation. + + + HID_USAGE_LED_CAV + HID_USAGE_LED_CAV + + + + No documentation. + + + HID_USAGE_LED_CLV + HID_USAGE_LED_CLV + + + + No documentation. + + + HID_USAGE_LED_RECORDING_FORMAT_DET + HID_USAGE_LED_RECORDING_FORMAT_DET + + + + No documentation. + + + HID_USAGE_LED_OFF_HOOK + HID_USAGE_LED_OFF_HOOK + + + + No documentation. + + + HID_USAGE_LED_RING + HID_USAGE_LED_RING + + + + No documentation. + + + HID_USAGE_LED_MESSAGE_WAITING + HID_USAGE_LED_MESSAGE_WAITING + + + + No documentation. + + + HID_USAGE_LED_DATA_MODE + HID_USAGE_LED_DATA_MODE + + + + No documentation. + + + HID_USAGE_LED_BATTERY_OPERATION + HID_USAGE_LED_BATTERY_OPERATION + + + + No documentation. + + + HID_USAGE_LED_BATTERY_OK + HID_USAGE_LED_BATTERY_OK + + + + No documentation. + + + HID_USAGE_LED_BATTERY_LOW + HID_USAGE_LED_BATTERY_LOW + + + + No documentation. + + + HID_USAGE_LED_SPEAKER + HID_USAGE_LED_SPEAKER + + + + No documentation. + + + HID_USAGE_LED_HEAD_SET + HID_USAGE_LED_HEAD_SET + + + + No documentation. + + + HID_USAGE_LED_HOLD + HID_USAGE_LED_HOLD + + + + No documentation. + + + HID_USAGE_LED_MICROPHONE + HID_USAGE_LED_MICROPHONE + + + + No documentation. + + + HID_USAGE_LED_COVERAGE + HID_USAGE_LED_COVERAGE + + + + No documentation. + + + HID_USAGE_LED_NIGHT_MODE + HID_USAGE_LED_NIGHT_MODE + + + + No documentation. + + + HID_USAGE_LED_SEND_CALLS + HID_USAGE_LED_SEND_CALLS + + + + No documentation. + + + HID_USAGE_LED_CALL_PICKUP + HID_USAGE_LED_CALL_PICKUP + + + + No documentation. + + + HID_USAGE_LED_CONFERENCE + HID_USAGE_LED_CONFERENCE + + + + No documentation. + + + HID_USAGE_LED_STAND_BY + HID_USAGE_LED_STAND_BY + + + + No documentation. + + + HID_USAGE_LED_CAMERA_ON + HID_USAGE_LED_CAMERA_ON + + + + No documentation. + + + HID_USAGE_LED_CAMERA_OFF + HID_USAGE_LED_CAMERA_OFF + + + + No documentation. + + + HID_USAGE_LED_ON_LINE + HID_USAGE_LED_ON_LINE + + + + No documentation. + + + HID_USAGE_LED_OFF_LINE + HID_USAGE_LED_OFF_LINE + + + + No documentation. + + + HID_USAGE_LED_BUSY + HID_USAGE_LED_BUSY + + + + No documentation. + + + HID_USAGE_LED_READY + HID_USAGE_LED_READY + + + + No documentation. + + + HID_USAGE_LED_PAPER_OUT + HID_USAGE_LED_PAPER_OUT + + + + No documentation. + + + HID_USAGE_LED_PAPER_JAM + HID_USAGE_LED_PAPER_JAM + + + + No documentation. + + + HID_USAGE_LED_REMOTE + HID_USAGE_LED_REMOTE + + + + No documentation. + + + HID_USAGE_LED_FORWARD + HID_USAGE_LED_FORWARD + + + + No documentation. + + + HID_USAGE_LED_REVERSE + HID_USAGE_LED_REVERSE + + + + No documentation. + + + HID_USAGE_LED_STOP + HID_USAGE_LED_STOP + + + + No documentation. + + + HID_USAGE_LED_REWIND + HID_USAGE_LED_REWIND + + + + No documentation. + + + HID_USAGE_LED_FAST_FORWARD + HID_USAGE_LED_FAST_FORWARD + + + + No documentation. + + + HID_USAGE_LED_PLAY + HID_USAGE_LED_PLAY + + + + No documentation. + + + HID_USAGE_LED_PAUSE + HID_USAGE_LED_PAUSE + + + + No documentation. + + + HID_USAGE_LED_RECORD + HID_USAGE_LED_RECORD + + + + No documentation. + + + HID_USAGE_LED_ERROR + HID_USAGE_LED_ERROR + + + + No documentation. + + + HID_USAGE_LED_SELECTED_INDICATOR + HID_USAGE_LED_SELECTED_INDICATOR + + + + No documentation. + + + HID_USAGE_LED_IN_USE_INDICATOR + HID_USAGE_LED_IN_USE_INDICATOR + + + + No documentation. + + + HID_USAGE_LED_MULTI_MODE_INDICATOR + HID_USAGE_LED_MULTI_MODE_INDICATOR + + + + No documentation. + + + HID_USAGE_LED_INDICATOR_ON + HID_USAGE_LED_INDICATOR_ON + + + + No documentation. + + + HID_USAGE_LED_INDICATOR_FLASH + HID_USAGE_LED_INDICATOR_FLASH + + + + No documentation. + + + HID_USAGE_LED_INDICATOR_SLOW_BLINK + HID_USAGE_LED_INDICATOR_SLOW_BLINK + + + + No documentation. + + + HID_USAGE_LED_INDICATOR_FAST_BLINK + HID_USAGE_LED_INDICATOR_FAST_BLINK + + + + No documentation. + + + HID_USAGE_LED_INDICATOR_OFF + HID_USAGE_LED_INDICATOR_OFF + + + + No documentation. + + + HID_USAGE_LED_FLASH_ON_TIME + HID_USAGE_LED_FLASH_ON_TIME + + + + No documentation. + + + HID_USAGE_LED_SLOW_BLINK_ON_TIME + HID_USAGE_LED_SLOW_BLINK_ON_TIME + + + + No documentation. + + + HID_USAGE_LED_SLOW_BLINK_OFF_TIME + HID_USAGE_LED_SLOW_BLINK_OFF_TIME + + + + No documentation. + + + HID_USAGE_LED_FAST_BLINK_ON_TIME + HID_USAGE_LED_FAST_BLINK_ON_TIME + + + + No documentation. + + + HID_USAGE_LED_FAST_BLINK_OFF_TIME + HID_USAGE_LED_FAST_BLINK_OFF_TIME + + + + No documentation. + + + HID_USAGE_LED_INDICATOR_COLOR + HID_USAGE_LED_INDICATOR_COLOR + + + + No documentation. + + + HID_USAGE_LED_RED + HID_USAGE_LED_RED + + + + No documentation. + + + HID_USAGE_LED_GREEN + HID_USAGE_LED_GREEN + + + + No documentation. + + + HID_USAGE_LED_AMBER + HID_USAGE_LED_AMBER + + + + No documentation. + + + HID_USAGE_LED_GENERIC_INDICATOR + HID_USAGE_LED_GENERIC_INDICATOR + + + + No documentation. + + + HID_USAGE_TELEPHONY_PHONE + HID_USAGE_TELEPHONY_PHONE + + + + No documentation. + + + HID_USAGE_TELEPHONY_ANSWERING_MACHINE + HID_USAGE_TELEPHONY_ANSWERING_MACHINE + + + + No documentation. + + + HID_USAGE_TELEPHONY_MESSAGE_CONTROLS + HID_USAGE_TELEPHONY_MESSAGE_CONTROLS + + + + No documentation. + + + HID_USAGE_TELEPHONY_HANDSET + HID_USAGE_TELEPHONY_HANDSET + + + + No documentation. + + + HID_USAGE_TELEPHONY_HEADSET + HID_USAGE_TELEPHONY_HEADSET + + + + No documentation. + + + HID_USAGE_TELEPHONY_KEYPAD + HID_USAGE_TELEPHONY_KEYPAD + + + + No documentation. + + + HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON + HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON + + + + No documentation. + + + HID_USAGE_TELEPHONY_REDIAL + HID_USAGE_TELEPHONY_REDIAL + + + + No documentation. + + + HID_USAGE_TELEPHONY_TRANSFER + HID_USAGE_TELEPHONY_TRANSFER + + + + No documentation. + + + HID_USAGE_TELEPHONY_DROP + HID_USAGE_TELEPHONY_DROP + + + + No documentation. + + + HID_USAGE_TELEPHONY_LINE + HID_USAGE_TELEPHONY_LINE + + + + No documentation. + + + HID_USAGE_TELEPHONY_RING_ENABLE + HID_USAGE_TELEPHONY_RING_ENABLE + + + + No documentation. + + + HID_USAGE_TELEPHONY_SEND + HID_USAGE_TELEPHONY_SEND + + + + No documentation. + + + HID_USAGE_TELEPHONY_KEYPAD_0 + HID_USAGE_TELEPHONY_KEYPAD_0 + + + + No documentation. + + + HID_USAGE_TELEPHONY_KEYPAD_D + HID_USAGE_TELEPHONY_KEYPAD_D + + + + No documentation. + + + HID_USAGE_TELEPHONY_HOST_AVAILABLE + HID_USAGE_TELEPHONY_HOST_AVAILABLE + + + + No documentation. + + + HID_USAGE_MS_BTH_HF_DIALNUMBER + HID_USAGE_MS_BTH_HF_DIALNUMBER + + + + No documentation. + + + HID_USAGE_MS_BTH_HF_DIALMEMORY + HID_USAGE_MS_BTH_HF_DIALMEMORY + + + + No documentation. + + + HID_USAGE_CONSUMERCTRL + HID_USAGE_CONSUMERCTRL + + + + No documentation. + + + HID_USAGE_DIGITIZER_PEN + HID_USAGE_DIGITIZER_PEN + + + + No documentation. + + + HID_USAGE_DIGITIZER_IN_RANGE + HID_USAGE_DIGITIZER_IN_RANGE + + + + No documentation. + + + HID_USAGE_DIGITIZER_TIP_SWITCH + HID_USAGE_DIGITIZER_TIP_SWITCH + + + + No documentation. + + + HID_USAGE_DIGITIZER_BARREL_SWITCH + HID_USAGE_DIGITIZER_BARREL_SWITCH + + + + No documentation. + + + HID_USAGE_PAGE + HID_USAGE_PAGE + + + + No documentation. + + + HID_USAGE_PAGE_UNDEFINED + HID_USAGE_PAGE_UNDEFINED + + + + No documentation. + + + HID_USAGE_PAGE_GENERIC + HID_USAGE_PAGE_GENERIC + + + + No documentation. + + + HID_USAGE_PAGE_SIMULATION + HID_USAGE_PAGE_SIMULATION + + + + No documentation. + + + HID_USAGE_PAGE_VR + HID_USAGE_PAGE_VR + + + + No documentation. + + + HID_USAGE_PAGE_SPORT + HID_USAGE_PAGE_SPORT + + + + No documentation. + + + HID_USAGE_PAGE_GAME + HID_USAGE_PAGE_GAME + + + + No documentation. + + + HID_USAGE_PAGE_KEYBOARD + HID_USAGE_PAGE_KEYBOARD + + + + No documentation. + + + HID_USAGE_PAGE_LED + HID_USAGE_PAGE_LED + + + + No documentation. + + + HID_USAGE_PAGE_BUTTON + HID_USAGE_PAGE_BUTTON + + + + No documentation. + + + HID_USAGE_PAGE_ORDINAL + HID_USAGE_PAGE_ORDINAL + + + + No documentation. + + + HID_USAGE_PAGE_TELEPHONY + HID_USAGE_PAGE_TELEPHONY + + + + No documentation. + + + HID_USAGE_PAGE_CONSUMER + HID_USAGE_PAGE_CONSUMER + + + + No documentation. + + + HID_USAGE_PAGE_DIGITIZER + HID_USAGE_PAGE_DIGITIZER + + + + No documentation. + + + HID_USAGE_PAGE_UNICODE + HID_USAGE_PAGE_UNICODE + + + + No documentation. + + + HID_USAGE_PAGE_ALPHANUMERIC + HID_USAGE_PAGE_ALPHANUMERIC + + + + No documentation. + + + HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE + HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE + + + + No documentation. + + + HID_USAGE_PAGE_MEDICAL + HID_USAGE_PAGE_MEDICAL + + + + No documentation. + + + HID_USAGE_PAGE_MONITOR_PAGE0 + HID_USAGE_PAGE_MONITOR_PAGE0 + + + + No documentation. + + + HID_USAGE_PAGE_MONITOR_PAGE1 + HID_USAGE_PAGE_MONITOR_PAGE1 + + + + No documentation. + + + HID_USAGE_PAGE_MONITOR_PAGE2 + HID_USAGE_PAGE_MONITOR_PAGE2 + + + + No documentation. + + + HID_USAGE_PAGE_MONITOR_PAGE3 + HID_USAGE_PAGE_MONITOR_PAGE3 + + + + No documentation. + + + HID_USAGE_PAGE_POWER_PAGE0 + HID_USAGE_PAGE_POWER_PAGE0 + + + + No documentation. + + + HID_USAGE_PAGE_POWER_PAGE1 + HID_USAGE_PAGE_POWER_PAGE1 + + + + No documentation. + + + HID_USAGE_PAGE_POWER_PAGE2 + HID_USAGE_PAGE_POWER_PAGE2 + + + + No documentation. + + + HID_USAGE_PAGE_POWER_PAGE3 + HID_USAGE_PAGE_POWER_PAGE3 + + + + No documentation. + + + HID_USAGE_PAGE_BARCODE + HID_USAGE_PAGE_BARCODE + + + + No documentation. + + + HID_USAGE_PAGE_SCALE + HID_USAGE_PAGE_SCALE + + + + No documentation. + + + HID_USAGE_PAGE_MSR + HID_USAGE_PAGE_MSR + + + + No documentation. + + + WAVE_FORMAT_ENCODING + WAVE_FORMAT_ENCODING + + + + No documentation. + + + WAVE_FORMAT_UNKNOWN + WAVE_FORMAT_UNKNOWN + + + + No documentation. + + + WAVE_FORMAT_ADPCM + WAVE_FORMAT_ADPCM + + + + No documentation. + + + WAVE_FORMAT_IEEE_FLOAT + WAVE_FORMAT_IEEE_FLOAT + + + + No documentation. + + + WAVE_FORMAT_VSELP + WAVE_FORMAT_VSELP + + + + No documentation. + + + WAVE_FORMAT_IBM_CVSD + WAVE_FORMAT_IBM_CVSD + + + + No documentation. + + + WAVE_FORMAT_ALAW + WAVE_FORMAT_ALAW + + + + No documentation. + + + WAVE_FORMAT_MULAW + WAVE_FORMAT_MULAW + + + + No documentation. + + + WAVE_FORMAT_DTS + WAVE_FORMAT_DTS + + + + No documentation. + + + WAVE_FORMAT_DRM + WAVE_FORMAT_DRM + + + + No documentation. + + + WAVE_FORMAT_WMAVOICE9 + WAVE_FORMAT_WMAVOICE9 + + + + No documentation. + + + WAVE_FORMAT_WMAVOICE10 + WAVE_FORMAT_WMAVOICE10 + + + + No documentation. + + + WAVE_FORMAT_OKI_ADPCM + WAVE_FORMAT_OKI_ADPCM + + + + No documentation. + + + WAVE_FORMAT_DVI_ADPCM + WAVE_FORMAT_DVI_ADPCM + + + + No documentation. + + + WAVE_FORMAT_IMA_ADPCM + WAVE_FORMAT_IMA_ADPCM + + + + No documentation. + + + WAVE_FORMAT_MEDIASPACE_ADPCM + WAVE_FORMAT_MEDIASPACE_ADPCM + + + + No documentation. + + + WAVE_FORMAT_SIERRA_ADPCM + WAVE_FORMAT_SIERRA_ADPCM + + + + No documentation. + + + WAVE_FORMAT_G723_ADPCM + WAVE_FORMAT_G723_ADPCM + + + + No documentation. + + + WAVE_FORMAT_DIGISTD + WAVE_FORMAT_DIGISTD + + + + No documentation. + + + WAVE_FORMAT_DIGIFIX + WAVE_FORMAT_DIGIFIX + + + + No documentation. + + + WAVE_FORMAT_DIALOGIC_OKI_ADPCM + WAVE_FORMAT_DIALOGIC_OKI_ADPCM + + + + No documentation. + + + WAVE_FORMAT_MEDIAVISION_ADPCM + WAVE_FORMAT_MEDIAVISION_ADPCM + + + + No documentation. + + + WAVE_FORMAT_CU_CODEC + WAVE_FORMAT_CU_CODEC + + + + No documentation. + + + WAVE_FORMAT_YAMAHA_ADPCM + WAVE_FORMAT_YAMAHA_ADPCM + + + + No documentation. + + + WAVE_FORMAT_SONARC + WAVE_FORMAT_SONARC + + + + No documentation. + + + WAVE_FORMAT_DSPGROUP_TRUESPEECH + WAVE_FORMAT_DSPGROUP_TRUESPEECH + + + + No documentation. + + + WAVE_FORMAT_ECHOSC1 + WAVE_FORMAT_ECHOSC1 + + + + No documentation. + + + WAVE_FORMAT_AUDIOFILE_AF36 + WAVE_FORMAT_AUDIOFILE_AF36 + + + + No documentation. + + + WAVE_FORMAT_APTX + WAVE_FORMAT_APTX + + + + No documentation. + + + WAVE_FORMAT_AUDIOFILE_AF10 + WAVE_FORMAT_AUDIOFILE_AF10 + + + + No documentation. + + + WAVE_FORMAT_PROSODY_1612 + WAVE_FORMAT_PROSODY_1612 + + + + No documentation. + + + WAVE_FORMAT_LRC + WAVE_FORMAT_LRC + + + + No documentation. + + + WAVE_FORMAT_DOLBY_AC2 + WAVE_FORMAT_DOLBY_AC2 + + + + No documentation. + + + WAVE_FORMAT_GSM610 + WAVE_FORMAT_GSM610 + + + + No documentation. + + + WAVE_FORMAT_MSNAUDIO + WAVE_FORMAT_MSNAUDIO + + + + No documentation. + + + WAVE_FORMAT_ANTEX_ADPCME + WAVE_FORMAT_ANTEX_ADPCME + + + + No documentation. + + + WAVE_FORMAT_CONTROL_RES_VQLPC + WAVE_FORMAT_CONTROL_RES_VQLPC + + + + No documentation. + + + WAVE_FORMAT_DIGIREAL + WAVE_FORMAT_DIGIREAL + + + + No documentation. + + + WAVE_FORMAT_DIGIADPCM + WAVE_FORMAT_DIGIADPCM + + + + No documentation. + + + WAVE_FORMAT_CONTROL_RES_CR10 + WAVE_FORMAT_CONTROL_RES_CR10 + + + + No documentation. + + + WAVE_FORMAT_NMS_VBXADPCM + WAVE_FORMAT_NMS_VBXADPCM + + + + No documentation. + + + WAVE_FORMAT_CS_IMAADPCM + WAVE_FORMAT_CS_IMAADPCM + + + + No documentation. + + + WAVE_FORMAT_ECHOSC3 + WAVE_FORMAT_ECHOSC3 + + + + No documentation. + + + WAVE_FORMAT_ROCKWELL_ADPCM + WAVE_FORMAT_ROCKWELL_ADPCM + + + + No documentation. + + + WAVE_FORMAT_ROCKWELL_DIGITALK + WAVE_FORMAT_ROCKWELL_DIGITALK + + + + No documentation. + + + WAVE_FORMAT_XEBEC + WAVE_FORMAT_XEBEC + + + + No documentation. + + + WAVE_FORMAT_G721_ADPCM + WAVE_FORMAT_G721_ADPCM + + + + No documentation. + + + WAVE_FORMAT_G728_CELP + WAVE_FORMAT_G728_CELP + + + + No documentation. + + + WAVE_FORMAT_MSG723 + WAVE_FORMAT_MSG723 + + + + No documentation. + + + WAVE_FORMAT_MPEG + WAVE_FORMAT_MPEG + + + + No documentation. + + + WAVE_FORMAT_RT24 + WAVE_FORMAT_RT24 + + + + No documentation. + + + WAVE_FORMAT_PAC + WAVE_FORMAT_PAC + + + + No documentation. + + + WAVE_FORMAT_MPEGLAYER3 + WAVE_FORMAT_MPEGLAYER3 + + + + No documentation. + + + WAVE_FORMAT_LUCENT_G723 + WAVE_FORMAT_LUCENT_G723 + + + + No documentation. + + + WAVE_FORMAT_CIRRUS + WAVE_FORMAT_CIRRUS + + + + No documentation. + + + WAVE_FORMAT_ESPCM + WAVE_FORMAT_ESPCM + + + + No documentation. + + + WAVE_FORMAT_VOXWARE + WAVE_FORMAT_VOXWARE + + + + No documentation. + + + WAVE_FORMAT_CANOPUS_ATRAC + WAVE_FORMAT_CANOPUS_ATRAC + + + + No documentation. + + + WAVE_FORMAT_G726_ADPCM + WAVE_FORMAT_G726_ADPCM + + + + No documentation. + + + WAVE_FORMAT_G722_ADPCM + WAVE_FORMAT_G722_ADPCM + + + + No documentation. + + + WAVE_FORMAT_DSAT_DISPLAY + WAVE_FORMAT_DSAT_DISPLAY + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_BYTE_ALIGNED + WAVE_FORMAT_VOXWARE_BYTE_ALIGNED + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_AC8 + WAVE_FORMAT_VOXWARE_AC8 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_AC10 + WAVE_FORMAT_VOXWARE_AC10 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_AC16 + WAVE_FORMAT_VOXWARE_AC16 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_AC20 + WAVE_FORMAT_VOXWARE_AC20 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_RT24 + WAVE_FORMAT_VOXWARE_RT24 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_RT29 + WAVE_FORMAT_VOXWARE_RT29 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_RT29HW + WAVE_FORMAT_VOXWARE_RT29HW + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_VR12 + WAVE_FORMAT_VOXWARE_VR12 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_VR18 + WAVE_FORMAT_VOXWARE_VR18 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_TQ40 + WAVE_FORMAT_VOXWARE_TQ40 + + + + No documentation. + + + WAVE_FORMAT_SOFTSOUND + WAVE_FORMAT_SOFTSOUND + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_TQ60 + WAVE_FORMAT_VOXWARE_TQ60 + + + + No documentation. + + + WAVE_FORMAT_MSRT24 + WAVE_FORMAT_MSRT24 + + + + No documentation. + + + WAVE_FORMAT_G729A + WAVE_FORMAT_G729A + + + + No documentation. + + + WAVE_FORMAT_MVI_MVI2 + WAVE_FORMAT_MVI_MVI2 + + + + No documentation. + + + WAVE_FORMAT_DF_G726 + WAVE_FORMAT_DF_G726 + + + + No documentation. + + + WAVE_FORMAT_DF_GSM610 + WAVE_FORMAT_DF_GSM610 + + + + No documentation. + + + WAVE_FORMAT_ISIAUDIO + WAVE_FORMAT_ISIAUDIO + + + + No documentation. + + + WAVE_FORMAT_ONLIVE + WAVE_FORMAT_ONLIVE + + + + No documentation. + + + WAVE_FORMAT_SBC24 + WAVE_FORMAT_SBC24 + + + + No documentation. + + + WAVE_FORMAT_DOLBY_AC3_SPDIF + WAVE_FORMAT_DOLBY_AC3_SPDIF + + + + No documentation. + + + WAVE_FORMAT_MEDIASONIC_G723 + WAVE_FORMAT_MEDIASONIC_G723 + + + + No documentation. + + + WAVE_FORMAT_PROSODY_8KBPS + WAVE_FORMAT_PROSODY_8KBPS + + + + No documentation. + + + WAVE_FORMAT_ZYXEL_ADPCM + WAVE_FORMAT_ZYXEL_ADPCM + + + + No documentation. + + + WAVE_FORMAT_PHILIPS_LPCBB + WAVE_FORMAT_PHILIPS_LPCBB + + + + No documentation. + + + WAVE_FORMAT_PACKED + WAVE_FORMAT_PACKED + + + + No documentation. + + + WAVE_FORMAT_MALDEN_PHONYTALK + WAVE_FORMAT_MALDEN_PHONYTALK + + + + No documentation. + + + WAVE_FORMAT_RAW_AAC1 + WAVE_FORMAT_RAW_AAC1 + + + + No documentation. + + + WAVE_FORMAT_RHETOREX_ADPCM + WAVE_FORMAT_RHETOREX_ADPCM + + + + No documentation. + + + WAVE_FORMAT_IRAT + WAVE_FORMAT_IRAT + + + + No documentation. + + + WAVE_FORMAT_VIVO_G723 + WAVE_FORMAT_VIVO_G723 + + + + No documentation. + + + WAVE_FORMAT_VIVO_SIREN + WAVE_FORMAT_VIVO_SIREN + + + + No documentation. + + + WAVE_FORMAT_DIGITAL_G723 + WAVE_FORMAT_DIGITAL_G723 + + + + No documentation. + + + WAVE_FORMAT_SANYO_LD_ADPCM + WAVE_FORMAT_SANYO_LD_ADPCM + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_ACEPLNET + WAVE_FORMAT_SIPROLAB_ACEPLNET + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_ACELP4800 + WAVE_FORMAT_SIPROLAB_ACELP4800 + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_ACELP8V3 + WAVE_FORMAT_SIPROLAB_ACELP8V3 + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_G729 + WAVE_FORMAT_SIPROLAB_G729 + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_G729A + WAVE_FORMAT_SIPROLAB_G729A + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_KELVIN + WAVE_FORMAT_SIPROLAB_KELVIN + + + + No documentation. + + + WAVE_FORMAT_G726ADPCM + WAVE_FORMAT_G726ADPCM + + + + No documentation. + + + WAVE_FORMAT_QUALCOMM_PUREVOICE + WAVE_FORMAT_QUALCOMM_PUREVOICE + + + + No documentation. + + + WAVE_FORMAT_QUALCOMM_HALFRATE + WAVE_FORMAT_QUALCOMM_HALFRATE + + + + No documentation. + + + WAVE_FORMAT_TUBGSM + WAVE_FORMAT_TUBGSM + + + + No documentation. + + + WAVE_FORMAT_MSAUDIO1 + WAVE_FORMAT_MSAUDIO1 + + + + No documentation. + + + WAVE_FORMAT_WMAUDIO2 + WAVE_FORMAT_WMAUDIO2 + + + + No documentation. + + + WAVE_FORMAT_WMAUDIO3 + WAVE_FORMAT_WMAUDIO3 + + + + No documentation. + + + WAVE_FORMAT_WMAUDIO_LOSSLESS + WAVE_FORMAT_WMAUDIO_LOSSLESS + + + + No documentation. + + + WAVE_FORMAT_WMASPDIF + WAVE_FORMAT_WMASPDIF + + + + No documentation. + + + WAVE_FORMAT_UNISYS_NAP_ADPCM + WAVE_FORMAT_UNISYS_NAP_ADPCM + + + + No documentation. + + + WAVE_FORMAT_UNISYS_NAP_ULAW + WAVE_FORMAT_UNISYS_NAP_ULAW + + + + No documentation. + + + WAVE_FORMAT_UNISYS_NAP_ALAW + WAVE_FORMAT_UNISYS_NAP_ALAW + + + + No documentation. + + + WAVE_FORMAT_UNISYS_NAP_16K + WAVE_FORMAT_UNISYS_NAP_16K + + + + No documentation. + + + WAVE_FORMAT_CREATIVE_ADPCM + WAVE_FORMAT_CREATIVE_ADPCM + + + + No documentation. + + + WAVE_FORMAT_CREATIVE_FASTSPEECH8 + WAVE_FORMAT_CREATIVE_FASTSPEECH8 + + + + No documentation. + + + WAVE_FORMAT_CREATIVE_FASTSPEECH10 + WAVE_FORMAT_CREATIVE_FASTSPEECH10 + + + + No documentation. + + + WAVE_FORMAT_UHER_ADPCM + WAVE_FORMAT_UHER_ADPCM + + + + No documentation. + + + WAVE_FORMAT_QUARTERDECK + WAVE_FORMAT_QUARTERDECK + + + + No documentation. + + + WAVE_FORMAT_ILINK_VC + WAVE_FORMAT_ILINK_VC + + + + No documentation. + + + WAVE_FORMAT_RAW_SPORT + WAVE_FORMAT_RAW_SPORT + + + + No documentation. + + + WAVE_FORMAT_ESST_AC3 + WAVE_FORMAT_ESST_AC3 + + + + No documentation. + + + WAVE_FORMAT_GENERIC_PASSTHRU + WAVE_FORMAT_GENERIC_PASSTHRU + + + + No documentation. + + + WAVE_FORMAT_IPI_HSX + WAVE_FORMAT_IPI_HSX + + + + No documentation. + + + WAVE_FORMAT_IPI_RPELP + WAVE_FORMAT_IPI_RPELP + + + + No documentation. + + + WAVE_FORMAT_CS2 + WAVE_FORMAT_CS2 + + + + No documentation. + + + WAVE_FORMAT_SONY_SCX + WAVE_FORMAT_SONY_SCX + + + + No documentation. + + + WAVE_FORMAT_FM_TOWNS_SND + WAVE_FORMAT_FM_TOWNS_SND + + + + No documentation. + + + WAVE_FORMAT_BTV_DIGITAL + WAVE_FORMAT_BTV_DIGITAL + + + + No documentation. + + + WAVE_FORMAT_QDESIGN_MUSIC + WAVE_FORMAT_QDESIGN_MUSIC + + + + No documentation. + + + WAVE_FORMAT_VME_VMPCM + WAVE_FORMAT_VME_VMPCM + + + + No documentation. + + + WAVE_FORMAT_TPC + WAVE_FORMAT_TPC + + + + No documentation. + + + WAVE_FORMAT_OLIGSM + WAVE_FORMAT_OLIGSM + + + + No documentation. + + + WAVE_FORMAT_OLIADPCM + WAVE_FORMAT_OLIADPCM + + + + No documentation. + + + WAVE_FORMAT_OLICELP + WAVE_FORMAT_OLICELP + + + + No documentation. + + + WAVE_FORMAT_OLISBC + WAVE_FORMAT_OLISBC + + + + No documentation. + + + WAVE_FORMAT_OLIOPR + WAVE_FORMAT_OLIOPR + + + + No documentation. + + + WAVE_FORMAT_LH_CODEC + WAVE_FORMAT_LH_CODEC + + + + No documentation. + + + WAVE_FORMAT_NORRIS + WAVE_FORMAT_NORRIS + + + + No documentation. + + + WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS + WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS + + + + No documentation. + + + WAVE_FORMAT_MPEG_ADTS_AAC + WAVE_FORMAT_MPEG_ADTS_AAC + + + + No documentation. + + + WAVE_FORMAT_MPEG_RAW_AAC + WAVE_FORMAT_MPEG_RAW_AAC + + + + No documentation. + + + WAVE_FORMAT_MPEG_LOAS + WAVE_FORMAT_MPEG_LOAS + + + + No documentation. + + + WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC + WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC + + + + No documentation. + + + WAVE_FORMAT_NOKIA_MPEG_RAW_AAC + WAVE_FORMAT_NOKIA_MPEG_RAW_AAC + + + + No documentation. + + + WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC + WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC + + + + No documentation. + + + WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC + WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC + + + + No documentation. + + + WAVE_FORMAT_MPEG_HEAAC + WAVE_FORMAT_MPEG_HEAAC + + + + No documentation. + + + WAVE_FORMAT_DVM + WAVE_FORMAT_DVM + + + + No documentation. + + + WAVE_FORMAT_DTS2 + WAVE_FORMAT_DTS2 + + + + No documentation. + + + WAVE_FORMAT_EXTENSIBLE + WAVE_FORMAT_EXTENSIBLE + + + + No documentation. + + + WAVE_FORMAT_DEVELOPMENT + WAVE_FORMAT_DEVELOPMENT + + + + No documentation. + + + WAVE_FORMAT_PCM + WAVE_FORMAT_PCM + + + + No documentation. + + + STGC + STGC + + + + No documentation. + + + STGC_DEFAULT + STGC_DEFAULT + + + + No documentation. + + + STGC_OVERWRITE + STGC_OVERWRITE + + + + No documentation. + + + STGC_ONLYIFCURRENT + STGC_ONLYIFCURRENT + + + + No documentation. + + + STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE + STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE + + + + No documentation. + + + STGC_CONSOLIDATE + STGC_CONSOLIDATE + + + + No documentation. + + + SHARPDX_ERRORCODE + SHARPDX_ERRORCODE + + + + No documentation. + + + ERROR_SUCCESS + ERROR_SUCCESS + + + + No documentation. + + + ERROR_INVALID_FUNCTION + ERROR_INVALID_FUNCTION + + + + No documentation. + + + ERROR_FILE_NOT_FOUND + ERROR_FILE_NOT_FOUND + + + + No documentation. + + + ERROR_PATH_NOT_FOUND + ERROR_PATH_NOT_FOUND + + + + No documentation. + + + ERROR_TOO_MANY_OPEN_FILES + ERROR_TOO_MANY_OPEN_FILES + + + + No documentation. + + + ERROR_ACCESS_DENIED + ERROR_ACCESS_DENIED + + + + No documentation. + + + ERROR_INVALID_HANDLE + ERROR_INVALID_HANDLE + + + + No documentation. + + + ERROR_ARENA_TRASHED + ERROR_ARENA_TRASHED + + + + No documentation. + + + ERROR_NOT_ENOUGH_MEMORY + ERROR_NOT_ENOUGH_MEMORY + + + + No documentation. + + + ERROR_INVALID_BLOCK + ERROR_INVALID_BLOCK + + + + No documentation. + + + ERROR_BAD_ENVIRONMENT + ERROR_BAD_ENVIRONMENT + + + + No documentation. + + + ERROR_BAD_FORMAT + ERROR_BAD_FORMAT + + + + No documentation. + + + ERROR_INVALID_ACCESS + ERROR_INVALID_ACCESS + + + + No documentation. + + + ERROR_INVALID_DATA + ERROR_INVALID_DATA + + + + No documentation. + + + ERROR_OUTOFMEMORY + ERROR_OUTOFMEMORY + + + + No documentation. + + + ERROR_INVALID_DRIVE + ERROR_INVALID_DRIVE + + + + No documentation. + + + ERROR_CURRENT_DIRECTORY + ERROR_CURRENT_DIRECTORY + + + + No documentation. + + + ERROR_NOT_SAME_DEVICE + ERROR_NOT_SAME_DEVICE + + + + No documentation. + + + ERROR_NO_MORE_FILES + ERROR_NO_MORE_FILES + + + + No documentation. + + + ERROR_WRITE_PROTECT + ERROR_WRITE_PROTECT + + + + No documentation. + + + ERROR_BAD_UNIT + ERROR_BAD_UNIT + + + + No documentation. + + + ERROR_NOT_READY + ERROR_NOT_READY + + + + No documentation. + + + ERROR_BAD_COMMAND + ERROR_BAD_COMMAND + + + + No documentation. + + + ERROR_CRC + ERROR_CRC + + + + No documentation. + + + ERROR_BAD_LENGTH + ERROR_BAD_LENGTH + + + + No documentation. + + + ERROR_SEEK + ERROR_SEEK + + + + No documentation. + + + ERROR_NOT_DOS_DISK + ERROR_NOT_DOS_DISK + + + + No documentation. + + + ERROR_SECTOR_NOT_FOUND + ERROR_SECTOR_NOT_FOUND + + + + No documentation. + + + ERROR_OUT_OF_PAPER + ERROR_OUT_OF_PAPER + + + + No documentation. + + + ERROR_WRITE_FAULT + ERROR_WRITE_FAULT + + + + No documentation. + + + ERROR_READ_FAULT + ERROR_READ_FAULT + + + + No documentation. + + + ERROR_GEN_FAILURE + ERROR_GEN_FAILURE + + + + No documentation. + + + ERROR_SHARING_VIOLATION + ERROR_SHARING_VIOLATION + + + + No documentation. + + + ERROR_LOCK_VIOLATION + ERROR_LOCK_VIOLATION + + + + No documentation. + + + ERROR_WRONG_DISK + ERROR_WRONG_DISK + + + + No documentation. + + + ERROR_SHARING_BUFFER_EXCEEDED + ERROR_SHARING_BUFFER_EXCEEDED + + + + No documentation. + + + ERROR_HANDLE_EOF + ERROR_HANDLE_EOF + + + + No documentation. + + + ERROR_HANDLE_DISK_FULL + ERROR_HANDLE_DISK_FULL + + + + No documentation. + + + ERROR_NOT_SUPPORTED + ERROR_NOT_SUPPORTED + + + + No documentation. + + + ERROR_REM_NOT_LIST + ERROR_REM_NOT_LIST + + + + No documentation. + + + ERROR_DUP_NAME + ERROR_DUP_NAME + + + + No documentation. + + + ERROR_BAD_NETPATH + ERROR_BAD_NETPATH + + + + No documentation. + + + ERROR_NETWORK_BUSY + ERROR_NETWORK_BUSY + + + + No documentation. + + + ERROR_DEV_NOT_EXIST + ERROR_DEV_NOT_EXIST + + + + No documentation. + + + ERROR_TOO_MANY_CMDS + ERROR_TOO_MANY_CMDS + + + + No documentation. + + + ERROR_ADAP_HDW_ERR + ERROR_ADAP_HDW_ERR + + + + No documentation. + + + ERROR_BAD_NET_RESP + ERROR_BAD_NET_RESP + + + + No documentation. + + + ERROR_UNEXP_NET_ERR + ERROR_UNEXP_NET_ERR + + + + No documentation. + + + ERROR_BAD_REM_ADAP + ERROR_BAD_REM_ADAP + + + + No documentation. + + + ERROR_PRINTQ_FULL + ERROR_PRINTQ_FULL + + + + No documentation. + + + ERROR_NO_SPOOL_SPACE + ERROR_NO_SPOOL_SPACE + + + + No documentation. + + + ERROR_PRINT_CANCELLED + ERROR_PRINT_CANCELLED + + + + No documentation. + + + ERROR_NETNAME_DELETED + ERROR_NETNAME_DELETED + + + + No documentation. + + + ERROR_NETWORK_ACCESS_DENIED + ERROR_NETWORK_ACCESS_DENIED + + + + No documentation. + + + ERROR_BAD_DEV_TYPE + ERROR_BAD_DEV_TYPE + + + + No documentation. + + + ERROR_BAD_NET_NAME + ERROR_BAD_NET_NAME + + + + No documentation. + + + ERROR_TOO_MANY_NAMES + ERROR_TOO_MANY_NAMES + + + + No documentation. + + + ERROR_TOO_MANY_SESS + ERROR_TOO_MANY_SESS + + + + No documentation. + + + ERROR_SHARING_PAUSED + ERROR_SHARING_PAUSED + + + + No documentation. + + + ERROR_REQ_NOT_ACCEP + ERROR_REQ_NOT_ACCEP + + + + No documentation. + + + ERROR_REDIR_PAUSED + ERROR_REDIR_PAUSED + + + + No documentation. + + + ERROR_FILE_EXISTS + ERROR_FILE_EXISTS + + + + No documentation. + + + ERROR_CANNOT_MAKE + ERROR_CANNOT_MAKE + + + + No documentation. + + + ERROR_FAIL_I24 + ERROR_FAIL_I24 + + + + No documentation. + + + ERROR_OUT_OF_STRUCTURES + ERROR_OUT_OF_STRUCTURES + + + + No documentation. + + + ERROR_ALREADY_ASSIGNED + ERROR_ALREADY_ASSIGNED + + + + No documentation. + + + ERROR_INVALID_PASSWORD + ERROR_INVALID_PASSWORD + + + + No documentation. + + + ERROR_INVALID_PARAMETER + ERROR_INVALID_PARAMETER + + + + No documentation. + + + ERROR_NET_WRITE_FAULT + ERROR_NET_WRITE_FAULT + + + + No documentation. + + + ERROR_NO_PROC_SLOTS + ERROR_NO_PROC_SLOTS + + + + No documentation. + + + ERROR_TOO_MANY_SEMAPHORES + ERROR_TOO_MANY_SEMAPHORES + + + + No documentation. + + + ERROR_EXCL_SEM_ALREADY_OWNED + ERROR_EXCL_SEM_ALREADY_OWNED + + + + No documentation. + + + ERROR_SEM_IS_SET + ERROR_SEM_IS_SET + + + + No documentation. + + + ERROR_TOO_MANY_SEM_REQUESTS + ERROR_TOO_MANY_SEM_REQUESTS + + + + No documentation. + + + ERROR_INVALID_AT_INTERRUPT_TIME + ERROR_INVALID_AT_INTERRUPT_TIME + + + + No documentation. + + + ERROR_SEM_OWNER_DIED + ERROR_SEM_OWNER_DIED + + + + No documentation. + + + ERROR_SEM_USER_LIMIT + ERROR_SEM_USER_LIMIT + + + + No documentation. + + + ERROR_DISK_CHANGE + ERROR_DISK_CHANGE + + + + No documentation. + + + ERROR_DRIVE_LOCKED + ERROR_DRIVE_LOCKED + + + + No documentation. + + + ERROR_BROKEN_PIPE + ERROR_BROKEN_PIPE + + + + No documentation. + + + ERROR_OPEN_FAILED + ERROR_OPEN_FAILED + + + + No documentation. + + + ERROR_BUFFER_OVERFLOW + ERROR_BUFFER_OVERFLOW + + + + No documentation. + + + ERROR_DISK_FULL + ERROR_DISK_FULL + + + + No documentation. + + + ERROR_NO_MORE_SEARCH_HANDLES + ERROR_NO_MORE_SEARCH_HANDLES + + + + No documentation. + + + ERROR_INVALID_TARGET_HANDLE + ERROR_INVALID_TARGET_HANDLE + + + + No documentation. + + + ERROR_INVALID_CATEGORY + ERROR_INVALID_CATEGORY + + + + No documentation. + + + ERROR_INVALID_VERIFY_SWITCH + ERROR_INVALID_VERIFY_SWITCH + + + + No documentation. + + + ERROR_BAD_DRIVER_LEVEL + ERROR_BAD_DRIVER_LEVEL + + + + No documentation. + + + ERROR_CALL_NOT_IMPLEMENTED + ERROR_CALL_NOT_IMPLEMENTED + + + + No documentation. + + + ERROR_SEM_TIMEOUT + ERROR_SEM_TIMEOUT + + + + No documentation. + + + ERROR_INSUFFICIENT_BUFFER + ERROR_INSUFFICIENT_BUFFER + + + + No documentation. + + + ERROR_INVALID_NAME + ERROR_INVALID_NAME + + + + No documentation. + + + ERROR_INVALID_LEVEL + ERROR_INVALID_LEVEL + + + + No documentation. + + + ERROR_NO_VOLUME_LABEL + ERROR_NO_VOLUME_LABEL + + + + No documentation. + + + ERROR_MOD_NOT_FOUND + ERROR_MOD_NOT_FOUND + + + + No documentation. + + + ERROR_PROC_NOT_FOUND + ERROR_PROC_NOT_FOUND + + + + No documentation. + + + ERROR_WAIT_NO_CHILDREN + ERROR_WAIT_NO_CHILDREN + + + + No documentation. + + + ERROR_CHILD_NOT_COMPLETE + ERROR_CHILD_NOT_COMPLETE + + + + No documentation. + + + ERROR_DIRECT_ACCESS_HANDLE + ERROR_DIRECT_ACCESS_HANDLE + + + + No documentation. + + + ERROR_NEGATIVE_SEEK + ERROR_NEGATIVE_SEEK + + + + No documentation. + + + ERROR_SEEK_ON_DEVICE + ERROR_SEEK_ON_DEVICE + + + + No documentation. + + + ERROR_IS_JOIN_TARGET + ERROR_IS_JOIN_TARGET + + + + No documentation. + + + ERROR_IS_JOINED + ERROR_IS_JOINED + + + + No documentation. + + + ERROR_IS_SUBSTED + ERROR_IS_SUBSTED + + + + No documentation. + + + ERROR_NOT_JOINED + ERROR_NOT_JOINED + + + + No documentation. + + + ERROR_NOT_SUBSTED + ERROR_NOT_SUBSTED + + + + No documentation. + + + ERROR_JOIN_TO_JOIN + ERROR_JOIN_TO_JOIN + + + + No documentation. + + + ERROR_SUBST_TO_SUBST + ERROR_SUBST_TO_SUBST + + + + No documentation. + + + ERROR_JOIN_TO_SUBST + ERROR_JOIN_TO_SUBST + + + + No documentation. + + + ERROR_SUBST_TO_JOIN + ERROR_SUBST_TO_JOIN + + + + No documentation. + + + ERROR_BUSY_DRIVE + ERROR_BUSY_DRIVE + + + + No documentation. + + + ERROR_SAME_DRIVE + ERROR_SAME_DRIVE + + + + No documentation. + + + ERROR_DIR_NOT_ROOT + ERROR_DIR_NOT_ROOT + + + + No documentation. + + + ERROR_DIR_NOT_EMPTY + ERROR_DIR_NOT_EMPTY + + + + No documentation. + + + ERROR_IS_SUBST_PATH + ERROR_IS_SUBST_PATH + + + + No documentation. + + + ERROR_IS_JOIN_PATH + ERROR_IS_JOIN_PATH + + + + No documentation. + + + ERROR_PATH_BUSY + ERROR_PATH_BUSY + + + + No documentation. + + + ERROR_IS_SUBST_TARGET + ERROR_IS_SUBST_TARGET + + + + No documentation. + + + ERROR_SYSTEM_TRACE + ERROR_SYSTEM_TRACE + + + + No documentation. + + + ERROR_INVALID_EVENT_COUNT + ERROR_INVALID_EVENT_COUNT + + + + No documentation. + + + ERROR_TOO_MANY_MUXWAITERS + ERROR_TOO_MANY_MUXWAITERS + + + + No documentation. + + + ERROR_INVALID_LIST_FORMAT + ERROR_INVALID_LIST_FORMAT + + + + No documentation. + + + ERROR_LABEL_TOO_LONG + ERROR_LABEL_TOO_LONG + + + + No documentation. + + + ERROR_TOO_MANY_TCBS + ERROR_TOO_MANY_TCBS + + + + No documentation. + + + ERROR_SIGNAL_REFUSED + ERROR_SIGNAL_REFUSED + + + + No documentation. + + + ERROR_DISCARDED + ERROR_DISCARDED + + + + No documentation. + + + ERROR_NOT_LOCKED + ERROR_NOT_LOCKED + + + + No documentation. + + + ERROR_BAD_THREADID_ADDR + ERROR_BAD_THREADID_ADDR + + + + No documentation. + + + ERROR_BAD_ARGUMENTS + ERROR_BAD_ARGUMENTS + + + + No documentation. + + + ERROR_BAD_PATHNAME + ERROR_BAD_PATHNAME + + + + No documentation. + + + ERROR_SIGNAL_PENDING + ERROR_SIGNAL_PENDING + + + + No documentation. + + + ERROR_MAX_THRDS_REACHED + ERROR_MAX_THRDS_REACHED + + + + No documentation. + + + ERROR_LOCK_FAILED + ERROR_LOCK_FAILED + + + + No documentation. + + + ERROR_BUSY + ERROR_BUSY + + + + No documentation. + + + ERROR_CANCEL_VIOLATION + ERROR_CANCEL_VIOLATION + + + + No documentation. + + + ERROR_ATOMIC_LOCKS_NOT_SUPPORTED + ERROR_ATOMIC_LOCKS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_INVALID_SEGMENT_NUMBER + ERROR_INVALID_SEGMENT_NUMBER + + + + No documentation. + + + ERROR_INVALID_ORDINAL + ERROR_INVALID_ORDINAL + + + + No documentation. + + + ERROR_ALREADY_EXISTS + ERROR_ALREADY_EXISTS + + + + No documentation. + + + ERROR_INVALID_FLAG_NUMBER + ERROR_INVALID_FLAG_NUMBER + + + + No documentation. + + + ERROR_SEM_NOT_FOUND + ERROR_SEM_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_STARTING_CODESEG + ERROR_INVALID_STARTING_CODESEG + + + + No documentation. + + + ERROR_INVALID_STACKSEG + ERROR_INVALID_STACKSEG + + + + No documentation. + + + ERROR_INVALID_MODULETYPE + ERROR_INVALID_MODULETYPE + + + + No documentation. + + + ERROR_INVALID_EXE_SIGNATURE + ERROR_INVALID_EXE_SIGNATURE + + + + No documentation. + + + ERROR_EXE_MARKED_INVALID + ERROR_EXE_MARKED_INVALID + + + + No documentation. + + + ERROR_BAD_EXE_FORMAT + ERROR_BAD_EXE_FORMAT + + + + No documentation. + + + ERROR_ITERATED_DATA_EXCEEDS_64k + ERROR_ITERATED_DATA_EXCEEDS_64k + + + + No documentation. + + + ERROR_INVALID_MINALLOCSIZE + ERROR_INVALID_MINALLOCSIZE + + + + No documentation. + + + ERROR_DYNLINK_FROM_INVALID_RING + ERROR_DYNLINK_FROM_INVALID_RING + + + + No documentation. + + + ERROR_IOPL_NOT_ENABLED + ERROR_IOPL_NOT_ENABLED + + + + No documentation. + + + ERROR_INVALID_SEGDPL + ERROR_INVALID_SEGDPL + + + + No documentation. + + + ERROR_AUTODATASEG_EXCEEDS_64k + ERROR_AUTODATASEG_EXCEEDS_64k + + + + No documentation. + + + ERROR_RING2SEG_MUST_BE_MOVABLE + ERROR_RING2SEG_MUST_BE_MOVABLE + + + + No documentation. + + + ERROR_RELOC_CHAIN_XEEDS_SEGLIM + ERROR_RELOC_CHAIN_XEEDS_SEGLIM + + + + No documentation. + + + ERROR_INFLOOP_IN_RELOC_CHAIN + ERROR_INFLOOP_IN_RELOC_CHAIN + + + + No documentation. + + + ERROR_ENVVAR_NOT_FOUND + ERROR_ENVVAR_NOT_FOUND + + + + No documentation. + + + ERROR_NO_SIGNAL_SENT + ERROR_NO_SIGNAL_SENT + + + + No documentation. + + + ERROR_FILENAME_EXCED_RANGE + ERROR_FILENAME_EXCED_RANGE + + + + No documentation. + + + ERROR_RING2_STACK_IN_USE + ERROR_RING2_STACK_IN_USE + + + + No documentation. + + + ERROR_META_EXPANSION_TOO_LONG + ERROR_META_EXPANSION_TOO_LONG + + + + No documentation. + + + ERROR_INVALID_SIGNAL_NUMBER + ERROR_INVALID_SIGNAL_NUMBER + + + + No documentation. + + + ERROR_THREAD_1_INACTIVE + ERROR_THREAD_1_INACTIVE + + + + No documentation. + + + ERROR_LOCKED + ERROR_LOCKED + + + + No documentation. + + + ERROR_TOO_MANY_MODULES + ERROR_TOO_MANY_MODULES + + + + No documentation. + + + ERROR_NESTING_NOT_ALLOWED + ERROR_NESTING_NOT_ALLOWED + + + + No documentation. + + + ERROR_EXE_MACHINE_TYPE_MISMATCH + ERROR_EXE_MACHINE_TYPE_MISMATCH + + + + No documentation. + + + ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY + ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY + + + + No documentation. + + + ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY + ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY + + + + No documentation. + + + ERROR_FILE_CHECKED_OUT + ERROR_FILE_CHECKED_OUT + + + + No documentation. + + + ERROR_CHECKOUT_REQUIRED + ERROR_CHECKOUT_REQUIRED + + + + No documentation. + + + ERROR_BAD_FILE_TYPE + ERROR_BAD_FILE_TYPE + + + + No documentation. + + + ERROR_FILE_TOO_LARGE + ERROR_FILE_TOO_LARGE + + + + No documentation. + + + ERROR_FORMS_AUTH_REQUIRED + ERROR_FORMS_AUTH_REQUIRED + + + + No documentation. + + + ERROR_VIRUS_INFECTED + ERROR_VIRUS_INFECTED + + + + No documentation. + + + ERROR_VIRUS_DELETED + ERROR_VIRUS_DELETED + + + + No documentation. + + + ERROR_PIPE_LOCAL + ERROR_PIPE_LOCAL + + + + No documentation. + + + ERROR_BAD_PIPE + ERROR_BAD_PIPE + + + + No documentation. + + + ERROR_PIPE_BUSY + ERROR_PIPE_BUSY + + + + No documentation. + + + ERROR_NO_DATA + ERROR_NO_DATA + + + + No documentation. + + + ERROR_PIPE_NOT_CONNECTED + ERROR_PIPE_NOT_CONNECTED + + + + No documentation. + + + ERROR_MORE_DATA + ERROR_MORE_DATA + + + + No documentation. + + + ERROR_VC_DISCONNECTED + ERROR_VC_DISCONNECTED + + + + No documentation. + + + ERROR_INVALID_EA_NAME + ERROR_INVALID_EA_NAME + + + + No documentation. + + + ERROR_EA_LIST_INCONSISTENT + ERROR_EA_LIST_INCONSISTENT + + + + No documentation. + + + ERROR_NO_MORE_ITEMS + ERROR_NO_MORE_ITEMS + + + + No documentation. + + + ERROR_CANNOT_COPY + ERROR_CANNOT_COPY + + + + No documentation. + + + ERROR_DIRECTORY + ERROR_DIRECTORY + + + + No documentation. + + + ERROR_EAS_DIDNT_FIT + ERROR_EAS_DIDNT_FIT + + + + No documentation. + + + ERROR_EA_FILE_CORRUPT + ERROR_EA_FILE_CORRUPT + + + + No documentation. + + + ERROR_EA_TABLE_FULL + ERROR_EA_TABLE_FULL + + + + No documentation. + + + ERROR_INVALID_EA_HANDLE + ERROR_INVALID_EA_HANDLE + + + + No documentation. + + + ERROR_EAS_NOT_SUPPORTED + ERROR_EAS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_NOT_OWNER + ERROR_NOT_OWNER + + + + No documentation. + + + ERROR_TOO_MANY_POSTS + ERROR_TOO_MANY_POSTS + + + + No documentation. + + + ERROR_PARTIAL_COPY + ERROR_PARTIAL_COPY + + + + No documentation. + + + ERROR_OPLOCK_NOT_GRANTED + ERROR_OPLOCK_NOT_GRANTED + + + + No documentation. + + + ERROR_INVALID_OPLOCK_PROTOCOL + ERROR_INVALID_OPLOCK_PROTOCOL + + + + No documentation. + + + ERROR_DISK_TOO_FRAGMENTED + ERROR_DISK_TOO_FRAGMENTED + + + + No documentation. + + + ERROR_DELETE_PENDING + ERROR_DELETE_PENDING + + + + No documentation. + + + ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING + ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING + + + + No documentation. + + + ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME + ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME + + + + No documentation. + + + ERROR_SECURITY_STREAM_IS_INCONSISTENT + ERROR_SECURITY_STREAM_IS_INCONSISTENT + + + + No documentation. + + + ERROR_INVALID_LOCK_RANGE + ERROR_INVALID_LOCK_RANGE + + + + No documentation. + + + ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT + ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT + + + + No documentation. + + + ERROR_NOTIFICATION_GUID_ALREADY_DEFINED + ERROR_NOTIFICATION_GUID_ALREADY_DEFINED + + + + No documentation. + + + ERROR_MR_MID_NOT_FOUND + ERROR_MR_MID_NOT_FOUND + + + + No documentation. + + + ERROR_SCOPE_NOT_FOUND + ERROR_SCOPE_NOT_FOUND + + + + No documentation. + + + ERROR_FAIL_NOACTION_REBOOT + ERROR_FAIL_NOACTION_REBOOT + + + + No documentation. + + + ERROR_FAIL_SHUTDOWN + ERROR_FAIL_SHUTDOWN + + + + No documentation. + + + ERROR_FAIL_RESTART + ERROR_FAIL_RESTART + + + + No documentation. + + + ERROR_MAX_SESSIONS_REACHED + ERROR_MAX_SESSIONS_REACHED + + + + No documentation. + + + ERROR_THREAD_MODE_ALREADY_BACKGROUND + ERROR_THREAD_MODE_ALREADY_BACKGROUND + + + + No documentation. + + + ERROR_THREAD_MODE_NOT_BACKGROUND + ERROR_THREAD_MODE_NOT_BACKGROUND + + + + No documentation. + + + ERROR_PROCESS_MODE_ALREADY_BACKGROUND + ERROR_PROCESS_MODE_ALREADY_BACKGROUND + + + + No documentation. + + + ERROR_PROCESS_MODE_NOT_BACKGROUND + ERROR_PROCESS_MODE_NOT_BACKGROUND + + + + No documentation. + + + ERROR_INVALID_ADDRESS + ERROR_INVALID_ADDRESS + + + + No documentation. + + + ERROR_USER_PROFILE_LOAD + ERROR_USER_PROFILE_LOAD + + + + No documentation. + + + ERROR_ARITHMETIC_OVERFLOW + ERROR_ARITHMETIC_OVERFLOW + + + + No documentation. + + + ERROR_PIPE_CONNECTED + ERROR_PIPE_CONNECTED + + + + No documentation. + + + ERROR_PIPE_LISTENING + ERROR_PIPE_LISTENING + + + + No documentation. + + + ERROR_VERIFIER_STOP + ERROR_VERIFIER_STOP + + + + No documentation. + + + ERROR_ABIOS_ERROR + ERROR_ABIOS_ERROR + + + + No documentation. + + + ERROR_WX86_WARNING + ERROR_WX86_WARNING + + + + No documentation. + + + ERROR_WX86_ERROR + ERROR_WX86_ERROR + + + + No documentation. + + + ERROR_TIMER_NOT_CANCELED + ERROR_TIMER_NOT_CANCELED + + + + No documentation. + + + ERROR_UNWIND + ERROR_UNWIND + + + + No documentation. + + + ERROR_BAD_STACK + ERROR_BAD_STACK + + + + No documentation. + + + ERROR_INVALID_UNWIND_TARGET + ERROR_INVALID_UNWIND_TARGET + + + + No documentation. + + + ERROR_INVALID_PORT_ATTRIBUTES + ERROR_INVALID_PORT_ATTRIBUTES + + + + No documentation. + + + ERROR_PORT_MESSAGE_TOO_LONG + ERROR_PORT_MESSAGE_TOO_LONG + + + + No documentation. + + + ERROR_INVALID_QUOTA_LOWER + ERROR_INVALID_QUOTA_LOWER + + + + No documentation. + + + ERROR_DEVICE_ALREADY_ATTACHED + ERROR_DEVICE_ALREADY_ATTACHED + + + + No documentation. + + + ERROR_INSTRUCTION_MISALIGNMENT + ERROR_INSTRUCTION_MISALIGNMENT + + + + No documentation. + + + ERROR_PROFILING_NOT_STARTED + ERROR_PROFILING_NOT_STARTED + + + + No documentation. + + + ERROR_PROFILING_NOT_STOPPED + ERROR_PROFILING_NOT_STOPPED + + + + No documentation. + + + ERROR_COULD_NOT_INTERPRET + ERROR_COULD_NOT_INTERPRET + + + + No documentation. + + + ERROR_PROFILING_AT_LIMIT + ERROR_PROFILING_AT_LIMIT + + + + No documentation. + + + ERROR_CANT_WAIT + ERROR_CANT_WAIT + + + + No documentation. + + + ERROR_CANT_TERMINATE_SELF + ERROR_CANT_TERMINATE_SELF + + + + No documentation. + + + ERROR_UNEXPECTED_MM_CREATE_ERR + ERROR_UNEXPECTED_MM_CREATE_ERR + + + + No documentation. + + + ERROR_UNEXPECTED_MM_MAP_ERROR + ERROR_UNEXPECTED_MM_MAP_ERROR + + + + No documentation. + + + ERROR_UNEXPECTED_MM_EXTEND_ERR + ERROR_UNEXPECTED_MM_EXTEND_ERR + + + + No documentation. + + + ERROR_BAD_FUNCTION_TABLE + ERROR_BAD_FUNCTION_TABLE + + + + No documentation. + + + ERROR_NO_GUID_TRANSLATION + ERROR_NO_GUID_TRANSLATION + + + + No documentation. + + + ERROR_INVALID_LDT_SIZE + ERROR_INVALID_LDT_SIZE + + + + No documentation. + + + ERROR_INVALID_LDT_OFFSET + ERROR_INVALID_LDT_OFFSET + + + + No documentation. + + + ERROR_INVALID_LDT_DESCRIPTOR + ERROR_INVALID_LDT_DESCRIPTOR + + + + No documentation. + + + ERROR_TOO_MANY_THREADS + ERROR_TOO_MANY_THREADS + + + + No documentation. + + + ERROR_THREAD_NOT_IN_PROCESS + ERROR_THREAD_NOT_IN_PROCESS + + + + No documentation. + + + ERROR_PAGEFILE_QUOTA_EXCEEDED + ERROR_PAGEFILE_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_LOGON_SERVER_CONFLICT + ERROR_LOGON_SERVER_CONFLICT + + + + No documentation. + + + ERROR_SYNCHRONIZATION_REQUIRED + ERROR_SYNCHRONIZATION_REQUIRED + + + + No documentation. + + + ERROR_NET_OPEN_FAILED + ERROR_NET_OPEN_FAILED + + + + No documentation. + + + ERROR_IO_PRIVILEGE_FAILED + ERROR_IO_PRIVILEGE_FAILED + + + + No documentation. + + + ERROR_CONTROL_C_EXIT + ERROR_CONTROL_C_EXIT + + + + No documentation. + + + ERROR_MISSING_SYSTEMFILE + ERROR_MISSING_SYSTEMFILE + + + + No documentation. + + + ERROR_UNHANDLED_EXCEPTION + ERROR_UNHANDLED_EXCEPTION + + + + No documentation. + + + ERROR_APP_INIT_FAILURE + ERROR_APP_INIT_FAILURE + + + + No documentation. + + + ERROR_PAGEFILE_CREATE_FAILED + ERROR_PAGEFILE_CREATE_FAILED + + + + No documentation. + + + ERROR_INVALID_IMAGE_HASH + ERROR_INVALID_IMAGE_HASH + + + + No documentation. + + + ERROR_NO_PAGEFILE + ERROR_NO_PAGEFILE + + + + No documentation. + + + ERROR_ILLEGAL_FLOAT_CONTEXT + ERROR_ILLEGAL_FLOAT_CONTEXT + + + + No documentation. + + + ERROR_NO_EVENT_PAIR + ERROR_NO_EVENT_PAIR + + + + No documentation. + + + ERROR_DOMAIN_CTRLR_CONFIG_ERROR + ERROR_DOMAIN_CTRLR_CONFIG_ERROR + + + + No documentation. + + + ERROR_ILLEGAL_CHARACTER + ERROR_ILLEGAL_CHARACTER + + + + No documentation. + + + ERROR_UNDEFINED_CHARACTER + ERROR_UNDEFINED_CHARACTER + + + + No documentation. + + + ERROR_FLOPPY_VOLUME + ERROR_FLOPPY_VOLUME + + + + No documentation. + + + ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT + ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT + + + + No documentation. + + + ERROR_BACKUP_CONTROLLER + ERROR_BACKUP_CONTROLLER + + + + No documentation. + + + ERROR_MUTANT_LIMIT_EXCEEDED + ERROR_MUTANT_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_FS_DRIVER_REQUIRED + ERROR_FS_DRIVER_REQUIRED + + + + No documentation. + + + ERROR_CANNOT_LOAD_REGISTRY_FILE + ERROR_CANNOT_LOAD_REGISTRY_FILE + + + + No documentation. + + + ERROR_DEBUG_ATTACH_FAILED + ERROR_DEBUG_ATTACH_FAILED + + + + No documentation. + + + ERROR_SYSTEM_PROCESS_TERMINATED + ERROR_SYSTEM_PROCESS_TERMINATED + + + + No documentation. + + + ERROR_DATA_NOT_ACCEPTED + ERROR_DATA_NOT_ACCEPTED + + + + No documentation. + + + ERROR_VDM_HARD_ERROR + ERROR_VDM_HARD_ERROR + + + + No documentation. + + + ERROR_DRIVER_CANCEL_TIMEOUT + ERROR_DRIVER_CANCEL_TIMEOUT + + + + No documentation. + + + ERROR_REPLY_MESSAGE_MISMATCH + ERROR_REPLY_MESSAGE_MISMATCH + + + + No documentation. + + + ERROR_LOST_WRITEBEHIND_DATA + ERROR_LOST_WRITEBEHIND_DATA + + + + No documentation. + + + ERROR_CLIENT_SERVER_PARAMETERS_INVALID + ERROR_CLIENT_SERVER_PARAMETERS_INVALID + + + + No documentation. + + + ERROR_NOT_TINY_STREAM + ERROR_NOT_TINY_STREAM + + + + No documentation. + + + ERROR_STACK_OVERFLOW_READ + ERROR_STACK_OVERFLOW_READ + + + + No documentation. + + + ERROR_CONVERT_TO_LARGE + ERROR_CONVERT_TO_LARGE + + + + No documentation. + + + ERROR_FOUND_OUT_OF_SCOPE + ERROR_FOUND_OUT_OF_SCOPE + + + + No documentation. + + + ERROR_ALLOCATE_BUCKET + ERROR_ALLOCATE_BUCKET + + + + No documentation. + + + ERROR_MARSHALL_OVERFLOW + ERROR_MARSHALL_OVERFLOW + + + + No documentation. + + + ERROR_INVALID_VARIANT + ERROR_INVALID_VARIANT + + + + No documentation. + + + ERROR_BAD_COMPRESSION_BUFFER + ERROR_BAD_COMPRESSION_BUFFER + + + + No documentation. + + + ERROR_AUDIT_FAILED + ERROR_AUDIT_FAILED + + + + No documentation. + + + ERROR_TIMER_RESOLUTION_NOT_SET + ERROR_TIMER_RESOLUTION_NOT_SET + + + + No documentation. + + + ERROR_INSUFFICIENT_LOGON_INFO + ERROR_INSUFFICIENT_LOGON_INFO + + + + No documentation. + + + ERROR_BAD_DLL_ENTRYPOINT + ERROR_BAD_DLL_ENTRYPOINT + + + + No documentation. + + + ERROR_BAD_SERVICE_ENTRYPOINT + ERROR_BAD_SERVICE_ENTRYPOINT + + + + No documentation. + + + ERROR_IP_ADDRESS_CONFLICT1 + ERROR_IP_ADDRESS_CONFLICT1 + + + + No documentation. + + + ERROR_IP_ADDRESS_CONFLICT2 + ERROR_IP_ADDRESS_CONFLICT2 + + + + No documentation. + + + ERROR_REGISTRY_QUOTA_LIMIT + ERROR_REGISTRY_QUOTA_LIMIT + + + + No documentation. + + + ERROR_NO_CALLBACK_ACTIVE + ERROR_NO_CALLBACK_ACTIVE + + + + No documentation. + + + ERROR_PWD_TOO_SHORT + ERROR_PWD_TOO_SHORT + + + + No documentation. + + + ERROR_PWD_TOO_RECENT + ERROR_PWD_TOO_RECENT + + + + No documentation. + + + ERROR_PWD_HISTORY_CONFLICT + ERROR_PWD_HISTORY_CONFLICT + + + + No documentation. + + + ERROR_UNSUPPORTED_COMPRESSION + ERROR_UNSUPPORTED_COMPRESSION + + + + No documentation. + + + ERROR_INVALID_HW_PROFILE + ERROR_INVALID_HW_PROFILE + + + + No documentation. + + + ERROR_INVALID_PLUGPLAY_DEVICE_PATH + ERROR_INVALID_PLUGPLAY_DEVICE_PATH + + + + No documentation. + + + ERROR_QUOTA_LIST_INCONSISTENT + ERROR_QUOTA_LIST_INCONSISTENT + + + + No documentation. + + + ERROR_EVALUATION_EXPIRATION + ERROR_EVALUATION_EXPIRATION + + + + No documentation. + + + ERROR_ILLEGAL_DLL_RELOCATION + ERROR_ILLEGAL_DLL_RELOCATION + + + + No documentation. + + + ERROR_DLL_INIT_FAILED_LOGOFF + ERROR_DLL_INIT_FAILED_LOGOFF + + + + No documentation. + + + ERROR_VALIDATE_CONTINUE + ERROR_VALIDATE_CONTINUE + + + + No documentation. + + + ERROR_NO_MORE_MATCHES + ERROR_NO_MORE_MATCHES + + + + No documentation. + + + ERROR_RANGE_LIST_CONFLICT + ERROR_RANGE_LIST_CONFLICT + + + + No documentation. + + + ERROR_SERVER_SID_MISMATCH + ERROR_SERVER_SID_MISMATCH + + + + No documentation. + + + ERROR_CANT_ENABLE_DENY_ONLY + ERROR_CANT_ENABLE_DENY_ONLY + + + + No documentation. + + + ERROR_FLOAT_MULTIPLE_FAULTS + ERROR_FLOAT_MULTIPLE_FAULTS + + + + No documentation. + + + ERROR_FLOAT_MULTIPLE_TRAPS + ERROR_FLOAT_MULTIPLE_TRAPS + + + + No documentation. + + + ERROR_NOINTERFACE + ERROR_NOINTERFACE + + + + No documentation. + + + ERROR_DRIVER_FAILED_SLEEP + ERROR_DRIVER_FAILED_SLEEP + + + + No documentation. + + + ERROR_CORRUPT_SYSTEM_FILE + ERROR_CORRUPT_SYSTEM_FILE + + + + No documentation. + + + ERROR_COMMITMENT_MINIMUM + ERROR_COMMITMENT_MINIMUM + + + + No documentation. + + + ERROR_PNP_RESTART_ENUMERATION + ERROR_PNP_RESTART_ENUMERATION + + + + No documentation. + + + ERROR_SYSTEM_IMAGE_BAD_SIGNATURE + ERROR_SYSTEM_IMAGE_BAD_SIGNATURE + + + + No documentation. + + + ERROR_PNP_REBOOT_REQUIRED + ERROR_PNP_REBOOT_REQUIRED + + + + No documentation. + + + ERROR_INSUFFICIENT_POWER + ERROR_INSUFFICIENT_POWER + + + + No documentation. + + + ERROR_MULTIPLE_FAULT_VIOLATION + ERROR_MULTIPLE_FAULT_VIOLATION + + + + No documentation. + + + ERROR_SYSTEM_SHUTDOWN + ERROR_SYSTEM_SHUTDOWN + + + + No documentation. + + + ERROR_PORT_NOT_SET + ERROR_PORT_NOT_SET + + + + No documentation. + + + ERROR_DS_VERSION_CHECK_FAILURE + ERROR_DS_VERSION_CHECK_FAILURE + + + + No documentation. + + + ERROR_RANGE_NOT_FOUND + ERROR_RANGE_NOT_FOUND + + + + No documentation. + + + ERROR_NOT_SAFE_MODE_DRIVER + ERROR_NOT_SAFE_MODE_DRIVER + + + + No documentation. + + + ERROR_FAILED_DRIVER_ENTRY + ERROR_FAILED_DRIVER_ENTRY + + + + No documentation. + + + ERROR_DEVICE_ENUMERATION_ERROR + ERROR_DEVICE_ENUMERATION_ERROR + + + + No documentation. + + + ERROR_MOUNT_POINT_NOT_RESOLVED + ERROR_MOUNT_POINT_NOT_RESOLVED + + + + No documentation. + + + ERROR_INVALID_DEVICE_OBJECT_PARAMETER + ERROR_INVALID_DEVICE_OBJECT_PARAMETER + + + + No documentation. + + + ERROR_MCA_OCCURED + ERROR_MCA_OCCURED + + + + No documentation. + + + ERROR_DRIVER_DATABASE_ERROR + ERROR_DRIVER_DATABASE_ERROR + + + + No documentation. + + + ERROR_SYSTEM_HIVE_TOO_LARGE + ERROR_SYSTEM_HIVE_TOO_LARGE + + + + No documentation. + + + ERROR_DRIVER_FAILED_PRIOR_UNLOAD + ERROR_DRIVER_FAILED_PRIOR_UNLOAD + + + + No documentation. + + + ERROR_VOLSNAP_PREPARE_HIBERNATE + ERROR_VOLSNAP_PREPARE_HIBERNATE + + + + No documentation. + + + ERROR_HIBERNATION_FAILURE + ERROR_HIBERNATION_FAILURE + + + + No documentation. + + + ERROR_FILE_SYSTEM_LIMITATION + ERROR_FILE_SYSTEM_LIMITATION + + + + No documentation. + + + ERROR_ASSERTION_FAILURE + ERROR_ASSERTION_FAILURE + + + + No documentation. + + + ERROR_ACPI_ERROR + ERROR_ACPI_ERROR + + + + No documentation. + + + ERROR_WOW_ASSERTION + ERROR_WOW_ASSERTION + + + + No documentation. + + + ERROR_PNP_BAD_MPS_TABLE + ERROR_PNP_BAD_MPS_TABLE + + + + No documentation. + + + ERROR_PNP_TRANSLATION_FAILED + ERROR_PNP_TRANSLATION_FAILED + + + + No documentation. + + + ERROR_PNP_IRQ_TRANSLATION_FAILED + ERROR_PNP_IRQ_TRANSLATION_FAILED + + + + No documentation. + + + ERROR_PNP_INVALID_ID + ERROR_PNP_INVALID_ID + + + + No documentation. + + + ERROR_WAKE_SYSTEM_DEBUGGER + ERROR_WAKE_SYSTEM_DEBUGGER + + + + No documentation. + + + ERROR_HANDLES_CLOSED + ERROR_HANDLES_CLOSED + + + + No documentation. + + + ERROR_EXTRANEOUS_INFORMATION + ERROR_EXTRANEOUS_INFORMATION + + + + No documentation. + + + ERROR_RXACT_COMMIT_NECESSARY + ERROR_RXACT_COMMIT_NECESSARY + + + + No documentation. + + + ERROR_MEDIA_CHECK + ERROR_MEDIA_CHECK + + + + No documentation. + + + ERROR_GUID_SUBSTITUTION_MADE + ERROR_GUID_SUBSTITUTION_MADE + + + + No documentation. + + + ERROR_STOPPED_ON_SYMLINK + ERROR_STOPPED_ON_SYMLINK + + + + No documentation. + + + ERROR_LONGJUMP + ERROR_LONGJUMP + + + + No documentation. + + + ERROR_PLUGPLAY_QUERY_VETOED + ERROR_PLUGPLAY_QUERY_VETOED + + + + No documentation. + + + ERROR_UNWIND_CONSOLIDATE + ERROR_UNWIND_CONSOLIDATE + + + + No documentation. + + + ERROR_REGISTRY_HIVE_RECOVERED + ERROR_REGISTRY_HIVE_RECOVERED + + + + No documentation. + + + ERROR_DLL_MIGHT_BE_INSECURE + ERROR_DLL_MIGHT_BE_INSECURE + + + + No documentation. + + + ERROR_DLL_MIGHT_BE_INCOMPATIBLE + ERROR_DLL_MIGHT_BE_INCOMPATIBLE + + + + No documentation. + + + ERROR_DBG_EXCEPTION_NOT_HANDLED + ERROR_DBG_EXCEPTION_NOT_HANDLED + + + + No documentation. + + + ERROR_DBG_REPLY_LATER + ERROR_DBG_REPLY_LATER + + + + No documentation. + + + ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE + ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE + + + + No documentation. + + + ERROR_DBG_TERMINATE_THREAD + ERROR_DBG_TERMINATE_THREAD + + + + No documentation. + + + ERROR_DBG_TERMINATE_PROCESS + ERROR_DBG_TERMINATE_PROCESS + + + + No documentation. + + + ERROR_DBG_CONTROL_C + ERROR_DBG_CONTROL_C + + + + No documentation. + + + ERROR_DBG_PRINTEXCEPTION_C + ERROR_DBG_PRINTEXCEPTION_C + + + + No documentation. + + + ERROR_DBG_RIPEXCEPTION + ERROR_DBG_RIPEXCEPTION + + + + No documentation. + + + ERROR_DBG_CONTROL_BREAK + ERROR_DBG_CONTROL_BREAK + + + + No documentation. + + + ERROR_DBG_COMMAND_EXCEPTION + ERROR_DBG_COMMAND_EXCEPTION + + + + No documentation. + + + ERROR_OBJECT_NAME_EXISTS + ERROR_OBJECT_NAME_EXISTS + + + + No documentation. + + + ERROR_THREAD_WAS_SUSPENDED + ERROR_THREAD_WAS_SUSPENDED + + + + No documentation. + + + ERROR_IMAGE_NOT_AT_BASE + ERROR_IMAGE_NOT_AT_BASE + + + + No documentation. + + + ERROR_RXACT_STATE_CREATED + ERROR_RXACT_STATE_CREATED + + + + No documentation. + + + ERROR_SEGMENT_NOTIFICATION + ERROR_SEGMENT_NOTIFICATION + + + + No documentation. + + + ERROR_BAD_CURRENT_DIRECTORY + ERROR_BAD_CURRENT_DIRECTORY + + + + No documentation. + + + ERROR_FT_READ_RECOVERY_FROM_BACKUP + ERROR_FT_READ_RECOVERY_FROM_BACKUP + + + + No documentation. + + + ERROR_FT_WRITE_RECOVERY + ERROR_FT_WRITE_RECOVERY + + + + No documentation. + + + ERROR_IMAGE_MACHINE_TYPE_MISMATCH + ERROR_IMAGE_MACHINE_TYPE_MISMATCH + + + + No documentation. + + + ERROR_RECEIVE_PARTIAL + ERROR_RECEIVE_PARTIAL + + + + No documentation. + + + ERROR_RECEIVE_EXPEDITED + ERROR_RECEIVE_EXPEDITED + + + + No documentation. + + + ERROR_RECEIVE_PARTIAL_EXPEDITED + ERROR_RECEIVE_PARTIAL_EXPEDITED + + + + No documentation. + + + ERROR_EVENT_DONE + ERROR_EVENT_DONE + + + + No documentation. + + + ERROR_EVENT_PENDING + ERROR_EVENT_PENDING + + + + No documentation. + + + ERROR_CHECKING_FILE_SYSTEM + ERROR_CHECKING_FILE_SYSTEM + + + + No documentation. + + + ERROR_FATAL_APP_EXIT + ERROR_FATAL_APP_EXIT + + + + No documentation. + + + ERROR_PREDEFINED_HANDLE + ERROR_PREDEFINED_HANDLE + + + + No documentation. + + + ERROR_WAS_UNLOCKED + ERROR_WAS_UNLOCKED + + + + No documentation. + + + ERROR_SERVICE_NOTIFICATION + ERROR_SERVICE_NOTIFICATION + + + + No documentation. + + + ERROR_WAS_LOCKED + ERROR_WAS_LOCKED + + + + No documentation. + + + ERROR_LOG_HARD_ERROR + ERROR_LOG_HARD_ERROR + + + + No documentation. + + + ERROR_ALREADY_WIN32 + ERROR_ALREADY_WIN32 + + + + No documentation. + + + ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE + ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE + + + + No documentation. + + + ERROR_NO_YIELD_PERFORMED + ERROR_NO_YIELD_PERFORMED + + + + No documentation. + + + ERROR_TIMER_RESUME_IGNORED + ERROR_TIMER_RESUME_IGNORED + + + + No documentation. + + + ERROR_ARBITRATION_UNHANDLED + ERROR_ARBITRATION_UNHANDLED + + + + No documentation. + + + ERROR_CARDBUS_NOT_SUPPORTED + ERROR_CARDBUS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_MP_PROCESSOR_MISMATCH + ERROR_MP_PROCESSOR_MISMATCH + + + + No documentation. + + + ERROR_HIBERNATED + ERROR_HIBERNATED + + + + No documentation. + + + ERROR_RESUME_HIBERNATION + ERROR_RESUME_HIBERNATION + + + + No documentation. + + + ERROR_FIRMWARE_UPDATED + ERROR_FIRMWARE_UPDATED + + + + No documentation. + + + ERROR_DRIVERS_LEAKING_LOCKED_PAGES + ERROR_DRIVERS_LEAKING_LOCKED_PAGES + + + + No documentation. + + + ERROR_WAKE_SYSTEM + ERROR_WAKE_SYSTEM + + + + No documentation. + + + ERROR_WAIT_1 + ERROR_WAIT_1 + + + + No documentation. + + + ERROR_WAIT_2 + ERROR_WAIT_2 + + + + No documentation. + + + ERROR_WAIT_3 + ERROR_WAIT_3 + + + + No documentation. + + + ERROR_WAIT_63 + ERROR_WAIT_63 + + + + No documentation. + + + ERROR_ABANDONED_WAIT_0 + ERROR_ABANDONED_WAIT_0 + + + + No documentation. + + + ERROR_ABANDONED_WAIT_63 + ERROR_ABANDONED_WAIT_63 + + + + No documentation. + + + ERROR_USER_APC + ERROR_USER_APC + + + + No documentation. + + + ERROR_KERNEL_APC + ERROR_KERNEL_APC + + + + No documentation. + + + ERROR_ALERTED + ERROR_ALERTED + + + + No documentation. + + + ERROR_ELEVATION_REQUIRED + ERROR_ELEVATION_REQUIRED + + + + No documentation. + + + ERROR_REPARSE + ERROR_REPARSE + + + + No documentation. + + + ERROR_OPLOCK_BREAK_IN_PROGRESS + ERROR_OPLOCK_BREAK_IN_PROGRESS + + + + No documentation. + + + ERROR_VOLUME_MOUNTED + ERROR_VOLUME_MOUNTED + + + + No documentation. + + + ERROR_RXACT_COMMITTED + ERROR_RXACT_COMMITTED + + + + No documentation. + + + ERROR_NOTIFY_CLEANUP + ERROR_NOTIFY_CLEANUP + + + + No documentation. + + + ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED + ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED + + + + No documentation. + + + ERROR_PAGE_FAULT_TRANSITION + ERROR_PAGE_FAULT_TRANSITION + + + + No documentation. + + + ERROR_PAGE_FAULT_DEMAND_ZERO + ERROR_PAGE_FAULT_DEMAND_ZERO + + + + No documentation. + + + ERROR_PAGE_FAULT_COPY_ON_WRITE + ERROR_PAGE_FAULT_COPY_ON_WRITE + + + + No documentation. + + + ERROR_PAGE_FAULT_GUARD_PAGE + ERROR_PAGE_FAULT_GUARD_PAGE + + + + No documentation. + + + ERROR_PAGE_FAULT_PAGING_FILE + ERROR_PAGE_FAULT_PAGING_FILE + + + + No documentation. + + + ERROR_CACHE_PAGE_LOCKED + ERROR_CACHE_PAGE_LOCKED + + + + No documentation. + + + ERROR_CRASH_DUMP + ERROR_CRASH_DUMP + + + + No documentation. + + + ERROR_BUFFER_ALL_ZEROS + ERROR_BUFFER_ALL_ZEROS + + + + No documentation. + + + ERROR_REPARSE_OBJECT + ERROR_REPARSE_OBJECT + + + + No documentation. + + + ERROR_RESOURCE_REQUIREMENTS_CHANGED + ERROR_RESOURCE_REQUIREMENTS_CHANGED + + + + No documentation. + + + ERROR_TRANSLATION_COMPLETE + ERROR_TRANSLATION_COMPLETE + + + + No documentation. + + + ERROR_NOTHING_TO_TERMINATE + ERROR_NOTHING_TO_TERMINATE + + + + No documentation. + + + ERROR_PROCESS_NOT_IN_JOB + ERROR_PROCESS_NOT_IN_JOB + + + + No documentation. + + + ERROR_PROCESS_IN_JOB + ERROR_PROCESS_IN_JOB + + + + No documentation. + + + ERROR_VOLSNAP_HIBERNATE_READY + ERROR_VOLSNAP_HIBERNATE_READY + + + + No documentation. + + + ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY + ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY + + + + No documentation. + + + ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED + ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED + + + + No documentation. + + + ERROR_INTERRUPT_STILL_CONNECTED + ERROR_INTERRUPT_STILL_CONNECTED + + + + No documentation. + + + ERROR_WAIT_FOR_OPLOCK + ERROR_WAIT_FOR_OPLOCK + + + + No documentation. + + + ERROR_DBG_EXCEPTION_HANDLED + ERROR_DBG_EXCEPTION_HANDLED + + + + No documentation. + + + ERROR_DBG_CONTINUE + ERROR_DBG_CONTINUE + + + + No documentation. + + + ERROR_CALLBACK_POP_STACK + ERROR_CALLBACK_POP_STACK + + + + No documentation. + + + ERROR_COMPRESSION_DISABLED + ERROR_COMPRESSION_DISABLED + + + + No documentation. + + + ERROR_CANTFETCHBACKWARDS + ERROR_CANTFETCHBACKWARDS + + + + No documentation. + + + ERROR_CANTSCROLLBACKWARDS + ERROR_CANTSCROLLBACKWARDS + + + + No documentation. + + + ERROR_ROWSNOTRELEASED + ERROR_ROWSNOTRELEASED + + + + No documentation. + + + ERROR_BAD_ACCESSOR_FLAGS + ERROR_BAD_ACCESSOR_FLAGS + + + + No documentation. + + + ERROR_ERRORS_ENCOUNTERED + ERROR_ERRORS_ENCOUNTERED + + + + No documentation. + + + ERROR_NOT_CAPABLE + ERROR_NOT_CAPABLE + + + + No documentation. + + + ERROR_REQUEST_OUT_OF_SEQUENCE + ERROR_REQUEST_OUT_OF_SEQUENCE + + + + No documentation. + + + ERROR_VERSION_PARSE_ERROR + ERROR_VERSION_PARSE_ERROR + + + + No documentation. + + + ERROR_BADSTARTPOSITION + ERROR_BADSTARTPOSITION + + + + No documentation. + + + ERROR_MEMORY_HARDWARE + ERROR_MEMORY_HARDWARE + + + + No documentation. + + + ERROR_DISK_REPAIR_DISABLED + ERROR_DISK_REPAIR_DISABLED + + + + No documentation. + + + ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE + ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE + + + + No documentation. + + + ERROR_SYSTEM_POWERSTATE_TRANSITION + ERROR_SYSTEM_POWERSTATE_TRANSITION + + + + No documentation. + + + ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION + ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION + + + + No documentation. + + + ERROR_MCA_EXCEPTION + ERROR_MCA_EXCEPTION + + + + No documentation. + + + ERROR_ACCESS_AUDIT_BY_POLICY + ERROR_ACCESS_AUDIT_BY_POLICY + + + + No documentation. + + + ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY + ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY + + + + No documentation. + + + ERROR_ABANDON_HIBERFILE + ERROR_ABANDON_HIBERFILE + + + + No documentation. + + + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED + + + + No documentation. + + + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR + + + + No documentation. + + + ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR + ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR + + + + No documentation. + + + ERROR_BAD_MCFG_TABLE + ERROR_BAD_MCFG_TABLE + + + + No documentation. + + + ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE + ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE + + + + No documentation. + + + ERROR_CANNOT_GRANT_REQUESTED_OPLOCK + ERROR_CANNOT_GRANT_REQUESTED_OPLOCK + + + + No documentation. + + + ERROR_CANNOT_BREAK_OPLOCK + ERROR_CANNOT_BREAK_OPLOCK + + + + No documentation. + + + ERROR_OPLOCK_HANDLE_CLOSED + ERROR_OPLOCK_HANDLE_CLOSED + + + + No documentation. + + + ERROR_NO_ACE_CONDITION + ERROR_NO_ACE_CONDITION + + + + No documentation. + + + ERROR_INVALID_ACE_CONDITION + ERROR_INVALID_ACE_CONDITION + + + + No documentation. + + + ERROR_EA_ACCESS_DENIED + ERROR_EA_ACCESS_DENIED + + + + No documentation. + + + ERROR_OPERATION_ABORTED + ERROR_OPERATION_ABORTED + + + + No documentation. + + + ERROR_IO_INCOMPLETE + ERROR_IO_INCOMPLETE + + + + No documentation. + + + ERROR_IO_PENDING + ERROR_IO_PENDING + + + + No documentation. + + + ERROR_NOACCESS + ERROR_NOACCESS + + + + No documentation. + + + ERROR_SWAPERROR + ERROR_SWAPERROR + + + + No documentation. + + + ERROR_STACK_OVERFLOW + ERROR_STACK_OVERFLOW + + + + No documentation. + + + ERROR_INVALID_MESSAGE + ERROR_INVALID_MESSAGE + + + + No documentation. + + + ERROR_CAN_NOT_COMPLETE + ERROR_CAN_NOT_COMPLETE + + + + No documentation. + + + ERROR_INVALID_FLAGS + ERROR_INVALID_FLAGS + + + + No documentation. + + + ERROR_UNRECOGNIZED_VOLUME + ERROR_UNRECOGNIZED_VOLUME + + + + No documentation. + + + ERROR_FILE_INVALID + ERROR_FILE_INVALID + + + + No documentation. + + + ERROR_FULLSCREEN_MODE + ERROR_FULLSCREEN_MODE + + + + No documentation. + + + ERROR_NO_TOKEN + ERROR_NO_TOKEN + + + + No documentation. + + + ERROR_BADDB + ERROR_BADDB + + + + No documentation. + + + ERROR_BADKEY + ERROR_BADKEY + + + + No documentation. + + + ERROR_CANTOPEN + ERROR_CANTOPEN + + + + No documentation. + + + ERROR_CANTREAD + ERROR_CANTREAD + + + + No documentation. + + + ERROR_CANTWRITE + ERROR_CANTWRITE + + + + No documentation. + + + ERROR_REGISTRY_RECOVERED + ERROR_REGISTRY_RECOVERED + + + + No documentation. + + + ERROR_REGISTRY_CORRUPT + ERROR_REGISTRY_CORRUPT + + + + No documentation. + + + ERROR_REGISTRY_IO_FAILED + ERROR_REGISTRY_IO_FAILED + + + + No documentation. + + + ERROR_NOT_REGISTRY_FILE + ERROR_NOT_REGISTRY_FILE + + + + No documentation. + + + ERROR_KEY_DELETED + ERROR_KEY_DELETED + + + + No documentation. + + + ERROR_NO_LOG_SPACE + ERROR_NO_LOG_SPACE + + + + No documentation. + + + ERROR_KEY_HAS_CHILDREN + ERROR_KEY_HAS_CHILDREN + + + + No documentation. + + + ERROR_CHILD_MUST_BE_VOLATILE + ERROR_CHILD_MUST_BE_VOLATILE + + + + No documentation. + + + ERROR_NOTIFY_ENUM_DIR + ERROR_NOTIFY_ENUM_DIR + + + + No documentation. + + + ERROR_DEPENDENT_SERVICES_RUNNING + ERROR_DEPENDENT_SERVICES_RUNNING + + + + No documentation. + + + ERROR_INVALID_SERVICE_CONTROL + ERROR_INVALID_SERVICE_CONTROL + + + + No documentation. + + + ERROR_SERVICE_REQUEST_TIMEOUT + ERROR_SERVICE_REQUEST_TIMEOUT + + + + No documentation. + + + ERROR_SERVICE_NO_THREAD + ERROR_SERVICE_NO_THREAD + + + + No documentation. + + + ERROR_SERVICE_DATABASE_LOCKED + ERROR_SERVICE_DATABASE_LOCKED + + + + No documentation. + + + ERROR_SERVICE_ALREADY_RUNNING + ERROR_SERVICE_ALREADY_RUNNING + + + + No documentation. + + + ERROR_INVALID_SERVICE_ACCOUNT + ERROR_INVALID_SERVICE_ACCOUNT + + + + No documentation. + + + ERROR_SERVICE_DISABLED + ERROR_SERVICE_DISABLED + + + + No documentation. + + + ERROR_CIRCULAR_DEPENDENCY + ERROR_CIRCULAR_DEPENDENCY + + + + No documentation. + + + ERROR_SERVICE_DOES_NOT_EXIST + ERROR_SERVICE_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_SERVICE_CANNOT_ACCEPT_CTRL + ERROR_SERVICE_CANNOT_ACCEPT_CTRL + + + + No documentation. + + + ERROR_SERVICE_NOT_ACTIVE + ERROR_SERVICE_NOT_ACTIVE + + + + No documentation. + + + ERROR_FAILED_SERVICE_CONTROLLER_CONNECT + ERROR_FAILED_SERVICE_CONTROLLER_CONNECT + + + + No documentation. + + + ERROR_EXCEPTION_IN_SERVICE + ERROR_EXCEPTION_IN_SERVICE + + + + No documentation. + + + ERROR_DATABASE_DOES_NOT_EXIST + ERROR_DATABASE_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_SERVICE_SPECIFIC_ERROR + ERROR_SERVICE_SPECIFIC_ERROR + + + + No documentation. + + + ERROR_PROCESS_ABORTED + ERROR_PROCESS_ABORTED + + + + No documentation. + + + ERROR_SERVICE_DEPENDENCY_FAIL + ERROR_SERVICE_DEPENDENCY_FAIL + + + + No documentation. + + + ERROR_SERVICE_LOGON_FAILED + ERROR_SERVICE_LOGON_FAILED + + + + No documentation. + + + ERROR_SERVICE_START_HANG + ERROR_SERVICE_START_HANG + + + + No documentation. + + + ERROR_INVALID_SERVICE_LOCK + ERROR_INVALID_SERVICE_LOCK + + + + No documentation. + + + ERROR_SERVICE_MARKED_FOR_DELETE + ERROR_SERVICE_MARKED_FOR_DELETE + + + + No documentation. + + + ERROR_SERVICE_EXISTS + ERROR_SERVICE_EXISTS + + + + No documentation. + + + ERROR_ALREADY_RUNNING_LKG + ERROR_ALREADY_RUNNING_LKG + + + + No documentation. + + + ERROR_SERVICE_DEPENDENCY_DELETED + ERROR_SERVICE_DEPENDENCY_DELETED + + + + No documentation. + + + ERROR_BOOT_ALREADY_ACCEPTED + ERROR_BOOT_ALREADY_ACCEPTED + + + + No documentation. + + + ERROR_SERVICE_NEVER_STARTED + ERROR_SERVICE_NEVER_STARTED + + + + No documentation. + + + ERROR_DUPLICATE_SERVICE_NAME + ERROR_DUPLICATE_SERVICE_NAME + + + + No documentation. + + + ERROR_DIFFERENT_SERVICE_ACCOUNT + ERROR_DIFFERENT_SERVICE_ACCOUNT + + + + No documentation. + + + ERROR_CANNOT_DETECT_DRIVER_FAILURE + ERROR_CANNOT_DETECT_DRIVER_FAILURE + + + + No documentation. + + + ERROR_CANNOT_DETECT_PROCESS_ABORT + ERROR_CANNOT_DETECT_PROCESS_ABORT + + + + No documentation. + + + ERROR_NO_RECOVERY_PROGRAM + ERROR_NO_RECOVERY_PROGRAM + + + + No documentation. + + + ERROR_SERVICE_NOT_IN_EXE + ERROR_SERVICE_NOT_IN_EXE + + + + No documentation. + + + ERROR_NOT_SAFEBOOT_SERVICE + ERROR_NOT_SAFEBOOT_SERVICE + + + + No documentation. + + + ERROR_END_OF_MEDIA + ERROR_END_OF_MEDIA + + + + No documentation. + + + ERROR_FILEMARK_DETECTED + ERROR_FILEMARK_DETECTED + + + + No documentation. + + + ERROR_BEGINNING_OF_MEDIA + ERROR_BEGINNING_OF_MEDIA + + + + No documentation. + + + ERROR_SETMARK_DETECTED + ERROR_SETMARK_DETECTED + + + + No documentation. + + + ERROR_NO_DATA_DETECTED + ERROR_NO_DATA_DETECTED + + + + No documentation. + + + ERROR_PARTITION_FAILURE + ERROR_PARTITION_FAILURE + + + + No documentation. + + + ERROR_INVALID_BLOCK_LENGTH + ERROR_INVALID_BLOCK_LENGTH + + + + No documentation. + + + ERROR_DEVICE_NOT_PARTITIONED + ERROR_DEVICE_NOT_PARTITIONED + + + + No documentation. + + + ERROR_UNABLE_TO_LOCK_MEDIA + ERROR_UNABLE_TO_LOCK_MEDIA + + + + No documentation. + + + ERROR_UNABLE_TO_UNLOAD_MEDIA + ERROR_UNABLE_TO_UNLOAD_MEDIA + + + + No documentation. + + + ERROR_MEDIA_CHANGED + ERROR_MEDIA_CHANGED + + + + No documentation. + + + ERROR_BUS_RESET + ERROR_BUS_RESET + + + + No documentation. + + + ERROR_NO_MEDIA_IN_DRIVE + ERROR_NO_MEDIA_IN_DRIVE + + + + No documentation. + + + ERROR_NO_UNICODE_TRANSLATION + ERROR_NO_UNICODE_TRANSLATION + + + + No documentation. + + + ERROR_DLL_INIT_FAILED + ERROR_DLL_INIT_FAILED + + + + No documentation. + + + ERROR_SHUTDOWN_IN_PROGRESS + ERROR_SHUTDOWN_IN_PROGRESS + + + + No documentation. + + + ERROR_NO_SHUTDOWN_IN_PROGRESS + ERROR_NO_SHUTDOWN_IN_PROGRESS + + + + No documentation. + + + ERROR_IO_DEVICE + ERROR_IO_DEVICE + + + + No documentation. + + + ERROR_SERIAL_NO_DEVICE + ERROR_SERIAL_NO_DEVICE + + + + No documentation. + + + ERROR_IRQ_BUSY + ERROR_IRQ_BUSY + + + + No documentation. + + + ERROR_MORE_WRITES + ERROR_MORE_WRITES + + + + No documentation. + + + ERROR_COUNTER_TIMEOUT + ERROR_COUNTER_TIMEOUT + + + + No documentation. + + + ERROR_FLOPPY_ID_MARK_NOT_FOUND + ERROR_FLOPPY_ID_MARK_NOT_FOUND + + + + No documentation. + + + ERROR_FLOPPY_WRONG_CYLINDER + ERROR_FLOPPY_WRONG_CYLINDER + + + + No documentation. + + + ERROR_FLOPPY_UNKNOWN_ERROR + ERROR_FLOPPY_UNKNOWN_ERROR + + + + No documentation. + + + ERROR_FLOPPY_BAD_REGISTERS + ERROR_FLOPPY_BAD_REGISTERS + + + + No documentation. + + + ERROR_DISK_RECALIBRATE_FAILED + ERROR_DISK_RECALIBRATE_FAILED + + + + No documentation. + + + ERROR_DISK_OPERATION_FAILED + ERROR_DISK_OPERATION_FAILED + + + + No documentation. + + + ERROR_DISK_RESET_FAILED + ERROR_DISK_RESET_FAILED + + + + No documentation. + + + ERROR_EOM_OVERFLOW + ERROR_EOM_OVERFLOW + + + + No documentation. + + + ERROR_NOT_ENOUGH_SERVER_MEMORY + ERROR_NOT_ENOUGH_SERVER_MEMORY + + + + No documentation. + + + ERROR_POSSIBLE_DEADLOCK + ERROR_POSSIBLE_DEADLOCK + + + + No documentation. + + + ERROR_MAPPED_ALIGNMENT + ERROR_MAPPED_ALIGNMENT + + + + No documentation. + + + ERROR_SET_POWER_STATE_VETOED + ERROR_SET_POWER_STATE_VETOED + + + + No documentation. + + + ERROR_SET_POWER_STATE_FAILED + ERROR_SET_POWER_STATE_FAILED + + + + No documentation. + + + ERROR_TOO_MANY_LINKS + ERROR_TOO_MANY_LINKS + + + + No documentation. + + + ERROR_OLD_WIN_VERSION + ERROR_OLD_WIN_VERSION + + + + No documentation. + + + ERROR_APP_WRONG_OS + ERROR_APP_WRONG_OS + + + + No documentation. + + + ERROR_SINGLE_INSTANCE_APP + ERROR_SINGLE_INSTANCE_APP + + + + No documentation. + + + ERROR_RMODE_APP + ERROR_RMODE_APP + + + + No documentation. + + + ERROR_INVALID_DLL + ERROR_INVALID_DLL + + + + No documentation. + + + ERROR_NO_ASSOCIATION + ERROR_NO_ASSOCIATION + + + + No documentation. + + + ERROR_DDE_FAIL + ERROR_DDE_FAIL + + + + No documentation. + + + ERROR_DLL_NOT_FOUND + ERROR_DLL_NOT_FOUND + + + + No documentation. + + + ERROR_NO_MORE_USER_HANDLES + ERROR_NO_MORE_USER_HANDLES + + + + No documentation. + + + ERROR_MESSAGE_SYNC_ONLY + ERROR_MESSAGE_SYNC_ONLY + + + + No documentation. + + + ERROR_SOURCE_ELEMENT_EMPTY + ERROR_SOURCE_ELEMENT_EMPTY + + + + No documentation. + + + ERROR_DESTINATION_ELEMENT_FULL + ERROR_DESTINATION_ELEMENT_FULL + + + + No documentation. + + + ERROR_ILLEGAL_ELEMENT_ADDRESS + ERROR_ILLEGAL_ELEMENT_ADDRESS + + + + No documentation. + + + ERROR_MAGAZINE_NOT_PRESENT + ERROR_MAGAZINE_NOT_PRESENT + + + + No documentation. + + + ERROR_DEVICE_REINITIALIZATION_NEEDED + ERROR_DEVICE_REINITIALIZATION_NEEDED + + + + No documentation. + + + ERROR_DEVICE_REQUIRES_CLEANING + ERROR_DEVICE_REQUIRES_CLEANING + + + + No documentation. + + + ERROR_DEVICE_DOOR_OPEN + ERROR_DEVICE_DOOR_OPEN + + + + No documentation. + + + ERROR_DEVICE_NOT_CONNECTED + ERROR_DEVICE_NOT_CONNECTED + + + + No documentation. + + + ERROR_NOT_FOUND + ERROR_NOT_FOUND + + + + No documentation. + + + ERROR_NO_MATCH + ERROR_NO_MATCH + + + + No documentation. + + + ERROR_SET_NOT_FOUND + ERROR_SET_NOT_FOUND + + + + No documentation. + + + ERROR_POINT_NOT_FOUND + ERROR_POINT_NOT_FOUND + + + + No documentation. + + + ERROR_NO_TRACKING_SERVICE + ERROR_NO_TRACKING_SERVICE + + + + No documentation. + + + ERROR_NO_VOLUME_ID + ERROR_NO_VOLUME_ID + + + + No documentation. + + + ERROR_UNABLE_TO_REMOVE_REPLACED + ERROR_UNABLE_TO_REMOVE_REPLACED + + + + No documentation. + + + ERROR_UNABLE_TO_MOVE_REPLACEMENT + ERROR_UNABLE_TO_MOVE_REPLACEMENT + + + + No documentation. + + + ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 + ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 + + + + No documentation. + + + ERROR_JOURNAL_DELETE_IN_PROGRESS + ERROR_JOURNAL_DELETE_IN_PROGRESS + + + + No documentation. + + + ERROR_JOURNAL_NOT_ACTIVE + ERROR_JOURNAL_NOT_ACTIVE + + + + No documentation. + + + ERROR_POTENTIAL_FILE_FOUND + ERROR_POTENTIAL_FILE_FOUND + + + + No documentation. + + + ERROR_JOURNAL_ENTRY_DELETED + ERROR_JOURNAL_ENTRY_DELETED + + + + No documentation. + + + ERROR_SHUTDOWN_IS_SCHEDULED + ERROR_SHUTDOWN_IS_SCHEDULED + + + + No documentation. + + + ERROR_SHUTDOWN_USERS_LOGGED_ON + ERROR_SHUTDOWN_USERS_LOGGED_ON + + + + No documentation. + + + ERROR_BAD_DEVICE + ERROR_BAD_DEVICE + + + + No documentation. + + + ERROR_CONNECTION_UNAVAIL + ERROR_CONNECTION_UNAVAIL + + + + No documentation. + + + ERROR_DEVICE_ALREADY_REMEMBERED + ERROR_DEVICE_ALREADY_REMEMBERED + + + + No documentation. + + + ERROR_NO_NET_OR_BAD_PATH + ERROR_NO_NET_OR_BAD_PATH + + + + No documentation. + + + ERROR_BAD_PROVIDER + ERROR_BAD_PROVIDER + + + + No documentation. + + + ERROR_CANNOT_OPEN_PROFILE + ERROR_CANNOT_OPEN_PROFILE + + + + No documentation. + + + ERROR_BAD_PROFILE + ERROR_BAD_PROFILE + + + + No documentation. + + + ERROR_NOT_CONTAINER + ERROR_NOT_CONTAINER + + + + No documentation. + + + ERROR_EXTENDED_ERROR + ERROR_EXTENDED_ERROR + + + + No documentation. + + + ERROR_INVALID_GROUPNAME + ERROR_INVALID_GROUPNAME + + + + No documentation. + + + ERROR_INVALID_COMPUTERNAME + ERROR_INVALID_COMPUTERNAME + + + + No documentation. + + + ERROR_INVALID_EVENTNAME + ERROR_INVALID_EVENTNAME + + + + No documentation. + + + ERROR_INVALID_DOMAINNAME + ERROR_INVALID_DOMAINNAME + + + + No documentation. + + + ERROR_INVALID_SERVICENAME + ERROR_INVALID_SERVICENAME + + + + No documentation. + + + ERROR_INVALID_NETNAME + ERROR_INVALID_NETNAME + + + + No documentation. + + + ERROR_INVALID_SHARENAME + ERROR_INVALID_SHARENAME + + + + No documentation. + + + ERROR_INVALID_PASSWORDNAME + ERROR_INVALID_PASSWORDNAME + + + + No documentation. + + + ERROR_INVALID_MESSAGENAME + ERROR_INVALID_MESSAGENAME + + + + No documentation. + + + ERROR_INVALID_MESSAGEDEST + ERROR_INVALID_MESSAGEDEST + + + + No documentation. + + + ERROR_SESSION_CREDENTIAL_CONFLICT + ERROR_SESSION_CREDENTIAL_CONFLICT + + + + No documentation. + + + ERROR_REMOTE_SESSION_LIMIT_EXCEEDED + ERROR_REMOTE_SESSION_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DUP_DOMAINNAME + ERROR_DUP_DOMAINNAME + + + + No documentation. + + + ERROR_NO_NETWORK + ERROR_NO_NETWORK + + + + No documentation. + + + ERROR_CANCELLED + ERROR_CANCELLED + + + + No documentation. + + + ERROR_USER_MAPPED_FILE + ERROR_USER_MAPPED_FILE + + + + No documentation. + + + ERROR_CONNECTION_REFUSED + ERROR_CONNECTION_REFUSED + + + + No documentation. + + + ERROR_GRACEFUL_DISCONNECT + ERROR_GRACEFUL_DISCONNECT + + + + No documentation. + + + ERROR_ADDRESS_ALREADY_ASSOCIATED + ERROR_ADDRESS_ALREADY_ASSOCIATED + + + + No documentation. + + + ERROR_ADDRESS_NOT_ASSOCIATED + ERROR_ADDRESS_NOT_ASSOCIATED + + + + No documentation. + + + ERROR_CONNECTION_INVALID + ERROR_CONNECTION_INVALID + + + + No documentation. + + + ERROR_CONNECTION_ACTIVE + ERROR_CONNECTION_ACTIVE + + + + No documentation. + + + ERROR_NETWORK_UNREACHABLE + ERROR_NETWORK_UNREACHABLE + + + + No documentation. + + + ERROR_HOST_UNREACHABLE + ERROR_HOST_UNREACHABLE + + + + No documentation. + + + ERROR_PROTOCOL_UNREACHABLE + ERROR_PROTOCOL_UNREACHABLE + + + + No documentation. + + + ERROR_PORT_UNREACHABLE + ERROR_PORT_UNREACHABLE + + + + No documentation. + + + ERROR_REQUEST_ABORTED + ERROR_REQUEST_ABORTED + + + + No documentation. + + + ERROR_CONNECTION_ABORTED + ERROR_CONNECTION_ABORTED + + + + No documentation. + + + ERROR_RETRY + ERROR_RETRY + + + + No documentation. + + + ERROR_CONNECTION_COUNT_LIMIT + ERROR_CONNECTION_COUNT_LIMIT + + + + No documentation. + + + ERROR_LOGIN_TIME_RESTRICTION + ERROR_LOGIN_TIME_RESTRICTION + + + + No documentation. + + + ERROR_LOGIN_WKSTA_RESTRICTION + ERROR_LOGIN_WKSTA_RESTRICTION + + + + No documentation. + + + ERROR_INCORRECT_ADDRESS + ERROR_INCORRECT_ADDRESS + + + + No documentation. + + + ERROR_ALREADY_REGISTERED + ERROR_ALREADY_REGISTERED + + + + No documentation. + + + ERROR_SERVICE_NOT_FOUND + ERROR_SERVICE_NOT_FOUND + + + + No documentation. + + + ERROR_NOT_AUTHENTICATED + ERROR_NOT_AUTHENTICATED + + + + No documentation. + + + ERROR_NOT_LOGGED_ON + ERROR_NOT_LOGGED_ON + + + + No documentation. + + + ERROR_CONTINUE + ERROR_CONTINUE + + + + No documentation. + + + ERROR_ALREADY_INITIALIZED + ERROR_ALREADY_INITIALIZED + + + + No documentation. + + + ERROR_NO_MORE_DEVICES + ERROR_NO_MORE_DEVICES + + + + No documentation. + + + ERROR_NO_SUCH_SITE + ERROR_NO_SUCH_SITE + + + + No documentation. + + + ERROR_DOMAIN_CONTROLLER_EXISTS + ERROR_DOMAIN_CONTROLLER_EXISTS + + + + No documentation. + + + ERROR_ONLY_IF_CONNECTED + ERROR_ONLY_IF_CONNECTED + + + + No documentation. + + + ERROR_OVERRIDE_NOCHANGES + ERROR_OVERRIDE_NOCHANGES + + + + No documentation. + + + ERROR_BAD_USER_PROFILE + ERROR_BAD_USER_PROFILE + + + + No documentation. + + + ERROR_NOT_SUPPORTED_ON_SBS + ERROR_NOT_SUPPORTED_ON_SBS + + + + No documentation. + + + ERROR_SERVER_SHUTDOWN_IN_PROGRESS + ERROR_SERVER_SHUTDOWN_IN_PROGRESS + + + + No documentation. + + + ERROR_HOST_DOWN + ERROR_HOST_DOWN + + + + No documentation. + + + ERROR_NON_ACCOUNT_SID + ERROR_NON_ACCOUNT_SID + + + + No documentation. + + + ERROR_NON_DOMAIN_SID + ERROR_NON_DOMAIN_SID + + + + No documentation. + + + ERROR_APPHELP_BLOCK + ERROR_APPHELP_BLOCK + + + + No documentation. + + + ERROR_ACCESS_DISABLED_BY_POLICY + ERROR_ACCESS_DISABLED_BY_POLICY + + + + No documentation. + + + ERROR_REG_NAT_CONSUMPTION + ERROR_REG_NAT_CONSUMPTION + + + + No documentation. + + + ERROR_CSCSHARE_OFFLINE + ERROR_CSCSHARE_OFFLINE + + + + No documentation. + + + ERROR_PKINIT_FAILURE + ERROR_PKINIT_FAILURE + + + + No documentation. + + + ERROR_SMARTCARD_SUBSYSTEM_FAILURE + ERROR_SMARTCARD_SUBSYSTEM_FAILURE + + + + No documentation. + + + ERROR_DOWNGRADE_DETECTED + ERROR_DOWNGRADE_DETECTED + + + + No documentation. + + + ERROR_MACHINE_LOCKED + ERROR_MACHINE_LOCKED + + + + No documentation. + + + ERROR_CALLBACK_SUPPLIED_INVALID_DATA + ERROR_CALLBACK_SUPPLIED_INVALID_DATA + + + + No documentation. + + + ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED + ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED + + + + No documentation. + + + ERROR_DRIVER_BLOCKED + ERROR_DRIVER_BLOCKED + + + + No documentation. + + + ERROR_INVALID_IMPORT_OF_NON_DLL + ERROR_INVALID_IMPORT_OF_NON_DLL + + + + No documentation. + + + ERROR_ACCESS_DISABLED_WEBBLADE + ERROR_ACCESS_DISABLED_WEBBLADE + + + + No documentation. + + + ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER + ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER + + + + No documentation. + + + ERROR_RECOVERY_FAILURE + ERROR_RECOVERY_FAILURE + + + + No documentation. + + + ERROR_ALREADY_FIBER + ERROR_ALREADY_FIBER + + + + No documentation. + + + ERROR_ALREADY_THREAD + ERROR_ALREADY_THREAD + + + + No documentation. + + + ERROR_STACK_BUFFER_OVERRUN + ERROR_STACK_BUFFER_OVERRUN + + + + No documentation. + + + ERROR_PARAMETER_QUOTA_EXCEEDED + ERROR_PARAMETER_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_DEBUGGER_INACTIVE + ERROR_DEBUGGER_INACTIVE + + + + No documentation. + + + ERROR_DELAY_LOAD_FAILED + ERROR_DELAY_LOAD_FAILED + + + + No documentation. + + + ERROR_VDM_DISALLOWED + ERROR_VDM_DISALLOWED + + + + No documentation. + + + ERROR_UNIDENTIFIED_ERROR + ERROR_UNIDENTIFIED_ERROR + + + + No documentation. + + + ERROR_INVALID_CRUNTIME_PARAMETER + ERROR_INVALID_CRUNTIME_PARAMETER + + + + No documentation. + + + ERROR_BEYOND_VDL + ERROR_BEYOND_VDL + + + + No documentation. + + + ERROR_INCOMPATIBLE_SERVICE_SID_TYPE + ERROR_INCOMPATIBLE_SERVICE_SID_TYPE + + + + No documentation. + + + ERROR_DRIVER_PROCESS_TERMINATED + ERROR_DRIVER_PROCESS_TERMINATED + + + + No documentation. + + + ERROR_IMPLEMENTATION_LIMIT + ERROR_IMPLEMENTATION_LIMIT + + + + No documentation. + + + ERROR_PROCESS_IS_PROTECTED + ERROR_PROCESS_IS_PROTECTED + + + + No documentation. + + + ERROR_SERVICE_NOTIFY_CLIENT_LAGGING + ERROR_SERVICE_NOTIFY_CLIENT_LAGGING + + + + No documentation. + + + ERROR_DISK_QUOTA_EXCEEDED + ERROR_DISK_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_CONTENT_BLOCKED + ERROR_CONTENT_BLOCKED + + + + No documentation. + + + ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE + ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE + + + + No documentation. + + + ERROR_APP_HANG + ERROR_APP_HANG + + + + No documentation. + + + ERROR_INVALID_LABEL + ERROR_INVALID_LABEL + + + + No documentation. + + + ERROR_NOT_ALL_ASSIGNED + ERROR_NOT_ALL_ASSIGNED + + + + No documentation. + + + ERROR_SOME_NOT_MAPPED + ERROR_SOME_NOT_MAPPED + + + + No documentation. + + + ERROR_NO_QUOTAS_FOR_ACCOUNT + ERROR_NO_QUOTAS_FOR_ACCOUNT + + + + No documentation. + + + ERROR_LOCAL_USER_SESSION_KEY + ERROR_LOCAL_USER_SESSION_KEY + + + + No documentation. + + + ERROR_NULL_LM_PASSWORD + ERROR_NULL_LM_PASSWORD + + + + No documentation. + + + ERROR_UNKNOWN_REVISION + ERROR_UNKNOWN_REVISION + + + + No documentation. + + + ERROR_REVISION_MISMATCH + ERROR_REVISION_MISMATCH + + + + No documentation. + + + ERROR_INVALID_OWNER + ERROR_INVALID_OWNER + + + + No documentation. + + + ERROR_INVALID_PRIMARY_GROUP + ERROR_INVALID_PRIMARY_GROUP + + + + No documentation. + + + ERROR_NO_IMPERSONATION_TOKEN + ERROR_NO_IMPERSONATION_TOKEN + + + + No documentation. + + + ERROR_CANT_DISABLE_MANDATORY + ERROR_CANT_DISABLE_MANDATORY + + + + No documentation. + + + ERROR_NO_LOGON_SERVERS + ERROR_NO_LOGON_SERVERS + + + + No documentation. + + + ERROR_NO_SUCH_LOGON_SESSION + ERROR_NO_SUCH_LOGON_SESSION + + + + No documentation. + + + ERROR_NO_SUCH_PRIVILEGE + ERROR_NO_SUCH_PRIVILEGE + + + + No documentation. + + + ERROR_PRIVILEGE_NOT_HELD + ERROR_PRIVILEGE_NOT_HELD + + + + No documentation. + + + ERROR_INVALID_ACCOUNT_NAME + ERROR_INVALID_ACCOUNT_NAME + + + + No documentation. + + + ERROR_USER_EXISTS + ERROR_USER_EXISTS + + + + No documentation. + + + ERROR_NO_SUCH_USER + ERROR_NO_SUCH_USER + + + + No documentation. + + + ERROR_GROUP_EXISTS + ERROR_GROUP_EXISTS + + + + No documentation. + + + ERROR_NO_SUCH_GROUP + ERROR_NO_SUCH_GROUP + + + + No documentation. + + + ERROR_MEMBER_IN_GROUP + ERROR_MEMBER_IN_GROUP + + + + No documentation. + + + ERROR_MEMBER_NOT_IN_GROUP + ERROR_MEMBER_NOT_IN_GROUP + + + + No documentation. + + + ERROR_LAST_ADMIN + ERROR_LAST_ADMIN + + + + No documentation. + + + ERROR_WRONG_PASSWORD + ERROR_WRONG_PASSWORD + + + + No documentation. + + + ERROR_ILL_FORMED_PASSWORD + ERROR_ILL_FORMED_PASSWORD + + + + No documentation. + + + ERROR_PASSWORD_RESTRICTION + ERROR_PASSWORD_RESTRICTION + + + + No documentation. + + + ERROR_LOGON_FAILURE + ERROR_LOGON_FAILURE + + + + No documentation. + + + ERROR_ACCOUNT_RESTRICTION + ERROR_ACCOUNT_RESTRICTION + + + + No documentation. + + + ERROR_INVALID_LOGON_HOURS + ERROR_INVALID_LOGON_HOURS + + + + No documentation. + + + ERROR_INVALID_WORKSTATION + ERROR_INVALID_WORKSTATION + + + + No documentation. + + + ERROR_PASSWORD_EXPIRED + ERROR_PASSWORD_EXPIRED + + + + No documentation. + + + ERROR_ACCOUNT_DISABLED + ERROR_ACCOUNT_DISABLED + + + + No documentation. + + + ERROR_NONE_MAPPED + ERROR_NONE_MAPPED + + + + No documentation. + + + ERROR_TOO_MANY_LUIDS_REQUESTED + ERROR_TOO_MANY_LUIDS_REQUESTED + + + + No documentation. + + + ERROR_LUIDS_EXHAUSTED + ERROR_LUIDS_EXHAUSTED + + + + No documentation. + + + ERROR_INVALID_SUB_AUTHORITY + ERROR_INVALID_SUB_AUTHORITY + + + + No documentation. + + + ERROR_INVALID_ACL + ERROR_INVALID_ACL + + + + No documentation. + + + ERROR_INVALID_SID + ERROR_INVALID_SID + + + + No documentation. + + + ERROR_INVALID_SECURITY_DESCR + ERROR_INVALID_SECURITY_DESCR + + + + No documentation. + + + ERROR_BAD_INHERITANCE_ACL + ERROR_BAD_INHERITANCE_ACL + + + + No documentation. + + + ERROR_SERVER_DISABLED + ERROR_SERVER_DISABLED + + + + No documentation. + + + ERROR_SERVER_NOT_DISABLED + ERROR_SERVER_NOT_DISABLED + + + + No documentation. + + + ERROR_INVALID_ID_AUTHORITY + ERROR_INVALID_ID_AUTHORITY + + + + No documentation. + + + ERROR_ALLOTTED_SPACE_EXCEEDED + ERROR_ALLOTTED_SPACE_EXCEEDED + + + + No documentation. + + + ERROR_INVALID_GROUP_ATTRIBUTES + ERROR_INVALID_GROUP_ATTRIBUTES + + + + No documentation. + + + ERROR_BAD_IMPERSONATION_LEVEL + ERROR_BAD_IMPERSONATION_LEVEL + + + + No documentation. + + + ERROR_CANT_OPEN_ANONYMOUS + ERROR_CANT_OPEN_ANONYMOUS + + + + No documentation. + + + ERROR_BAD_VALIDATION_CLASS + ERROR_BAD_VALIDATION_CLASS + + + + No documentation. + + + ERROR_BAD_TOKEN_TYPE + ERROR_BAD_TOKEN_TYPE + + + + No documentation. + + + ERROR_NO_SECURITY_ON_OBJECT + ERROR_NO_SECURITY_ON_OBJECT + + + + No documentation. + + + ERROR_CANT_ACCESS_DOMAIN_INFO + ERROR_CANT_ACCESS_DOMAIN_INFO + + + + No documentation. + + + ERROR_INVALID_SERVER_STATE + ERROR_INVALID_SERVER_STATE + + + + No documentation. + + + ERROR_INVALID_DOMAIN_STATE + ERROR_INVALID_DOMAIN_STATE + + + + No documentation. + + + ERROR_INVALID_DOMAIN_ROLE + ERROR_INVALID_DOMAIN_ROLE + + + + No documentation. + + + ERROR_NO_SUCH_DOMAIN + ERROR_NO_SUCH_DOMAIN + + + + No documentation. + + + ERROR_DOMAIN_EXISTS + ERROR_DOMAIN_EXISTS + + + + No documentation. + + + ERROR_DOMAIN_LIMIT_EXCEEDED + ERROR_DOMAIN_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_INTERNAL_DB_CORRUPTION + ERROR_INTERNAL_DB_CORRUPTION + + + + No documentation. + + + ERROR_INTERNAL_ERROR + ERROR_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GENERIC_NOT_MAPPED + ERROR_GENERIC_NOT_MAPPED + + + + No documentation. + + + ERROR_BAD_DESCRIPTOR_FORMAT + ERROR_BAD_DESCRIPTOR_FORMAT + + + + No documentation. + + + ERROR_NOT_LOGON_PROCESS + ERROR_NOT_LOGON_PROCESS + + + + No documentation. + + + ERROR_LOGON_SESSION_EXISTS + ERROR_LOGON_SESSION_EXISTS + + + + No documentation. + + + ERROR_NO_SUCH_PACKAGE + ERROR_NO_SUCH_PACKAGE + + + + No documentation. + + + ERROR_BAD_LOGON_SESSION_STATE + ERROR_BAD_LOGON_SESSION_STATE + + + + No documentation. + + + ERROR_LOGON_SESSION_COLLISION + ERROR_LOGON_SESSION_COLLISION + + + + No documentation. + + + ERROR_INVALID_LOGON_TYPE + ERROR_INVALID_LOGON_TYPE + + + + No documentation. + + + ERROR_CANNOT_IMPERSONATE + ERROR_CANNOT_IMPERSONATE + + + + No documentation. + + + ERROR_RXACT_INVALID_STATE + ERROR_RXACT_INVALID_STATE + + + + No documentation. + + + ERROR_RXACT_COMMIT_FAILURE + ERROR_RXACT_COMMIT_FAILURE + + + + No documentation. + + + ERROR_SPECIAL_ACCOUNT + ERROR_SPECIAL_ACCOUNT + + + + No documentation. + + + ERROR_SPECIAL_GROUP + ERROR_SPECIAL_GROUP + + + + No documentation. + + + ERROR_SPECIAL_USER + ERROR_SPECIAL_USER + + + + No documentation. + + + ERROR_MEMBERS_PRIMARY_GROUP + ERROR_MEMBERS_PRIMARY_GROUP + + + + No documentation. + + + ERROR_TOKEN_ALREADY_IN_USE + ERROR_TOKEN_ALREADY_IN_USE + + + + No documentation. + + + ERROR_NO_SUCH_ALIAS + ERROR_NO_SUCH_ALIAS + + + + No documentation. + + + ERROR_MEMBER_NOT_IN_ALIAS + ERROR_MEMBER_NOT_IN_ALIAS + + + + No documentation. + + + ERROR_MEMBER_IN_ALIAS + ERROR_MEMBER_IN_ALIAS + + + + No documentation. + + + ERROR_ALIAS_EXISTS + ERROR_ALIAS_EXISTS + + + + No documentation. + + + ERROR_LOGON_NOT_GRANTED + ERROR_LOGON_NOT_GRANTED + + + + No documentation. + + + ERROR_TOO_MANY_SECRETS + ERROR_TOO_MANY_SECRETS + + + + No documentation. + + + ERROR_SECRET_TOO_LONG + ERROR_SECRET_TOO_LONG + + + + No documentation. + + + ERROR_INTERNAL_DB_ERROR + ERROR_INTERNAL_DB_ERROR + + + + No documentation. + + + ERROR_TOO_MANY_CONTEXT_IDS + ERROR_TOO_MANY_CONTEXT_IDS + + + + No documentation. + + + ERROR_LOGON_TYPE_NOT_GRANTED + ERROR_LOGON_TYPE_NOT_GRANTED + + + + No documentation. + + + ERROR_NT_CROSS_ENCRYPTION_REQUIRED + ERROR_NT_CROSS_ENCRYPTION_REQUIRED + + + + No documentation. + + + ERROR_NO_SUCH_MEMBER + ERROR_NO_SUCH_MEMBER + + + + No documentation. + + + ERROR_INVALID_MEMBER + ERROR_INVALID_MEMBER + + + + No documentation. + + + ERROR_TOO_MANY_SIDS + ERROR_TOO_MANY_SIDS + + + + No documentation. + + + ERROR_LM_CROSS_ENCRYPTION_REQUIRED + ERROR_LM_CROSS_ENCRYPTION_REQUIRED + + + + No documentation. + + + ERROR_NO_INHERITANCE + ERROR_NO_INHERITANCE + + + + No documentation. + + + ERROR_FILE_CORRUPT + ERROR_FILE_CORRUPT + + + + No documentation. + + + ERROR_DISK_CORRUPT + ERROR_DISK_CORRUPT + + + + No documentation. + + + ERROR_NO_USER_SESSION_KEY + ERROR_NO_USER_SESSION_KEY + + + + No documentation. + + + ERROR_LICENSE_QUOTA_EXCEEDED + ERROR_LICENSE_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_WRONG_TARGET_NAME + ERROR_WRONG_TARGET_NAME + + + + No documentation. + + + ERROR_MUTUAL_AUTH_FAILED + ERROR_MUTUAL_AUTH_FAILED + + + + No documentation. + + + ERROR_TIME_SKEW + ERROR_TIME_SKEW + + + + No documentation. + + + ERROR_CURRENT_DOMAIN_NOT_ALLOWED + ERROR_CURRENT_DOMAIN_NOT_ALLOWED + + + + No documentation. + + + ERROR_INVALID_WINDOW_HANDLE + ERROR_INVALID_WINDOW_HANDLE + + + + No documentation. + + + ERROR_INVALID_MENU_HANDLE + ERROR_INVALID_MENU_HANDLE + + + + No documentation. + + + ERROR_INVALID_CURSOR_HANDLE + ERROR_INVALID_CURSOR_HANDLE + + + + No documentation. + + + ERROR_INVALID_ACCEL_HANDLE + ERROR_INVALID_ACCEL_HANDLE + + + + No documentation. + + + ERROR_INVALID_HOOK_HANDLE + ERROR_INVALID_HOOK_HANDLE + + + + No documentation. + + + ERROR_INVALID_DWP_HANDLE + ERROR_INVALID_DWP_HANDLE + + + + No documentation. + + + ERROR_TLW_WITH_WSCHILD + ERROR_TLW_WITH_WSCHILD + + + + No documentation. + + + ERROR_CANNOT_FIND_WND_CLASS + ERROR_CANNOT_FIND_WND_CLASS + + + + No documentation. + + + ERROR_WINDOW_OF_OTHER_THREAD + ERROR_WINDOW_OF_OTHER_THREAD + + + + No documentation. + + + ERROR_HOTKEY_ALREADY_REGISTERED + ERROR_HOTKEY_ALREADY_REGISTERED + + + + No documentation. + + + ERROR_CLASS_ALREADY_EXISTS + ERROR_CLASS_ALREADY_EXISTS + + + + No documentation. + + + ERROR_CLASS_DOES_NOT_EXIST + ERROR_CLASS_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_CLASS_HAS_WINDOWS + ERROR_CLASS_HAS_WINDOWS + + + + No documentation. + + + ERROR_INVALID_INDEX + ERROR_INVALID_INDEX + + + + No documentation. + + + ERROR_INVALID_ICON_HANDLE + ERROR_INVALID_ICON_HANDLE + + + + No documentation. + + + ERROR_PRIVATE_DIALOG_INDEX + ERROR_PRIVATE_DIALOG_INDEX + + + + No documentation. + + + ERROR_LISTBOX_ID_NOT_FOUND + ERROR_LISTBOX_ID_NOT_FOUND + + + + No documentation. + + + ERROR_NO_WILDCARD_CHARACTERS + ERROR_NO_WILDCARD_CHARACTERS + + + + No documentation. + + + ERROR_CLIPBOARD_NOT_OPEN + ERROR_CLIPBOARD_NOT_OPEN + + + + No documentation. + + + ERROR_HOTKEY_NOT_REGISTERED + ERROR_HOTKEY_NOT_REGISTERED + + + + No documentation. + + + ERROR_WINDOW_NOT_DIALOG + ERROR_WINDOW_NOT_DIALOG + + + + No documentation. + + + ERROR_CONTROL_ID_NOT_FOUND + ERROR_CONTROL_ID_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_COMBOBOX_MESSAGE + ERROR_INVALID_COMBOBOX_MESSAGE + + + + No documentation. + + + ERROR_WINDOW_NOT_COMBOBOX + ERROR_WINDOW_NOT_COMBOBOX + + + + No documentation. + + + ERROR_INVALID_EDIT_HEIGHT + ERROR_INVALID_EDIT_HEIGHT + + + + No documentation. + + + ERROR_DC_NOT_FOUND + ERROR_DC_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_HOOK_FILTER + ERROR_INVALID_HOOK_FILTER + + + + No documentation. + + + ERROR_INVALID_FILTER_PROC + ERROR_INVALID_FILTER_PROC + + + + No documentation. + + + ERROR_HOOK_NEEDS_HMOD + ERROR_HOOK_NEEDS_HMOD + + + + No documentation. + + + ERROR_GLOBAL_ONLY_HOOK + ERROR_GLOBAL_ONLY_HOOK + + + + No documentation. + + + ERROR_JOURNAL_HOOK_SET + ERROR_JOURNAL_HOOK_SET + + + + No documentation. + + + ERROR_HOOK_NOT_INSTALLED + ERROR_HOOK_NOT_INSTALLED + + + + No documentation. + + + ERROR_INVALID_LB_MESSAGE + ERROR_INVALID_LB_MESSAGE + + + + No documentation. + + + ERROR_SETCOUNT_ON_BAD_LB + ERROR_SETCOUNT_ON_BAD_LB + + + + No documentation. + + + ERROR_LB_WITHOUT_TABSTOPS + ERROR_LB_WITHOUT_TABSTOPS + + + + No documentation. + + + ERROR_DESTROY_OBJECT_OF_OTHER_THREAD + ERROR_DESTROY_OBJECT_OF_OTHER_THREAD + + + + No documentation. + + + ERROR_CHILD_WINDOW_MENU + ERROR_CHILD_WINDOW_MENU + + + + No documentation. + + + ERROR_NO_SYSTEM_MENU + ERROR_NO_SYSTEM_MENU + + + + No documentation. + + + ERROR_INVALID_MSGBOX_STYLE + ERROR_INVALID_MSGBOX_STYLE + + + + No documentation. + + + ERROR_INVALID_SPI_VALUE + ERROR_INVALID_SPI_VALUE + + + + No documentation. + + + ERROR_SCREEN_ALREADY_LOCKED + ERROR_SCREEN_ALREADY_LOCKED + + + + No documentation. + + + ERROR_HWNDS_HAVE_DIFF_PARENT + ERROR_HWNDS_HAVE_DIFF_PARENT + + + + No documentation. + + + ERROR_NOT_CHILD_WINDOW + ERROR_NOT_CHILD_WINDOW + + + + No documentation. + + + ERROR_INVALID_GW_COMMAND + ERROR_INVALID_GW_COMMAND + + + + No documentation. + + + ERROR_INVALID_THREAD_ID + ERROR_INVALID_THREAD_ID + + + + No documentation. + + + ERROR_NON_MDICHILD_WINDOW + ERROR_NON_MDICHILD_WINDOW + + + + No documentation. + + + ERROR_POPUP_ALREADY_ACTIVE + ERROR_POPUP_ALREADY_ACTIVE + + + + No documentation. + + + ERROR_NO_SCROLLBARS + ERROR_NO_SCROLLBARS + + + + No documentation. + + + ERROR_INVALID_SCROLLBAR_RANGE + ERROR_INVALID_SCROLLBAR_RANGE + + + + No documentation. + + + ERROR_INVALID_SHOWWIN_COMMAND + ERROR_INVALID_SHOWWIN_COMMAND + + + + No documentation. + + + ERROR_NO_SYSTEM_RESOURCES + ERROR_NO_SYSTEM_RESOURCES + + + + No documentation. + + + ERROR_NONPAGED_SYSTEM_RESOURCES + ERROR_NONPAGED_SYSTEM_RESOURCES + + + + No documentation. + + + ERROR_PAGED_SYSTEM_RESOURCES + ERROR_PAGED_SYSTEM_RESOURCES + + + + No documentation. + + + ERROR_WORKING_SET_QUOTA + ERROR_WORKING_SET_QUOTA + + + + No documentation. + + + ERROR_PAGEFILE_QUOTA + ERROR_PAGEFILE_QUOTA + + + + No documentation. + + + ERROR_COMMITMENT_LIMIT + ERROR_COMMITMENT_LIMIT + + + + No documentation. + + + ERROR_MENU_ITEM_NOT_FOUND + ERROR_MENU_ITEM_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_KEYBOARD_HANDLE + ERROR_INVALID_KEYBOARD_HANDLE + + + + No documentation. + + + ERROR_HOOK_TYPE_NOT_ALLOWED + ERROR_HOOK_TYPE_NOT_ALLOWED + + + + No documentation. + + + ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION + ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION + + + + No documentation. + + + ERROR_TIMEOUT + ERROR_TIMEOUT + + + + No documentation. + + + ERROR_INVALID_MONITOR_HANDLE + ERROR_INVALID_MONITOR_HANDLE + + + + No documentation. + + + ERROR_INCORRECT_SIZE + ERROR_INCORRECT_SIZE + + + + No documentation. + + + ERROR_SYMLINK_CLASS_DISABLED + ERROR_SYMLINK_CLASS_DISABLED + + + + No documentation. + + + ERROR_SYMLINK_NOT_SUPPORTED + ERROR_SYMLINK_NOT_SUPPORTED + + + + No documentation. + + + ERROR_XML_PARSE_ERROR + ERROR_XML_PARSE_ERROR + + + + No documentation. + + + ERROR_XMLDSIG_ERROR + ERROR_XMLDSIG_ERROR + + + + No documentation. + + + ERROR_RESTART_APPLICATION + ERROR_RESTART_APPLICATION + + + + No documentation. + + + ERROR_WRONG_COMPARTMENT + ERROR_WRONG_COMPARTMENT + + + + No documentation. + + + ERROR_AUTHIP_FAILURE + ERROR_AUTHIP_FAILURE + + + + No documentation. + + + ERROR_NO_NVRAM_RESOURCES + ERROR_NO_NVRAM_RESOURCES + + + + No documentation. + + + ERROR_EVENTLOG_FILE_CORRUPT + ERROR_EVENTLOG_FILE_CORRUPT + + + + No documentation. + + + ERROR_EVENTLOG_CANT_START + ERROR_EVENTLOG_CANT_START + + + + No documentation. + + + ERROR_LOG_FILE_FULL + ERROR_LOG_FILE_FULL + + + + No documentation. + + + ERROR_EVENTLOG_FILE_CHANGED + ERROR_EVENTLOG_FILE_CHANGED + + + + No documentation. + + + ERROR_INVALID_TASK_NAME + ERROR_INVALID_TASK_NAME + + + + No documentation. + + + ERROR_INVALID_TASK_INDEX + ERROR_INVALID_TASK_INDEX + + + + No documentation. + + + ERROR_THREAD_ALREADY_IN_TASK + ERROR_THREAD_ALREADY_IN_TASK + + + + No documentation. + + + ERROR_INSTALL_SERVICE_FAILURE + ERROR_INSTALL_SERVICE_FAILURE + + + + No documentation. + + + ERROR_INSTALL_USEREXIT + ERROR_INSTALL_USEREXIT + + + + No documentation. + + + ERROR_INSTALL_FAILURE + ERROR_INSTALL_FAILURE + + + + No documentation. + + + ERROR_INSTALL_SUSPEND + ERROR_INSTALL_SUSPEND + + + + No documentation. + + + ERROR_UNKNOWN_PRODUCT + ERROR_UNKNOWN_PRODUCT + + + + No documentation. + + + ERROR_UNKNOWN_FEATURE + ERROR_UNKNOWN_FEATURE + + + + No documentation. + + + ERROR_UNKNOWN_COMPONENT + ERROR_UNKNOWN_COMPONENT + + + + No documentation. + + + ERROR_UNKNOWN_PROPERTY + ERROR_UNKNOWN_PROPERTY + + + + No documentation. + + + ERROR_INVALID_HANDLE_STATE + ERROR_INVALID_HANDLE_STATE + + + + No documentation. + + + ERROR_BAD_CONFIGURATION + ERROR_BAD_CONFIGURATION + + + + No documentation. + + + ERROR_INDEX_ABSENT + ERROR_INDEX_ABSENT + + + + No documentation. + + + ERROR_INSTALL_SOURCE_ABSENT + ERROR_INSTALL_SOURCE_ABSENT + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_VERSION + ERROR_INSTALL_PACKAGE_VERSION + + + + No documentation. + + + ERROR_PRODUCT_UNINSTALLED + ERROR_PRODUCT_UNINSTALLED + + + + No documentation. + + + ERROR_BAD_QUERY_SYNTAX + ERROR_BAD_QUERY_SYNTAX + + + + No documentation. + + + ERROR_INVALID_FIELD + ERROR_INVALID_FIELD + + + + No documentation. + + + ERROR_DEVICE_REMOVED + ERROR_DEVICE_REMOVED + + + + No documentation. + + + ERROR_INSTALL_ALREADY_RUNNING + ERROR_INSTALL_ALREADY_RUNNING + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_OPEN_FAILED + ERROR_INSTALL_PACKAGE_OPEN_FAILED + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_INVALID + ERROR_INSTALL_PACKAGE_INVALID + + + + No documentation. + + + ERROR_INSTALL_UI_FAILURE + ERROR_INSTALL_UI_FAILURE + + + + No documentation. + + + ERROR_INSTALL_LOG_FAILURE + ERROR_INSTALL_LOG_FAILURE + + + + No documentation. + + + ERROR_INSTALL_LANGUAGE_UNSUPPORTED + ERROR_INSTALL_LANGUAGE_UNSUPPORTED + + + + No documentation. + + + ERROR_INSTALL_TRANSFORM_FAILURE + ERROR_INSTALL_TRANSFORM_FAILURE + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_REJECTED + ERROR_INSTALL_PACKAGE_REJECTED + + + + No documentation. + + + ERROR_FUNCTION_NOT_CALLED + ERROR_FUNCTION_NOT_CALLED + + + + No documentation. + + + ERROR_FUNCTION_FAILED + ERROR_FUNCTION_FAILED + + + + No documentation. + + + ERROR_INVALID_TABLE + ERROR_INVALID_TABLE + + + + No documentation. + + + ERROR_DATATYPE_MISMATCH + ERROR_DATATYPE_MISMATCH + + + + No documentation. + + + ERROR_UNSUPPORTED_TYPE + ERROR_UNSUPPORTED_TYPE + + + + No documentation. + + + ERROR_CREATE_FAILED + ERROR_CREATE_FAILED + + + + No documentation. + + + ERROR_INSTALL_TEMP_UNWRITABLE + ERROR_INSTALL_TEMP_UNWRITABLE + + + + No documentation. + + + ERROR_INSTALL_PLATFORM_UNSUPPORTED + ERROR_INSTALL_PLATFORM_UNSUPPORTED + + + + No documentation. + + + ERROR_INSTALL_NOTUSED + ERROR_INSTALL_NOTUSED + + + + No documentation. + + + ERROR_PATCH_PACKAGE_OPEN_FAILED + ERROR_PATCH_PACKAGE_OPEN_FAILED + + + + No documentation. + + + ERROR_PATCH_PACKAGE_INVALID + ERROR_PATCH_PACKAGE_INVALID + + + + No documentation. + + + ERROR_PATCH_PACKAGE_UNSUPPORTED + ERROR_PATCH_PACKAGE_UNSUPPORTED + + + + No documentation. + + + ERROR_PRODUCT_VERSION + ERROR_PRODUCT_VERSION + + + + No documentation. + + + ERROR_INVALID_COMMAND_LINE + ERROR_INVALID_COMMAND_LINE + + + + No documentation. + + + ERROR_INSTALL_REMOTE_DISALLOWED + ERROR_INSTALL_REMOTE_DISALLOWED + + + + No documentation. + + + ERROR_SUCCESS_REBOOT_INITIATED + ERROR_SUCCESS_REBOOT_INITIATED + + + + No documentation. + + + ERROR_PATCH_TARGET_NOT_FOUND + ERROR_PATCH_TARGET_NOT_FOUND + + + + No documentation. + + + ERROR_PATCH_PACKAGE_REJECTED + ERROR_PATCH_PACKAGE_REJECTED + + + + No documentation. + + + ERROR_INSTALL_TRANSFORM_REJECTED + ERROR_INSTALL_TRANSFORM_REJECTED + + + + No documentation. + + + ERROR_INSTALL_REMOTE_PROHIBITED + ERROR_INSTALL_REMOTE_PROHIBITED + + + + No documentation. + + + ERROR_PATCH_REMOVAL_UNSUPPORTED + ERROR_PATCH_REMOVAL_UNSUPPORTED + + + + No documentation. + + + ERROR_UNKNOWN_PATCH + ERROR_UNKNOWN_PATCH + + + + No documentation. + + + ERROR_PATCH_NO_SEQUENCE + ERROR_PATCH_NO_SEQUENCE + + + + No documentation. + + + ERROR_PATCH_REMOVAL_DISALLOWED + ERROR_PATCH_REMOVAL_DISALLOWED + + + + No documentation. + + + ERROR_INVALID_PATCH_XML + ERROR_INVALID_PATCH_XML + + + + No documentation. + + + ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT + ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT + + + + No documentation. + + + ERROR_INSTALL_SERVICE_SAFEBOOT + ERROR_INSTALL_SERVICE_SAFEBOOT + + + + No documentation. + + + ERROR_FAIL_FAST_EXCEPTION + ERROR_FAIL_FAST_EXCEPTION + + + + No documentation. + + + ERROR_INVALID_USER_BUFFER + ERROR_INVALID_USER_BUFFER + + + + No documentation. + + + ERROR_UNRECOGNIZED_MEDIA + ERROR_UNRECOGNIZED_MEDIA + + + + No documentation. + + + ERROR_NO_TRUST_LSA_SECRET + ERROR_NO_TRUST_LSA_SECRET + + + + No documentation. + + + ERROR_NO_TRUST_SAM_ACCOUNT + ERROR_NO_TRUST_SAM_ACCOUNT + + + + No documentation. + + + ERROR_TRUSTED_DOMAIN_FAILURE + ERROR_TRUSTED_DOMAIN_FAILURE + + + + No documentation. + + + ERROR_TRUSTED_RELATIONSHIP_FAILURE + ERROR_TRUSTED_RELATIONSHIP_FAILURE + + + + No documentation. + + + ERROR_TRUST_FAILURE + ERROR_TRUST_FAILURE + + + + No documentation. + + + ERROR_NETLOGON_NOT_STARTED + ERROR_NETLOGON_NOT_STARTED + + + + No documentation. + + + ERROR_ACCOUNT_EXPIRED + ERROR_ACCOUNT_EXPIRED + + + + No documentation. + + + ERROR_REDIRECTOR_HAS_OPEN_HANDLES + ERROR_REDIRECTOR_HAS_OPEN_HANDLES + + + + No documentation. + + + ERROR_PRINTER_DRIVER_ALREADY_INSTALLED + ERROR_PRINTER_DRIVER_ALREADY_INSTALLED + + + + No documentation. + + + ERROR_UNKNOWN_PORT + ERROR_UNKNOWN_PORT + + + + No documentation. + + + ERROR_UNKNOWN_PRINTER_DRIVER + ERROR_UNKNOWN_PRINTER_DRIVER + + + + No documentation. + + + ERROR_UNKNOWN_PRINTPROCESSOR + ERROR_UNKNOWN_PRINTPROCESSOR + + + + No documentation. + + + ERROR_INVALID_SEPARATOR_FILE + ERROR_INVALID_SEPARATOR_FILE + + + + No documentation. + + + ERROR_INVALID_PRIORITY + ERROR_INVALID_PRIORITY + + + + No documentation. + + + ERROR_INVALID_PRINTER_NAME + ERROR_INVALID_PRINTER_NAME + + + + No documentation. + + + ERROR_PRINTER_ALREADY_EXISTS + ERROR_PRINTER_ALREADY_EXISTS + + + + No documentation. + + + ERROR_INVALID_PRINTER_COMMAND + ERROR_INVALID_PRINTER_COMMAND + + + + No documentation. + + + ERROR_INVALID_DATATYPE + ERROR_INVALID_DATATYPE + + + + No documentation. + + + ERROR_INVALID_ENVIRONMENT + ERROR_INVALID_ENVIRONMENT + + + + No documentation. + + + ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT + ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT + + + + No documentation. + + + ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT + ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT + + + + No documentation. + + + ERROR_NOLOGON_SERVER_TRUST_ACCOUNT + ERROR_NOLOGON_SERVER_TRUST_ACCOUNT + + + + No documentation. + + + ERROR_DOMAIN_TRUST_INCONSISTENT + ERROR_DOMAIN_TRUST_INCONSISTENT + + + + No documentation. + + + ERROR_SERVER_HAS_OPEN_HANDLES + ERROR_SERVER_HAS_OPEN_HANDLES + + + + No documentation. + + + ERROR_RESOURCE_DATA_NOT_FOUND + ERROR_RESOURCE_DATA_NOT_FOUND + + + + No documentation. + + + ERROR_RESOURCE_TYPE_NOT_FOUND + ERROR_RESOURCE_TYPE_NOT_FOUND + + + + No documentation. + + + ERROR_RESOURCE_NAME_NOT_FOUND + ERROR_RESOURCE_NAME_NOT_FOUND + + + + No documentation. + + + ERROR_RESOURCE_LANG_NOT_FOUND + ERROR_RESOURCE_LANG_NOT_FOUND + + + + No documentation. + + + ERROR_NOT_ENOUGH_QUOTA + ERROR_NOT_ENOUGH_QUOTA + + + + No documentation. + + + ERROR_INVALID_TIME + ERROR_INVALID_TIME + + + + No documentation. + + + ERROR_INVALID_FORM_NAME + ERROR_INVALID_FORM_NAME + + + + No documentation. + + + ERROR_INVALID_FORM_SIZE + ERROR_INVALID_FORM_SIZE + + + + No documentation. + + + ERROR_ALREADY_WAITING + ERROR_ALREADY_WAITING + + + + No documentation. + + + ERROR_PRINTER_DELETED + ERROR_PRINTER_DELETED + + + + No documentation. + + + ERROR_INVALID_PRINTER_STATE + ERROR_INVALID_PRINTER_STATE + + + + No documentation. + + + ERROR_PASSWORD_MUST_CHANGE + ERROR_PASSWORD_MUST_CHANGE + + + + No documentation. + + + ERROR_DOMAIN_CONTROLLER_NOT_FOUND + ERROR_DOMAIN_CONTROLLER_NOT_FOUND + + + + No documentation. + + + ERROR_ACCOUNT_LOCKED_OUT + ERROR_ACCOUNT_LOCKED_OUT + + + + No documentation. + + + ERROR_NO_SITENAME + ERROR_NO_SITENAME + + + + No documentation. + + + ERROR_CANT_ACCESS_FILE + ERROR_CANT_ACCESS_FILE + + + + No documentation. + + + ERROR_CANT_RESOLVE_FILENAME + ERROR_CANT_RESOLVE_FILENAME + + + + No documentation. + + + ERROR_KM_DRIVER_BLOCKED + ERROR_KM_DRIVER_BLOCKED + + + + No documentation. + + + ERROR_CONTEXT_EXPIRED + ERROR_CONTEXT_EXPIRED + + + + No documentation. + + + ERROR_PER_USER_TRUST_QUOTA_EXCEEDED + ERROR_PER_USER_TRUST_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED + ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED + ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_AUTHENTICATION_FIREWALL_FAILED + ERROR_AUTHENTICATION_FIREWALL_FAILED + + + + No documentation. + + + ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED + ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED + + + + No documentation. + + + ERROR_NTLM_BLOCKED + ERROR_NTLM_BLOCKED + + + + No documentation. + + + ERROR_INVALID_PIXEL_FORMAT + ERROR_INVALID_PIXEL_FORMAT + + + + No documentation. + + + ERROR_BAD_DRIVER + ERROR_BAD_DRIVER + + + + No documentation. + + + ERROR_INVALID_WINDOW_STYLE + ERROR_INVALID_WINDOW_STYLE + + + + No documentation. + + + ERROR_METAFILE_NOT_SUPPORTED + ERROR_METAFILE_NOT_SUPPORTED + + + + No documentation. + + + ERROR_TRANSFORM_NOT_SUPPORTED + ERROR_TRANSFORM_NOT_SUPPORTED + + + + No documentation. + + + ERROR_CLIPPING_NOT_SUPPORTED + ERROR_CLIPPING_NOT_SUPPORTED + + + + No documentation. + + + ERROR_INVALID_CMM + ERROR_INVALID_CMM + + + + No documentation. + + + ERROR_INVALID_PROFILE + ERROR_INVALID_PROFILE + + + + No documentation. + + + ERROR_TAG_NOT_FOUND + ERROR_TAG_NOT_FOUND + + + + No documentation. + + + ERROR_TAG_NOT_PRESENT + ERROR_TAG_NOT_PRESENT + + + + No documentation. + + + ERROR_DUPLICATE_TAG + ERROR_DUPLICATE_TAG + + + + No documentation. + + + ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE + ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE + + + + No documentation. + + + ERROR_PROFILE_NOT_FOUND + ERROR_PROFILE_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_COLORSPACE + ERROR_INVALID_COLORSPACE + + + + No documentation. + + + ERROR_ICM_NOT_ENABLED + ERROR_ICM_NOT_ENABLED + + + + No documentation. + + + ERROR_DELETING_ICM_XFORM + ERROR_DELETING_ICM_XFORM + + + + No documentation. + + + ERROR_INVALID_TRANSFORM + ERROR_INVALID_TRANSFORM + + + + No documentation. + + + ERROR_COLORSPACE_MISMATCH + ERROR_COLORSPACE_MISMATCH + + + + No documentation. + + + ERROR_INVALID_COLORINDEX + ERROR_INVALID_COLORINDEX + + + + No documentation. + + + ERROR_PROFILE_DOES_NOT_MATCH_DEVICE + ERROR_PROFILE_DOES_NOT_MATCH_DEVICE + + + + No documentation. + + + ERROR_CONNECTED_OTHER_PASSWORD + ERROR_CONNECTED_OTHER_PASSWORD + + + + No documentation. + + + ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT + ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT + + + + No documentation. + + + ERROR_BAD_USERNAME + ERROR_BAD_USERNAME + + + + No documentation. + + + ERROR_NOT_CONNECTED + ERROR_NOT_CONNECTED + + + + No documentation. + + + ERROR_OPEN_FILES + ERROR_OPEN_FILES + + + + No documentation. + + + ERROR_ACTIVE_CONNECTIONS + ERROR_ACTIVE_CONNECTIONS + + + + No documentation. + + + ERROR_DEVICE_IN_USE + ERROR_DEVICE_IN_USE + + + + No documentation. + + + ERROR_UNKNOWN_PRINT_MONITOR + ERROR_UNKNOWN_PRINT_MONITOR + + + + No documentation. + + + ERROR_PRINTER_DRIVER_IN_USE + ERROR_PRINTER_DRIVER_IN_USE + + + + No documentation. + + + ERROR_SPOOL_FILE_NOT_FOUND + ERROR_SPOOL_FILE_NOT_FOUND + + + + No documentation. + + + ERROR_SPL_NO_STARTDOC + ERROR_SPL_NO_STARTDOC + + + + No documentation. + + + ERROR_SPL_NO_ADDJOB + ERROR_SPL_NO_ADDJOB + + + + No documentation. + + + ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED + ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED + + + + No documentation. + + + ERROR_PRINT_MONITOR_ALREADY_INSTALLED + ERROR_PRINT_MONITOR_ALREADY_INSTALLED + + + + No documentation. + + + ERROR_INVALID_PRINT_MONITOR + ERROR_INVALID_PRINT_MONITOR + + + + No documentation. + + + ERROR_PRINT_MONITOR_IN_USE + ERROR_PRINT_MONITOR_IN_USE + + + + No documentation. + + + ERROR_PRINTER_HAS_JOBS_QUEUED + ERROR_PRINTER_HAS_JOBS_QUEUED + + + + No documentation. + + + ERROR_SUCCESS_REBOOT_REQUIRED + ERROR_SUCCESS_REBOOT_REQUIRED + + + + No documentation. + + + ERROR_SUCCESS_RESTART_REQUIRED + ERROR_SUCCESS_RESTART_REQUIRED + + + + No documentation. + + + ERROR_PRINTER_NOT_FOUND + ERROR_PRINTER_NOT_FOUND + + + + No documentation. + + + ERROR_PRINTER_DRIVER_WARNED + ERROR_PRINTER_DRIVER_WARNED + + + + No documentation. + + + ERROR_PRINTER_DRIVER_BLOCKED + ERROR_PRINTER_DRIVER_BLOCKED + + + + No documentation. + + + ERROR_PRINTER_DRIVER_PACKAGE_IN_USE + ERROR_PRINTER_DRIVER_PACKAGE_IN_USE + + + + No documentation. + + + ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND + ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND + + + + No documentation. + + + ERROR_FAIL_REBOOT_REQUIRED + ERROR_FAIL_REBOOT_REQUIRED + + + + No documentation. + + + ERROR_FAIL_REBOOT_INITIATED + ERROR_FAIL_REBOOT_INITIATED + + + + No documentation. + + + ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED + ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED + + + + No documentation. + + + ERROR_PRINT_JOB_RESTART_REQUIRED + ERROR_PRINT_JOB_RESTART_REQUIRED + + + + No documentation. + + + ERROR_IO_REISSUE_AS_CACHED + ERROR_IO_REISSUE_AS_CACHED + + + + No documentation. + + + ERROR_WINS_INTERNAL + ERROR_WINS_INTERNAL + + + + No documentation. + + + ERROR_CAN_NOT_DEL_LOCAL_WINS + ERROR_CAN_NOT_DEL_LOCAL_WINS + + + + No documentation. + + + ERROR_STATIC_INIT + ERROR_STATIC_INIT + + + + No documentation. + + + ERROR_INC_BACKUP + ERROR_INC_BACKUP + + + + No documentation. + + + ERROR_FULL_BACKUP + ERROR_FULL_BACKUP + + + + No documentation. + + + ERROR_REC_NON_EXISTENT + ERROR_REC_NON_EXISTENT + + + + No documentation. + + + ERROR_RPL_NOT_ALLOWED + ERROR_RPL_NOT_ALLOWED + + + + No documentation. + + + ERROR_DHCP_ADDRESS_CONFLICT + ERROR_DHCP_ADDRESS_CONFLICT + + + + No documentation. + + + ERROR_WMI_GUID_NOT_FOUND + ERROR_WMI_GUID_NOT_FOUND + + + + No documentation. + + + ERROR_WMI_INSTANCE_NOT_FOUND + ERROR_WMI_INSTANCE_NOT_FOUND + + + + No documentation. + + + ERROR_WMI_ITEMID_NOT_FOUND + ERROR_WMI_ITEMID_NOT_FOUND + + + + No documentation. + + + ERROR_WMI_TRY_AGAIN + ERROR_WMI_TRY_AGAIN + + + + No documentation. + + + ERROR_WMI_DP_NOT_FOUND + ERROR_WMI_DP_NOT_FOUND + + + + No documentation. + + + ERROR_WMI_UNRESOLVED_INSTANCE_REF + ERROR_WMI_UNRESOLVED_INSTANCE_REF + + + + No documentation. + + + ERROR_WMI_ALREADY_ENABLED + ERROR_WMI_ALREADY_ENABLED + + + + No documentation. + + + ERROR_WMI_GUID_DISCONNECTED + ERROR_WMI_GUID_DISCONNECTED + + + + No documentation. + + + ERROR_WMI_SERVER_UNAVAILABLE + ERROR_WMI_SERVER_UNAVAILABLE + + + + No documentation. + + + ERROR_WMI_DP_FAILED + ERROR_WMI_DP_FAILED + + + + No documentation. + + + ERROR_WMI_INVALID_MOF + ERROR_WMI_INVALID_MOF + + + + No documentation. + + + ERROR_WMI_INVALID_REGINFO + ERROR_WMI_INVALID_REGINFO + + + + No documentation. + + + ERROR_WMI_ALREADY_DISABLED + ERROR_WMI_ALREADY_DISABLED + + + + No documentation. + + + ERROR_WMI_READ_ONLY + ERROR_WMI_READ_ONLY + + + + No documentation. + + + ERROR_WMI_SET_FAILURE + ERROR_WMI_SET_FAILURE + + + + No documentation. + + + ERROR_INVALID_MEDIA + ERROR_INVALID_MEDIA + + + + No documentation. + + + ERROR_INVALID_LIBRARY + ERROR_INVALID_LIBRARY + + + + No documentation. + + + ERROR_INVALID_MEDIA_POOL + ERROR_INVALID_MEDIA_POOL + + + + No documentation. + + + ERROR_DRIVE_MEDIA_MISMATCH + ERROR_DRIVE_MEDIA_MISMATCH + + + + No documentation. + + + ERROR_MEDIA_OFFLINE + ERROR_MEDIA_OFFLINE + + + + No documentation. + + + ERROR_LIBRARY_OFFLINE + ERROR_LIBRARY_OFFLINE + + + + No documentation. + + + ERROR_EMPTY + ERROR_EMPTY + + + + No documentation. + + + ERROR_NOT_EMPTY + ERROR_NOT_EMPTY + + + + No documentation. + + + ERROR_MEDIA_UNAVAILABLE + ERROR_MEDIA_UNAVAILABLE + + + + No documentation. + + + ERROR_RESOURCE_DISABLED + ERROR_RESOURCE_DISABLED + + + + No documentation. + + + ERROR_INVALID_CLEANER + ERROR_INVALID_CLEANER + + + + No documentation. + + + ERROR_UNABLE_TO_CLEAN + ERROR_UNABLE_TO_CLEAN + + + + No documentation. + + + ERROR_OBJECT_NOT_FOUND + ERROR_OBJECT_NOT_FOUND + + + + No documentation. + + + ERROR_DATABASE_FAILURE + ERROR_DATABASE_FAILURE + + + + No documentation. + + + ERROR_DATABASE_FULL + ERROR_DATABASE_FULL + + + + No documentation. + + + ERROR_MEDIA_INCOMPATIBLE + ERROR_MEDIA_INCOMPATIBLE + + + + No documentation. + + + ERROR_RESOURCE_NOT_PRESENT + ERROR_RESOURCE_NOT_PRESENT + + + + No documentation. + + + ERROR_INVALID_OPERATION + ERROR_INVALID_OPERATION + + + + No documentation. + + + ERROR_MEDIA_NOT_AVAILABLE + ERROR_MEDIA_NOT_AVAILABLE + + + + No documentation. + + + ERROR_DEVICE_NOT_AVAILABLE + ERROR_DEVICE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_REQUEST_REFUSED + ERROR_REQUEST_REFUSED + + + + No documentation. + + + ERROR_INVALID_DRIVE_OBJECT + ERROR_INVALID_DRIVE_OBJECT + + + + No documentation. + + + ERROR_LIBRARY_FULL + ERROR_LIBRARY_FULL + + + + No documentation. + + + ERROR_MEDIUM_NOT_ACCESSIBLE + ERROR_MEDIUM_NOT_ACCESSIBLE + + + + No documentation. + + + ERROR_UNABLE_TO_LOAD_MEDIUM + ERROR_UNABLE_TO_LOAD_MEDIUM + + + + No documentation. + + + ERROR_UNABLE_TO_INVENTORY_DRIVE + ERROR_UNABLE_TO_INVENTORY_DRIVE + + + + No documentation. + + + ERROR_UNABLE_TO_INVENTORY_SLOT + ERROR_UNABLE_TO_INVENTORY_SLOT + + + + No documentation. + + + ERROR_UNABLE_TO_INVENTORY_TRANSPORT + ERROR_UNABLE_TO_INVENTORY_TRANSPORT + + + + No documentation. + + + ERROR_TRANSPORT_FULL + ERROR_TRANSPORT_FULL + + + + No documentation. + + + ERROR_CONTROLLING_IEPORT + ERROR_CONTROLLING_IEPORT + + + + No documentation. + + + ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA + ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA + + + + No documentation. + + + ERROR_CLEANER_SLOT_SET + ERROR_CLEANER_SLOT_SET + + + + No documentation. + + + ERROR_CLEANER_SLOT_NOT_SET + ERROR_CLEANER_SLOT_NOT_SET + + + + No documentation. + + + ERROR_CLEANER_CARTRIDGE_SPENT + ERROR_CLEANER_CARTRIDGE_SPENT + + + + No documentation. + + + ERROR_UNEXPECTED_OMID + ERROR_UNEXPECTED_OMID + + + + No documentation. + + + ERROR_CANT_DELETE_LAST_ITEM + ERROR_CANT_DELETE_LAST_ITEM + + + + No documentation. + + + ERROR_MESSAGE_EXCEEDS_MAX_SIZE + ERROR_MESSAGE_EXCEEDS_MAX_SIZE + + + + No documentation. + + + ERROR_VOLUME_CONTAINS_SYS_FILES + ERROR_VOLUME_CONTAINS_SYS_FILES + + + + No documentation. + + + ERROR_INDIGENOUS_TYPE + ERROR_INDIGENOUS_TYPE + + + + No documentation. + + + ERROR_NO_SUPPORTING_DRIVES + ERROR_NO_SUPPORTING_DRIVES + + + + No documentation. + + + ERROR_CLEANER_CARTRIDGE_INSTALLED + ERROR_CLEANER_CARTRIDGE_INSTALLED + + + + No documentation. + + + ERROR_IEPORT_FULL + ERROR_IEPORT_FULL + + + + No documentation. + + + ERROR_FILE_OFFLINE + ERROR_FILE_OFFLINE + + + + No documentation. + + + ERROR_REMOTE_STORAGE_NOT_ACTIVE + ERROR_REMOTE_STORAGE_NOT_ACTIVE + + + + No documentation. + + + ERROR_REMOTE_STORAGE_MEDIA_ERROR + ERROR_REMOTE_STORAGE_MEDIA_ERROR + + + + No documentation. + + + ERROR_NOT_A_REPARSE_POINT + ERROR_NOT_A_REPARSE_POINT + + + + No documentation. + + + ERROR_REPARSE_ATTRIBUTE_CONFLICT + ERROR_REPARSE_ATTRIBUTE_CONFLICT + + + + No documentation. + + + ERROR_INVALID_REPARSE_DATA + ERROR_INVALID_REPARSE_DATA + + + + No documentation. + + + ERROR_REPARSE_TAG_INVALID + ERROR_REPARSE_TAG_INVALID + + + + No documentation. + + + ERROR_REPARSE_TAG_MISMATCH + ERROR_REPARSE_TAG_MISMATCH + + + + No documentation. + + + ERROR_VOLUME_NOT_SIS_ENABLED + ERROR_VOLUME_NOT_SIS_ENABLED + + + + No documentation. + + + ERROR_DEPENDENT_RESOURCE_EXISTS + ERROR_DEPENDENT_RESOURCE_EXISTS + + + + No documentation. + + + ERROR_DEPENDENCY_NOT_FOUND + ERROR_DEPENDENCY_NOT_FOUND + + + + No documentation. + + + ERROR_DEPENDENCY_ALREADY_EXISTS + ERROR_DEPENDENCY_ALREADY_EXISTS + + + + No documentation. + + + ERROR_RESOURCE_NOT_ONLINE + ERROR_RESOURCE_NOT_ONLINE + + + + No documentation. + + + ERROR_HOST_NODE_NOT_AVAILABLE + ERROR_HOST_NODE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_RESOURCE_NOT_AVAILABLE + ERROR_RESOURCE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_RESOURCE_NOT_FOUND + ERROR_RESOURCE_NOT_FOUND + + + + No documentation. + + + ERROR_SHUTDOWN_CLUSTER + ERROR_SHUTDOWN_CLUSTER + + + + No documentation. + + + ERROR_CANT_EVICT_ACTIVE_NODE + ERROR_CANT_EVICT_ACTIVE_NODE + + + + No documentation. + + + ERROR_OBJECT_ALREADY_EXISTS + ERROR_OBJECT_ALREADY_EXISTS + + + + No documentation. + + + ERROR_OBJECT_IN_LIST + ERROR_OBJECT_IN_LIST + + + + No documentation. + + + ERROR_GROUP_NOT_AVAILABLE + ERROR_GROUP_NOT_AVAILABLE + + + + No documentation. + + + ERROR_GROUP_NOT_FOUND + ERROR_GROUP_NOT_FOUND + + + + No documentation. + + + ERROR_GROUP_NOT_ONLINE + ERROR_GROUP_NOT_ONLINE + + + + No documentation. + + + ERROR_HOST_NODE_NOT_RESOURCE_OWNER + ERROR_HOST_NODE_NOT_RESOURCE_OWNER + + + + No documentation. + + + ERROR_HOST_NODE_NOT_GROUP_OWNER + ERROR_HOST_NODE_NOT_GROUP_OWNER + + + + No documentation. + + + ERROR_RESMON_CREATE_FAILED + ERROR_RESMON_CREATE_FAILED + + + + No documentation. + + + ERROR_RESMON_ONLINE_FAILED + ERROR_RESMON_ONLINE_FAILED + + + + No documentation. + + + ERROR_RESOURCE_ONLINE + ERROR_RESOURCE_ONLINE + + + + No documentation. + + + ERROR_QUORUM_RESOURCE + ERROR_QUORUM_RESOURCE + + + + No documentation. + + + ERROR_NOT_QUORUM_CAPABLE + ERROR_NOT_QUORUM_CAPABLE + + + + No documentation. + + + ERROR_CLUSTER_SHUTTING_DOWN + ERROR_CLUSTER_SHUTTING_DOWN + + + + No documentation. + + + ERROR_INVALID_STATE + ERROR_INVALID_STATE + + + + No documentation. + + + ERROR_RESOURCE_PROPERTIES_STORED + ERROR_RESOURCE_PROPERTIES_STORED + + + + No documentation. + + + ERROR_NOT_QUORUM_CLASS + ERROR_NOT_QUORUM_CLASS + + + + No documentation. + + + ERROR_CORE_RESOURCE + ERROR_CORE_RESOURCE + + + + No documentation. + + + ERROR_QUORUM_RESOURCE_ONLINE_FAILED + ERROR_QUORUM_RESOURCE_ONLINE_FAILED + + + + No documentation. + + + ERROR_QUORUMLOG_OPEN_FAILED + ERROR_QUORUMLOG_OPEN_FAILED + + + + No documentation. + + + ERROR_CLUSTERLOG_CORRUPT + ERROR_CLUSTERLOG_CORRUPT + + + + No documentation. + + + ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE + ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE + + + + No documentation. + + + ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE + ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE + + + + No documentation. + + + ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND + ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE + ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE + + + + No documentation. + + + ERROR_QUORUM_OWNER_ALIVE + ERROR_QUORUM_OWNER_ALIVE + + + + No documentation. + + + ERROR_NETWORK_NOT_AVAILABLE + ERROR_NETWORK_NOT_AVAILABLE + + + + No documentation. + + + ERROR_NODE_NOT_AVAILABLE + ERROR_NODE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_ALL_NODES_NOT_AVAILABLE + ERROR_ALL_NODES_NOT_AVAILABLE + + + + No documentation. + + + ERROR_RESOURCE_FAILED + ERROR_RESOURCE_FAILED + + + + No documentation. + + + ERROR_CLUSTER_INVALID_NODE + ERROR_CLUSTER_INVALID_NODE + + + + No documentation. + + + ERROR_CLUSTER_NODE_EXISTS + ERROR_CLUSTER_NODE_EXISTS + + + + No documentation. + + + ERROR_CLUSTER_JOIN_IN_PROGRESS + ERROR_CLUSTER_JOIN_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_NODE_NOT_FOUND + ERROR_CLUSTER_NODE_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND + ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_EXISTS + ERROR_CLUSTER_NETWORK_EXISTS + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_NOT_FOUND + ERROR_CLUSTER_NETWORK_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_NETINTERFACE_EXISTS + ERROR_CLUSTER_NETINTERFACE_EXISTS + + + + No documentation. + + + ERROR_CLUSTER_NETINTERFACE_NOT_FOUND + ERROR_CLUSTER_NETINTERFACE_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_INVALID_REQUEST + ERROR_CLUSTER_INVALID_REQUEST + + + + No documentation. + + + ERROR_CLUSTER_INVALID_NETWORK_PROVIDER + ERROR_CLUSTER_INVALID_NETWORK_PROVIDER + + + + No documentation. + + + ERROR_CLUSTER_NODE_DOWN + ERROR_CLUSTER_NODE_DOWN + + + + No documentation. + + + ERROR_CLUSTER_NODE_UNREACHABLE + ERROR_CLUSTER_NODE_UNREACHABLE + + + + No documentation. + + + ERROR_CLUSTER_NODE_NOT_MEMBER + ERROR_CLUSTER_NODE_NOT_MEMBER + + + + No documentation. + + + ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS + ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_INVALID_NETWORK + ERROR_CLUSTER_INVALID_NETWORK + + + + No documentation. + + + ERROR_CLUSTER_NODE_UP + ERROR_CLUSTER_NODE_UP + + + + No documentation. + + + ERROR_CLUSTER_IPADDR_IN_USE + ERROR_CLUSTER_IPADDR_IN_USE + + + + No documentation. + + + ERROR_CLUSTER_NODE_NOT_PAUSED + ERROR_CLUSTER_NODE_NOT_PAUSED + + + + No documentation. + + + ERROR_CLUSTER_NO_SECURITY_CONTEXT + ERROR_CLUSTER_NO_SECURITY_CONTEXT + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_NOT_INTERNAL + ERROR_CLUSTER_NETWORK_NOT_INTERNAL + + + + No documentation. + + + ERROR_CLUSTER_NODE_ALREADY_UP + ERROR_CLUSTER_NODE_ALREADY_UP + + + + No documentation. + + + ERROR_CLUSTER_NODE_ALREADY_DOWN + ERROR_CLUSTER_NODE_ALREADY_DOWN + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_ALREADY_ONLINE + ERROR_CLUSTER_NETWORK_ALREADY_ONLINE + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE + ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE + + + + No documentation. + + + ERROR_CLUSTER_NODE_ALREADY_MEMBER + ERROR_CLUSTER_NODE_ALREADY_MEMBER + + + + No documentation. + + + ERROR_CLUSTER_LAST_INTERNAL_NETWORK + ERROR_CLUSTER_LAST_INTERNAL_NETWORK + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS + ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS + + + + No documentation. + + + ERROR_INVALID_OPERATION_ON_QUORUM + ERROR_INVALID_OPERATION_ON_QUORUM + + + + No documentation. + + + ERROR_DEPENDENCY_NOT_ALLOWED + ERROR_DEPENDENCY_NOT_ALLOWED + + + + No documentation. + + + ERROR_CLUSTER_NODE_PAUSED + ERROR_CLUSTER_NODE_PAUSED + + + + No documentation. + + + ERROR_NODE_CANT_HOST_RESOURCE + ERROR_NODE_CANT_HOST_RESOURCE + + + + No documentation. + + + ERROR_CLUSTER_NODE_NOT_READY + ERROR_CLUSTER_NODE_NOT_READY + + + + No documentation. + + + ERROR_CLUSTER_NODE_SHUTTING_DOWN + ERROR_CLUSTER_NODE_SHUTTING_DOWN + + + + No documentation. + + + ERROR_CLUSTER_JOIN_ABORTED + ERROR_CLUSTER_JOIN_ABORTED + + + + No documentation. + + + ERROR_CLUSTER_INCOMPATIBLE_VERSIONS + ERROR_CLUSTER_INCOMPATIBLE_VERSIONS + + + + No documentation. + + + ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED + ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED + + + + No documentation. + + + ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED + ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND + ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED + ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED + + + + No documentation. + + + ERROR_CLUSTER_RESNAME_NOT_FOUND + ERROR_CLUSTER_RESNAME_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED + ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED + + + + No documentation. + + + ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST + ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST + + + + No documentation. + + + ERROR_CLUSTER_DATABASE_SEQMISMATCH + ERROR_CLUSTER_DATABASE_SEQMISMATCH + + + + No documentation. + + + ERROR_RESMON_INVALID_STATE + ERROR_RESMON_INVALID_STATE + + + + No documentation. + + + ERROR_CLUSTER_GUM_NOT_LOCKER + ERROR_CLUSTER_GUM_NOT_LOCKER + + + + No documentation. + + + ERROR_QUORUM_DISK_NOT_FOUND + ERROR_QUORUM_DISK_NOT_FOUND + + + + No documentation. + + + ERROR_DATABASE_BACKUP_CORRUPT + ERROR_DATABASE_BACKUP_CORRUPT + + + + No documentation. + + + ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT + ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT + + + + No documentation. + + + ERROR_RESOURCE_PROPERTY_UNCHANGEABLE + ERROR_RESOURCE_PROPERTY_UNCHANGEABLE + + + + No documentation. + + + ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE + ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE + + + + No documentation. + + + ERROR_CLUSTER_QUORUMLOG_NOT_FOUND + ERROR_CLUSTER_QUORUMLOG_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_MEMBERSHIP_HALT + ERROR_CLUSTER_MEMBERSHIP_HALT + + + + No documentation. + + + ERROR_CLUSTER_INSTANCE_ID_MISMATCH + ERROR_CLUSTER_INSTANCE_ID_MISMATCH + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP + ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP + + + + No documentation. + + + ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH + ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH + + + + No documentation. + + + ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP + ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP + + + + No documentation. + + + ERROR_CLUSTER_PARAMETER_MISMATCH + ERROR_CLUSTER_PARAMETER_MISMATCH + + + + No documentation. + + + ERROR_NODE_CANNOT_BE_CLUSTERED + ERROR_NODE_CANNOT_BE_CLUSTERED + + + + No documentation. + + + ERROR_CLUSTER_WRONG_OS_VERSION + ERROR_CLUSTER_WRONG_OS_VERSION + + + + No documentation. + + + ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME + ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME + + + + No documentation. + + + ERROR_CLUSCFG_ALREADY_COMMITTED + ERROR_CLUSCFG_ALREADY_COMMITTED + + + + No documentation. + + + ERROR_CLUSCFG_ROLLBACK_FAILED + ERROR_CLUSCFG_ROLLBACK_FAILED + + + + No documentation. + + + ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT + ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT + + + + No documentation. + + + ERROR_CLUSTER_OLD_VERSION + ERROR_CLUSTER_OLD_VERSION + + + + No documentation. + + + ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME + ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME + + + + No documentation. + + + ERROR_CLUSTER_NO_NET_ADAPTERS + ERROR_CLUSTER_NO_NET_ADAPTERS + + + + No documentation. + + + ERROR_CLUSTER_POISONED + ERROR_CLUSTER_POISONED + + + + No documentation. + + + ERROR_CLUSTER_GROUP_MOVING + ERROR_CLUSTER_GROUP_MOVING + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_TYPE_BUSY + ERROR_CLUSTER_RESOURCE_TYPE_BUSY + + + + No documentation. + + + ERROR_RESOURCE_CALL_TIMED_OUT + ERROR_RESOURCE_CALL_TIMED_OUT + + + + No documentation. + + + ERROR_INVALID_CLUSTER_IPV6_ADDRESS + ERROR_INVALID_CLUSTER_IPV6_ADDRESS + + + + No documentation. + + + ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION + ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION + + + + No documentation. + + + ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS + ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS + + + + No documentation. + + + ERROR_CLUSTER_PARTIAL_SEND + ERROR_CLUSTER_PARTIAL_SEND + + + + No documentation. + + + ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION + ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION + + + + No documentation. + + + ERROR_CLUSTER_INVALID_STRING_TERMINATION + ERROR_CLUSTER_INVALID_STRING_TERMINATION + + + + No documentation. + + + ERROR_CLUSTER_INVALID_STRING_FORMAT + ERROR_CLUSTER_INVALID_STRING_FORMAT + + + + No documentation. + + + ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS + ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS + ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_NULL_DATA + ERROR_CLUSTER_NULL_DATA + + + + No documentation. + + + ERROR_CLUSTER_PARTIAL_READ + ERROR_CLUSTER_PARTIAL_READ + + + + No documentation. + + + ERROR_CLUSTER_PARTIAL_WRITE + ERROR_CLUSTER_PARTIAL_WRITE + + + + No documentation. + + + ERROR_CLUSTER_CANT_DESERIALIZE_DATA + ERROR_CLUSTER_CANT_DESERIALIZE_DATA + + + + No documentation. + + + ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT + ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT + + + + No documentation. + + + ERROR_CLUSTER_NO_QUORUM + ERROR_CLUSTER_NO_QUORUM + + + + No documentation. + + + ERROR_CLUSTER_INVALID_IPV6_NETWORK + ERROR_CLUSTER_INVALID_IPV6_NETWORK + + + + No documentation. + + + ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK + ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK + + + + No documentation. + + + ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP + ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP + + + + No documentation. + + + ERROR_DEPENDENCY_TREE_TOO_COMPLEX + ERROR_DEPENDENCY_TREE_TOO_COMPLEX + + + + No documentation. + + + ERROR_EXCEPTION_IN_RESOURCE_CALL + ERROR_EXCEPTION_IN_RESOURCE_CALL + + + + No documentation. + + + ERROR_CLUSTER_RHS_FAILED_INITIALIZATION + ERROR_CLUSTER_RHS_FAILED_INITIALIZATION + + + + No documentation. + + + ERROR_CLUSTER_NOT_INSTALLED + ERROR_CLUSTER_NOT_INSTALLED + + + + No documentation. + + + ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE + ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE + + + + No documentation. + + + ERROR_CLUSTER_MAX_NODES_IN_CLUSTER + ERROR_CLUSTER_MAX_NODES_IN_CLUSTER + + + + No documentation. + + + ERROR_CLUSTER_TOO_MANY_NODES + ERROR_CLUSTER_TOO_MANY_NODES + + + + No documentation. + + + ERROR_CLUSTER_OBJECT_ALREADY_USED + ERROR_CLUSTER_OBJECT_ALREADY_USED + + + + No documentation. + + + ERROR_NONCORE_GROUPS_FOUND + ERROR_NONCORE_GROUPS_FOUND + + + + No documentation. + + + ERROR_FILE_SHARE_RESOURCE_CONFLICT + ERROR_FILE_SHARE_RESOURCE_CONFLICT + + + + No documentation. + + + ERROR_CLUSTER_EVICT_INVALID_REQUEST + ERROR_CLUSTER_EVICT_INVALID_REQUEST + + + + No documentation. + + + ERROR_CLUSTER_SINGLETON_RESOURCE + ERROR_CLUSTER_SINGLETON_RESOURCE + + + + No documentation. + + + ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE + ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED + ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR + ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR + + + + No documentation. + + + ERROR_CLUSTER_GROUP_BUSY + ERROR_CLUSTER_GROUP_BUSY + + + + No documentation. + + + ERROR_CLUSTER_NOT_SHARED_VOLUME + ERROR_CLUSTER_NOT_SHARED_VOLUME + + + + No documentation. + + + ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR + ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR + + + + No documentation. + + + ERROR_CLUSTER_SHARED_VOLUMES_IN_USE + ERROR_CLUSTER_SHARED_VOLUMES_IN_USE + + + + No documentation. + + + ERROR_CLUSTER_USE_SHARED_VOLUMES_API + ERROR_CLUSTER_USE_SHARED_VOLUMES_API + + + + No documentation. + + + ERROR_CLUSTER_BACKUP_IN_PROGRESS + ERROR_CLUSTER_BACKUP_IN_PROGRESS + + + + No documentation. + + + ERROR_NON_CSV_PATH + ERROR_NON_CSV_PATH + + + + No documentation. + + + ERROR_CSV_VOLUME_NOT_LOCAL + ERROR_CSV_VOLUME_NOT_LOCAL + + + + No documentation. + + + ERROR_CLUSTER_WATCHDOG_TERMINATING + ERROR_CLUSTER_WATCHDOG_TERMINATING + + + + No documentation. + + + ERROR_ENCRYPTION_FAILED + ERROR_ENCRYPTION_FAILED + + + + No documentation. + + + ERROR_DECRYPTION_FAILED + ERROR_DECRYPTION_FAILED + + + + No documentation. + + + ERROR_FILE_ENCRYPTED + ERROR_FILE_ENCRYPTED + + + + No documentation. + + + ERROR_NO_RECOVERY_POLICY + ERROR_NO_RECOVERY_POLICY + + + + No documentation. + + + ERROR_NO_EFS + ERROR_NO_EFS + + + + No documentation. + + + ERROR_WRONG_EFS + ERROR_WRONG_EFS + + + + No documentation. + + + ERROR_NO_USER_KEYS + ERROR_NO_USER_KEYS + + + + No documentation. + + + ERROR_FILE_NOT_ENCRYPTED + ERROR_FILE_NOT_ENCRYPTED + + + + No documentation. + + + ERROR_NOT_EXPORT_FORMAT + ERROR_NOT_EXPORT_FORMAT + + + + No documentation. + + + ERROR_FILE_READ_ONLY + ERROR_FILE_READ_ONLY + + + + No documentation. + + + ERROR_DIR_EFS_DISALLOWED + ERROR_DIR_EFS_DISALLOWED + + + + No documentation. + + + ERROR_EFS_SERVER_NOT_TRUSTED + ERROR_EFS_SERVER_NOT_TRUSTED + + + + No documentation. + + + ERROR_BAD_RECOVERY_POLICY + ERROR_BAD_RECOVERY_POLICY + + + + No documentation. + + + ERROR_EFS_ALG_BLOB_TOO_BIG + ERROR_EFS_ALG_BLOB_TOO_BIG + + + + No documentation. + + + ERROR_VOLUME_NOT_SUPPORT_EFS + ERROR_VOLUME_NOT_SUPPORT_EFS + + + + No documentation. + + + ERROR_EFS_DISABLED + ERROR_EFS_DISABLED + + + + No documentation. + + + ERROR_EFS_VERSION_NOT_SUPPORT + ERROR_EFS_VERSION_NOT_SUPPORT + + + + No documentation. + + + ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE + ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE + + + + No documentation. + + + ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER + ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER + + + + No documentation. + + + ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE + ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE + + + + No documentation. + + + ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE + ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE + + + + No documentation. + + + ERROR_CS_ENCRYPTION_FILE_NOT_CSE + ERROR_CS_ENCRYPTION_FILE_NOT_CSE + + + + No documentation. + + + ERROR_ENCRYPTION_POLICY_DENIES_OPERATION + ERROR_ENCRYPTION_POLICY_DENIES_OPERATION + + + + No documentation. + + + ERROR_NO_BROWSER_SERVERS_FOUND + ERROR_NO_BROWSER_SERVERS_FOUND + + + + No documentation. + + + ERROR_LOG_SECTOR_INVALID + ERROR_LOG_SECTOR_INVALID + + + + No documentation. + + + ERROR_LOG_SECTOR_PARITY_INVALID + ERROR_LOG_SECTOR_PARITY_INVALID + + + + No documentation. + + + ERROR_LOG_SECTOR_REMAPPED + ERROR_LOG_SECTOR_REMAPPED + + + + No documentation. + + + ERROR_LOG_BLOCK_INCOMPLETE + ERROR_LOG_BLOCK_INCOMPLETE + + + + No documentation. + + + ERROR_LOG_INVALID_RANGE + ERROR_LOG_INVALID_RANGE + + + + No documentation. + + + ERROR_LOG_BLOCKS_EXHAUSTED + ERROR_LOG_BLOCKS_EXHAUSTED + + + + No documentation. + + + ERROR_LOG_READ_CONTEXT_INVALID + ERROR_LOG_READ_CONTEXT_INVALID + + + + No documentation. + + + ERROR_LOG_RESTART_INVALID + ERROR_LOG_RESTART_INVALID + + + + No documentation. + + + ERROR_LOG_BLOCK_VERSION + ERROR_LOG_BLOCK_VERSION + + + + No documentation. + + + ERROR_LOG_BLOCK_INVALID + ERROR_LOG_BLOCK_INVALID + + + + No documentation. + + + ERROR_LOG_READ_MODE_INVALID + ERROR_LOG_READ_MODE_INVALID + + + + No documentation. + + + ERROR_LOG_NO_RESTART + ERROR_LOG_NO_RESTART + + + + No documentation. + + + ERROR_LOG_METADATA_CORRUPT + ERROR_LOG_METADATA_CORRUPT + + + + No documentation. + + + ERROR_LOG_METADATA_INVALID + ERROR_LOG_METADATA_INVALID + + + + No documentation. + + + ERROR_LOG_METADATA_INCONSISTENT + ERROR_LOG_METADATA_INCONSISTENT + + + + No documentation. + + + ERROR_LOG_RESERVATION_INVALID + ERROR_LOG_RESERVATION_INVALID + + + + No documentation. + + + ERROR_LOG_CANT_DELETE + ERROR_LOG_CANT_DELETE + + + + No documentation. + + + ERROR_LOG_CONTAINER_LIMIT_EXCEEDED + ERROR_LOG_CONTAINER_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_LOG_START_OF_LOG + ERROR_LOG_START_OF_LOG + + + + No documentation. + + + ERROR_LOG_POLICY_ALREADY_INSTALLED + ERROR_LOG_POLICY_ALREADY_INSTALLED + + + + No documentation. + + + ERROR_LOG_POLICY_NOT_INSTALLED + ERROR_LOG_POLICY_NOT_INSTALLED + + + + No documentation. + + + ERROR_LOG_POLICY_INVALID + ERROR_LOG_POLICY_INVALID + + + + No documentation. + + + ERROR_LOG_POLICY_CONFLICT + ERROR_LOG_POLICY_CONFLICT + + + + No documentation. + + + ERROR_LOG_PINNED_ARCHIVE_TAIL + ERROR_LOG_PINNED_ARCHIVE_TAIL + + + + No documentation. + + + ERROR_LOG_RECORD_NONEXISTENT + ERROR_LOG_RECORD_NONEXISTENT + + + + No documentation. + + + ERROR_LOG_RECORDS_RESERVED_INVALID + ERROR_LOG_RECORDS_RESERVED_INVALID + + + + No documentation. + + + ERROR_LOG_SPACE_RESERVED_INVALID + ERROR_LOG_SPACE_RESERVED_INVALID + + + + No documentation. + + + ERROR_LOG_TAIL_INVALID + ERROR_LOG_TAIL_INVALID + + + + No documentation. + + + ERROR_LOG_FULL + ERROR_LOG_FULL + + + + No documentation. + + + ERROR_COULD_NOT_RESIZE_LOG + ERROR_COULD_NOT_RESIZE_LOG + + + + No documentation. + + + ERROR_LOG_MULTIPLEXED + ERROR_LOG_MULTIPLEXED + + + + No documentation. + + + ERROR_LOG_DEDICATED + ERROR_LOG_DEDICATED + + + + No documentation. + + + ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS + ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS + + + + No documentation. + + + ERROR_LOG_ARCHIVE_IN_PROGRESS + ERROR_LOG_ARCHIVE_IN_PROGRESS + + + + No documentation. + + + ERROR_LOG_EPHEMERAL + ERROR_LOG_EPHEMERAL + + + + No documentation. + + + ERROR_LOG_NOT_ENOUGH_CONTAINERS + ERROR_LOG_NOT_ENOUGH_CONTAINERS + + + + No documentation. + + + ERROR_LOG_CLIENT_ALREADY_REGISTERED + ERROR_LOG_CLIENT_ALREADY_REGISTERED + + + + No documentation. + + + ERROR_LOG_CLIENT_NOT_REGISTERED + ERROR_LOG_CLIENT_NOT_REGISTERED + + + + No documentation. + + + ERROR_LOG_FULL_HANDLER_IN_PROGRESS + ERROR_LOG_FULL_HANDLER_IN_PROGRESS + + + + No documentation. + + + ERROR_LOG_CONTAINER_READ_FAILED + ERROR_LOG_CONTAINER_READ_FAILED + + + + No documentation. + + + ERROR_LOG_CONTAINER_WRITE_FAILED + ERROR_LOG_CONTAINER_WRITE_FAILED + + + + No documentation. + + + ERROR_LOG_CONTAINER_OPEN_FAILED + ERROR_LOG_CONTAINER_OPEN_FAILED + + + + No documentation. + + + ERROR_LOG_CONTAINER_STATE_INVALID + ERROR_LOG_CONTAINER_STATE_INVALID + + + + No documentation. + + + ERROR_LOG_STATE_INVALID + ERROR_LOG_STATE_INVALID + + + + No documentation. + + + ERROR_LOG_PINNED + ERROR_LOG_PINNED + + + + No documentation. + + + ERROR_LOG_METADATA_FLUSH_FAILED + ERROR_LOG_METADATA_FLUSH_FAILED + + + + No documentation. + + + ERROR_LOG_INCONSISTENT_SECURITY + ERROR_LOG_INCONSISTENT_SECURITY + + + + No documentation. + + + ERROR_LOG_APPENDED_FLUSH_FAILED + ERROR_LOG_APPENDED_FLUSH_FAILED + + + + No documentation. + + + ERROR_LOG_PINNED_RESERVATION + ERROR_LOG_PINNED_RESERVATION + + + + No documentation. + + + ERROR_INVALID_TRANSACTION + ERROR_INVALID_TRANSACTION + + + + No documentation. + + + ERROR_TRANSACTION_NOT_ACTIVE + ERROR_TRANSACTION_NOT_ACTIVE + + + + No documentation. + + + ERROR_TRANSACTION_REQUEST_NOT_VALID + ERROR_TRANSACTION_REQUEST_NOT_VALID + + + + No documentation. + + + ERROR_TRANSACTION_NOT_REQUESTED + ERROR_TRANSACTION_NOT_REQUESTED + + + + No documentation. + + + ERROR_TRANSACTION_ALREADY_ABORTED + ERROR_TRANSACTION_ALREADY_ABORTED + + + + No documentation. + + + ERROR_TRANSACTION_ALREADY_COMMITTED + ERROR_TRANSACTION_ALREADY_COMMITTED + + + + No documentation. + + + ERROR_TM_INITIALIZATION_FAILED + ERROR_TM_INITIALIZATION_FAILED + + + + No documentation. + + + ERROR_RESOURCEMANAGER_READ_ONLY + ERROR_RESOURCEMANAGER_READ_ONLY + + + + No documentation. + + + ERROR_TRANSACTION_NOT_JOINED + ERROR_TRANSACTION_NOT_JOINED + + + + No documentation. + + + ERROR_TRANSACTION_SUPERIOR_EXISTS + ERROR_TRANSACTION_SUPERIOR_EXISTS + + + + No documentation. + + + ERROR_CRM_PROTOCOL_ALREADY_EXISTS + ERROR_CRM_PROTOCOL_ALREADY_EXISTS + + + + No documentation. + + + ERROR_TRANSACTION_PROPAGATION_FAILED + ERROR_TRANSACTION_PROPAGATION_FAILED + + + + No documentation. + + + ERROR_CRM_PROTOCOL_NOT_FOUND + ERROR_CRM_PROTOCOL_NOT_FOUND + + + + No documentation. + + + ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER + ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER + + + + No documentation. + + + ERROR_CURRENT_TRANSACTION_NOT_VALID + ERROR_CURRENT_TRANSACTION_NOT_VALID + + + + No documentation. + + + ERROR_TRANSACTION_NOT_FOUND + ERROR_TRANSACTION_NOT_FOUND + + + + No documentation. + + + ERROR_RESOURCEMANAGER_NOT_FOUND + ERROR_RESOURCEMANAGER_NOT_FOUND + + + + No documentation. + + + ERROR_ENLISTMENT_NOT_FOUND + ERROR_ENLISTMENT_NOT_FOUND + + + + No documentation. + + + ERROR_TRANSACTIONMANAGER_NOT_FOUND + ERROR_TRANSACTIONMANAGER_NOT_FOUND + + + + No documentation. + + + ERROR_TRANSACTIONMANAGER_NOT_ONLINE + ERROR_TRANSACTIONMANAGER_NOT_ONLINE + + + + No documentation. + + + ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION + ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION + + + + No documentation. + + + ERROR_TRANSACTION_NOT_ROOT + ERROR_TRANSACTION_NOT_ROOT + + + + No documentation. + + + ERROR_TRANSACTION_OBJECT_EXPIRED + ERROR_TRANSACTION_OBJECT_EXPIRED + + + + No documentation. + + + ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED + ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED + + + + No documentation. + + + ERROR_TRANSACTION_RECORD_TOO_LONG + ERROR_TRANSACTION_RECORD_TOO_LONG + + + + No documentation. + + + ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED + ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED + + + + No documentation. + + + ERROR_TRANSACTION_INTEGRITY_VIOLATED + ERROR_TRANSACTION_INTEGRITY_VIOLATED + + + + No documentation. + + + ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH + ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH + + + + No documentation. + + + ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT + ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT + + + + No documentation. + + + ERROR_TRANSACTION_MUST_WRITETHROUGH + ERROR_TRANSACTION_MUST_WRITETHROUGH + + + + No documentation. + + + ERROR_TRANSACTION_NO_SUPERIOR + ERROR_TRANSACTION_NO_SUPERIOR + + + + No documentation. + + + ERROR_HEURISTIC_DAMAGE_POSSIBLE + ERROR_HEURISTIC_DAMAGE_POSSIBLE + + + + No documentation. + + + ERROR_TRANSACTIONAL_CONFLICT + ERROR_TRANSACTIONAL_CONFLICT + + + + No documentation. + + + ERROR_RM_NOT_ACTIVE + ERROR_RM_NOT_ACTIVE + + + + No documentation. + + + ERROR_RM_METADATA_CORRUPT + ERROR_RM_METADATA_CORRUPT + + + + No documentation. + + + ERROR_DIRECTORY_NOT_RM + ERROR_DIRECTORY_NOT_RM + + + + No documentation. + + + ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE + ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE + + + + No documentation. + + + ERROR_LOG_RESIZE_INVALID_SIZE + ERROR_LOG_RESIZE_INVALID_SIZE + + + + No documentation. + + + ERROR_OBJECT_NO_LONGER_EXISTS + ERROR_OBJECT_NO_LONGER_EXISTS + + + + No documentation. + + + ERROR_STREAM_MINIVERSION_NOT_FOUND + ERROR_STREAM_MINIVERSION_NOT_FOUND + + + + No documentation. + + + ERROR_STREAM_MINIVERSION_NOT_VALID + ERROR_STREAM_MINIVERSION_NOT_VALID + + + + No documentation. + + + ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION + ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION + + + + No documentation. + + + ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT + ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT + + + + No documentation. + + + ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS + ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS + + + + No documentation. + + + ERROR_REMOTE_FILE_VERSION_MISMATCH + ERROR_REMOTE_FILE_VERSION_MISMATCH + + + + No documentation. + + + ERROR_HANDLE_NO_LONGER_VALID + ERROR_HANDLE_NO_LONGER_VALID + + + + No documentation. + + + ERROR_NO_TXF_METADATA + ERROR_NO_TXF_METADATA + + + + No documentation. + + + ERROR_LOG_CORRUPTION_DETECTED + ERROR_LOG_CORRUPTION_DETECTED + + + + No documentation. + + + ERROR_CANT_RECOVER_WITH_HANDLE_OPEN + ERROR_CANT_RECOVER_WITH_HANDLE_OPEN + + + + No documentation. + + + ERROR_RM_DISCONNECTED + ERROR_RM_DISCONNECTED + + + + No documentation. + + + ERROR_ENLISTMENT_NOT_SUPERIOR + ERROR_ENLISTMENT_NOT_SUPERIOR + + + + No documentation. + + + ERROR_RECOVERY_NOT_NEEDED + ERROR_RECOVERY_NOT_NEEDED + + + + No documentation. + + + ERROR_RM_ALREADY_STARTED + ERROR_RM_ALREADY_STARTED + + + + No documentation. + + + ERROR_FILE_IDENTITY_NOT_PERSISTENT + ERROR_FILE_IDENTITY_NOT_PERSISTENT + + + + No documentation. + + + ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY + ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY + + + + No documentation. + + + ERROR_CANT_CROSS_RM_BOUNDARY + ERROR_CANT_CROSS_RM_BOUNDARY + + + + No documentation. + + + ERROR_TXF_DIR_NOT_EMPTY + ERROR_TXF_DIR_NOT_EMPTY + + + + No documentation. + + + ERROR_INDOUBT_TRANSACTIONS_EXIST + ERROR_INDOUBT_TRANSACTIONS_EXIST + + + + No documentation. + + + ERROR_TM_VOLATILE + ERROR_TM_VOLATILE + + + + No documentation. + + + ERROR_ROLLBACK_TIMER_EXPIRED + ERROR_ROLLBACK_TIMER_EXPIRED + + + + No documentation. + + + ERROR_TXF_ATTRIBUTE_CORRUPT + ERROR_TXF_ATTRIBUTE_CORRUPT + + + + No documentation. + + + ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION + ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION + + + + No documentation. + + + ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED + ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED + + + + No documentation. + + + ERROR_LOG_GROWTH_FAILED + ERROR_LOG_GROWTH_FAILED + + + + No documentation. + + + ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE + ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE + + + + No documentation. + + + ERROR_TXF_METADATA_ALREADY_PRESENT + ERROR_TXF_METADATA_ALREADY_PRESENT + + + + No documentation. + + + ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET + ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET + + + + No documentation. + + + ERROR_TRANSACTION_REQUIRED_PROMOTION + ERROR_TRANSACTION_REQUIRED_PROMOTION + + + + No documentation. + + + ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION + ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION + + + + No documentation. + + + ERROR_TRANSACTIONS_NOT_FROZEN + ERROR_TRANSACTIONS_NOT_FROZEN + + + + No documentation. + + + ERROR_TRANSACTION_FREEZE_IN_PROGRESS + ERROR_TRANSACTION_FREEZE_IN_PROGRESS + + + + No documentation. + + + ERROR_NOT_SNAPSHOT_VOLUME + ERROR_NOT_SNAPSHOT_VOLUME + + + + No documentation. + + + ERROR_NO_SAVEPOINT_WITH_OPEN_FILES + ERROR_NO_SAVEPOINT_WITH_OPEN_FILES + + + + No documentation. + + + ERROR_DATA_LOST_REPAIR + ERROR_DATA_LOST_REPAIR + + + + No documentation. + + + ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION + ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION + + + + No documentation. + + + ERROR_TM_IDENTITY_MISMATCH + ERROR_TM_IDENTITY_MISMATCH + + + + No documentation. + + + ERROR_FLOATED_SECTION + ERROR_FLOATED_SECTION + + + + No documentation. + + + ERROR_CANNOT_ACCEPT_TRANSACTED_WORK + ERROR_CANNOT_ACCEPT_TRANSACTED_WORK + + + + No documentation. + + + ERROR_CANNOT_ABORT_TRANSACTIONS + ERROR_CANNOT_ABORT_TRANSACTIONS + + + + No documentation. + + + ERROR_BAD_CLUSTERS + ERROR_BAD_CLUSTERS + + + + No documentation. + + + ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION + ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION + + + + No documentation. + + + ERROR_VOLUME_DIRTY + ERROR_VOLUME_DIRTY + + + + No documentation. + + + ERROR_NO_LINK_TRACKING_IN_TRANSACTION + ERROR_NO_LINK_TRACKING_IN_TRANSACTION + + + + No documentation. + + + ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION + ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION + + + + No documentation. + + + ERROR_EXPIRED_HANDLE + ERROR_EXPIRED_HANDLE + + + + No documentation. + + + ERROR_TRANSACTION_NOT_ENLISTED + ERROR_TRANSACTION_NOT_ENLISTED + + + + No documentation. + + + ERROR_CTX_WINSTATION_NAME_INVALID + ERROR_CTX_WINSTATION_NAME_INVALID + + + + No documentation. + + + ERROR_CTX_INVALID_PD + ERROR_CTX_INVALID_PD + + + + No documentation. + + + ERROR_CTX_PD_NOT_FOUND + ERROR_CTX_PD_NOT_FOUND + + + + No documentation. + + + ERROR_CTX_WD_NOT_FOUND + ERROR_CTX_WD_NOT_FOUND + + + + No documentation. + + + ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY + ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY + + + + No documentation. + + + ERROR_CTX_SERVICE_NAME_COLLISION + ERROR_CTX_SERVICE_NAME_COLLISION + + + + No documentation. + + + ERROR_CTX_CLOSE_PENDING + ERROR_CTX_CLOSE_PENDING + + + + No documentation. + + + ERROR_CTX_NO_OUTBUF + ERROR_CTX_NO_OUTBUF + + + + No documentation. + + + ERROR_CTX_MODEM_INF_NOT_FOUND + ERROR_CTX_MODEM_INF_NOT_FOUND + + + + No documentation. + + + ERROR_CTX_INVALID_MODEMNAME + ERROR_CTX_INVALID_MODEMNAME + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_ERROR + ERROR_CTX_MODEM_RESPONSE_ERROR + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_TIMEOUT + ERROR_CTX_MODEM_RESPONSE_TIMEOUT + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_NO_CARRIER + ERROR_CTX_MODEM_RESPONSE_NO_CARRIER + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE + ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_BUSY + ERROR_CTX_MODEM_RESPONSE_BUSY + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_VOICE + ERROR_CTX_MODEM_RESPONSE_VOICE + + + + No documentation. + + + ERROR_CTX_TD_ERROR + ERROR_CTX_TD_ERROR + + + + No documentation. + + + ERROR_CTX_WINSTATION_NOT_FOUND + ERROR_CTX_WINSTATION_NOT_FOUND + + + + No documentation. + + + ERROR_CTX_WINSTATION_ALREADY_EXISTS + ERROR_CTX_WINSTATION_ALREADY_EXISTS + + + + No documentation. + + + ERROR_CTX_WINSTATION_BUSY + ERROR_CTX_WINSTATION_BUSY + + + + No documentation. + + + ERROR_CTX_BAD_VIDEO_MODE + ERROR_CTX_BAD_VIDEO_MODE + + + + No documentation. + + + ERROR_CTX_GRAPHICS_INVALID + ERROR_CTX_GRAPHICS_INVALID + + + + No documentation. + + + ERROR_CTX_LOGON_DISABLED + ERROR_CTX_LOGON_DISABLED + + + + No documentation. + + + ERROR_CTX_NOT_CONSOLE + ERROR_CTX_NOT_CONSOLE + + + + No documentation. + + + ERROR_CTX_CLIENT_QUERY_TIMEOUT + ERROR_CTX_CLIENT_QUERY_TIMEOUT + + + + No documentation. + + + ERROR_CTX_CONSOLE_DISCONNECT + ERROR_CTX_CONSOLE_DISCONNECT + + + + No documentation. + + + ERROR_CTX_CONSOLE_CONNECT + ERROR_CTX_CONSOLE_CONNECT + + + + No documentation. + + + ERROR_CTX_SHADOW_DENIED + ERROR_CTX_SHADOW_DENIED + + + + No documentation. + + + ERROR_CTX_WINSTATION_ACCESS_DENIED + ERROR_CTX_WINSTATION_ACCESS_DENIED + + + + No documentation. + + + ERROR_CTX_INVALID_WD + ERROR_CTX_INVALID_WD + + + + No documentation. + + + ERROR_CTX_SHADOW_INVALID + ERROR_CTX_SHADOW_INVALID + + + + No documentation. + + + ERROR_CTX_SHADOW_DISABLED + ERROR_CTX_SHADOW_DISABLED + + + + No documentation. + + + ERROR_CTX_CLIENT_LICENSE_IN_USE + ERROR_CTX_CLIENT_LICENSE_IN_USE + + + + No documentation. + + + ERROR_CTX_CLIENT_LICENSE_NOT_SET + ERROR_CTX_CLIENT_LICENSE_NOT_SET + + + + No documentation. + + + ERROR_CTX_LICENSE_NOT_AVAILABLE + ERROR_CTX_LICENSE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_CTX_LICENSE_CLIENT_INVALID + ERROR_CTX_LICENSE_CLIENT_INVALID + + + + No documentation. + + + ERROR_CTX_LICENSE_EXPIRED + ERROR_CTX_LICENSE_EXPIRED + + + + No documentation. + + + ERROR_CTX_SHADOW_NOT_RUNNING + ERROR_CTX_SHADOW_NOT_RUNNING + + + + No documentation. + + + ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE + ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE + + + + No documentation. + + + ERROR_ACTIVATION_COUNT_EXCEEDED + ERROR_ACTIVATION_COUNT_EXCEEDED + + + + No documentation. + + + ERROR_CTX_WINSTATIONS_DISABLED + ERROR_CTX_WINSTATIONS_DISABLED + + + + No documentation. + + + ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED + ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED + + + + No documentation. + + + ERROR_CTX_SESSION_IN_USE + ERROR_CTX_SESSION_IN_USE + + + + No documentation. + + + ERROR_CTX_NO_FORCE_LOGOFF + ERROR_CTX_NO_FORCE_LOGOFF + + + + No documentation. + + + ERROR_CTX_ACCOUNT_RESTRICTION + ERROR_CTX_ACCOUNT_RESTRICTION + + + + No documentation. + + + ERROR_RDP_PROTOCOL_ERROR + ERROR_RDP_PROTOCOL_ERROR + + + + No documentation. + + + ERROR_CTX_CDM_CONNECT + ERROR_CTX_CDM_CONNECT + + + + No documentation. + + + ERROR_CTX_CDM_DISCONNECT + ERROR_CTX_CDM_DISCONNECT + + + + No documentation. + + + ERROR_CTX_SECURITY_LAYER_ERROR + ERROR_CTX_SECURITY_LAYER_ERROR + + + + No documentation. + + + ERROR_TS_INCOMPATIBLE_SESSIONS + ERROR_TS_INCOMPATIBLE_SESSIONS + + + + No documentation. + + + ERROR_TS_VIDEO_SUBSYSTEM_ERROR + ERROR_TS_VIDEO_SUBSYSTEM_ERROR + + + + No documentation. + + + ERROR_DS_NOT_INSTALLED + ERROR_DS_NOT_INSTALLED + + + + No documentation. + + + ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY + ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY + + + + No documentation. + + + ERROR_DS_NO_ATTRIBUTE_OR_VALUE + ERROR_DS_NO_ATTRIBUTE_OR_VALUE + + + + No documentation. + + + ERROR_DS_INVALID_ATTRIBUTE_SYNTAX + ERROR_DS_INVALID_ATTRIBUTE_SYNTAX + + + + No documentation. + + + ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED + ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED + + + + No documentation. + + + ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS + ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS + + + + No documentation. + + + ERROR_DS_BUSY + ERROR_DS_BUSY + + + + No documentation. + + + ERROR_DS_UNAVAILABLE + ERROR_DS_UNAVAILABLE + + + + No documentation. + + + ERROR_DS_NO_RIDS_ALLOCATED + ERROR_DS_NO_RIDS_ALLOCATED + + + + No documentation. + + + ERROR_DS_NO_MORE_RIDS + ERROR_DS_NO_MORE_RIDS + + + + No documentation. + + + ERROR_DS_INCORRECT_ROLE_OWNER + ERROR_DS_INCORRECT_ROLE_OWNER + + + + No documentation. + + + ERROR_DS_RIDMGR_INIT_ERROR + ERROR_DS_RIDMGR_INIT_ERROR + + + + No documentation. + + + ERROR_DS_OBJ_CLASS_VIOLATION + ERROR_DS_OBJ_CLASS_VIOLATION + + + + No documentation. + + + ERROR_DS_CANT_ON_NON_LEAF + ERROR_DS_CANT_ON_NON_LEAF + + + + No documentation. + + + ERROR_DS_CANT_ON_RDN + ERROR_DS_CANT_ON_RDN + + + + No documentation. + + + ERROR_DS_CANT_MOD_OBJ_CLASS + ERROR_DS_CANT_MOD_OBJ_CLASS + + + + No documentation. + + + ERROR_DS_CROSS_DOM_MOVE_ERROR + ERROR_DS_CROSS_DOM_MOVE_ERROR + + + + No documentation. + + + ERROR_DS_GC_NOT_AVAILABLE + ERROR_DS_GC_NOT_AVAILABLE + + + + No documentation. + + + ERROR_SHARED_POLICY + ERROR_SHARED_POLICY + + + + No documentation. + + + ERROR_POLICY_OBJECT_NOT_FOUND + ERROR_POLICY_OBJECT_NOT_FOUND + + + + No documentation. + + + ERROR_POLICY_ONLY_IN_DS + ERROR_POLICY_ONLY_IN_DS + + + + No documentation. + + + ERROR_PROMOTION_ACTIVE + ERROR_PROMOTION_ACTIVE + + + + No documentation. + + + ERROR_NO_PROMOTION_ACTIVE + ERROR_NO_PROMOTION_ACTIVE + + + + No documentation. + + + ERROR_DS_OPERATIONS_ERROR + ERROR_DS_OPERATIONS_ERROR + + + + No documentation. + + + ERROR_DS_PROTOCOL_ERROR + ERROR_DS_PROTOCOL_ERROR + + + + No documentation. + + + ERROR_DS_TIMELIMIT_EXCEEDED + ERROR_DS_TIMELIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_SIZELIMIT_EXCEEDED + ERROR_DS_SIZELIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_ADMIN_LIMIT_EXCEEDED + ERROR_DS_ADMIN_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_COMPARE_FALSE + ERROR_DS_COMPARE_FALSE + + + + No documentation. + + + ERROR_DS_COMPARE_TRUE + ERROR_DS_COMPARE_TRUE + + + + No documentation. + + + ERROR_DS_AUTH_METHOD_NOT_SUPPORTED + ERROR_DS_AUTH_METHOD_NOT_SUPPORTED + + + + No documentation. + + + ERROR_DS_STRONG_AUTH_REQUIRED + ERROR_DS_STRONG_AUTH_REQUIRED + + + + No documentation. + + + ERROR_DS_INAPPROPRIATE_AUTH + ERROR_DS_INAPPROPRIATE_AUTH + + + + No documentation. + + + ERROR_DS_AUTH_UNKNOWN + ERROR_DS_AUTH_UNKNOWN + + + + No documentation. + + + ERROR_DS_REFERRAL + ERROR_DS_REFERRAL + + + + No documentation. + + + ERROR_DS_UNAVAILABLE_CRIT_EXTENSION + ERROR_DS_UNAVAILABLE_CRIT_EXTENSION + + + + No documentation. + + + ERROR_DS_CONFIDENTIALITY_REQUIRED + ERROR_DS_CONFIDENTIALITY_REQUIRED + + + + No documentation. + + + ERROR_DS_INAPPROPRIATE_MATCHING + ERROR_DS_INAPPROPRIATE_MATCHING + + + + No documentation. + + + ERROR_DS_CONSTRAINT_VIOLATION + ERROR_DS_CONSTRAINT_VIOLATION + + + + No documentation. + + + ERROR_DS_NO_SUCH_OBJECT + ERROR_DS_NO_SUCH_OBJECT + + + + No documentation. + + + ERROR_DS_ALIAS_PROBLEM + ERROR_DS_ALIAS_PROBLEM + + + + No documentation. + + + ERROR_DS_INVALID_DN_SYNTAX + ERROR_DS_INVALID_DN_SYNTAX + + + + No documentation. + + + ERROR_DS_IS_LEAF + ERROR_DS_IS_LEAF + + + + No documentation. + + + ERROR_DS_ALIAS_DEREF_PROBLEM + ERROR_DS_ALIAS_DEREF_PROBLEM + + + + No documentation. + + + ERROR_DS_UNWILLING_TO_PERFORM + ERROR_DS_UNWILLING_TO_PERFORM + + + + No documentation. + + + ERROR_DS_LOOP_DETECT + ERROR_DS_LOOP_DETECT + + + + No documentation. + + + ERROR_DS_NAMING_VIOLATION + ERROR_DS_NAMING_VIOLATION + + + + No documentation. + + + ERROR_DS_OBJECT_RESULTS_TOO_LARGE + ERROR_DS_OBJECT_RESULTS_TOO_LARGE + + + + No documentation. + + + ERROR_DS_AFFECTS_MULTIPLE_DSAS + ERROR_DS_AFFECTS_MULTIPLE_DSAS + + + + No documentation. + + + ERROR_DS_SERVER_DOWN + ERROR_DS_SERVER_DOWN + + + + No documentation. + + + ERROR_DS_LOCAL_ERROR + ERROR_DS_LOCAL_ERROR + + + + No documentation. + + + ERROR_DS_ENCODING_ERROR + ERROR_DS_ENCODING_ERROR + + + + No documentation. + + + ERROR_DS_DECODING_ERROR + ERROR_DS_DECODING_ERROR + + + + No documentation. + + + ERROR_DS_FILTER_UNKNOWN + ERROR_DS_FILTER_UNKNOWN + + + + No documentation. + + + ERROR_DS_PARAM_ERROR + ERROR_DS_PARAM_ERROR + + + + No documentation. + + + ERROR_DS_NOT_SUPPORTED + ERROR_DS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_DS_NO_RESULTS_RETURNED + ERROR_DS_NO_RESULTS_RETURNED + + + + No documentation. + + + ERROR_DS_CONTROL_NOT_FOUND + ERROR_DS_CONTROL_NOT_FOUND + + + + No documentation. + + + ERROR_DS_CLIENT_LOOP + ERROR_DS_CLIENT_LOOP + + + + No documentation. + + + ERROR_DS_REFERRAL_LIMIT_EXCEEDED + ERROR_DS_REFERRAL_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_SORT_CONTROL_MISSING + ERROR_DS_SORT_CONTROL_MISSING + + + + No documentation. + + + ERROR_DS_OFFSET_RANGE_ERROR + ERROR_DS_OFFSET_RANGE_ERROR + + + + No documentation. + + + ERROR_DS_ROOT_MUST_BE_NC + ERROR_DS_ROOT_MUST_BE_NC + + + + No documentation. + + + ERROR_DS_ADD_REPLICA_INHIBITED + ERROR_DS_ADD_REPLICA_INHIBITED + + + + No documentation. + + + ERROR_DS_ATT_NOT_DEF_IN_SCHEMA + ERROR_DS_ATT_NOT_DEF_IN_SCHEMA + + + + No documentation. + + + ERROR_DS_MAX_OBJ_SIZE_EXCEEDED + ERROR_DS_MAX_OBJ_SIZE_EXCEEDED + + + + No documentation. + + + ERROR_DS_OBJ_STRING_NAME_EXISTS + ERROR_DS_OBJ_STRING_NAME_EXISTS + + + + No documentation. + + + ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA + ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA + + + + No documentation. + + + ERROR_DS_RDN_DOESNT_MATCH_SCHEMA + ERROR_DS_RDN_DOESNT_MATCH_SCHEMA + + + + No documentation. + + + ERROR_DS_NO_REQUESTED_ATTS_FOUND + ERROR_DS_NO_REQUESTED_ATTS_FOUND + + + + No documentation. + + + ERROR_DS_USER_BUFFER_TO_SMALL + ERROR_DS_USER_BUFFER_TO_SMALL + + + + No documentation. + + + ERROR_DS_ATT_IS_NOT_ON_OBJ + ERROR_DS_ATT_IS_NOT_ON_OBJ + + + + No documentation. + + + ERROR_DS_ILLEGAL_MOD_OPERATION + ERROR_DS_ILLEGAL_MOD_OPERATION + + + + No documentation. + + + ERROR_DS_OBJ_TOO_LARGE + ERROR_DS_OBJ_TOO_LARGE + + + + No documentation. + + + ERROR_DS_BAD_INSTANCE_TYPE + ERROR_DS_BAD_INSTANCE_TYPE + + + + No documentation. + + + ERROR_DS_MASTERDSA_REQUIRED + ERROR_DS_MASTERDSA_REQUIRED + + + + No documentation. + + + ERROR_DS_OBJECT_CLASS_REQUIRED + ERROR_DS_OBJECT_CLASS_REQUIRED + + + + No documentation. + + + ERROR_DS_MISSING_REQUIRED_ATT + ERROR_DS_MISSING_REQUIRED_ATT + + + + No documentation. + + + ERROR_DS_ATT_NOT_DEF_FOR_CLASS + ERROR_DS_ATT_NOT_DEF_FOR_CLASS + + + + No documentation. + + + ERROR_DS_ATT_ALREADY_EXISTS + ERROR_DS_ATT_ALREADY_EXISTS + + + + No documentation. + + + ERROR_DS_CANT_ADD_ATT_VALUES + ERROR_DS_CANT_ADD_ATT_VALUES + + + + No documentation. + + + ERROR_DS_SINGLE_VALUE_CONSTRAINT + ERROR_DS_SINGLE_VALUE_CONSTRAINT + + + + No documentation. + + + ERROR_DS_RANGE_CONSTRAINT + ERROR_DS_RANGE_CONSTRAINT + + + + No documentation. + + + ERROR_DS_ATT_VAL_ALREADY_EXISTS + ERROR_DS_ATT_VAL_ALREADY_EXISTS + + + + No documentation. + + + ERROR_DS_CANT_REM_MISSING_ATT + ERROR_DS_CANT_REM_MISSING_ATT + + + + No documentation. + + + ERROR_DS_CANT_REM_MISSING_ATT_VAL + ERROR_DS_CANT_REM_MISSING_ATT_VAL + + + + No documentation. + + + ERROR_DS_ROOT_CANT_BE_SUBREF + ERROR_DS_ROOT_CANT_BE_SUBREF + + + + No documentation. + + + ERROR_DS_NO_CHAINING + ERROR_DS_NO_CHAINING + + + + No documentation. + + + ERROR_DS_NO_CHAINED_EVAL + ERROR_DS_NO_CHAINED_EVAL + + + + No documentation. + + + ERROR_DS_NO_PARENT_OBJECT + ERROR_DS_NO_PARENT_OBJECT + + + + No documentation. + + + ERROR_DS_PARENT_IS_AN_ALIAS + ERROR_DS_PARENT_IS_AN_ALIAS + + + + No documentation. + + + ERROR_DS_CANT_MIX_MASTER_AND_REPS + ERROR_DS_CANT_MIX_MASTER_AND_REPS + + + + No documentation. + + + ERROR_DS_CHILDREN_EXIST + ERROR_DS_CHILDREN_EXIST + + + + No documentation. + + + ERROR_DS_OBJ_NOT_FOUND + ERROR_DS_OBJ_NOT_FOUND + + + + No documentation. + + + ERROR_DS_ALIASED_OBJ_MISSING + ERROR_DS_ALIASED_OBJ_MISSING + + + + No documentation. + + + ERROR_DS_BAD_NAME_SYNTAX + ERROR_DS_BAD_NAME_SYNTAX + + + + No documentation. + + + ERROR_DS_ALIAS_POINTS_TO_ALIAS + ERROR_DS_ALIAS_POINTS_TO_ALIAS + + + + No documentation. + + + ERROR_DS_CANT_DEREF_ALIAS + ERROR_DS_CANT_DEREF_ALIAS + + + + No documentation. + + + ERROR_DS_OUT_OF_SCOPE + ERROR_DS_OUT_OF_SCOPE + + + + No documentation. + + + ERROR_DS_OBJECT_BEING_REMOVED + ERROR_DS_OBJECT_BEING_REMOVED + + + + No documentation. + + + ERROR_DS_CANT_DELETE_DSA_OBJ + ERROR_DS_CANT_DELETE_DSA_OBJ + + + + No documentation. + + + ERROR_DS_GENERIC_ERROR + ERROR_DS_GENERIC_ERROR + + + + No documentation. + + + ERROR_DS_DSA_MUST_BE_INT_MASTER + ERROR_DS_DSA_MUST_BE_INT_MASTER + + + + No documentation. + + + ERROR_DS_CLASS_NOT_DSA + ERROR_DS_CLASS_NOT_DSA + + + + No documentation. + + + ERROR_DS_INSUFF_ACCESS_RIGHTS + ERROR_DS_INSUFF_ACCESS_RIGHTS + + + + No documentation. + + + ERROR_DS_ILLEGAL_SUPERIOR + ERROR_DS_ILLEGAL_SUPERIOR + + + + No documentation. + + + ERROR_DS_ATTRIBUTE_OWNED_BY_SAM + ERROR_DS_ATTRIBUTE_OWNED_BY_SAM + + + + No documentation. + + + ERROR_DS_NAME_TOO_MANY_PARTS + ERROR_DS_NAME_TOO_MANY_PARTS + + + + No documentation. + + + ERROR_DS_NAME_TOO_LONG + ERROR_DS_NAME_TOO_LONG + + + + No documentation. + + + ERROR_DS_NAME_VALUE_TOO_LONG + ERROR_DS_NAME_VALUE_TOO_LONG + + + + No documentation. + + + ERROR_DS_NAME_UNPARSEABLE + ERROR_DS_NAME_UNPARSEABLE + + + + No documentation. + + + ERROR_DS_NAME_TYPE_UNKNOWN + ERROR_DS_NAME_TYPE_UNKNOWN + + + + No documentation. + + + ERROR_DS_NOT_AN_OBJECT + ERROR_DS_NOT_AN_OBJECT + + + + No documentation. + + + ERROR_DS_SEC_DESC_TOO_SHORT + ERROR_DS_SEC_DESC_TOO_SHORT + + + + No documentation. + + + ERROR_DS_SEC_DESC_INVALID + ERROR_DS_SEC_DESC_INVALID + + + + No documentation. + + + ERROR_DS_NO_DELETED_NAME + ERROR_DS_NO_DELETED_NAME + + + + No documentation. + + + ERROR_DS_SUBREF_MUST_HAVE_PARENT + ERROR_DS_SUBREF_MUST_HAVE_PARENT + + + + No documentation. + + + ERROR_DS_NCNAME_MUST_BE_NC + ERROR_DS_NCNAME_MUST_BE_NC + + + + No documentation. + + + ERROR_DS_CANT_ADD_SYSTEM_ONLY + ERROR_DS_CANT_ADD_SYSTEM_ONLY + + + + No documentation. + + + ERROR_DS_CLASS_MUST_BE_CONCRETE + ERROR_DS_CLASS_MUST_BE_CONCRETE + + + + No documentation. + + + ERROR_DS_INVALID_DMD + ERROR_DS_INVALID_DMD + + + + No documentation. + + + ERROR_DS_OBJ_GUID_EXISTS + ERROR_DS_OBJ_GUID_EXISTS + + + + No documentation. + + + ERROR_DS_NOT_ON_BACKLINK + ERROR_DS_NOT_ON_BACKLINK + + + + No documentation. + + + ERROR_DS_NO_CROSSREF_FOR_NC + ERROR_DS_NO_CROSSREF_FOR_NC + + + + No documentation. + + + ERROR_DS_SHUTTING_DOWN + ERROR_DS_SHUTTING_DOWN + + + + No documentation. + + + ERROR_DS_UNKNOWN_OPERATION + ERROR_DS_UNKNOWN_OPERATION + + + + No documentation. + + + ERROR_DS_INVALID_ROLE_OWNER + ERROR_DS_INVALID_ROLE_OWNER + + + + No documentation. + + + ERROR_DS_COULDNT_CONTACT_FSMO + ERROR_DS_COULDNT_CONTACT_FSMO + + + + No documentation. + + + ERROR_DS_CROSS_NC_DN_RENAME + ERROR_DS_CROSS_NC_DN_RENAME + + + + No documentation. + + + ERROR_DS_CANT_MOD_SYSTEM_ONLY + ERROR_DS_CANT_MOD_SYSTEM_ONLY + + + + No documentation. + + + ERROR_DS_REPLICATOR_ONLY + ERROR_DS_REPLICATOR_ONLY + + + + No documentation. + + + ERROR_DS_OBJ_CLASS_NOT_DEFINED + ERROR_DS_OBJ_CLASS_NOT_DEFINED + + + + No documentation. + + + ERROR_DS_OBJ_CLASS_NOT_SUBCLASS + ERROR_DS_OBJ_CLASS_NOT_SUBCLASS + + + + No documentation. + + + ERROR_DS_NAME_REFERENCE_INVALID + ERROR_DS_NAME_REFERENCE_INVALID + + + + No documentation. + + + ERROR_DS_CROSS_REF_EXISTS + ERROR_DS_CROSS_REF_EXISTS + + + + No documentation. + + + ERROR_DS_CANT_DEL_MASTER_CROSSREF + ERROR_DS_CANT_DEL_MASTER_CROSSREF + + + + No documentation. + + + ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD + ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD + + + + No documentation. + + + ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX + ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX + + + + No documentation. + + + ERROR_DS_DUP_RDN + ERROR_DS_DUP_RDN + + + + No documentation. + + + ERROR_DS_DUP_OID + ERROR_DS_DUP_OID + + + + No documentation. + + + ERROR_DS_DUP_MAPI_ID + ERROR_DS_DUP_MAPI_ID + + + + No documentation. + + + ERROR_DS_DUP_SCHEMA_ID_GUID + ERROR_DS_DUP_SCHEMA_ID_GUID + + + + No documentation. + + + ERROR_DS_DUP_LDAP_DISPLAY_NAME + ERROR_DS_DUP_LDAP_DISPLAY_NAME + + + + No documentation. + + + ERROR_DS_SEMANTIC_ATT_TEST + ERROR_DS_SEMANTIC_ATT_TEST + + + + No documentation. + + + ERROR_DS_SYNTAX_MISMATCH + ERROR_DS_SYNTAX_MISMATCH + + + + No documentation. + + + ERROR_DS_EXISTS_IN_MUST_HAVE + ERROR_DS_EXISTS_IN_MUST_HAVE + + + + No documentation. + + + ERROR_DS_EXISTS_IN_MAY_HAVE + ERROR_DS_EXISTS_IN_MAY_HAVE + + + + No documentation. + + + ERROR_DS_NONEXISTENT_MAY_HAVE + ERROR_DS_NONEXISTENT_MAY_HAVE + + + + No documentation. + + + ERROR_DS_NONEXISTENT_MUST_HAVE + ERROR_DS_NONEXISTENT_MUST_HAVE + + + + No documentation. + + + ERROR_DS_AUX_CLS_TEST_FAIL + ERROR_DS_AUX_CLS_TEST_FAIL + + + + No documentation. + + + ERROR_DS_NONEXISTENT_POSS_SUP + ERROR_DS_NONEXISTENT_POSS_SUP + + + + No documentation. + + + ERROR_DS_SUB_CLS_TEST_FAIL + ERROR_DS_SUB_CLS_TEST_FAIL + + + + No documentation. + + + ERROR_DS_BAD_RDN_ATT_ID_SYNTAX + ERROR_DS_BAD_RDN_ATT_ID_SYNTAX + + + + No documentation. + + + ERROR_DS_EXISTS_IN_AUX_CLS + ERROR_DS_EXISTS_IN_AUX_CLS + + + + No documentation. + + + ERROR_DS_EXISTS_IN_SUB_CLS + ERROR_DS_EXISTS_IN_SUB_CLS + + + + No documentation. + + + ERROR_DS_EXISTS_IN_POSS_SUP + ERROR_DS_EXISTS_IN_POSS_SUP + + + + No documentation. + + + ERROR_DS_RECALCSCHEMA_FAILED + ERROR_DS_RECALCSCHEMA_FAILED + + + + No documentation. + + + ERROR_DS_TREE_DELETE_NOT_FINISHED + ERROR_DS_TREE_DELETE_NOT_FINISHED + + + + No documentation. + + + ERROR_DS_CANT_DELETE + ERROR_DS_CANT_DELETE + + + + No documentation. + + + ERROR_DS_ATT_SCHEMA_REQ_ID + ERROR_DS_ATT_SCHEMA_REQ_ID + + + + No documentation. + + + ERROR_DS_BAD_ATT_SCHEMA_SYNTAX + ERROR_DS_BAD_ATT_SCHEMA_SYNTAX + + + + No documentation. + + + ERROR_DS_CANT_CACHE_ATT + ERROR_DS_CANT_CACHE_ATT + + + + No documentation. + + + ERROR_DS_CANT_CACHE_CLASS + ERROR_DS_CANT_CACHE_CLASS + + + + No documentation. + + + ERROR_DS_CANT_REMOVE_ATT_CACHE + ERROR_DS_CANT_REMOVE_ATT_CACHE + + + + No documentation. + + + ERROR_DS_CANT_REMOVE_CLASS_CACHE + ERROR_DS_CANT_REMOVE_CLASS_CACHE + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_DN + ERROR_DS_CANT_RETRIEVE_DN + + + + No documentation. + + + ERROR_DS_MISSING_SUPREF + ERROR_DS_MISSING_SUPREF + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_INSTANCE + ERROR_DS_CANT_RETRIEVE_INSTANCE + + + + No documentation. + + + ERROR_DS_CODE_INCONSISTENCY + ERROR_DS_CODE_INCONSISTENCY + + + + No documentation. + + + ERROR_DS_DATABASE_ERROR + ERROR_DS_DATABASE_ERROR + + + + No documentation. + + + ERROR_DS_GOVERNSID_MISSING + ERROR_DS_GOVERNSID_MISSING + + + + No documentation. + + + ERROR_DS_MISSING_EXPECTED_ATT + ERROR_DS_MISSING_EXPECTED_ATT + + + + No documentation. + + + ERROR_DS_NCNAME_MISSING_CR_REF + ERROR_DS_NCNAME_MISSING_CR_REF + + + + No documentation. + + + ERROR_DS_SECURITY_CHECKING_ERROR + ERROR_DS_SECURITY_CHECKING_ERROR + + + + No documentation. + + + ERROR_DS_SCHEMA_NOT_LOADED + ERROR_DS_SCHEMA_NOT_LOADED + + + + No documentation. + + + ERROR_DS_SCHEMA_ALLOC_FAILED + ERROR_DS_SCHEMA_ALLOC_FAILED + + + + No documentation. + + + ERROR_DS_ATT_SCHEMA_REQ_SYNTAX + ERROR_DS_ATT_SCHEMA_REQ_SYNTAX + + + + No documentation. + + + ERROR_DS_GCVERIFY_ERROR + ERROR_DS_GCVERIFY_ERROR + + + + No documentation. + + + ERROR_DS_DRA_SCHEMA_MISMATCH + ERROR_DS_DRA_SCHEMA_MISMATCH + + + + No documentation. + + + ERROR_DS_CANT_FIND_DSA_OBJ + ERROR_DS_CANT_FIND_DSA_OBJ + + + + No documentation. + + + ERROR_DS_CANT_FIND_EXPECTED_NC + ERROR_DS_CANT_FIND_EXPECTED_NC + + + + No documentation. + + + ERROR_DS_CANT_FIND_NC_IN_CACHE + ERROR_DS_CANT_FIND_NC_IN_CACHE + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_CHILD + ERROR_DS_CANT_RETRIEVE_CHILD + + + + No documentation. + + + ERROR_DS_SECURITY_ILLEGAL_MODIFY + ERROR_DS_SECURITY_ILLEGAL_MODIFY + + + + No documentation. + + + ERROR_DS_CANT_REPLACE_HIDDEN_REC + ERROR_DS_CANT_REPLACE_HIDDEN_REC + + + + No documentation. + + + ERROR_DS_BAD_HIERARCHY_FILE + ERROR_DS_BAD_HIERARCHY_FILE + + + + No documentation. + + + ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED + ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED + + + + No documentation. + + + ERROR_DS_CONFIG_PARAM_MISSING + ERROR_DS_CONFIG_PARAM_MISSING + + + + No documentation. + + + ERROR_DS_COUNTING_AB_INDICES_FAILED + ERROR_DS_COUNTING_AB_INDICES_FAILED + + + + No documentation. + + + ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED + ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED + + + + No documentation. + + + ERROR_DS_INTERNAL_FAILURE + ERROR_DS_INTERNAL_FAILURE + + + + No documentation. + + + ERROR_DS_UNKNOWN_ERROR + ERROR_DS_UNKNOWN_ERROR + + + + No documentation. + + + ERROR_DS_ROOT_REQUIRES_CLASS_TOP + ERROR_DS_ROOT_REQUIRES_CLASS_TOP + + + + No documentation. + + + ERROR_DS_REFUSING_FSMO_ROLES + ERROR_DS_REFUSING_FSMO_ROLES + + + + No documentation. + + + ERROR_DS_MISSING_FSMO_SETTINGS + ERROR_DS_MISSING_FSMO_SETTINGS + + + + No documentation. + + + ERROR_DS_UNABLE_TO_SURRENDER_ROLES + ERROR_DS_UNABLE_TO_SURRENDER_ROLES + + + + No documentation. + + + ERROR_DS_DRA_GENERIC + ERROR_DS_DRA_GENERIC + + + + No documentation. + + + ERROR_DS_DRA_INVALID_PARAMETER + ERROR_DS_DRA_INVALID_PARAMETER + + + + No documentation. + + + ERROR_DS_DRA_BUSY + ERROR_DS_DRA_BUSY + + + + No documentation. + + + ERROR_DS_DRA_BAD_DN + ERROR_DS_DRA_BAD_DN + + + + No documentation. + + + ERROR_DS_DRA_BAD_NC + ERROR_DS_DRA_BAD_NC + + + + No documentation. + + + ERROR_DS_DRA_DN_EXISTS + ERROR_DS_DRA_DN_EXISTS + + + + No documentation. + + + ERROR_DS_DRA_INTERNAL_ERROR + ERROR_DS_DRA_INTERNAL_ERROR + + + + No documentation. + + + ERROR_DS_DRA_INCONSISTENT_DIT + ERROR_DS_DRA_INCONSISTENT_DIT + + + + No documentation. + + + ERROR_DS_DRA_CONNECTION_FAILED + ERROR_DS_DRA_CONNECTION_FAILED + + + + No documentation. + + + ERROR_DS_DRA_BAD_INSTANCE_TYPE + ERROR_DS_DRA_BAD_INSTANCE_TYPE + + + + No documentation. + + + ERROR_DS_DRA_OUT_OF_MEM + ERROR_DS_DRA_OUT_OF_MEM + + + + No documentation. + + + ERROR_DS_DRA_MAIL_PROBLEM + ERROR_DS_DRA_MAIL_PROBLEM + + + + No documentation. + + + ERROR_DS_DRA_REF_ALREADY_EXISTS + ERROR_DS_DRA_REF_ALREADY_EXISTS + + + + No documentation. + + + ERROR_DS_DRA_REF_NOT_FOUND + ERROR_DS_DRA_REF_NOT_FOUND + + + + No documentation. + + + ERROR_DS_DRA_OBJ_IS_REP_SOURCE + ERROR_DS_DRA_OBJ_IS_REP_SOURCE + + + + No documentation. + + + ERROR_DS_DRA_DB_ERROR + ERROR_DS_DRA_DB_ERROR + + + + No documentation. + + + ERROR_DS_DRA_NO_REPLICA + ERROR_DS_DRA_NO_REPLICA + + + + No documentation. + + + ERROR_DS_DRA_ACCESS_DENIED + ERROR_DS_DRA_ACCESS_DENIED + + + + No documentation. + + + ERROR_DS_DRA_NOT_SUPPORTED + ERROR_DS_DRA_NOT_SUPPORTED + + + + No documentation. + + + ERROR_DS_DRA_RPC_CANCELLED + ERROR_DS_DRA_RPC_CANCELLED + + + + No documentation. + + + ERROR_DS_DRA_SOURCE_DISABLED + ERROR_DS_DRA_SOURCE_DISABLED + + + + No documentation. + + + ERROR_DS_DRA_SINK_DISABLED + ERROR_DS_DRA_SINK_DISABLED + + + + No documentation. + + + ERROR_DS_DRA_NAME_COLLISION + ERROR_DS_DRA_NAME_COLLISION + + + + No documentation. + + + ERROR_DS_DRA_SOURCE_REINSTALLED + ERROR_DS_DRA_SOURCE_REINSTALLED + + + + No documentation. + + + ERROR_DS_DRA_MISSING_PARENT + ERROR_DS_DRA_MISSING_PARENT + + + + No documentation. + + + ERROR_DS_DRA_PREEMPTED + ERROR_DS_DRA_PREEMPTED + + + + No documentation. + + + ERROR_DS_DRA_ABANDON_SYNC + ERROR_DS_DRA_ABANDON_SYNC + + + + No documentation. + + + ERROR_DS_DRA_SHUTDOWN + ERROR_DS_DRA_SHUTDOWN + + + + No documentation. + + + ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET + ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET + + + + No documentation. + + + ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA + ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA + + + + No documentation. + + + ERROR_DS_DRA_EXTN_CONNECTION_FAILED + ERROR_DS_DRA_EXTN_CONNECTION_FAILED + + + + No documentation. + + + ERROR_DS_INSTALL_SCHEMA_MISMATCH + ERROR_DS_INSTALL_SCHEMA_MISMATCH + + + + No documentation. + + + ERROR_DS_DUP_LINK_ID + ERROR_DS_DUP_LINK_ID + + + + No documentation. + + + ERROR_DS_NAME_ERROR_RESOLVING + ERROR_DS_NAME_ERROR_RESOLVING + + + + No documentation. + + + ERROR_DS_NAME_ERROR_NOT_FOUND + ERROR_DS_NAME_ERROR_NOT_FOUND + + + + No documentation. + + + ERROR_DS_NAME_ERROR_NOT_UNIQUE + ERROR_DS_NAME_ERROR_NOT_UNIQUE + + + + No documentation. + + + ERROR_DS_NAME_ERROR_NO_MAPPING + ERROR_DS_NAME_ERROR_NO_MAPPING + + + + No documentation. + + + ERROR_DS_NAME_ERROR_DOMAIN_ONLY + ERROR_DS_NAME_ERROR_DOMAIN_ONLY + + + + No documentation. + + + ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING + ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING + + + + No documentation. + + + ERROR_DS_CONSTRUCTED_ATT_MOD + ERROR_DS_CONSTRUCTED_ATT_MOD + + + + No documentation. + + + ERROR_DS_WRONG_OM_OBJ_CLASS + ERROR_DS_WRONG_OM_OBJ_CLASS + + + + No documentation. + + + ERROR_DS_DRA_REPL_PENDING + ERROR_DS_DRA_REPL_PENDING + + + + No documentation. + + + ERROR_DS_DS_REQUIRED + ERROR_DS_DS_REQUIRED + + + + No documentation. + + + ERROR_DS_INVALID_LDAP_DISPLAY_NAME + ERROR_DS_INVALID_LDAP_DISPLAY_NAME + + + + No documentation. + + + ERROR_DS_NON_BASE_SEARCH + ERROR_DS_NON_BASE_SEARCH + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_ATTS + ERROR_DS_CANT_RETRIEVE_ATTS + + + + No documentation. + + + ERROR_DS_BACKLINK_WITHOUT_LINK + ERROR_DS_BACKLINK_WITHOUT_LINK + + + + No documentation. + + + ERROR_DS_EPOCH_MISMATCH + ERROR_DS_EPOCH_MISMATCH + + + + No documentation. + + + ERROR_DS_SRC_NAME_MISMATCH + ERROR_DS_SRC_NAME_MISMATCH + + + + No documentation. + + + ERROR_DS_SRC_AND_DST_NC_IDENTICAL + ERROR_DS_SRC_AND_DST_NC_IDENTICAL + + + + No documentation. + + + ERROR_DS_DST_NC_MISMATCH + ERROR_DS_DST_NC_MISMATCH + + + + No documentation. + + + ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC + ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC + + + + No documentation. + + + ERROR_DS_SRC_GUID_MISMATCH + ERROR_DS_SRC_GUID_MISMATCH + + + + No documentation. + + + ERROR_DS_CANT_MOVE_DELETED_OBJECT + ERROR_DS_CANT_MOVE_DELETED_OBJECT + + + + No documentation. + + + ERROR_DS_PDC_OPERATION_IN_PROGRESS + ERROR_DS_PDC_OPERATION_IN_PROGRESS + + + + No documentation. + + + ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD + ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD + + + + No documentation. + + + ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION + ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION + + + + No documentation. + + + ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS + ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS + + + + No documentation. + + + ERROR_DS_NC_MUST_HAVE_NC_PARENT + ERROR_DS_NC_MUST_HAVE_NC_PARENT + + + + No documentation. + + + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE + + + + No documentation. + + + ERROR_DS_DST_DOMAIN_NOT_NATIVE + ERROR_DS_DST_DOMAIN_NOT_NATIVE + + + + No documentation. + + + ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER + ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER + + + + No documentation. + + + ERROR_DS_CANT_MOVE_ACCOUNT_GROUP + ERROR_DS_CANT_MOVE_ACCOUNT_GROUP + + + + No documentation. + + + ERROR_DS_CANT_MOVE_RESOURCE_GROUP + ERROR_DS_CANT_MOVE_RESOURCE_GROUP + + + + No documentation. + + + ERROR_DS_INVALID_SEARCH_FLAG + ERROR_DS_INVALID_SEARCH_FLAG + + + + No documentation. + + + ERROR_DS_NO_TREE_DELETE_ABOVE_NC + ERROR_DS_NO_TREE_DELETE_ABOVE_NC + + + + No documentation. + + + ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE + ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE + + + + No documentation. + + + ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE + ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE + + + + No documentation. + + + ERROR_DS_SAM_INIT_FAILURE + ERROR_DS_SAM_INIT_FAILURE + + + + No documentation. + + + ERROR_DS_SENSITIVE_GROUP_VIOLATION + ERROR_DS_SENSITIVE_GROUP_VIOLATION + + + + No documentation. + + + ERROR_DS_CANT_MOD_PRIMARYGROUPID + ERROR_DS_CANT_MOD_PRIMARYGROUPID + + + + No documentation. + + + ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD + ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD + + + + No documentation. + + + ERROR_DS_NONSAFE_SCHEMA_CHANGE + ERROR_DS_NONSAFE_SCHEMA_CHANGE + + + + No documentation. + + + ERROR_DS_SCHEMA_UPDATE_DISALLOWED + ERROR_DS_SCHEMA_UPDATE_DISALLOWED + + + + No documentation. + + + ERROR_DS_CANT_CREATE_UNDER_SCHEMA + ERROR_DS_CANT_CREATE_UNDER_SCHEMA + + + + No documentation. + + + ERROR_DS_INSTALL_NO_SRC_SCH_VERSION + ERROR_DS_INSTALL_NO_SRC_SCH_VERSION + + + + No documentation. + + + ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE + ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE + + + + No documentation. + + + ERROR_DS_INVALID_GROUP_TYPE + ERROR_DS_INVALID_GROUP_TYPE + + + + No documentation. + + + ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN + ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN + + + + No documentation. + + + ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN + ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN + + + + No documentation. + + + ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER + ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER + + + + No documentation. + + + ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER + ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER + + + + No documentation. + + + ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER + ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER + + + + No documentation. + + + ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER + ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER + + + + No documentation. + + + ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER + ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER + + + + No documentation. + + + ERROR_DS_HAVE_PRIMARY_MEMBERS + ERROR_DS_HAVE_PRIMARY_MEMBERS + + + + No documentation. + + + ERROR_DS_STRING_SD_CONVERSION_FAILED + ERROR_DS_STRING_SD_CONVERSION_FAILED + + + + No documentation. + + + ERROR_DS_NAMING_MASTER_GC + ERROR_DS_NAMING_MASTER_GC + + + + No documentation. + + + ERROR_DS_DNS_LOOKUP_FAILURE + ERROR_DS_DNS_LOOKUP_FAILURE + + + + No documentation. + + + ERROR_DS_COULDNT_UPDATE_SPNS + ERROR_DS_COULDNT_UPDATE_SPNS + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_SD + ERROR_DS_CANT_RETRIEVE_SD + + + + No documentation. + + + ERROR_DS_KEY_NOT_UNIQUE + ERROR_DS_KEY_NOT_UNIQUE + + + + No documentation. + + + ERROR_DS_WRONG_LINKED_ATT_SYNTAX + ERROR_DS_WRONG_LINKED_ATT_SYNTAX + + + + No documentation. + + + ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD + ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD + + + + No documentation. + + + ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY + ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY + + + + No documentation. + + + ERROR_DS_CANT_START + ERROR_DS_CANT_START + + + + No documentation. + + + ERROR_DS_INIT_FAILURE + ERROR_DS_INIT_FAILURE + + + + No documentation. + + + ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION + ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION + + + + No documentation. + + + ERROR_DS_SOURCE_DOMAIN_IN_FOREST + ERROR_DS_SOURCE_DOMAIN_IN_FOREST + + + + No documentation. + + + ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST + ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST + + + + No documentation. + + + ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED + ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED + + + + No documentation. + + + ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN + ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN + + + + No documentation. + + + ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER + ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER + + + + No documentation. + + + ERROR_DS_SRC_SID_EXISTS_IN_FOREST + ERROR_DS_SRC_SID_EXISTS_IN_FOREST + + + + No documentation. + + + ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH + ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH + + + + No documentation. + + + ERROR_SAM_INIT_FAILURE + ERROR_SAM_INIT_FAILURE + + + + No documentation. + + + ERROR_DS_DRA_SCHEMA_INFO_SHIP + ERROR_DS_DRA_SCHEMA_INFO_SHIP + + + + No documentation. + + + ERROR_DS_DRA_SCHEMA_CONFLICT + ERROR_DS_DRA_SCHEMA_CONFLICT + + + + No documentation. + + + ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT + ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT + + + + No documentation. + + + ERROR_DS_DRA_OBJ_NC_MISMATCH + ERROR_DS_DRA_OBJ_NC_MISMATCH + + + + No documentation. + + + ERROR_DS_NC_STILL_HAS_DSAS + ERROR_DS_NC_STILL_HAS_DSAS + + + + No documentation. + + + ERROR_DS_GC_REQUIRED + ERROR_DS_GC_REQUIRED + + + + No documentation. + + + ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY + ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY + + + + No documentation. + + + ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS + ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS + + + + No documentation. + + + ERROR_DS_CANT_ADD_TO_GC + ERROR_DS_CANT_ADD_TO_GC + + + + No documentation. + + + ERROR_DS_NO_CHECKPOINT_WITH_PDC + ERROR_DS_NO_CHECKPOINT_WITH_PDC + + + + No documentation. + + + ERROR_DS_SOURCE_AUDITING_NOT_ENABLED + ERROR_DS_SOURCE_AUDITING_NOT_ENABLED + + + + No documentation. + + + ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC + ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC + + + + No documentation. + + + ERROR_DS_INVALID_NAME_FOR_SPN + ERROR_DS_INVALID_NAME_FOR_SPN + + + + No documentation. + + + ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS + ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS + + + + No documentation. + + + ERROR_DS_UNICODEPWD_NOT_IN_QUOTES + ERROR_DS_UNICODEPWD_NOT_IN_QUOTES + + + + No documentation. + + + ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED + ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_DS_MUST_BE_RUN_ON_DST_DC + ERROR_DS_MUST_BE_RUN_ON_DST_DC + + + + No documentation. + + + ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER + ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER + + + + No documentation. + + + ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ + ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ + + + + No documentation. + + + ERROR_DS_INIT_FAILURE_CONSOLE + ERROR_DS_INIT_FAILURE_CONSOLE + + + + No documentation. + + + ERROR_DS_SAM_INIT_FAILURE_CONSOLE + ERROR_DS_SAM_INIT_FAILURE_CONSOLE + + + + No documentation. + + + ERROR_DS_FOREST_VERSION_TOO_HIGH + ERROR_DS_FOREST_VERSION_TOO_HIGH + + + + No documentation. + + + ERROR_DS_DOMAIN_VERSION_TOO_HIGH + ERROR_DS_DOMAIN_VERSION_TOO_HIGH + + + + No documentation. + + + ERROR_DS_FOREST_VERSION_TOO_LOW + ERROR_DS_FOREST_VERSION_TOO_LOW + + + + No documentation. + + + ERROR_DS_DOMAIN_VERSION_TOO_LOW + ERROR_DS_DOMAIN_VERSION_TOO_LOW + + + + No documentation. + + + ERROR_DS_INCOMPATIBLE_VERSION + ERROR_DS_INCOMPATIBLE_VERSION + + + + No documentation. + + + ERROR_DS_LOW_DSA_VERSION + ERROR_DS_LOW_DSA_VERSION + + + + No documentation. + + + ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN + ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN + + + + No documentation. + + + ERROR_DS_NOT_SUPPORTED_SORT_ORDER + ERROR_DS_NOT_SUPPORTED_SORT_ORDER + + + + No documentation. + + + ERROR_DS_NAME_NOT_UNIQUE + ERROR_DS_NAME_NOT_UNIQUE + + + + No documentation. + + + ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 + ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 + + + + No documentation. + + + ERROR_DS_OUT_OF_VERSION_STORE + ERROR_DS_OUT_OF_VERSION_STORE + + + + No documentation. + + + ERROR_DS_INCOMPATIBLE_CONTROLS_USED + ERROR_DS_INCOMPATIBLE_CONTROLS_USED + + + + No documentation. + + + ERROR_DS_NO_REF_DOMAIN + ERROR_DS_NO_REF_DOMAIN + + + + No documentation. + + + ERROR_DS_RESERVED_LINK_ID + ERROR_DS_RESERVED_LINK_ID + + + + No documentation. + + + ERROR_DS_LINK_ID_NOT_AVAILABLE + ERROR_DS_LINK_ID_NOT_AVAILABLE + + + + No documentation. + + + ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER + ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER + + + + No documentation. + + + ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE + ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE + + + + No documentation. + + + ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC + ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC + + + + No documentation. + + + ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG + ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG + + + + No documentation. + + + ERROR_DS_MODIFYDN_WRONG_GRANDPARENT + ERROR_DS_MODIFYDN_WRONG_GRANDPARENT + + + + No documentation. + + + ERROR_DS_NAME_ERROR_TRUST_REFERRAL + ERROR_DS_NAME_ERROR_TRUST_REFERRAL + + + + No documentation. + + + ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER + ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER + + + + No documentation. + + + ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD + ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD + + + + No documentation. + + + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 + + + + No documentation. + + + ERROR_DS_THREAD_LIMIT_EXCEEDED + ERROR_DS_THREAD_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_NOT_CLOSEST + ERROR_DS_NOT_CLOSEST + + + + No documentation. + + + ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF + ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF + + + + No documentation. + + + ERROR_DS_SINGLE_USER_MODE_FAILED + ERROR_DS_SINGLE_USER_MODE_FAILED + + + + No documentation. + + + ERROR_DS_NTDSCRIPT_SYNTAX_ERROR + ERROR_DS_NTDSCRIPT_SYNTAX_ERROR + + + + No documentation. + + + ERROR_DS_NTDSCRIPT_PROCESS_ERROR + ERROR_DS_NTDSCRIPT_PROCESS_ERROR + + + + No documentation. + + + ERROR_DS_DIFFERENT_REPL_EPOCHS + ERROR_DS_DIFFERENT_REPL_EPOCHS + + + + No documentation. + + + ERROR_DS_DRS_EXTENSIONS_CHANGED + ERROR_DS_DRS_EXTENSIONS_CHANGED + + + + No documentation. + + + ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR + ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR + + + + No documentation. + + + ERROR_DS_NO_MSDS_INTID + ERROR_DS_NO_MSDS_INTID + + + + No documentation. + + + ERROR_DS_DUP_MSDS_INTID + ERROR_DS_DUP_MSDS_INTID + + + + No documentation. + + + ERROR_DS_EXISTS_IN_RDNATTID + ERROR_DS_EXISTS_IN_RDNATTID + + + + No documentation. + + + ERROR_DS_AUTHORIZATION_FAILED + ERROR_DS_AUTHORIZATION_FAILED + + + + No documentation. + + + ERROR_DS_INVALID_SCRIPT + ERROR_DS_INVALID_SCRIPT + + + + No documentation. + + + ERROR_DS_REMOTE_CROSSREF_OP_FAILED + ERROR_DS_REMOTE_CROSSREF_OP_FAILED + + + + No documentation. + + + ERROR_DS_CROSS_REF_BUSY + ERROR_DS_CROSS_REF_BUSY + + + + No documentation. + + + ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN + ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN + + + + No documentation. + + + ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC + ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC + + + + No documentation. + + + ERROR_DS_DUPLICATE_ID_FOUND + ERROR_DS_DUPLICATE_ID_FOUND + + + + No documentation. + + + ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT + ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT + + + + No documentation. + + + ERROR_DS_GROUP_CONVERSION_ERROR + ERROR_DS_GROUP_CONVERSION_ERROR + + + + No documentation. + + + ERROR_DS_CANT_MOVE_APP_BASIC_GROUP + ERROR_DS_CANT_MOVE_APP_BASIC_GROUP + + + + No documentation. + + + ERROR_DS_CANT_MOVE_APP_QUERY_GROUP + ERROR_DS_CANT_MOVE_APP_QUERY_GROUP + + + + No documentation. + + + ERROR_DS_ROLE_NOT_VERIFIED + ERROR_DS_ROLE_NOT_VERIFIED + + + + No documentation. + + + ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL + ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL + + + + No documentation. + + + ERROR_DS_DOMAIN_RENAME_IN_PROGRESS + ERROR_DS_DOMAIN_RENAME_IN_PROGRESS + + + + No documentation. + + + ERROR_DS_EXISTING_AD_CHILD_NC + ERROR_DS_EXISTING_AD_CHILD_NC + + + + No documentation. + + + ERROR_DS_REPL_LIFETIME_EXCEEDED + ERROR_DS_REPL_LIFETIME_EXCEEDED + + + + No documentation. + + + ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER + ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER + + + + No documentation. + + + ERROR_DS_LDAP_SEND_QUEUE_FULL + ERROR_DS_LDAP_SEND_QUEUE_FULL + + + + No documentation. + + + ERROR_DS_DRA_OUT_SCHEDULE_WINDOW + ERROR_DS_DRA_OUT_SCHEDULE_WINDOW + + + + No documentation. + + + ERROR_DS_POLICY_NOT_KNOWN + ERROR_DS_POLICY_NOT_KNOWN + + + + No documentation. + + + ERROR_NO_SITE_SETTINGS_OBJECT + ERROR_NO_SITE_SETTINGS_OBJECT + + + + No documentation. + + + ERROR_NO_SECRETS + ERROR_NO_SECRETS + + + + No documentation. + + + ERROR_NO_WRITABLE_DC_FOUND + ERROR_NO_WRITABLE_DC_FOUND + + + + No documentation. + + + ERROR_DS_NO_SERVER_OBJECT + ERROR_DS_NO_SERVER_OBJECT + + + + No documentation. + + + ERROR_DS_NO_NTDSA_OBJECT + ERROR_DS_NO_NTDSA_OBJECT + + + + No documentation. + + + ERROR_DS_NON_ASQ_SEARCH + ERROR_DS_NON_ASQ_SEARCH + + + + No documentation. + + + ERROR_DS_AUDIT_FAILURE + ERROR_DS_AUDIT_FAILURE + + + + No documentation. + + + ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE + ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE + + + + No documentation. + + + ERROR_DS_INVALID_SEARCH_FLAG_TUPLE + ERROR_DS_INVALID_SEARCH_FLAG_TUPLE + + + + No documentation. + + + ERROR_DS_HIERARCHY_TABLE_TOO_DEEP + ERROR_DS_HIERARCHY_TABLE_TOO_DEEP + + + + No documentation. + + + ERROR_DS_DRA_CORRUPT_UTD_VECTOR + ERROR_DS_DRA_CORRUPT_UTD_VECTOR + + + + No documentation. + + + ERROR_DS_DRA_SECRETS_DENIED + ERROR_DS_DRA_SECRETS_DENIED + + + + No documentation. + + + ERROR_DS_RESERVED_MAPI_ID + ERROR_DS_RESERVED_MAPI_ID + + + + No documentation. + + + ERROR_DS_MAPI_ID_NOT_AVAILABLE + ERROR_DS_MAPI_ID_NOT_AVAILABLE + + + + No documentation. + + + ERROR_DS_DRA_MISSING_KRBTGT_SECRET + ERROR_DS_DRA_MISSING_KRBTGT_SECRET + + + + No documentation. + + + ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST + ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST + + + + No documentation. + + + ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST + ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST + + + + No documentation. + + + ERROR_INVALID_USER_PRINCIPAL_NAME + ERROR_INVALID_USER_PRINCIPAL_NAME + + + + No documentation. + + + ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS + ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS + + + + No documentation. + + + ERROR_DS_OID_NOT_FOUND + ERROR_DS_OID_NOT_FOUND + + + + No documentation. + + + ERROR_DS_DRA_RECYCLED_TARGET + ERROR_DS_DRA_RECYCLED_TARGET + + + + No documentation. + + + ERROR_IPSEC_QM_POLICY_EXISTS + ERROR_IPSEC_QM_POLICY_EXISTS + + + + No documentation. + + + ERROR_IPSEC_QM_POLICY_NOT_FOUND + ERROR_IPSEC_QM_POLICY_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_QM_POLICY_IN_USE + ERROR_IPSEC_QM_POLICY_IN_USE + + + + No documentation. + + + ERROR_IPSEC_MM_POLICY_EXISTS + ERROR_IPSEC_MM_POLICY_EXISTS + + + + No documentation. + + + ERROR_IPSEC_MM_POLICY_NOT_FOUND + ERROR_IPSEC_MM_POLICY_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_MM_POLICY_IN_USE + ERROR_IPSEC_MM_POLICY_IN_USE + + + + No documentation. + + + ERROR_IPSEC_MM_FILTER_EXISTS + ERROR_IPSEC_MM_FILTER_EXISTS + + + + No documentation. + + + ERROR_IPSEC_MM_FILTER_NOT_FOUND + ERROR_IPSEC_MM_FILTER_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_TRANSPORT_FILTER_EXISTS + ERROR_IPSEC_TRANSPORT_FILTER_EXISTS + + + + No documentation. + + + ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND + ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_MM_AUTH_EXISTS + ERROR_IPSEC_MM_AUTH_EXISTS + + + + No documentation. + + + ERROR_IPSEC_MM_AUTH_NOT_FOUND + ERROR_IPSEC_MM_AUTH_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_MM_AUTH_IN_USE + ERROR_IPSEC_MM_AUTH_IN_USE + + + + No documentation. + + + ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND + ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND + ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND + ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_TUNNEL_FILTER_EXISTS + ERROR_IPSEC_TUNNEL_FILTER_EXISTS + + + + No documentation. + + + ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND + ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_MM_FILTER_PENDING_DELETION + ERROR_IPSEC_MM_FILTER_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION + ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION + ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_MM_POLICY_PENDING_DELETION + ERROR_IPSEC_MM_POLICY_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_MM_AUTH_PENDING_DELETION + ERROR_IPSEC_MM_AUTH_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_QM_POLICY_PENDING_DELETION + ERROR_IPSEC_QM_POLICY_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_IKE_NEG_STATUS_BEGIN + ERROR_IPSEC_IKE_NEG_STATUS_BEGIN + + + + No documentation. + + + ERROR_IPSEC_IKE_AUTH_FAIL + ERROR_IPSEC_IKE_AUTH_FAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_ATTRIB_FAIL + ERROR_IPSEC_IKE_ATTRIB_FAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_NEGOTIATION_PENDING + ERROR_IPSEC_IKE_NEGOTIATION_PENDING + + + + No documentation. + + + ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR + ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR + + + + No documentation. + + + ERROR_IPSEC_IKE_TIMED_OUT + ERROR_IPSEC_IKE_TIMED_OUT + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_CERT + ERROR_IPSEC_IKE_NO_CERT + + + + No documentation. + + + ERROR_IPSEC_IKE_SA_DELETED + ERROR_IPSEC_IKE_SA_DELETED + + + + No documentation. + + + ERROR_IPSEC_IKE_SA_REAPED + ERROR_IPSEC_IKE_SA_REAPED + + + + No documentation. + + + ERROR_IPSEC_IKE_MM_ACQUIRE_DROP + ERROR_IPSEC_IKE_MM_ACQUIRE_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_QM_ACQUIRE_DROP + ERROR_IPSEC_IKE_QM_ACQUIRE_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_QUEUE_DROP_MM + ERROR_IPSEC_IKE_QUEUE_DROP_MM + + + + No documentation. + + + ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM + ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM + + + + No documentation. + + + ERROR_IPSEC_IKE_DROP_NO_RESPONSE + ERROR_IPSEC_IKE_DROP_NO_RESPONSE + + + + No documentation. + + + ERROR_IPSEC_IKE_MM_DELAY_DROP + ERROR_IPSEC_IKE_MM_DELAY_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_QM_DELAY_DROP + ERROR_IPSEC_IKE_QM_DELAY_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_ERROR + ERROR_IPSEC_IKE_ERROR + + + + No documentation. + + + ERROR_IPSEC_IKE_CRL_FAILED + ERROR_IPSEC_IKE_CRL_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_KEY_USAGE + ERROR_IPSEC_IKE_INVALID_KEY_USAGE + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_CERT_TYPE + ERROR_IPSEC_IKE_INVALID_CERT_TYPE + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_PRIVATE_KEY + ERROR_IPSEC_IKE_NO_PRIVATE_KEY + + + + No documentation. + + + ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY + ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY + + + + No documentation. + + + ERROR_IPSEC_IKE_DH_FAIL + ERROR_IPSEC_IKE_DH_FAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED + ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_HEADER + ERROR_IPSEC_IKE_INVALID_HEADER + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_POLICY + ERROR_IPSEC_IKE_NO_POLICY + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_SIGNATURE + ERROR_IPSEC_IKE_INVALID_SIGNATURE + + + + No documentation. + + + ERROR_IPSEC_IKE_KERBEROS_ERROR + ERROR_IPSEC_IKE_KERBEROS_ERROR + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_PUBLIC_KEY + ERROR_IPSEC_IKE_NO_PUBLIC_KEY + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR + ERROR_IPSEC_IKE_PROCESS_ERR + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_SA + ERROR_IPSEC_IKE_PROCESS_ERR_SA + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_PROP + ERROR_IPSEC_IKE_PROCESS_ERR_PROP + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_TRANS + ERROR_IPSEC_IKE_PROCESS_ERR_TRANS + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_KE + ERROR_IPSEC_IKE_PROCESS_ERR_KE + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_ID + ERROR_IPSEC_IKE_PROCESS_ERR_ID + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_CERT + ERROR_IPSEC_IKE_PROCESS_ERR_CERT + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ + ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_HASH + ERROR_IPSEC_IKE_PROCESS_ERR_HASH + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_SIG + ERROR_IPSEC_IKE_PROCESS_ERR_SIG + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_NONCE + ERROR_IPSEC_IKE_PROCESS_ERR_NONCE + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY + ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_DELETE + ERROR_IPSEC_IKE_PROCESS_ERR_DELETE + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR + ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_PAYLOAD + ERROR_IPSEC_IKE_INVALID_PAYLOAD + + + + No documentation. + + + ERROR_IPSEC_IKE_LOAD_SOFT_SA + ERROR_IPSEC_IKE_LOAD_SOFT_SA + + + + No documentation. + + + ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN + ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_COOKIE + ERROR_IPSEC_IKE_INVALID_COOKIE + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_PEER_CERT + ERROR_IPSEC_IKE_NO_PEER_CERT + + + + No documentation. + + + ERROR_IPSEC_IKE_PEER_CRL_FAILED + ERROR_IPSEC_IKE_PEER_CRL_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_POLICY_CHANGE + ERROR_IPSEC_IKE_POLICY_CHANGE + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_MM_POLICY + ERROR_IPSEC_IKE_NO_MM_POLICY + + + + No documentation. + + + ERROR_IPSEC_IKE_NOTCBPRIV + ERROR_IPSEC_IKE_NOTCBPRIV + + + + No documentation. + + + ERROR_IPSEC_IKE_SECLOADFAIL + ERROR_IPSEC_IKE_SECLOADFAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_FAILSSPINIT + ERROR_IPSEC_IKE_FAILSSPINIT + + + + No documentation. + + + ERROR_IPSEC_IKE_FAILQUERYSSP + ERROR_IPSEC_IKE_FAILQUERYSSP + + + + No documentation. + + + ERROR_IPSEC_IKE_SRVACQFAIL + ERROR_IPSEC_IKE_SRVACQFAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_SRVQUERYCRED + ERROR_IPSEC_IKE_SRVQUERYCRED + + + + No documentation. + + + ERROR_IPSEC_IKE_GETSPIFAIL + ERROR_IPSEC_IKE_GETSPIFAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_FILTER + ERROR_IPSEC_IKE_INVALID_FILTER + + + + No documentation. + + + ERROR_IPSEC_IKE_OUT_OF_MEMORY + ERROR_IPSEC_IKE_OUT_OF_MEMORY + + + + No documentation. + + + ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED + ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_POLICY + ERROR_IPSEC_IKE_INVALID_POLICY + + + + No documentation. + + + ERROR_IPSEC_IKE_UNKNOWN_DOI + ERROR_IPSEC_IKE_UNKNOWN_DOI + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_SITUATION + ERROR_IPSEC_IKE_INVALID_SITUATION + + + + No documentation. + + + ERROR_IPSEC_IKE_DH_FAILURE + ERROR_IPSEC_IKE_DH_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_GROUP + ERROR_IPSEC_IKE_INVALID_GROUP + + + + No documentation. + + + ERROR_IPSEC_IKE_ENCRYPT + ERROR_IPSEC_IKE_ENCRYPT + + + + No documentation. + + + ERROR_IPSEC_IKE_DECRYPT + ERROR_IPSEC_IKE_DECRYPT + + + + No documentation. + + + ERROR_IPSEC_IKE_POLICY_MATCH + ERROR_IPSEC_IKE_POLICY_MATCH + + + + No documentation. + + + ERROR_IPSEC_IKE_UNSUPPORTED_ID + ERROR_IPSEC_IKE_UNSUPPORTED_ID + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_HASH + ERROR_IPSEC_IKE_INVALID_HASH + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_HASH_ALG + ERROR_IPSEC_IKE_INVALID_HASH_ALG + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_HASH_SIZE + ERROR_IPSEC_IKE_INVALID_HASH_SIZE + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG + ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_AUTH_ALG + ERROR_IPSEC_IKE_INVALID_AUTH_ALG + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_SIG + ERROR_IPSEC_IKE_INVALID_SIG + + + + No documentation. + + + ERROR_IPSEC_IKE_LOAD_FAILED + ERROR_IPSEC_IKE_LOAD_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_RPC_DELETE + ERROR_IPSEC_IKE_RPC_DELETE + + + + No documentation. + + + ERROR_IPSEC_IKE_BENIGN_REINIT + ERROR_IPSEC_IKE_BENIGN_REINIT + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY + ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION + ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN + ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN + + + + No documentation. + + + ERROR_IPSEC_IKE_MM_LIMIT + ERROR_IPSEC_IKE_MM_LIMIT + + + + No documentation. + + + ERROR_IPSEC_IKE_NEGOTIATION_DISABLED + ERROR_IPSEC_IKE_NEGOTIATION_DISABLED + + + + No documentation. + + + ERROR_IPSEC_IKE_QM_LIMIT + ERROR_IPSEC_IKE_QM_LIMIT + + + + No documentation. + + + ERROR_IPSEC_IKE_MM_EXPIRED + ERROR_IPSEC_IKE_MM_EXPIRED + + + + No documentation. + + + ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID + ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID + + + + No documentation. + + + ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH + ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH + + + + No documentation. + + + ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID + ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD + ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD + + + + No documentation. + + + ERROR_IPSEC_IKE_DOS_COOKIE_SENT + ERROR_IPSEC_IKE_DOS_COOKIE_SENT + + + + No documentation. + + + ERROR_IPSEC_IKE_SHUTTING_DOWN + ERROR_IPSEC_IKE_SHUTTING_DOWN + + + + No documentation. + + + ERROR_IPSEC_IKE_CGA_AUTH_FAILED + ERROR_IPSEC_IKE_CGA_AUTH_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_NATOA + ERROR_IPSEC_IKE_PROCESS_ERR_NATOA + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_MM_FOR_QM + ERROR_IPSEC_IKE_INVALID_MM_FOR_QM + + + + No documentation. + + + ERROR_IPSEC_IKE_QM_EXPIRED + ERROR_IPSEC_IKE_QM_EXPIRED + + + + No documentation. + + + ERROR_IPSEC_IKE_TOO_MANY_FILTERS + ERROR_IPSEC_IKE_TOO_MANY_FILTERS + + + + No documentation. + + + ERROR_IPSEC_IKE_NEG_STATUS_END + ERROR_IPSEC_IKE_NEG_STATUS_END + + + + No documentation. + + + ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL + ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL + + + + No documentation. + + + ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE + ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING + ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING + + + + No documentation. + + + ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING + ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING + + + + No documentation. + + + ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS + ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS + + + + No documentation. + + + ERROR_IPSEC_IKE_RATELIMIT_DROP + ERROR_IPSEC_IKE_RATELIMIT_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE + ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE + + + + No documentation. + + + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY + + + + No documentation. + + + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END + ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END + + + + No documentation. + + + ERROR_IPSEC_BAD_SPI + ERROR_IPSEC_BAD_SPI + + + + No documentation. + + + ERROR_IPSEC_SA_LIFETIME_EXPIRED + ERROR_IPSEC_SA_LIFETIME_EXPIRED + + + + No documentation. + + + ERROR_IPSEC_WRONG_SA + ERROR_IPSEC_WRONG_SA + + + + No documentation. + + + ERROR_IPSEC_REPLAY_CHECK_FAILED + ERROR_IPSEC_REPLAY_CHECK_FAILED + + + + No documentation. + + + ERROR_IPSEC_INVALID_PACKET + ERROR_IPSEC_INVALID_PACKET + + + + No documentation. + + + ERROR_IPSEC_INTEGRITY_CHECK_FAILED + ERROR_IPSEC_INTEGRITY_CHECK_FAILED + + + + No documentation. + + + ERROR_IPSEC_CLEAR_TEXT_DROP + ERROR_IPSEC_CLEAR_TEXT_DROP + + + + No documentation. + + + ERROR_IPSEC_AUTH_FIREWALL_DROP + ERROR_IPSEC_AUTH_FIREWALL_DROP + + + + No documentation. + + + ERROR_IPSEC_THROTTLE_DROP + ERROR_IPSEC_THROTTLE_DROP + + + + No documentation. + + + ERROR_IPSEC_DOSP_BLOCK + ERROR_IPSEC_DOSP_BLOCK + + + + No documentation. + + + ERROR_IPSEC_DOSP_RECEIVED_MULTICAST + ERROR_IPSEC_DOSP_RECEIVED_MULTICAST + + + + No documentation. + + + ERROR_IPSEC_DOSP_INVALID_PACKET + ERROR_IPSEC_DOSP_INVALID_PACKET + + + + No documentation. + + + ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED + ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED + + + + No documentation. + + + ERROR_IPSEC_DOSP_MAX_ENTRIES + ERROR_IPSEC_DOSP_MAX_ENTRIES + + + + No documentation. + + + ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED + ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED + + + + No documentation. + + + ERROR_IPSEC_DOSP_NOT_INSTALLED + ERROR_IPSEC_DOSP_NOT_INSTALLED + + + + No documentation. + + + ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES + ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES + + + + No documentation. + + + ERROR_SXS_SECTION_NOT_FOUND + ERROR_SXS_SECTION_NOT_FOUND + + + + No documentation. + + + ERROR_SXS_CANT_GEN_ACTCTX + ERROR_SXS_CANT_GEN_ACTCTX + + + + No documentation. + + + ERROR_SXS_INVALID_ACTCTXDATA_FORMAT + ERROR_SXS_INVALID_ACTCTXDATA_FORMAT + + + + No documentation. + + + ERROR_SXS_ASSEMBLY_NOT_FOUND + ERROR_SXS_ASSEMBLY_NOT_FOUND + + + + No documentation. + + + ERROR_SXS_MANIFEST_FORMAT_ERROR + ERROR_SXS_MANIFEST_FORMAT_ERROR + + + + No documentation. + + + ERROR_SXS_MANIFEST_PARSE_ERROR + ERROR_SXS_MANIFEST_PARSE_ERROR + + + + No documentation. + + + ERROR_SXS_ACTIVATION_CONTEXT_DISABLED + ERROR_SXS_ACTIVATION_CONTEXT_DISABLED + + + + No documentation. + + + ERROR_SXS_KEY_NOT_FOUND + ERROR_SXS_KEY_NOT_FOUND + + + + No documentation. + + + ERROR_SXS_VERSION_CONFLICT + ERROR_SXS_VERSION_CONFLICT + + + + No documentation. + + + ERROR_SXS_WRONG_SECTION_TYPE + ERROR_SXS_WRONG_SECTION_TYPE + + + + No documentation. + + + ERROR_SXS_THREAD_QUERIES_DISABLED + ERROR_SXS_THREAD_QUERIES_DISABLED + + + + No documentation. + + + ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET + ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET + + + + No documentation. + + + ERROR_SXS_UNKNOWN_ENCODING_GROUP + ERROR_SXS_UNKNOWN_ENCODING_GROUP + + + + No documentation. + + + ERROR_SXS_UNKNOWN_ENCODING + ERROR_SXS_UNKNOWN_ENCODING + + + + No documentation. + + + ERROR_SXS_INVALID_XML_NAMESPACE_URI + ERROR_SXS_INVALID_XML_NAMESPACE_URI + + + + No documentation. + + + ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED + ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED + + + + No documentation. + + + ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED + ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED + + + + No documentation. + + + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE + + + + No documentation. + + + ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE + ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE + + + + No documentation. + + + ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE + ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE + + + + No documentation. + + + ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT + ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT + + + + No documentation. + + + ERROR_SXS_DUPLICATE_DLL_NAME + ERROR_SXS_DUPLICATE_DLL_NAME + + + + No documentation. + + + ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME + ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME + + + + No documentation. + + + ERROR_SXS_DUPLICATE_CLSID + ERROR_SXS_DUPLICATE_CLSID + + + + No documentation. + + + ERROR_SXS_DUPLICATE_IID + ERROR_SXS_DUPLICATE_IID + + + + No documentation. + + + ERROR_SXS_DUPLICATE_TLBID + ERROR_SXS_DUPLICATE_TLBID + + + + No documentation. + + + ERROR_SXS_DUPLICATE_PROGID + ERROR_SXS_DUPLICATE_PROGID + + + + No documentation. + + + ERROR_SXS_DUPLICATE_ASSEMBLY_NAME + ERROR_SXS_DUPLICATE_ASSEMBLY_NAME + + + + No documentation. + + + ERROR_SXS_FILE_HASH_MISMATCH + ERROR_SXS_FILE_HASH_MISMATCH + + + + No documentation. + + + ERROR_SXS_POLICY_PARSE_ERROR + ERROR_SXS_POLICY_PARSE_ERROR + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGQUOTE + ERROR_SXS_XML_E_MISSINGQUOTE + + + + No documentation. + + + ERROR_SXS_XML_E_COMMENTSYNTAX + ERROR_SXS_XML_E_COMMENTSYNTAX + + + + No documentation. + + + ERROR_SXS_XML_E_BADSTARTNAMECHAR + ERROR_SXS_XML_E_BADSTARTNAMECHAR + + + + No documentation. + + + ERROR_SXS_XML_E_BADNAMECHAR + ERROR_SXS_XML_E_BADNAMECHAR + + + + No documentation. + + + ERROR_SXS_XML_E_BADCHARINSTRING + ERROR_SXS_XML_E_BADCHARINSTRING + + + + No documentation. + + + ERROR_SXS_XML_E_XMLDECLSYNTAX + ERROR_SXS_XML_E_XMLDECLSYNTAX + + + + No documentation. + + + ERROR_SXS_XML_E_BADCHARDATA + ERROR_SXS_XML_E_BADCHARDATA + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGWHITESPACE + ERROR_SXS_XML_E_MISSINGWHITESPACE + + + + No documentation. + + + ERROR_SXS_XML_E_EXPECTINGTAGEND + ERROR_SXS_XML_E_EXPECTINGTAGEND + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGSEMICOLON + ERROR_SXS_XML_E_MISSINGSEMICOLON + + + + No documentation. + + + ERROR_SXS_XML_E_UNBALANCEDPAREN + ERROR_SXS_XML_E_UNBALANCEDPAREN + + + + No documentation. + + + ERROR_SXS_XML_E_INTERNALERROR + ERROR_SXS_XML_E_INTERNALERROR + + + + No documentation. + + + ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE + ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE + + + + No documentation. + + + ERROR_SXS_XML_E_INCOMPLETE_ENCODING + ERROR_SXS_XML_E_INCOMPLETE_ENCODING + + + + No documentation. + + + ERROR_SXS_XML_E_MISSING_PAREN + ERROR_SXS_XML_E_MISSING_PAREN + + + + No documentation. + + + ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE + ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE + + + + No documentation. + + + ERROR_SXS_XML_E_MULTIPLE_COLONS + ERROR_SXS_XML_E_MULTIPLE_COLONS + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_DECIMAL + ERROR_SXS_XML_E_INVALID_DECIMAL + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_HEXIDECIMAL + ERROR_SXS_XML_E_INVALID_HEXIDECIMAL + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_UNICODE + ERROR_SXS_XML_E_INVALID_UNICODE + + + + No documentation. + + + ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK + ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK + + + + No documentation. + + + ERROR_SXS_XML_E_UNEXPECTEDENDTAG + ERROR_SXS_XML_E_UNEXPECTEDENDTAG + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDTAG + ERROR_SXS_XML_E_UNCLOSEDTAG + + + + No documentation. + + + ERROR_SXS_XML_E_DUPLICATEATTRIBUTE + ERROR_SXS_XML_E_DUPLICATEATTRIBUTE + + + + No documentation. + + + ERROR_SXS_XML_E_MULTIPLEROOTS + ERROR_SXS_XML_E_MULTIPLEROOTS + + + + No documentation. + + + ERROR_SXS_XML_E_INVALIDATROOTLEVEL + ERROR_SXS_XML_E_INVALIDATROOTLEVEL + + + + No documentation. + + + ERROR_SXS_XML_E_BADXMLDECL + ERROR_SXS_XML_E_BADXMLDECL + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGROOT + ERROR_SXS_XML_E_MISSINGROOT + + + + No documentation. + + + ERROR_SXS_XML_E_UNEXPECTEDEOF + ERROR_SXS_XML_E_UNEXPECTEDEOF + + + + No documentation. + + + ERROR_SXS_XML_E_BADPEREFINSUBSET + ERROR_SXS_XML_E_BADPEREFINSUBSET + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDSTARTTAG + ERROR_SXS_XML_E_UNCLOSEDSTARTTAG + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDENDTAG + ERROR_SXS_XML_E_UNCLOSEDENDTAG + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDSTRING + ERROR_SXS_XML_E_UNCLOSEDSTRING + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDCOMMENT + ERROR_SXS_XML_E_UNCLOSEDCOMMENT + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDDECL + ERROR_SXS_XML_E_UNCLOSEDDECL + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDCDATA + ERROR_SXS_XML_E_UNCLOSEDCDATA + + + + No documentation. + + + ERROR_SXS_XML_E_RESERVEDNAMESPACE + ERROR_SXS_XML_E_RESERVEDNAMESPACE + + + + No documentation. + + + ERROR_SXS_XML_E_INVALIDENCODING + ERROR_SXS_XML_E_INVALIDENCODING + + + + No documentation. + + + ERROR_SXS_XML_E_INVALIDSWITCH + ERROR_SXS_XML_E_INVALIDSWITCH + + + + No documentation. + + + ERROR_SXS_XML_E_BADXMLCASE + ERROR_SXS_XML_E_BADXMLCASE + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_STANDALONE + ERROR_SXS_XML_E_INVALID_STANDALONE + + + + No documentation. + + + ERROR_SXS_XML_E_UNEXPECTED_STANDALONE + ERROR_SXS_XML_E_UNEXPECTED_STANDALONE + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_VERSION + ERROR_SXS_XML_E_INVALID_VERSION + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGEQUALS + ERROR_SXS_XML_E_MISSINGEQUALS + + + + No documentation. + + + ERROR_SXS_PROTECTION_RECOVERY_FAILED + ERROR_SXS_PROTECTION_RECOVERY_FAILED + + + + No documentation. + + + ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT + ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT + + + + No documentation. + + + ERROR_SXS_PROTECTION_CATALOG_NOT_VALID + ERROR_SXS_PROTECTION_CATALOG_NOT_VALID + + + + No documentation. + + + ERROR_SXS_UNTRANSLATABLE_HRESULT + ERROR_SXS_UNTRANSLATABLE_HRESULT + + + + No documentation. + + + ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING + ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING + + + + No documentation. + + + ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE + ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE + + + + No documentation. + + + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME + + + + No documentation. + + + ERROR_SXS_ASSEMBLY_MISSING + ERROR_SXS_ASSEMBLY_MISSING + + + + No documentation. + + + ERROR_SXS_CORRUPT_ACTIVATION_STACK + ERROR_SXS_CORRUPT_ACTIVATION_STACK + + + + No documentation. + + + ERROR_SXS_CORRUPTION + ERROR_SXS_CORRUPTION + + + + No documentation. + + + ERROR_SXS_EARLY_DEACTIVATION + ERROR_SXS_EARLY_DEACTIVATION + + + + No documentation. + + + ERROR_SXS_INVALID_DEACTIVATION + ERROR_SXS_INVALID_DEACTIVATION + + + + No documentation. + + + ERROR_SXS_MULTIPLE_DEACTIVATION + ERROR_SXS_MULTIPLE_DEACTIVATION + + + + No documentation. + + + ERROR_SXS_PROCESS_TERMINATION_REQUESTED + ERROR_SXS_PROCESS_TERMINATION_REQUESTED + + + + No documentation. + + + ERROR_SXS_RELEASE_ACTIVATION_CONTEXT + ERROR_SXS_RELEASE_ACTIVATION_CONTEXT + + + + No documentation. + + + ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY + ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY + + + + No documentation. + + + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE + + + + No documentation. + + + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME + + + + No documentation. + + + ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE + ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE + + + + No documentation. + + + ERROR_SXS_IDENTITY_PARSE_ERROR + ERROR_SXS_IDENTITY_PARSE_ERROR + + + + No documentation. + + + ERROR_MALFORMED_SUBSTITUTION_STRING + ERROR_MALFORMED_SUBSTITUTION_STRING + + + + No documentation. + + + ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN + ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN + + + + No documentation. + + + ERROR_UNMAPPED_SUBSTITUTION_STRING + ERROR_UNMAPPED_SUBSTITUTION_STRING + + + + No documentation. + + + ERROR_SXS_ASSEMBLY_NOT_LOCKED + ERROR_SXS_ASSEMBLY_NOT_LOCKED + + + + No documentation. + + + ERROR_SXS_COMPONENT_STORE_CORRUPT + ERROR_SXS_COMPONENT_STORE_CORRUPT + + + + No documentation. + + + ERROR_ADVANCED_INSTALLER_FAILED + ERROR_ADVANCED_INSTALLER_FAILED + + + + No documentation. + + + ERROR_XML_ENCODING_MISMATCH + ERROR_XML_ENCODING_MISMATCH + + + + No documentation. + + + ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT + ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT + + + + No documentation. + + + ERROR_SXS_IDENTITIES_DIFFERENT + ERROR_SXS_IDENTITIES_DIFFERENT + + + + No documentation. + + + ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT + ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT + + + + No documentation. + + + ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY + ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY + + + + No documentation. + + + ERROR_SXS_MANIFEST_TOO_BIG + ERROR_SXS_MANIFEST_TOO_BIG + + + + No documentation. + + + ERROR_SXS_SETTING_NOT_REGISTERED + ERROR_SXS_SETTING_NOT_REGISTERED + + + + No documentation. + + + ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE + ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE + + + + No documentation. + + + ERROR_SMI_PRIMITIVE_INSTALLER_FAILED + ERROR_SMI_PRIMITIVE_INSTALLER_FAILED + + + + No documentation. + + + ERROR_GENERIC_COMMAND_FAILED + ERROR_GENERIC_COMMAND_FAILED + + + + No documentation. + + + ERROR_SXS_FILE_HASH_MISSING + ERROR_SXS_FILE_HASH_MISSING + + + + No documentation. + + + ERROR_EVT_INVALID_CHANNEL_PATH + ERROR_EVT_INVALID_CHANNEL_PATH + + + + No documentation. + + + ERROR_EVT_INVALID_QUERY + ERROR_EVT_INVALID_QUERY + + + + No documentation. + + + ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND + ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND + ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_INVALID_PUBLISHER_NAME + ERROR_EVT_INVALID_PUBLISHER_NAME + + + + No documentation. + + + ERROR_EVT_INVALID_EVENT_DATA + ERROR_EVT_INVALID_EVENT_DATA + + + + No documentation. + + + ERROR_EVT_CHANNEL_NOT_FOUND + ERROR_EVT_CHANNEL_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_MALFORMED_XML_TEXT + ERROR_EVT_MALFORMED_XML_TEXT + + + + No documentation. + + + ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL + ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL + + + + No documentation. + + + ERROR_EVT_CONFIGURATION_ERROR + ERROR_EVT_CONFIGURATION_ERROR + + + + No documentation. + + + ERROR_EVT_QUERY_RESULT_STALE + ERROR_EVT_QUERY_RESULT_STALE + + + + No documentation. + + + ERROR_EVT_QUERY_RESULT_INVALID_POSITION + ERROR_EVT_QUERY_RESULT_INVALID_POSITION + + + + No documentation. + + + ERROR_EVT_NON_VALIDATING_MSXML + ERROR_EVT_NON_VALIDATING_MSXML + + + + No documentation. + + + ERROR_EVT_FILTER_ALREADYSCOPED + ERROR_EVT_FILTER_ALREADYSCOPED + + + + No documentation. + + + ERROR_EVT_FILTER_NOTELTSET + ERROR_EVT_FILTER_NOTELTSET + + + + No documentation. + + + ERROR_EVT_FILTER_INVARG + ERROR_EVT_FILTER_INVARG + + + + No documentation. + + + ERROR_EVT_FILTER_INVTEST + ERROR_EVT_FILTER_INVTEST + + + + No documentation. + + + ERROR_EVT_FILTER_INVTYPE + ERROR_EVT_FILTER_INVTYPE + + + + No documentation. + + + ERROR_EVT_FILTER_PARSEERR + ERROR_EVT_FILTER_PARSEERR + + + + No documentation. + + + ERROR_EVT_FILTER_UNSUPPORTEDOP + ERROR_EVT_FILTER_UNSUPPORTEDOP + + + + No documentation. + + + ERROR_EVT_FILTER_UNEXPECTEDTOKEN + ERROR_EVT_FILTER_UNEXPECTEDTOKEN + + + + No documentation. + + + ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL + ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL + + + + No documentation. + + + ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE + ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE + + + + No documentation. + + + ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE + ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE + + + + No documentation. + + + ERROR_EVT_CHANNEL_CANNOT_ACTIVATE + ERROR_EVT_CHANNEL_CANNOT_ACTIVATE + + + + No documentation. + + + ERROR_EVT_FILTER_TOO_COMPLEX + ERROR_EVT_FILTER_TOO_COMPLEX + + + + No documentation. + + + ERROR_EVT_MESSAGE_NOT_FOUND + ERROR_EVT_MESSAGE_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_MESSAGE_ID_NOT_FOUND + ERROR_EVT_MESSAGE_ID_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_UNRESOLVED_VALUE_INSERT + ERROR_EVT_UNRESOLVED_VALUE_INSERT + + + + No documentation. + + + ERROR_EVT_UNRESOLVED_PARAMETER_INSERT + ERROR_EVT_UNRESOLVED_PARAMETER_INSERT + + + + No documentation. + + + ERROR_EVT_MAX_INSERTS_REACHED + ERROR_EVT_MAX_INSERTS_REACHED + + + + No documentation. + + + ERROR_EVT_EVENT_DEFINITION_NOT_FOUND + ERROR_EVT_EVENT_DEFINITION_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND + ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_VERSION_TOO_OLD + ERROR_EVT_VERSION_TOO_OLD + + + + No documentation. + + + ERROR_EVT_VERSION_TOO_NEW + ERROR_EVT_VERSION_TOO_NEW + + + + No documentation. + + + ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY + ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY + + + + No documentation. + + + ERROR_EVT_PUBLISHER_DISABLED + ERROR_EVT_PUBLISHER_DISABLED + + + + No documentation. + + + ERROR_EVT_FILTER_OUT_OF_RANGE + ERROR_EVT_FILTER_OUT_OF_RANGE + + + + No documentation. + + + ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE + ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE + + + + No documentation. + + + ERROR_EC_LOG_DISABLED + ERROR_EC_LOG_DISABLED + + + + No documentation. + + + ERROR_EC_CIRCULAR_FORWARDING + ERROR_EC_CIRCULAR_FORWARDING + + + + No documentation. + + + ERROR_EC_CREDSTORE_FULL + ERROR_EC_CREDSTORE_FULL + + + + No documentation. + + + ERROR_EC_CRED_NOT_FOUND + ERROR_EC_CRED_NOT_FOUND + + + + No documentation. + + + ERROR_EC_NO_ACTIVE_CHANNEL + ERROR_EC_NO_ACTIVE_CHANNEL + + + + No documentation. + + + ERROR_MUI_FILE_NOT_FOUND + ERROR_MUI_FILE_NOT_FOUND + + + + No documentation. + + + ERROR_MUI_INVALID_FILE + ERROR_MUI_INVALID_FILE + + + + No documentation. + + + ERROR_MUI_INVALID_RC_CONFIG + ERROR_MUI_INVALID_RC_CONFIG + + + + No documentation. + + + ERROR_MUI_INVALID_LOCALE_NAME + ERROR_MUI_INVALID_LOCALE_NAME + + + + No documentation. + + + ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME + ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME + + + + No documentation. + + + ERROR_MUI_FILE_NOT_LOADED + ERROR_MUI_FILE_NOT_LOADED + + + + No documentation. + + + ERROR_RESOURCE_ENUM_USER_STOP + ERROR_RESOURCE_ENUM_USER_STOP + + + + No documentation. + + + ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED + ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED + + + + No documentation. + + + ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME + ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME + + + + No documentation. + + + ERROR_MCA_INVALID_CAPABILITIES_STRING + ERROR_MCA_INVALID_CAPABILITIES_STRING + + + + No documentation. + + + ERROR_MCA_INVALID_VCP_VERSION + ERROR_MCA_INVALID_VCP_VERSION + + + + No documentation. + + + ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION + ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION + + + + No documentation. + + + ERROR_MCA_MCCS_VERSION_MISMATCH + ERROR_MCA_MCCS_VERSION_MISMATCH + + + + No documentation. + + + ERROR_MCA_UNSUPPORTED_MCCS_VERSION + ERROR_MCA_UNSUPPORTED_MCCS_VERSION + + + + No documentation. + + + ERROR_MCA_INTERNAL_ERROR + ERROR_MCA_INTERNAL_ERROR + + + + No documentation. + + + ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED + ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED + + + + No documentation. + + + ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE + ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE + + + + No documentation. + + + ERROR_AMBIGUOUS_SYSTEM_DEVICE + ERROR_AMBIGUOUS_SYSTEM_DEVICE + + + + No documentation. + + + ERROR_SYSTEM_DEVICE_NOT_FOUND + ERROR_SYSTEM_DEVICE_NOT_FOUND + + + + No documentation. + + + ERROR_HASH_NOT_SUPPORTED + ERROR_HASH_NOT_SUPPORTED + + + + No documentation. + + + ERROR_HASH_NOT_PRESENT + ERROR_HASH_NOT_PRESENT + + + + No documentation. + + + ERROR_AUDITING_DISABLED + ERROR_AUDITING_DISABLED + + + + No documentation. + + + ERROR_ALL_SIDS_FILTERED + ERROR_ALL_SIDS_FILTERED + + + + No documentation. + + + ERROR_BIZRULES_NOT_ENABLED + ERROR_BIZRULES_NOT_ENABLED + + + + No documentation. + + + ERROR_CRED_REQUIRES_CONFIRMATION + ERROR_CRED_REQUIRES_CONFIRMATION + + + + No documentation. + + + ERROR_FLT_IO_COMPLETE + ERROR_FLT_IO_COMPLETE + + + + No documentation. + + + ERROR_FLT_NO_HANDLER_DEFINED + ERROR_FLT_NO_HANDLER_DEFINED + + + + No documentation. + + + ERROR_FLT_CONTEXT_ALREADY_DEFINED + ERROR_FLT_CONTEXT_ALREADY_DEFINED + + + + No documentation. + + + ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST + ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST + + + + No documentation. + + + ERROR_FLT_DISALLOW_FAST_IO + ERROR_FLT_DISALLOW_FAST_IO + + + + No documentation. + + + ERROR_FLT_INVALID_NAME_REQUEST + ERROR_FLT_INVALID_NAME_REQUEST + + + + No documentation. + + + ERROR_FLT_NOT_SAFE_TO_POST_OPERATION + ERROR_FLT_NOT_SAFE_TO_POST_OPERATION + + + + No documentation. + + + ERROR_FLT_NOT_INITIALIZED + ERROR_FLT_NOT_INITIALIZED + + + + No documentation. + + + ERROR_FLT_FILTER_NOT_READY + ERROR_FLT_FILTER_NOT_READY + + + + No documentation. + + + ERROR_FLT_POST_OPERATION_CLEANUP + ERROR_FLT_POST_OPERATION_CLEANUP + + + + No documentation. + + + ERROR_FLT_INTERNAL_ERROR + ERROR_FLT_INTERNAL_ERROR + + + + No documentation. + + + ERROR_FLT_DELETING_OBJECT + ERROR_FLT_DELETING_OBJECT + + + + No documentation. + + + ERROR_FLT_MUST_BE_NONPAGED_POOL + ERROR_FLT_MUST_BE_NONPAGED_POOL + + + + No documentation. + + + ERROR_FLT_DUPLICATE_ENTRY + ERROR_FLT_DUPLICATE_ENTRY + + + + No documentation. + + + ERROR_FLT_CBDQ_DISABLED + ERROR_FLT_CBDQ_DISABLED + + + + No documentation. + + + ERROR_FLT_DO_NOT_ATTACH + ERROR_FLT_DO_NOT_ATTACH + + + + No documentation. + + + ERROR_FLT_DO_NOT_DETACH + ERROR_FLT_DO_NOT_DETACH + + + + No documentation. + + + ERROR_FLT_INSTANCE_ALTITUDE_COLLISION + ERROR_FLT_INSTANCE_ALTITUDE_COLLISION + + + + No documentation. + + + ERROR_FLT_INSTANCE_NAME_COLLISION + ERROR_FLT_INSTANCE_NAME_COLLISION + + + + No documentation. + + + ERROR_FLT_FILTER_NOT_FOUND + ERROR_FLT_FILTER_NOT_FOUND + + + + No documentation. + + + ERROR_FLT_VOLUME_NOT_FOUND + ERROR_FLT_VOLUME_NOT_FOUND + + + + No documentation. + + + ERROR_FLT_INSTANCE_NOT_FOUND + ERROR_FLT_INSTANCE_NOT_FOUND + + + + No documentation. + + + ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND + ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND + + + + No documentation. + + + ERROR_FLT_INVALID_CONTEXT_REGISTRATION + ERROR_FLT_INVALID_CONTEXT_REGISTRATION + + + + No documentation. + + + ERROR_FLT_NAME_CACHE_MISS + ERROR_FLT_NAME_CACHE_MISS + + + + No documentation. + + + ERROR_FLT_NO_DEVICE_OBJECT + ERROR_FLT_NO_DEVICE_OBJECT + + + + No documentation. + + + ERROR_FLT_VOLUME_ALREADY_MOUNTED + ERROR_FLT_VOLUME_ALREADY_MOUNTED + + + + No documentation. + + + ERROR_FLT_ALREADY_ENLISTED + ERROR_FLT_ALREADY_ENLISTED + + + + No documentation. + + + ERROR_FLT_CONTEXT_ALREADY_LINKED + ERROR_FLT_CONTEXT_ALREADY_LINKED + + + + No documentation. + + + ERROR_FLT_NO_WAITER_FOR_REPLY + ERROR_FLT_NO_WAITER_FOR_REPLY + + + + No documentation. + + + ERROR_HUNG_DISPLAY_DRIVER_THREAD + ERROR_HUNG_DISPLAY_DRIVER_THREAD + + + + No documentation. + + + ERROR_MONITOR_NO_DESCRIPTOR + ERROR_MONITOR_NO_DESCRIPTOR + + + + No documentation. + + + ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT + ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT + + + + No documentation. + + + ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM + ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM + + + + No documentation. + + + ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK + ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK + + + + No documentation. + + + ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED + ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED + + + + No documentation. + + + ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK + ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK + + + + No documentation. + + + ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK + ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK + + + + No documentation. + + + ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA + ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA + + + + No documentation. + + + ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK + ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK + + + + No documentation. + + + ERROR_MONITOR_INVALID_MANUFACTURE_DATE + ERROR_MONITOR_INVALID_MANUFACTURE_DATE + + + + No documentation. + + + ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER + ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER + + + + No documentation. + + + ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER + ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER + ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_WAS_RESET + ERROR_GRAPHICS_ADAPTER_WAS_RESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_DRIVER_MODEL + ERROR_GRAPHICS_INVALID_DRIVER_MODEL + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_MODE_CHANGED + ERROR_GRAPHICS_PRESENT_MODE_CHANGED + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_OCCLUDED + ERROR_GRAPHICS_PRESENT_OCCLUDED + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_DENIED + ERROR_GRAPHICS_PRESENT_DENIED + + + + No documentation. + + + ERROR_GRAPHICS_CANNOTCOLORCONVERT + ERROR_GRAPHICS_CANNOTCOLORCONVERT + + + + No documentation. + + + ERROR_GRAPHICS_DRIVER_MISMATCH + ERROR_GRAPHICS_DRIVER_MISMATCH + + + + No documentation. + + + ERROR_GRAPHICS_PARTIAL_DATA_POPULATED + ERROR_GRAPHICS_PARTIAL_DATA_POPULATED + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED + ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_UNOCCLUDED + ERROR_GRAPHICS_PRESENT_UNOCCLUDED + + + + No documentation. + + + ERROR_GRAPHICS_NO_VIDEO_MEMORY + ERROR_GRAPHICS_NO_VIDEO_MEMORY + + + + No documentation. + + + ERROR_GRAPHICS_CANT_LOCK_MEMORY + ERROR_GRAPHICS_CANT_LOCK_MEMORY + + + + No documentation. + + + ERROR_GRAPHICS_ALLOCATION_BUSY + ERROR_GRAPHICS_ALLOCATION_BUSY + + + + No documentation. + + + ERROR_GRAPHICS_TOO_MANY_REFERENCES + ERROR_GRAPHICS_TOO_MANY_REFERENCES + + + + No documentation. + + + ERROR_GRAPHICS_TRY_AGAIN_LATER + ERROR_GRAPHICS_TRY_AGAIN_LATER + + + + No documentation. + + + ERROR_GRAPHICS_TRY_AGAIN_NOW + ERROR_GRAPHICS_TRY_AGAIN_NOW + + + + No documentation. + + + ERROR_GRAPHICS_ALLOCATION_INVALID + ERROR_GRAPHICS_ALLOCATION_INVALID + + + + No documentation. + + + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE + + + + No documentation. + + + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION + ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE + ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE + + + + No documentation. + + + ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION + ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION + + + + No documentation. + + + ERROR_GRAPHICS_ALLOCATION_CLOSED + ERROR_GRAPHICS_ALLOCATION_CLOSED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE + ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE + ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE + + + + No documentation. + + + ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE + ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE + + + + No documentation. + + + ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST + ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST + + + + No documentation. + + + ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE + ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED + ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED + ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN + ERROR_GRAPHICS_INVALID_VIDPN + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET + + + + No documentation. + + + ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED + ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_MODE_NOT_PINNED + ERROR_GRAPHICS_MODE_NOT_PINNED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET + ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET + ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_FREQUENCY + ERROR_GRAPHICS_INVALID_FREQUENCY + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_ACTIVE_REGION + ERROR_GRAPHICS_INVALID_ACTIVE_REGION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_TOTAL_REGION + ERROR_GRAPHICS_INVALID_TOTAL_REGION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE + + + + No documentation. + + + ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET + ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY + ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET + ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET + ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET + ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET + + + + No documentation. + + + ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET + ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_TARGET_ALREADY_IN_SET + ERROR_GRAPHICS_TARGET_ALREADY_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH + ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH + + + + No documentation. + + + ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY + ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE + + + + No documentation. + + + ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET + ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_NO_PREFERRED_MODE + ERROR_GRAPHICS_NO_PREFERRED_MODE + + + + No documentation. + + + ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET + ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_STALE_MODESET + ERROR_GRAPHICS_STALE_MODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET + ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE + ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE + + + + No documentation. + + + ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN + ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN + + + + No documentation. + + + ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE + ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE + + + + No documentation. + + + ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION + ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION + + + + No documentation. + + + ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES + ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES + + + + No documentation. + + + ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY + ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR + + + + No documentation. + + + ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET + ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET + ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE + ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE + ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE + + + + No documentation. + + + ERROR_GRAPHICS_RESOURCES_NOT_RELATED + ERROR_GRAPHICS_RESOURCES_NOT_RELATED + + + + No documentation. + + + ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE + ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE + + + + No documentation. + + + ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE + ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE + + + + No documentation. + + + ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET + ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET + + + + No documentation. + + + ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER + ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER + + + + No documentation. + + + ERROR_GRAPHICS_NO_VIDPNMGR + ERROR_GRAPHICS_NO_VIDPNMGR + + + + No documentation. + + + ERROR_GRAPHICS_NO_ACTIVE_VIDPN + ERROR_GRAPHICS_NO_ACTIVE_VIDPN + + + + No documentation. + + + ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY + ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_MONITOR_NOT_CONNECTED + ERROR_GRAPHICS_MONITOR_NOT_CONNECTED + + + + No documentation. + + + ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY + ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE + ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE + ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_STRIDE + ERROR_GRAPHICS_INVALID_STRIDE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PIXELFORMAT + ERROR_GRAPHICS_INVALID_PIXELFORMAT + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_COLORBASIS + ERROR_GRAPHICS_INVALID_COLORBASIS + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE + ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE + + + + No documentation. + + + ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY + ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT + ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT + + + + No documentation. + + + ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE + ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE + + + + No documentation. + + + ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN + ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL + ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION + ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION + + + + No documentation. + + + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_GAMMA_RAMP + ERROR_GRAPHICS_INVALID_GAMMA_RAMP + + + + No documentation. + + + ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED + ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED + ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_MODE_NOT_IN_MODESET + ERROR_GRAPHICS_MODE_NOT_IN_MODESET + + + + No documentation. + + + ERROR_GRAPHICS_DATASET_IS_EMPTY + ERROR_GRAPHICS_DATASET_IS_EMPTY + + + + No documentation. + + + ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET + ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE + ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE + ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE + + + + No documentation. + + + ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS + ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS + + + + No documentation. + + + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING + ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING + + + + No documentation. + + + ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED + ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED + + + + No documentation. + + + ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS + ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS + + + + No documentation. + + + ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT + ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM + ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN + ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT + + + + No documentation. + + + ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED + ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED + + + + No documentation. + + + ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION + ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_CLIENT_TYPE + ERROR_GRAPHICS_INVALID_CLIENT_TYPE + + + + No documentation. + + + ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET + ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET + + + + No documentation. + + + ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED + ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED + + + + No documentation. + + + ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED + ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS + ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS + + + + No documentation. + + + ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER + ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER + + + + No documentation. + + + ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED + ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED + + + + No documentation. + + + ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED + ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY + ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY + + + + No documentation. + + + ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED + ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED + + + + No documentation. + + + ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON + ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON + + + + No documentation. + + + ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE + ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE + + + + No documentation. + + + ERROR_GRAPHICS_LEADLINK_START_DEFERRED + ERROR_GRAPHICS_LEADLINK_START_DEFERRED + + + + No documentation. + + + ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER + ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER + + + + No documentation. + + + ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY + ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY + + + + No documentation. + + + ERROR_GRAPHICS_START_DEFERRED + ERROR_GRAPHICS_START_DEFERRED + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED + ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_NOT_SUPPORTED + ERROR_GRAPHICS_OPM_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_COPP_NOT_SUPPORTED + ERROR_GRAPHICS_COPP_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_UAB_NOT_SUPPORTED + ERROR_GRAPHICS_UAB_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS + ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST + ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INTERNAL_ERROR + ERROR_GRAPHICS_OPM_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_HANDLE + ERROR_GRAPHICS_OPM_INVALID_HANDLE + + + + No documentation. + + + ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH + ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH + + + + No documentation. + + + ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED + ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED + ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED + + + + No documentation. + + + ERROR_GRAPHICS_PVP_HFS_FAILED + ERROR_GRAPHICS_PVP_HFS_FAILED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_SRM + ERROR_GRAPHICS_OPM_INVALID_SRM + + + + No documentation. + + + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP + + + + No documentation. + + + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP + + + + No documentation. + + + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA + + + + No documentation. + + + ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET + ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET + + + + No documentation. + + + ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH + ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH + + + + No documentation. + + + ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE + ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE + + + + No documentation. + + + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS + ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST + ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST + + + + No documentation. + + + ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR + ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED + ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST + ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST + + + + No documentation. + + + ERROR_GRAPHICS_I2C_NOT_SUPPORTED + ERROR_GRAPHICS_I2C_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST + ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA + ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA + + + + No documentation. + + + ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA + ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED + ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_INVALID_DATA + ERROR_GRAPHICS_DDCCI_INVALID_DATA + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE + ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE + + + + No documentation. + + + ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING + ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING + + + + No documentation. + + + ERROR_GRAPHICS_MCA_INTERNAL_ERROR + ERROR_GRAPHICS_MCA_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE + ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE + + + + No documentation. + + + ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS + ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE + ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE + + + + No documentation. + + + ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION + ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION + + + + No documentation. + + + ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION + ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION + + + + No documentation. + + + ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH + ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH + + + + No documentation. + + + ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION + ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION + + + + No documentation. + + + ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED + ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED + + + + No documentation. + + + ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE + ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE + + + + No documentation. + + + ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED + ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME + ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME + + + + No documentation. + + + ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP + ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP + + + + No documentation. + + + ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED + ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_POINTER + ERROR_GRAPHICS_INVALID_POINTER + + + + No documentation. + + + ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE + ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE + + + + No documentation. + + + ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL + ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL + + + + No documentation. + + + ERROR_GRAPHICS_INTERNAL_ERROR + ERROR_GRAPHICS_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS + ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS + + + + No documentation. + + + ERROR_NDIS_INTERFACE_CLOSING + ERROR_NDIS_INTERFACE_CLOSING + + + + No documentation. + + + ERROR_NDIS_BAD_VERSION + ERROR_NDIS_BAD_VERSION + + + + No documentation. + + + ERROR_NDIS_BAD_CHARACTERISTICS + ERROR_NDIS_BAD_CHARACTERISTICS + + + + No documentation. + + + ERROR_NDIS_ADAPTER_NOT_FOUND + ERROR_NDIS_ADAPTER_NOT_FOUND + + + + No documentation. + + + ERROR_NDIS_OPEN_FAILED + ERROR_NDIS_OPEN_FAILED + + + + No documentation. + + + ERROR_NDIS_DEVICE_FAILED + ERROR_NDIS_DEVICE_FAILED + + + + No documentation. + + + ERROR_NDIS_MULTICAST_FULL + ERROR_NDIS_MULTICAST_FULL + + + + No documentation. + + + ERROR_NDIS_MULTICAST_EXISTS + ERROR_NDIS_MULTICAST_EXISTS + + + + No documentation. + + + ERROR_NDIS_MULTICAST_NOT_FOUND + ERROR_NDIS_MULTICAST_NOT_FOUND + + + + No documentation. + + + ERROR_NDIS_REQUEST_ABORTED + ERROR_NDIS_REQUEST_ABORTED + + + + No documentation. + + + ERROR_NDIS_RESET_IN_PROGRESS + ERROR_NDIS_RESET_IN_PROGRESS + + + + No documentation. + + + ERROR_NDIS_NOT_SUPPORTED + ERROR_NDIS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_NDIS_INVALID_PACKET + ERROR_NDIS_INVALID_PACKET + + + + No documentation. + + + ERROR_NDIS_ADAPTER_NOT_READY + ERROR_NDIS_ADAPTER_NOT_READY + + + + No documentation. + + + ERROR_NDIS_INVALID_LENGTH + ERROR_NDIS_INVALID_LENGTH + + + + No documentation. + + + ERROR_NDIS_INVALID_DATA + ERROR_NDIS_INVALID_DATA + + + + No documentation. + + + ERROR_NDIS_BUFFER_TOO_SHORT + ERROR_NDIS_BUFFER_TOO_SHORT + + + + No documentation. + + + ERROR_NDIS_INVALID_OID + ERROR_NDIS_INVALID_OID + + + + No documentation. + + + ERROR_NDIS_ADAPTER_REMOVED + ERROR_NDIS_ADAPTER_REMOVED + + + + No documentation. + + + ERROR_NDIS_UNSUPPORTED_MEDIA + ERROR_NDIS_UNSUPPORTED_MEDIA + + + + No documentation. + + + ERROR_NDIS_GROUP_ADDRESS_IN_USE + ERROR_NDIS_GROUP_ADDRESS_IN_USE + + + + No documentation. + + + ERROR_NDIS_FILE_NOT_FOUND + ERROR_NDIS_FILE_NOT_FOUND + + + + No documentation. + + + ERROR_NDIS_ERROR_READING_FILE + ERROR_NDIS_ERROR_READING_FILE + + + + No documentation. + + + ERROR_NDIS_ALREADY_MAPPED + ERROR_NDIS_ALREADY_MAPPED + + + + No documentation. + + + ERROR_NDIS_RESOURCE_CONFLICT + ERROR_NDIS_RESOURCE_CONFLICT + + + + No documentation. + + + ERROR_NDIS_MEDIA_DISCONNECTED + ERROR_NDIS_MEDIA_DISCONNECTED + + + + No documentation. + + + ERROR_NDIS_INVALID_ADDRESS + ERROR_NDIS_INVALID_ADDRESS + + + + No documentation. + + + ERROR_NDIS_INVALID_DEVICE_REQUEST + ERROR_NDIS_INVALID_DEVICE_REQUEST + + + + No documentation. + + + ERROR_NDIS_PAUSED + ERROR_NDIS_PAUSED + + + + No documentation. + + + ERROR_NDIS_INTERFACE_NOT_FOUND + ERROR_NDIS_INTERFACE_NOT_FOUND + + + + No documentation. + + + ERROR_NDIS_UNSUPPORTED_REVISION + ERROR_NDIS_UNSUPPORTED_REVISION + + + + No documentation. + + + ERROR_NDIS_INVALID_PORT + ERROR_NDIS_INVALID_PORT + + + + No documentation. + + + ERROR_NDIS_INVALID_PORT_STATE + ERROR_NDIS_INVALID_PORT_STATE + + + + No documentation. + + + ERROR_NDIS_LOW_POWER_STATE + ERROR_NDIS_LOW_POWER_STATE + + + + No documentation. + + + ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED + ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED + + + + No documentation. + + + ERROR_NDIS_DOT11_MEDIA_IN_USE + ERROR_NDIS_DOT11_MEDIA_IN_USE + + + + No documentation. + + + ERROR_NDIS_DOT11_POWER_STATE_INVALID + ERROR_NDIS_DOT11_POWER_STATE_INVALID + + + + No documentation. + + + ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL + ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL + + + + No documentation. + + + ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL + ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL + + + + No documentation. + + + ERROR_NDIS_INDICATION_REQUIRED + ERROR_NDIS_INDICATION_REQUIRED + + + + No documentation. + + + ERROR_NDIS_OFFLOAD_POLICY + ERROR_NDIS_OFFLOAD_POLICY + + + + No documentation. + + + ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED + ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED + + + + No documentation. + + + ERROR_NDIS_OFFLOAD_PATH_REJECTED + ERROR_NDIS_OFFLOAD_PATH_REJECTED + + + + No documentation. + + + ERROR_HV_INVALID_HYPERCALL_CODE + ERROR_HV_INVALID_HYPERCALL_CODE + + + + No documentation. + + + ERROR_HV_INVALID_HYPERCALL_INPUT + ERROR_HV_INVALID_HYPERCALL_INPUT + + + + No documentation. + + + ERROR_HV_INVALID_ALIGNMENT + ERROR_HV_INVALID_ALIGNMENT + + + + No documentation. + + + ERROR_HV_INVALID_PARAMETER + ERROR_HV_INVALID_PARAMETER + + + + No documentation. + + + ERROR_HV_ACCESS_DENIED + ERROR_HV_ACCESS_DENIED + + + + No documentation. + + + ERROR_HV_INVALID_PARTITION_STATE + ERROR_HV_INVALID_PARTITION_STATE + + + + No documentation. + + + ERROR_HV_OPERATION_DENIED + ERROR_HV_OPERATION_DENIED + + + + No documentation. + + + ERROR_HV_UNKNOWN_PROPERTY + ERROR_HV_UNKNOWN_PROPERTY + + + + No documentation. + + + ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE + ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE + + + + No documentation. + + + ERROR_HV_INSUFFICIENT_MEMORY + ERROR_HV_INSUFFICIENT_MEMORY + + + + No documentation. + + + ERROR_HV_PARTITION_TOO_DEEP + ERROR_HV_PARTITION_TOO_DEEP + + + + No documentation. + + + ERROR_HV_INVALID_PARTITION_ID + ERROR_HV_INVALID_PARTITION_ID + + + + No documentation. + + + ERROR_HV_INVALID_VP_INDEX + ERROR_HV_INVALID_VP_INDEX + + + + No documentation. + + + ERROR_HV_INVALID_PORT_ID + ERROR_HV_INVALID_PORT_ID + + + + No documentation. + + + ERROR_HV_INVALID_CONNECTION_ID + ERROR_HV_INVALID_CONNECTION_ID + + + + No documentation. + + + ERROR_HV_INSUFFICIENT_BUFFERS + ERROR_HV_INSUFFICIENT_BUFFERS + + + + No documentation. + + + ERROR_HV_NOT_ACKNOWLEDGED + ERROR_HV_NOT_ACKNOWLEDGED + + + + No documentation. + + + ERROR_HV_ACKNOWLEDGED + ERROR_HV_ACKNOWLEDGED + + + + No documentation. + + + ERROR_HV_INVALID_SAVE_RESTORE_STATE + ERROR_HV_INVALID_SAVE_RESTORE_STATE + + + + No documentation. + + + ERROR_HV_INVALID_SYNIC_STATE + ERROR_HV_INVALID_SYNIC_STATE + + + + No documentation. + + + ERROR_HV_OBJECT_IN_USE + ERROR_HV_OBJECT_IN_USE + + + + No documentation. + + + ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO + ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO + + + + No documentation. + + + ERROR_HV_NO_DATA + ERROR_HV_NO_DATA + + + + No documentation. + + + ERROR_HV_INACTIVE + ERROR_HV_INACTIVE + + + + No documentation. + + + ERROR_HV_NO_RESOURCES + ERROR_HV_NO_RESOURCES + + + + No documentation. + + + ERROR_HV_FEATURE_UNAVAILABLE + ERROR_HV_FEATURE_UNAVAILABLE + + + + No documentation. + + + ERROR_HV_NOT_PRESENT + ERROR_HV_NOT_PRESENT + + + + No documentation. + + + ERROR_VID_DUPLICATE_HANDLER + ERROR_VID_DUPLICATE_HANDLER + + + + No documentation. + + + ERROR_VID_TOO_MANY_HANDLERS + ERROR_VID_TOO_MANY_HANDLERS + + + + No documentation. + + + ERROR_VID_QUEUE_FULL + ERROR_VID_QUEUE_FULL + + + + No documentation. + + + ERROR_VID_HANDLER_NOT_PRESENT + ERROR_VID_HANDLER_NOT_PRESENT + + + + No documentation. + + + ERROR_VID_INVALID_OBJECT_NAME + ERROR_VID_INVALID_OBJECT_NAME + + + + No documentation. + + + ERROR_VID_PARTITION_NAME_TOO_LONG + ERROR_VID_PARTITION_NAME_TOO_LONG + + + + No documentation. + + + ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG + ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG + + + + No documentation. + + + ERROR_VID_PARTITION_ALREADY_EXISTS + ERROR_VID_PARTITION_ALREADY_EXISTS + + + + No documentation. + + + ERROR_VID_PARTITION_DOES_NOT_EXIST + ERROR_VID_PARTITION_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_VID_PARTITION_NAME_NOT_FOUND + ERROR_VID_PARTITION_NAME_NOT_FOUND + + + + No documentation. + + + ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS + ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS + + + + No documentation. + + + ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT + ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT + + + + No documentation. + + + ERROR_VID_MB_STILL_REFERENCED + ERROR_VID_MB_STILL_REFERENCED + + + + No documentation. + + + ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED + ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED + + + + No documentation. + + + ERROR_VID_INVALID_NUMA_SETTINGS + ERROR_VID_INVALID_NUMA_SETTINGS + + + + No documentation. + + + ERROR_VID_INVALID_NUMA_NODE_INDEX + ERROR_VID_INVALID_NUMA_NODE_INDEX + + + + No documentation. + + + ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED + ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED + + + + No documentation. + + + ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE + ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE + + + + No documentation. + + + ERROR_VID_PAGE_RANGE_OVERFLOW + ERROR_VID_PAGE_RANGE_OVERFLOW + + + + No documentation. + + + ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE + ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE + + + + No documentation. + + + ERROR_VID_INVALID_GPA_RANGE_HANDLE + ERROR_VID_INVALID_GPA_RANGE_HANDLE + + + + No documentation. + + + ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE + ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE + + + + No documentation. + + + ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED + ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED + + + + No documentation. + + + ERROR_VID_INVALID_PPM_HANDLE + ERROR_VID_INVALID_PPM_HANDLE + + + + No documentation. + + + ERROR_VID_MBPS_ARE_LOCKED + ERROR_VID_MBPS_ARE_LOCKED + + + + No documentation. + + + ERROR_VID_MESSAGE_QUEUE_CLOSED + ERROR_VID_MESSAGE_QUEUE_CLOSED + + + + No documentation. + + + ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED + ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_VID_STOP_PENDING + ERROR_VID_STOP_PENDING + + + + No documentation. + + + ERROR_VID_INVALID_PROCESSOR_STATE + ERROR_VID_INVALID_PROCESSOR_STATE + + + + No documentation. + + + ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT + ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT + + + + No documentation. + + + ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED + ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED + + + + No documentation. + + + ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET + ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET + + + + No documentation. + + + ERROR_VID_MMIO_RANGE_DESTROYED + ERROR_VID_MMIO_RANGE_DESTROYED + + + + No documentation. + + + ERROR_VID_INVALID_CHILD_GPA_PAGE_SET + ERROR_VID_INVALID_CHILD_GPA_PAGE_SET + + + + No documentation. + + + ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED + ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED + + + + No documentation. + + + ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL + ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL + + + + No documentation. + + + ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE + ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE + + + + No documentation. + + + ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT + ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT + + + + No documentation. + + + ERROR_VID_SAVED_STATE_CORRUPT + ERROR_VID_SAVED_STATE_CORRUPT + + + + No documentation. + + + ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM + ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM + + + + No documentation. + + + ERROR_VID_SAVED_STATE_INCOMPATIBLE + ERROR_VID_SAVED_STATE_INCOMPATIBLE + + + + No documentation. + + + ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED + ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED + + + + No documentation. + + + ERROR_VOLMGR_INCOMPLETE_REGENERATION + ERROR_VOLMGR_INCOMPLETE_REGENERATION + + + + No documentation. + + + ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION + ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION + + + + No documentation. + + + ERROR_VOLMGR_DATABASE_FULL + ERROR_VOLMGR_DATABASE_FULL + + + + No documentation. + + + ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED + ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED + + + + No documentation. + + + ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC + ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC + + + + No documentation. + + + ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED + ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED + + + + No documentation. + + + ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME + ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME + + + + No documentation. + + + ERROR_VOLMGR_DISK_DUPLICATE + ERROR_VOLMGR_DISK_DUPLICATE + + + + No documentation. + + + ERROR_VOLMGR_DISK_DYNAMIC + ERROR_VOLMGR_DISK_DYNAMIC + + + + No documentation. + + + ERROR_VOLMGR_DISK_ID_INVALID + ERROR_VOLMGR_DISK_ID_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DISK_INVALID + ERROR_VOLMGR_DISK_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAST_VOTER + ERROR_VOLMGR_DISK_LAST_VOTER + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_INVALID + ERROR_VOLMGR_DISK_LAYOUT_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS + ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED + ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL + ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS + ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS + ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS + + + + No documentation. + + + ERROR_VOLMGR_DISK_MISSING + ERROR_VOLMGR_DISK_MISSING + + + + No documentation. + + + ERROR_VOLMGR_DISK_NOT_EMPTY + ERROR_VOLMGR_DISK_NOT_EMPTY + + + + No documentation. + + + ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE + ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE + + + + No documentation. + + + ERROR_VOLMGR_DISK_REVECTORING_FAILED + ERROR_VOLMGR_DISK_REVECTORING_FAILED + + + + No documentation. + + + ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID + ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DISK_SET_NOT_CONTAINED + ERROR_VOLMGR_DISK_SET_NOT_CONTAINED + + + + No documentation. + + + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS + + + + No documentation. + + + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES + + + + No documentation. + + + ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED + ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_ALREADY_USED + ERROR_VOLMGR_EXTENT_ALREADY_USED + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS + ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION + ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED + ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION + ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH + ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH + + + + No documentation. + + + ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED + ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED + + + + No documentation. + + + ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID + ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID + + + + No documentation. + + + ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS + ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_IN_SYNC + ERROR_VOLMGR_MEMBER_IN_SYNC + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE + ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_INDEX_INVALID + ERROR_VOLMGR_MEMBER_INDEX_INVALID + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_MISSING + ERROR_VOLMGR_MEMBER_MISSING + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_NOT_DETACHED + ERROR_VOLMGR_MEMBER_NOT_DETACHED + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_REGENERATING + ERROR_VOLMGR_MEMBER_REGENERATING + + + + No documentation. + + + ERROR_VOLMGR_ALL_DISKS_FAILED + ERROR_VOLMGR_ALL_DISKS_FAILED + + + + No documentation. + + + ERROR_VOLMGR_NO_REGISTERED_USERS + ERROR_VOLMGR_NO_REGISTERED_USERS + + + + No documentation. + + + ERROR_VOLMGR_NO_SUCH_USER + ERROR_VOLMGR_NO_SUCH_USER + + + + No documentation. + + + ERROR_VOLMGR_NOTIFICATION_RESET + ERROR_VOLMGR_NOTIFICATION_RESET + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID + ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID + ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PACK_DUPLICATE + ERROR_VOLMGR_PACK_DUPLICATE + + + + No documentation. + + + ERROR_VOLMGR_PACK_ID_INVALID + ERROR_VOLMGR_PACK_ID_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PACK_INVALID + ERROR_VOLMGR_PACK_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PACK_NAME_INVALID + ERROR_VOLMGR_PACK_NAME_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PACK_OFFLINE + ERROR_VOLMGR_PACK_OFFLINE + + + + No documentation. + + + ERROR_VOLMGR_PACK_HAS_QUORUM + ERROR_VOLMGR_PACK_HAS_QUORUM + + + + No documentation. + + + ERROR_VOLMGR_PACK_WITHOUT_QUORUM + ERROR_VOLMGR_PACK_WITHOUT_QUORUM + + + + No documentation. + + + ERROR_VOLMGR_PARTITION_STYLE_INVALID + ERROR_VOLMGR_PARTITION_STYLE_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PARTITION_UPDATE_FAILED + ERROR_VOLMGR_PARTITION_UPDATE_FAILED + + + + No documentation. + + + ERROR_VOLMGR_PLEX_IN_SYNC + ERROR_VOLMGR_PLEX_IN_SYNC + + + + No documentation. + + + ERROR_VOLMGR_PLEX_INDEX_DUPLICATE + ERROR_VOLMGR_PLEX_INDEX_DUPLICATE + + + + No documentation. + + + ERROR_VOLMGR_PLEX_INDEX_INVALID + ERROR_VOLMGR_PLEX_INDEX_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PLEX_LAST_ACTIVE + ERROR_VOLMGR_PLEX_LAST_ACTIVE + + + + No documentation. + + + ERROR_VOLMGR_PLEX_MISSING + ERROR_VOLMGR_PLEX_MISSING + + + + No documentation. + + + ERROR_VOLMGR_PLEX_REGENERATING + ERROR_VOLMGR_PLEX_REGENERATING + + + + No documentation. + + + ERROR_VOLMGR_PLEX_TYPE_INVALID + ERROR_VOLMGR_PLEX_TYPE_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PLEX_NOT_RAID5 + ERROR_VOLMGR_PLEX_NOT_RAID5 + + + + No documentation. + + + ERROR_VOLMGR_PLEX_NOT_SIMPLE + ERROR_VOLMGR_PLEX_NOT_SIMPLE + + + + No documentation. + + + ERROR_VOLMGR_STRUCTURE_SIZE_INVALID + ERROR_VOLMGR_STRUCTURE_SIZE_INVALID + + + + No documentation. + + + ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS + ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS + + + + No documentation. + + + ERROR_VOLMGR_TRANSACTION_IN_PROGRESS + ERROR_VOLMGR_TRANSACTION_IN_PROGRESS + + + + No documentation. + + + ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE + ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK + ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_ID_INVALID + ERROR_VOLMGR_VOLUME_ID_INVALID + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_LENGTH_INVALID + ERROR_VOLMGR_VOLUME_LENGTH_INVALID + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE + ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_NOT_MIRRORED + ERROR_VOLMGR_VOLUME_NOT_MIRRORED + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_NOT_RETAINED + ERROR_VOLMGR_VOLUME_NOT_RETAINED + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_OFFLINE + ERROR_VOLMGR_VOLUME_OFFLINE + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_RETAINED + ERROR_VOLMGR_VOLUME_RETAINED + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID + ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE + ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE + + + + No documentation. + + + ERROR_VOLMGR_BAD_BOOT_DISK + ERROR_VOLMGR_BAD_BOOT_DISK + + + + No documentation. + + + ERROR_VOLMGR_PACK_CONFIG_OFFLINE + ERROR_VOLMGR_PACK_CONFIG_OFFLINE + + + + No documentation. + + + ERROR_VOLMGR_PACK_CONFIG_ONLINE + ERROR_VOLMGR_PACK_CONFIG_ONLINE + + + + No documentation. + + + ERROR_VOLMGR_NOT_PRIMARY_PACK + ERROR_VOLMGR_NOT_PRIMARY_PACK + + + + No documentation. + + + ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED + ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_MIRRORED + ERROR_VOLMGR_VOLUME_MIRRORED + + + + No documentation. + + + ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED + ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED + + + + No documentation. + + + ERROR_VOLMGR_NO_VALID_LOG_COPIES + ERROR_VOLMGR_NO_VALID_LOG_COPIES + + + + No documentation. + + + ERROR_VOLMGR_PRIMARY_PACK_PRESENT + ERROR_VOLMGR_PRIMARY_PACK_PRESENT + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID + ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID + + + + No documentation. + + + ERROR_VOLMGR_MIRROR_NOT_SUPPORTED + ERROR_VOLMGR_MIRROR_NOT_SUPPORTED + + + + No documentation. + + + ERROR_VOLMGR_RAID5_NOT_SUPPORTED + ERROR_VOLMGR_RAID5_NOT_SUPPORTED + + + + No documentation. + + + ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED + ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED + + + + No documentation. + + + ERROR_BCD_TOO_MANY_ELEMENTS + ERROR_BCD_TOO_MANY_ELEMENTS + + + + No documentation. + + + ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED + ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED + + + + No documentation. + + + ERROR_VHD_DRIVE_FOOTER_MISSING + ERROR_VHD_DRIVE_FOOTER_MISSING + + + + No documentation. + + + ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH + ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH + + + + No documentation. + + + ERROR_VHD_DRIVE_FOOTER_CORRUPT + ERROR_VHD_DRIVE_FOOTER_CORRUPT + + + + No documentation. + + + ERROR_VHD_FORMAT_UNKNOWN + ERROR_VHD_FORMAT_UNKNOWN + + + + No documentation. + + + ERROR_VHD_FORMAT_UNSUPPORTED_VERSION + ERROR_VHD_FORMAT_UNSUPPORTED_VERSION + + + + No documentation. + + + ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH + ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH + + + + No documentation. + + + ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION + ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION + + + + No documentation. + + + ERROR_VHD_SPARSE_HEADER_CORRUPT + ERROR_VHD_SPARSE_HEADER_CORRUPT + + + + No documentation. + + + ERROR_VHD_BLOCK_ALLOCATION_FAILURE + ERROR_VHD_BLOCK_ALLOCATION_FAILURE + + + + No documentation. + + + ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT + ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT + + + + No documentation. + + + ERROR_VHD_INVALID_BLOCK_SIZE + ERROR_VHD_INVALID_BLOCK_SIZE + + + + No documentation. + + + ERROR_VHD_BITMAP_MISMATCH + ERROR_VHD_BITMAP_MISMATCH + + + + No documentation. + + + ERROR_VHD_PARENT_VHD_NOT_FOUND + ERROR_VHD_PARENT_VHD_NOT_FOUND + + + + No documentation. + + + ERROR_VHD_CHILD_PARENT_ID_MISMATCH + ERROR_VHD_CHILD_PARENT_ID_MISMATCH + + + + No documentation. + + + ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH + ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH + + + + No documentation. + + + ERROR_VHD_METADATA_READ_FAILURE + ERROR_VHD_METADATA_READ_FAILURE + + + + No documentation. + + + ERROR_VHD_METADATA_WRITE_FAILURE + ERROR_VHD_METADATA_WRITE_FAILURE + + + + No documentation. + + + ERROR_VHD_INVALID_SIZE + ERROR_VHD_INVALID_SIZE + + + + No documentation. + + + ERROR_VHD_INVALID_FILE_SIZE + ERROR_VHD_INVALID_FILE_SIZE + + + + No documentation. + + + ERROR_VIRTDISK_PROVIDER_NOT_FOUND + ERROR_VIRTDISK_PROVIDER_NOT_FOUND + + + + No documentation. + + + ERROR_VIRTDISK_NOT_VIRTUAL_DISK + ERROR_VIRTDISK_NOT_VIRTUAL_DISK + + + + No documentation. + + + ERROR_VHD_PARENT_VHD_ACCESS_DENIED + ERROR_VHD_PARENT_VHD_ACCESS_DENIED + + + + No documentation. + + + ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH + ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH + + + + No documentation. + + + ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED + ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED + + + + No documentation. + + + ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT + ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT + + + + No documentation. + + + ERROR_VIRTUAL_DISK_LIMITATION + ERROR_VIRTUAL_DISK_LIMITATION + + + + No documentation. + + + ERROR_VHD_INVALID_TYPE + ERROR_VHD_INVALID_TYPE + + + + No documentation. + + + ERROR_VHD_INVALID_STATE + ERROR_VHD_INVALID_STATE + + + + No documentation. + + + ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE + ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE + + + + No documentation. + + + ERROR_QUERY_STORAGE_ERROR + ERROR_QUERY_STORAGE_ERROR + + + +

The + enumeration values indicate the type of locking requested for the specified range of bytes. The values are used in the + ILockBytes::LockRegion and + methods.

+
+ + aa380048 + LOCKTYPE + LOCKTYPE +
+ + + No documentation. + + + LOCK_WRITE + LOCK_WRITE + + + + No documentation. + + + LOCK_EXCLUSIVE + LOCK_EXCLUSIVE + + + + No documentation. + + + LOCK_ONLYONCE + LOCK_ONLYONCE + + + +

The + enumeration values indicate whether the method should try to return a name in the pwcsName member of the + structure. The values are used in the + ILockBytes::Stat, + IStorage::Stat, and + methods to save memory when the pwcsName member is not required.

+
+ + aa380316 + STATFLAG + STATFLAG +
+ + + No documentation. + + + STATFLAG_DEFAULT + STATFLAG_DEFAULT + + + + No documentation. + + + STATFLAG_NONAME + STATFLAG_NONAME + + + + None. + + + None + None + + + +

The + interface lets you read and write data to stream objects. Stream objects contain the data in a structured storage object, where storages provide the structure. Simple data can be written directly to a stream but, most frequently, streams are elements nested within a storage object. They are similar to standard files.

The + interface defines methods similar to the MS-DOS FAT file functions. For example, each stream object has its own access rights and a seek reference. The main difference between a DOS file and a stream object is that in the latter case, streams are opened using an + interface reference rather than a file handle.

The methods in this interface present your object's data as a contiguous sequence of bytes that you can read or write. There are also methods for committing and reverting changes on streams that are open in transacted mode and methods for restricting access to a range of bytes in the stream.

Streams can remain open for long periods of time without consuming file-system resources. The IUnknown::Release method is similar to a close function on a file. Once released, the stream object is no longer valid and cannot be used.

Clients of asynchronous monikers can choose between a data-pull or data-push model for driving an asynchronous + IMoniker::BindToStorage operation and for receiving asynchronous notifications. See + URL Monikers for more information. The following table compares the behavior of asynchronous + and + calls returned in IBindStatusCallback::OnDataAvailable in these two download models:

+
+ + aa380034 + IStream + IStream +
+ + +

The + interface supports simplified sequential access to stream objects. The + interface inherits its + Read and + Write methods from + .

+
+ + aa380010 + ISequentialStream + ISequentialStream +
+ + +

The + interface supports simplified sequential access to stream objects. The + interface inherits its + Read and + Write methods from + .

+
+ + aa380010 + ISequentialStream + ISequentialStream +
+ + + Reads a specified number of bytes from the stream object into memory starting at the current seek pointer. + + The read buffer. + The number of bytes to read. + The actual number of bytes read from the stream object. + + + + Writes a specified number of bytes into the stream object starting at the current seek pointer. + + The buffer. + The number of bytes to read. + The actual number of bytes written to the stream object + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

The Read method reads a specified number of bytes from the stream object into memory, starting at the current seek reference.

+
+

A reference to the buffer which the stream data is read into.

+

The number of bytes of data to read from the stream object.

+

A reference to a ULONG variable that receives the actual number of bytes read from the stream object.

Note??The number of bytes read may be zero.

+ +

This method reads bytes from this stream object into memory. The stream object must be opened in STGM_READ mode. This method adjusts the seek reference by the actual number of bytes read.

The number of bytes actually read is also returned in the pcbRead parameter.

Notes to Callers

The actual number of bytes read can be less than the number of bytes requested if an error occurs or if the end of the stream is reached during the read operation. The number of bytes returned should always be compared to the number of bytes requested. If the number of bytes returned is less than the number of bytes requested, it usually means the Read method attempted to read past the end of the stream.

The application should handle both a returned error and return values on end-of-stream read operations.

+
+ + aa380011 + HRESULT ISequentialStream::Read([Out, Buffer] void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbRead) + ISequentialStream::Read +
+ + +

The Write method writes a specified number of bytes into the stream object starting at the current seek reference.

+
+

A reference to the buffer that contains the data that is to be written to the stream. A valid reference must be provided for this parameter even when cb is zero.

+

The number of bytes of data to attempt to write into the stream. This value can be zero.

+

A reference to a ULONG variable where this method writes the actual number of bytes written to the stream object. The caller can set this reference to null, in which case this method does not provide the actual number of bytes written.

+ +

writes the specified data to a stream object. The seek reference is adjusted for the number of bytes actually written. The number of bytes actually written is returned in the pcbWritten parameter. If the byte count is zero bytes, the write operation has no effect.

If the seek reference is currently past the end of the stream and the byte count is nonzero, this method increases the size of the stream to the seek reference and writes the specified bytes starting at the seek reference. The fill bytes written to the stream are not initialized to any particular value. This is the same as the end-of-file behavior in the MS-DOS FAT file system.

With a zero byte count and a seek reference past the end of the stream, this method does not create the fill bytes to increase the stream to the seek reference. In this case, you must call the + method to increase the size of the stream and write the fill bytes.

The pcbWritten parameter can have a value even if an error occurs.

In the COM-provided implementation, stream objects are not sparse. Any fill bytes are eventually allocated on the disk and assigned to the stream.

+
+ + aa380014 + HRESULT ISequentialStream::Write([In, Buffer] const void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbWritten) + ISequentialStream::Write +
+ + +

The + interface lets you read and write data to stream objects. Stream objects contain the data in a structured storage object, where storages provide the structure. Simple data can be written directly to a stream but, most frequently, streams are elements nested within a storage object. They are similar to standard files.

The + interface defines methods similar to the MS-DOS FAT file functions. For example, each stream object has its own access rights and a seek reference. The main difference between a DOS file and a stream object is that in the latter case, streams are opened using an + interface reference rather than a file handle.

The methods in this interface present your object's data as a contiguous sequence of bytes that you can read or write. There are also methods for committing and reverting changes on streams that are open in transacted mode and methods for restricting access to a range of bytes in the stream.

Streams can remain open for long periods of time without consuming file-system resources. The IUnknown::Release method is similar to a close function on a file. Once released, the stream object is no longer valid and cannot be used.

Clients of asynchronous monikers can choose between a data-pull or data-push model for driving an asynchronous + IMoniker::BindToStorage operation and for receiving asynchronous notifications. See + URL Monikers for more information. The following table compares the behavior of asynchronous + and + calls returned in IBindStatusCallback::OnDataAvailable in these two download models:

+
+ + aa380034 + IStream + IStream +
+ + + Changes the seek pointer to a new location relative to the beginning of the stream, to the end of the stream, or to the current seek pointer. + + The offset. + The origin. + The offset of the seek pointer from the beginning of the stream. + + + + Changes the size of the stream object. + + The new size. + + + + Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream. + + The stream destination. + The number of bytes to copy. + The number of bytes written. + The number of bytes read + + + + Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, Commit has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode. + + The GRF commit flags. + + + + Discards all changes that have been made to a transacted stream since the last call. + + + + + Restricts access to a specified range of bytes in the stream. + + The offset. + The number of bytes to lock. + Type of the dw lock. + + + + Unlocks access to a specified range of bytes in the stream. + + The offset. + The number of bytes to lock. + Type of the dw lock. + + + + Gets the statistics. + + The storage statistics flags. + + + + + Clones this instance. + + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

The Seek method changes the seek reference 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 reference.

+
+

The displacement to be added to the location indicated by the dwOrigin parameter. If dwOrigin is STREAM_SEEK_SET, this is interpreted as an unsigned value rather than a signed value.

+

The origin for the displacement specified in dlibMove. The origin can be the beginning of the file (STREAM_SEEK_SET), the current seek reference (STREAM_SEEK_CUR), or the end of the file (STREAM_SEEK_END). For more information about values, see the STREAM_SEEK enumeration.

+

A reference to the location where this method writes the value of the new seek reference from the beginning of the stream.

You can set this reference to null. In this case, this method does not provide the new seek reference.

+ +

changes the seek reference so that subsequent read and write operations can be performed at a different location in the stream object. It is an error to seek before the beginning of the stream. It is not, however, an error to seek past the end of the stream. Seeking past the end of the stream is useful for subsequent write operations, as the stream byte range will be extended to the new seek position immediately before the write is complete.

You can also use this method to obtain the current value of the seek reference by calling this method with the dwOrigin parameter set to STREAM_SEEK_CUR and the dlibMove parameter set to 0 so that the seek reference is not changed. The current seek reference is returned in the plibNewPosition parameter.

+
+ + aa380043 + HRESULT IStream::Seek([In] LARGE_INTEGER dlibMove,[In] SHARPDX_SEEKORIGIN dwOrigin,[Out, Optional] ULARGE_INTEGER* plibNewPosition) + IStream::Seek +
+ + +

The SetSize method changes the size of the stream object.

+
+

Specifies the new size of the stream as a number of bytes.

+

This method can return one of the following values.

The size of the stream object was successfully changed.

E_PENDING

Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.

STG_E_MEDIUMFULL

The stream size is not changed because there is no space left on the storage device.

STG_E_INVALIDFUNCTION

The value of the libNewSize parameter is not valid. Since streams cannot be greater than 232 bytes in the COM-provided implementation, the high DWORD data type of libNewSize must be 0. If it is nonzero, this parameter is not valid.

STG_E_REVERTED

The object has been invalidated by a revert operation above it in the transaction tree.

+ +

changes the size of the stream object. Call this method to preallocate space for the stream. If the libNewSize parameter is larger than the current stream size, the stream is extended to the indicated size by filling the intervening space with bytes of undefined value. This operation is similar to the + method if the seek reference is past the current end of stream.

If the libNewSize parameter is smaller than the current stream, the stream is truncated to the indicated size.

The seek reference is not affected by the change in stream size.

Calling can be an effective way to obtain a large chunk of contiguous space.

+
+ + aa380044 + HRESULT IStream::SetSize([In] ULARGE_INTEGER libNewSize) + IStream::SetSize +
+ + +

The CopyTo method copies a specified number of bytes from the current seek reference in the stream to the current seek reference in another stream.

+
+

A reference to the destination stream. The stream pointed to by pstm can be a new stream or a clone of the source stream.

+

The number of bytes to copy from the source stream.

+

A reference to the location where this method writes the actual number of bytes written to the destination. You can set this reference to null. In this case, this method does not provide the actual number of bytes written.

+

A reference to the location where this method writes the actual number of bytes read from the source. You can set this reference to null. In this case, this method does not provide the actual number of bytes read.

+ +

The CopyTo method copies the specified bytes from one stream to another. It can also be used to copy a stream to itself. The seek reference in each stream instance is adjusted for the number of bytes read or written. This method is equivalent to reading cb bytes into memory using + and then immediately writing them to the destination stream using + , although will be more efficient.

The destination stream can be a clone of the source stream created by calling the + method.

If returns an error, you cannot assume that the seek references are valid for either the source or destination. Additionally, the values of pcbRead and pcbWritten are not meaningful even though they are returned.

If returns successfully, the actual number of bytes read and written are the same.

To copy the remainder of the source from the current seek reference, specify the maximum large integer value for the cb parameter. If the seek reference is the beginning of the stream, this operation copies the entire stream.

+
+ + aa380038 + HRESULT IStream::CopyTo([In] IStream* pstm,[In] ULARGE_INTEGER cb,[Out] ULARGE_INTEGER* pcbRead,[Out] ULARGE_INTEGER* pcbWritten) + IStream::CopyTo +
+ + +

The Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.

+
+

Controls how the changes for the stream object are committed. See the enumeration for a definition of these values.

+

This method can return one of the following values.

Changes to the stream object were successfully committed to the parent level.

E_PENDING

Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.

STG_E_MEDIUMFULL

The commit operation failed due to lack of space on the storage device.

STG_E_REVERTED

The object has been invalidated by a revert operation above it in the transaction tree.

+ +

The Commit method ensures that changes to a stream object opened in transacted mode are reflected in the parent storage. Changes that have been made to the stream since it was opened or last committed are reflected to the parent storage object. If the parent is opened in transacted mode, the parent may revert at a later time, rolling back the changes to this stream object. The compound file implementation does not support the opening of streams in transacted mode, so this method has very little effect other than to flush memory buffers. For more information, see + - Compound File Implementation.

If the stream is open in direct mode, this method ensures that any memory buffers have been flushed out to the underlying storage object. This is much like a flush in traditional file systems.

The method is useful on a direct mode stream when the implementation of the + interface is a wrapper for underlying file system APIs. In this case, would be connected to the file system's flush call.

+
+ + aa380036 + HRESULT IStream::Commit([In] STGC grfCommitFlags) + IStream::Commit +
+ + +

The Revert method discards all changes that have been made to a transacted stream since the last + call. On streams open in direct mode and streams using the COM compound file implementation of , this method has no effect.

+
+

This method can return one of the following values.

The stream was successfully reverted to its previous version.

E_PENDING

Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.

+ +

The Revert method discards changes made to a transacted stream since the last commit operation.

+
+ + aa380042 + HRESULT IStream::Revert() + IStream::Revert +
+ + +

The LockRegion method restricts access to a specified range of bytes in the stream. Supporting this functionality is optional since some file systems do not provide it.

+
+

Integer that specifies the byte offset for the beginning of the range.

+

Integer that specifies the length of the range, in bytes, to be restricted.

+

Specifies the restrictions being requested on accessing the range.

+

This method can return one of the following values.

The specified range of bytes was locked.

E_PENDING

Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information, see IFillLockBytes and Asynchronous Storage.

STG_E_INVALIDFUNCTION

Locking is not supported at all or the specific type of lock requested is not supported.

STG_E_LOCKVIOLATION

Requested lock is supported, but cannot be granted because of an existing lock.

STG_E_REVERTED

The object has been invalidated by a revert operation above it in the transaction tree.

+ +

The byte range of the stream can be extended. Locking an extended range for the stream is useful as a method of communication between different instances of the stream without changing data that is actually part of the stream.

Three types of locking can be supported: locking to exclude other writers, locking to exclude other readers or writers, and locking that allows only one requester to obtain a lock on the given range, which is usually an alias for one of the other two lock types. A given stream instance might support either of the first two types, or both. The lock type is specified by dwLockType, using a value from the + enumeration.

Any region locked with must later be explicitly unlocked by calling + with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.

Notes to Callers

Since the type of locking supported is optional and can vary in different implementations of + , you must provide code to deal with the STG_E_INVALIDFUNCTION error.

The LockRegion method has no effect in the compound file implementation, because the implementation does not support range locking.

Notes to Implementers

Support for this method is optional for implementations of stream objects since it may not be supported by the underlying file system. The type of locking supported is also optional. The STG_E_INVALIDFUNCTION error is returned if the requested type of locking is not supported.

+
+ + aa380039 + HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType) + IStream::LockRegion +
+ + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + + HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType) + IStream::UnlockRegion + + + +

The Stat method retrieves the + structure for this stream.

+
+ No documentation. + No documentation. + +

retrieves a reference to the + structure that contains information about this open stream. When this stream is within a structured storage and + IStorage::EnumElements is called, it creates an enumerator object with the + IEnumSTATSTG interface on it, which can be called to enumerate the storages and streams through the + structures associated with each of them.

+
+ + aa380045 + HRESULT IStream::Stat([Out] STATSTG* pstatstg,[In] STATFLAG grfStatFlag) + IStream::Stat +
+ + +

The Clone method creates a new stream object with its own seek reference that references the same bytes as the original stream.

+
+

When successful, reference to the location of an reference to the new stream object. If an error occurs, this parameter is null.

+ +

The Clone method creates a new stream object for accessing the same bytes but using a separate seek reference. The new stream object sees the same data as the source-stream object. Changes written to one object are immediately visible in the other. Range locking is shared between the stream objects.

The initial setting of the seek reference in the cloned stream instance is the same as the current setting of the seek reference in the original stream at the time of the clone operation.

+
+ + aa380035 + HRESULT IStream::Clone([Out] IStream** ppstm) + IStream::Clone +
+ + + Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream. + + The stream destination. + The number of bytes to copy. + The bytes written. + The number of bytes read from this instance + + + + Gets a com pointer to the underlying object. + + The stream. + A Com pointer + + + +

The + structure contains statistical data about an open storage, stream, or byte-array object. This structure is used in the + IEnumSTATSTG, + ILockBytes, + IStorage, and + interfaces.

+
+ + aa380319 + STATSTG + STATSTG +
+ + + No documentation. + + + wchar_t* pwcsName + wchar_t pwcsName + + + + No documentation. + + + unsigned int type + unsigned int type + + + + No documentation. + + + ULARGE_INTEGER cbSize + ULARGE_INTEGER cbSize + + + + No documentation. + + + FILETIME mtime + FILETIME mtime + + + + No documentation. + + + FILETIME ctime + FILETIME ctime + + + + No documentation. + + + FILETIME atime + FILETIME atime + + + + No documentation. + + + unsigned int grfMode + unsigned int grfMode + + + + No documentation. + + + unsigned int grfLocksSupported + unsigned int grfLocksSupported + + + + No documentation. + + + GUID clsid + GUID clsid + + + + No documentation. + + + unsigned int grfStateBits + unsigned int grfStateBits + + + + No documentation. + + + unsigned int reserved + unsigned int reserved + + + + A half precision (16 bit) floating point value. + + + + + Number of decimal digits of precision. + + + + + Number of bits in the mantissa. + + + + + Maximum decimal exponent. + + + + + Maximum binary exponent. + + + + + Minimum decimal exponent. + + + + + Minimum binary exponent. + + + + + Exponent radix. + + + + + Additional rounding. + + + + + Smallest such that 1.0 + epsilon != 1.0 + + + + + Maximum value of the number. + + + + + Minimum value of the number. + + + + + Initializes a new instance of the structure. + + The floating point value that should be stored in 16 bit format. + + + + Converts an array of half precision values into full precision values. + + The values to be converted. + An array of converted values. + + + + Converts an array of full precision values into half precision values. + + The values to be converted. + An array of converted values. + + + + Performs an explicit conversion from to . + + The value to be converted. + The converted value. + + + + Performs an implicit conversion from to . + + The value to be converted. + The converted value. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + + Converts the value of the object to its equivalent string representation. + + The string representation of the value of this instance. + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + + + + Determines whether the specified object instances are considered equal. + + + + + true if is the same instance as or + if both are null references or if value1.Equals(value2) returns true; otherwise, false. + + + + Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Gets or sets the raw 16 bit value used to back this half-float. + + + + + Defines a two component vector, using half precision floating point coordinates. + + + + + Gets or sets the X component of the vector. + + The X component of the vector. + + + + Gets or sets the Y component of the vector. + + The Y component of the vector. + + + + Initializes a new instance of the structure. + + The X component. + The Y component. + + + + Initializes a new instance of the structure. + + The value to set for both the X and Y components. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + + + + Determines whether the specified object instances are considered equal. + + + + + true if is the same instance as or + if both are null references or if value1.Equals(value2) returns true; otherwise, false. + + + + Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Defines a three component vector, using half precision floating point coordinates. + + + + + Gets or sets the X component of the vector. + + The X component of the vector. + + + + Gets or sets the Y component of the vector. + + The Y component of the vector. + + + + Gets or sets the Z component of the vector. + + The Z component of the vector. + + + + Initializes a new instance of the structure. + + The X component. + The Y component. + The Z component. + + + + Initializes a new instance of the structure. + + The value to set for the X, Y, and Z components. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + + + + Determines whether the specified object instances are considered equal. + + + + + true if is the same instance as or + if both are null references or if value1.Equals(value2) returns true; otherwise, false. + + + + Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Defines a four component vector, using half precision floating point coordinates. + + + + + Gets or sets the X component of the vector. + + The X component of the vector. + + + + Gets or sets the Y component of the vector. + + The Y component of the vector. + + + + Gets or sets the Z component of the vector. + + The Z component of the vector. + + + + Gets or sets the W component of the vector. + + The W component of the vector. + + + + Initializes a new instance of the structure. + + The X component. + The Y component. + The Z component. + The W component. + + + + Initializes a new instance of the structure. + + The value to set for the X, Y, Z, and W components. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + + + + Determines whether the specified object instances are considered equal. + + + + + true if is the same instance as or + if both are null references or if value1.Equals(value2) returns true; otherwise, false. + + + + Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Helper class to perform Half/Float conversion. + Code extract from paper : www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf by Jeroen van der Zijp + + + + + Unpacks the specified h. + + The h. + + + + + Packs the specified f. + + The f. + + + + + Represents a four dimensional mathematical vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0, 0, 0). + + + + + The Y unit (0, 1, 0, 0). + + + + + The Z unit (0, 0, 1, 0). + + + + + The W unit (0, 0, 0, 1). + + + + + A with all of its components set to one. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Creates an array containing the elements of the vector. + + A four-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Performs an implicit conversion from array to . + + The input. + The result of the conversion. + + + + Performs an implicit conversion from to array. + + The input. + The result of the conversion. + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + The implementation of this class is filled by InteropBuilder post-building-event. + + + + + Provides a fixed statement working with generics. + + + The data. + A fixed pointer to the referenced structure + + This is the only function in this class that is inlined in order to inline the fixed statement correctly. + + + + + The value for which all absolute numbers smaller than are considered equal to zero. + + + + + A value specifying the approximation of π which is 180 degrees. + + + + + A value specifying the approximation of 2π which is 360 degrees. + + + + + A value specifying the approximation of π/2 which is 90 degrees. + + + + + A value specifying the approximation of π/4 which is 45 degrees. + + + + + Checks if a - b are almost equals within a float . + + The left value to compare. + The right value to compare. + true if a almost equal to b within a float epsilon, false otherwise + + + + Checks if a - b are almost equals within a float epsilon. + + The left value to compare. + The right value to compare. + Epsilon value + true if a almost equal to b within a float epsilon, false otherwise + + + + Does something with arrays. + + Most likely the type of elements in the array. + Who knows what this is for. + Probably the length of the array. + An array of who knows what. + + + + Converts revolutions to degrees. + + The value to convert. + The converted value. + + + + Converts revolutions to radians. + + The value to convert. + The converted value. + + + + Converts revolutions to gradians. + + The value to convert. + The converted value. + + + + Converts degrees to revolutions. + + The value to convert. + The converted value. + + + + Converts degrees to radians. + + The value to convert. + The converted value. + + + + Converts radians to revolutions. + + The value to convert. + The converted value. + + + + Converts radians to gradians. + + The value to convert. + The converted value. + + + + Converts gradians to revolutions. + + The value to convert. + The converted value. + + + + Converts gradians to degrees. + + The value to convert. + The converted value. + + + + Converts gradians to radians. + + The value to convert. + The converted value. + + + + Converts radians to degrees. + + The value to convert. + The converted value. + + + + Clamps the specified value. + + The value. + The min. + The max. + The result of clamping a value between min and max + + + + Clamps the specified value. + + The value. + The min. + The max. + The result of clamping a value between min and max + + + + Interpolates between two values using a linear function by a given amount. + + + See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and + http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/ + + Value to interpolate from. + Value to interpolate to. + Interpolation amount. + The result of linear interpolation of values based on the amount. + + + + Interpolates between two values using a linear function by a given amount. + + + See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and + http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/ + + Value to interpolate from. + Value to interpolate to. + Interpolation amount. + The result of linear interpolation of values based on the amount. + + + + Interpolates between two values using a linear function by a given amount. + + + See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and + http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/ + + Value to interpolate from. + Value to interpolate to. + Interpolation amount. + The result of linear interpolation of values based on the amount. + + + + Calculates the modulo of the specified value. + + The value. + The modulo. + The result of the modulo applied to value + + + + Calculates the modulo 2*PI of the specified value. + + The value. + The result of the modulo applied to value + + + + Wraps the specified value into a range [min, max] + + The value to wrap. + The min. + The max. + Result of the wrapping. + Is thrown when is greater than . + + + + Wraps the specified value into a range [min, max[ + + The value. + The min. + The max. + Result of the wrapping. + Is thrown when is greater than . + + + + Gauss function. + + Curve amplitude. + Position X. + Position Y + Radius X. + Radius Y. + Curve sigma X. + Curve sigma Y. + The result of Gaussian function. + + + + Gauss function. + + Curve amplitude. + Position X. + Position Y + Radius X. + Radius Y. + Curve sigma X. + Curve sigma Y. + The result of Gaussian function. + + + + Gets random float number within range. + + A instance. + Minimum. + Maximum. + Random float number. + + + + Gets random double number within range. + + A instance. + Minimum. + Maximum. + Random double number. + + + + Gets random long number. + + A instance. + Random long number. + + + + Gets random long number within range. + + A instance. + Minimum. + Maximum. + Random long number. + + + + Gets random within range. + + A instance. + Minimum. + Maximum. + Random . + + + + Gets random within range. + + A instance. + Minimum. + Maximum. + Random . + + + + Gets random within range. + + A instance. + Minimum. + Maximum. + Random . + + + + Gets random opaque . + + A instance. + Random . + + + + Gets random opaque . + + A instance. + Minimum brightness. + Maximum brightness + Random . + + + + Gets random . + + A instance. + Minimum brightness. + Maximum brightness + Alpha value. + Random . + + + + Gets random . + + A instance. + Minimum brightness. + Maximum brightness + Minimum alpha. + Maximum alpha. + Random . + + + + Gets random . + + A instance. + Minimum. + Maximum. + Random . + + + + Gets random . + + A instance. + Minimum. + Maximum. + Random . + + + + Gets random . + + A instance. + Minimum. + Maximum. + Random . + + + + Represents a 4x4 mathematical matrix. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The identity . + + + + + Value at row 1 column 1 of the matrix. + + + + + Value at row 1 column 2 of the matrix. + + + + + Value at row 1 column 3 of the matrix. + + + + + Value at row 1 column 4 of the matrix. + + + + + Value at row 2 column 1 of the matrix. + + + + + Value at row 2 column 2 of the matrix. + + + + + Value at row 2 column 3 of the matrix. + + + + + Value at row 2 column 4 of the matrix. + + + + + Value at row 3 column 1 of the matrix. + + + + + Value at row 3 column 2 of the matrix. + + + + + Value at row 3 column 3 of the matrix. + + + + + Value at row 3 column 4 of the matrix. + + + + + Value at row 4 column 1 of the matrix. + + + + + Value at row 4 column 2 of the matrix. + + + + + Value at row 4 column 3 of the matrix. + + + + + Value at row 4 column 4 of the matrix. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value to assign at row 1 column 1 of the matrix. + The value to assign at row 1 column 2 of the matrix. + The value to assign at row 1 column 3 of the matrix. + The value to assign at row 1 column 4 of the matrix. + The value to assign at row 2 column 1 of the matrix. + The value to assign at row 2 column 2 of the matrix. + The value to assign at row 2 column 3 of the matrix. + The value to assign at row 2 column 4 of the matrix. + The value to assign at row 3 column 1 of the matrix. + The value to assign at row 3 column 2 of the matrix. + The value to assign at row 3 column 3 of the matrix. + The value to assign at row 3 column 4 of the matrix. + The value to assign at row 4 column 1 of the matrix. + The value to assign at row 4 column 2 of the matrix. + The value to assign at row 4 column 3 of the matrix. + The value to assign at row 4 column 4 of the matrix. + + + + Initializes a new instance of the struct. + + The values to assign to the components of the matrix. This must be an array with sixteen elements. + Thrown when is null. + Thrown when contains more or less than sixteen elements. + + + + Calculates the determinant of the matrix. + + The determinant of the matrix. + + + + Inverts the matrix. + + + + + Transposes the matrix. + + + + + Orthogonalizes the specified matrix. + + + Orthogonalization is the process of making all rows orthogonal to each other. This + means that any given row in the matrix will be orthogonal to any other given row in the + matrix. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Orthonormalizes the specified matrix. + + + Orthonormalization is the process of making all rows and columns orthogonal to each + other and making all rows and columns of unit length. This means that any given row will + be orthogonal to any other given row and any given column will be orthogonal to any other + given column. Any given row will not be orthogonal to any given column. Every row and every + column will be of unit length. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Decomposes a matrix into an orthonormalized matrix Q and a right triangular matrix R. + + When the method completes, contains the orthonormalized matrix of the decomposition. + When the method completes, contains the right triangular matrix of the decomposition. + + + + Decomposes a matrix into a lower triangular matrix L and an orthonormalized matrix Q. + + When the method completes, contains the lower triangular matrix of the decomposition. + When the method completes, contains the orthonormalized matrix of the decomposition. + + + + Decomposes a matrix into a scale, rotation, and translation. + + When the method completes, contains the scaling component of the decomposed matrix. + When the method completes, contains the rotation component of the decomposed matrix. + When the method completes, contains the translation component of the decomposed matrix. + + This method is designed to decompose an SRT transformation matrix only. + + + + + Exchanges two rows in the matrix. + + The first row to exchange. This is an index of the row starting at zero. + The second row to exchange. This is an index of the row starting at zero. + + + + Exchanges two columns in the matrix. + + The first column to exchange. This is an index of the column starting at zero. + The second column to exchange. This is an index of the column starting at zero. + + + + Creates an array containing the elements of the matrix. + + A sixteen-element array containing the components of the matrix. + + + + Determines the sum of two matrices. + + The first matrix to add. + The second matrix to add. + When the method completes, contains the sum of the two matrices. + + + + Determines the sum of two matrices. + + The first matrix to add. + The second matrix to add. + The sum of the two matrices. + + + + Determines the difference between two matrices. + + The first matrix to subtract. + The second matrix to subtract. + When the method completes, contains the difference between the two matrices. + + + + Determines the difference between two matrices. + + The first matrix to subtract. + The second matrix to subtract. + The difference between the two matrices. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + When the method completes, contains the scaled matrix. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Determines the product of two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Determines the product of two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + When the method completes, contains the scaled matrix. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Determines the quotient of two matrices. + + The first matrix to divide. + The second matrix to divide. + When the method completes, contains the quotient of the two matrices. + + + + Determines the quotient of two matrices. + + The first matrix to divide. + The second matrix to divide. + The quotient of the two matrices. + + + + Performs the exponential operation on a matrix. + + The matrix to perform the operation on. + The exponent to raise the matrix to. + When the method completes, contains the exponential matrix. + Thrown when the is negative. + + + + Performs the exponential operation on a matrix. + + The matrix to perform the operation on. + The exponent to raise the matrix to. + The exponential matrix. + Thrown when the is negative. + + + + Negates a matrix. + + The matrix to be negated. + When the method completes, contains the negated matrix. + + + + Negates a matrix. + + The matrix to be negated. + The negated matrix. + + + + Performs a linear interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two matrices. + + + + Performs a cubic interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two matrices. + + + + Calculates the transpose of the specified matrix. + + The matrix whose transpose is to be calculated. + When the method completes, contains the transpose of the specified matrix. + + + + Calculates the transpose of the specified matrix. + + The matrix whose transpose is to be calculated. + When the method completes, contains the transpose of the specified matrix. + + + + Calculates the transpose of the specified matrix. + + The matrix whose transpose is to be calculated. + The transpose of the specified matrix. + + + + Calculates the inverse of the specified matrix. + + The matrix whose inverse is to be calculated. + When the method completes, contains the inverse of the specified matrix. + + + + Calculates the inverse of the specified matrix. + + The matrix whose inverse is to be calculated. + The inverse of the specified matrix. + + + + Orthogonalizes the specified matrix. + + The matrix to orthogonalize. + When the method completes, contains the orthogonalized matrix. + + Orthogonalization is the process of making all rows orthogonal to each other. This + means that any given row in the matrix will be orthogonal to any other given row in the + matrix. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Orthogonalizes the specified matrix. + + The matrix to orthogonalize. + The orthogonalized matrix. + + Orthogonalization is the process of making all rows orthogonal to each other. This + means that any given row in the matrix will be orthogonal to any other given row in the + matrix. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Orthonormalizes the specified matrix. + + The matrix to orthonormalize. + When the method completes, contains the orthonormalized matrix. + + Orthonormalization is the process of making all rows and columns orthogonal to each + other and making all rows and columns of unit length. This means that any given row will + be orthogonal to any other given row and any given column will be orthogonal to any other + given column. Any given row will not be orthogonal to any given column. Every row and every + column will be of unit length. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Orthonormalizes the specified matrix. + + The matrix to orthonormalize. + The orthonormalized matrix. + + Orthonormalization is the process of making all rows and columns orthogonal to each + other and making all rows and columns of unit length. This means that any given row will + be orthogonal to any other given row and any given column will be orthogonal to any other + given column. Any given row will not be orthogonal to any given column. Every row and every + column will be of unit length. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Brings the matrix into upper triangular form using elementary row operations. + + The matrix to put into upper triangular form. + When the method completes, contains the upper triangular matrix. + + If the matrix is not invertible (i.e. its determinant is zero) than the result of this + method may produce Single.Nan and Single.Inf values. When the matrix represents a system + of linear equations, than this often means that either no solution exists or an infinite + number of solutions exist. + + + + + Brings the matrix into upper triangular form using elementary row operations. + + The matrix to put into upper triangular form. + The upper triangular matrix. + + If the matrix is not invertible (i.e. its determinant is zero) than the result of this + method may produce Single.Nan and Single.Inf values. When the matrix represents a system + of linear equations, than this often means that either no solution exists or an infinite + number of solutions exist. + + + + + Brings the matrix into lower triangular form using elementary row operations. + + The matrix to put into lower triangular form. + When the method completes, contains the lower triangular matrix. + + If the matrix is not invertible (i.e. its determinant is zero) than the result of this + method may produce Single.Nan and Single.Inf values. When the matrix represents a system + of linear equations, than this often means that either no solution exists or an infinite + number of solutions exist. + + + + + Brings the matrix into lower triangular form using elementary row operations. + + The matrix to put into lower triangular form. + The lower triangular matrix. + + If the matrix is not invertible (i.e. its determinant is zero) than the result of this + method may produce Single.Nan and Single.Inf values. When the matrix represents a system + of linear equations, than this often means that either no solution exists or an infinite + number of solutions exist. + + + + + Brings the matrix into row echelon form using elementary row operations; + + The matrix to put into row echelon form. + When the method completes, contains the row echelon form of the matrix. + + + + Brings the matrix into row echelon form using elementary row operations; + + The matrix to put into row echelon form. + When the method completes, contains the row echelon form of the matrix. + + + + Brings the matrix into reduced row echelon form using elementary row operations. + + The matrix to put into reduced row echelon form. + The fifth column of the matrix. + When the method completes, contains the resultant matrix after the operation. + When the method completes, contains the resultant fifth column of the matrix. + + The fifth column is often called the augmented part of the matrix. This is because the fifth + column is really just an extension of the matrix so that there is a place to put all of the + non-zero components after the operation is complete. + Often times the resultant matrix will the identity matrix or a matrix similar to the identity + matrix. Sometimes, however, that is not possible and numbers other than zero and one may appear. + This method can be used to solve systems of linear equations. Upon completion of this method, + the will contain the solution for the system. It is up to the user + to analyze both the input and the result to determine if a solution really exists. + + + + + Creates a spherical billboard that rotates around a specified object position. + + The position of the object around which the billboard will rotate. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + When the method completes, contains the created billboard matrix. + + + + Creates a spherical billboard that rotates around a specified object position. + + The position of the object around which the billboard will rotate. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard matrix. + + + + Creates a left-handed, look-at matrix. + + The position of the viewer's eye. + The camera look-at target. + The camera's up vector. + When the method completes, contains the created look-at matrix. + + + + Creates a left-handed, look-at matrix. + + The position of the viewer's eye. + The camera look-at target. + The camera's up vector. + The created look-at matrix. + + + + Creates a right-handed, look-at matrix. + + The position of the viewer's eye. + The camera look-at target. + The camera's up vector. + When the method completes, contains the created look-at matrix. + + + + Creates a right-handed, look-at matrix. + + The position of the viewer's eye. + The camera look-at target. + The camera's up vector. + The created look-at matrix. + + + + Creates a left-handed, orthographic projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, orthographic projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, orthographic projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, orthographic projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a left-handed, customized orthographic projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, customized orthographic projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, customized orthographic projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, customized orthographic projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a left-handed, perspective projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, perspective projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, perspective projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, perspective projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a left-handed, perspective projection matrix based on a field of view. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, perspective projection matrix based on a field of view. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, perspective projection matrix based on a field of view. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, perspective projection matrix based on a field of view. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a left-handed, customized perspective projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, customized perspective projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, customized perspective projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, customized perspective projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Builds a matrix that can be used to reflect vectors about a plane. + + The plane for which the reflection occurs. This parameter is assumed to be normalized. + When the method completes, contains the reflection matrix. + + + + Builds a matrix that can be used to reflect vectors about a plane. + + The plane for which the reflection occurs. This parameter is assumed to be normalized. + The reflection matrix. + + + + Creates a matrix that flattens geometry into a shadow. + + The light direction. If the W component is 0, the light is directional light; if the + W component is 1, the light is a point light. + The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized. + When the method completes, contains the shadow matrix. + + + + Creates a matrix that flattens geometry into a shadow. + + The light direction. If the W component is 0, the light is directional light; if the + W component is 1, the light is a point light. + The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized. + The shadow matrix. + + + + Creates a matrix that scales along the x-axis, y-axis, and y-axis. + + Scaling factor for all three axes. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that scales along the x-axis, y-axis, and y-axis. + + Scaling factor for all three axes. + The created scaling matrix. + + + + Creates a matrix that scales along the x-axis, y-axis, and y-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Scaling factor that is applied along the z-axis. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that scales along the x-axis, y-axis, and y-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Scaling factor that is applied along the z-axis. + The created scaling matrix. + + + + Creates a matrix that uniformly scales along all three axis. + + The uniform scale that is applied along all axis. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that uniformly scales along all three axis. + + The uniform scale that is applied along all axis. + The created scaling matrix. + + + + Creates a matrix that rotates around the x-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates around the x-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + The created rotation matrix. + + + + Creates a matrix that rotates around the y-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates around the y-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + The created rotation matrix. + + + + Creates a matrix that rotates around the z-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates around the z-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + The created rotation matrix. + + + + Creates a matrix that rotates around an arbitrary axis. + + The axis around which to rotate. This parameter is assumed to be normalized. + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates around an arbitrary axis. + + The axis around which to rotate. This parameter is assumed to be normalized. + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + The created rotation matrix. + + + + Creates a rotation matrix from a quaternion. + + The quaternion to use to build the matrix. + The created rotation matrix. + + + + Creates a rotation matrix from a quaternion. + + The quaternion to use to build the matrix. + The created rotation matrix. + + + + Creates a rotation matrix with a specified yaw, pitch, and roll. + + Yaw around the y-axis, in radians. + Pitch around the x-axis, in radians. + Roll around the z-axis, in radians. + When the method completes, contains the created rotation matrix. + + + + Creates a rotation matrix with a specified yaw, pitch, and roll. + + Yaw around the y-axis, in radians. + Pitch around the x-axis, in radians. + Roll around the z-axis, in radians. + The created rotation matrix. + + + + Creates a translation matrix using the specified offsets. + + The offset for all three coordinate planes. + When the method completes, contains the created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + The offset for all three coordinate planes. + The created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + Z-coordinate offset. + When the method completes, contains the created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + Z-coordinate offset. + The created translation matrix. + + + + Creates a skew/shear matrix by means of a translation vector, a rotation vector, and a rotation angle. + shearing is performed in the direction of translation vector, where translation vector and rotation vector define the shearing plane. + The effect is such that the skewed rotation vector has the specified angle with rotation itself. + + The rotation angle. + The rotation vector + The translation vector + Contains the created skew/shear matrix. + + + + Creates a 3D affine transformation matrix. + + Scaling factor. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created affine transformation matrix. + + + + Creates a 3D affine transformation matrix. + + Scaling factor. + The rotation of the transformation. + The translation factor of the transformation. + The created affine transformation matrix. + + + + Creates a 3D affine transformation matrix. + + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created affine transformation matrix. + + + + Creates a 3D affine transformation matrix. + + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + The created affine transformation matrix. + + + + Creates a 2D affine transformation matrix. + + Scaling factor. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created affine transformation matrix. + + + + Creates a 2D affine transformation matrix. + + Scaling factor. + The rotation of the transformation. + The translation factor of the transformation. + The created affine transformation matrix. + + + + Creates a 2D affine transformation matrix. + + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created affine transformation matrix. + + + + Creates a 2D affine transformation matrix. + + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + The created affine transformation matrix. + + + + Creates a transformation matrix. + + Center point of the scaling operation. + Scaling rotation amount. + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created transformation matrix. + + + + Creates a transformation matrix. + + Center point of the scaling operation. + Scaling rotation amount. + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + The created transformation matrix. + + + + Creates a 2D transformation matrix. + + Center point of the scaling operation. + Scaling rotation amount. + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created transformation matrix. + + + + Creates a 2D transformation matrix. + + Center point of the scaling operation. + Scaling rotation amount. + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + The created transformation matrix. + + + + Adds two matrices. + + The first matrix to add. + The second matrix to add. + The sum of the two matrices. + + + + Assert a matrix (return it unchanged). + + The matrix to assert (unchanged). + The asserted (unchanged) matrix. + + + + Subtracts two matrices. + + The first matrix to subtract. + The second matrix to subtract. + The difference between the two matrices. + + + + Negates a matrix. + + The matrix to negate. + The negated matrix. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Multiplies two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Divides two matrices. + + The first matrix to divide. + The second matrix to divide. + The quotient of the two matrices. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets or sets the up of the matrix; that is M21, M22, and M23. + + + + + Gets or sets the down of the matrix; that is -M21, -M22, and -M23. + + + + + Gets or sets the right of the matrix; that is M11, M12, and M13. + + + + + Gets or sets the left of the matrix; that is -M11, -M12, and -M13. + + + + + Gets or sets the forward of the matrix; that is -M31, -M32, and -M33. + + + + + Gets or sets the backward of the matrix; that is M31, M32, and M33. + + + + + Gets or sets the first row in the matrix; that is M11, M12, M13, and M14. + + + + + Gets or sets the second row in the matrix; that is M21, M22, M23, and M24. + + + + + Gets or sets the third row in the matrix; that is M31, M32, M33, and M34. + + + + + Gets or sets the fourth row in the matrix; that is M41, M42, M43, and M44. + + + + + Gets or sets the first column in the matrix; that is M11, M21, M31, and M41. + + + + + Gets or sets the second column in the matrix; that is M12, M22, M32, and M42. + + + + + Gets or sets the third column in the matrix; that is M13, M23, M33, and M43. + + + + + Gets or sets the fourth column in the matrix; that is M14, M24, M34, and M44. + + + + + Gets or sets the translation of the matrix; that is M41, M42, and M43. + + + + + Gets or sets the scale of the matrix; that is M11, M22, and M33. + + + + + Gets a value indicating whether this instance is an identity matrix. + + + true if this instance is an identity matrix; otherwise, false. + + + + + Gets or sets the component at the specified index. + + The value of the matrix component, depending on the index. + The zero-based index of the component to access. + The value of the component at the specified index. + Thrown when the is out of the range [0, 15]. + + + + Gets or sets the component at the specified index. + + The value of the matrix component, depending on the index. + The row of the matrix to access. + The column of the matrix to access. + The value of the component at the specified index. + Thrown when the or is out of the range [0, 3]. + + + + Generic sound input stream supporting WAV (Pcm,Float), ADPCM, xWMA sound file formats. + + + + + Initializes a new instance of the class. + + The sound stream. + + + + Initializes the specified stream. + + The stream. + + + + Converts this stream to a DataStream by loading all the data from the source stream. + + + + + + Performs an implicit conversion from to . + + The stream. + + The result of the conversion. + + + + + When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. + + + An I/O error occurs. + + + + + When overridden in a derived class, sets the position within the current stream. + + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + + The new position within the current stream. + + + An I/O error occurs. + + + + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + + + + Methods were called after the stream was closed. + + + + + When overridden in a derived class, sets the length of the current stream. + + The desired length of the current stream in bytes. + + An I/O error occurs. + + + + The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. + + + + Methods were called after the stream was closed. + + + + + When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + + + The sum of and is larger than the buffer length. + + + + is null. + + + + or is negative. + + + + An I/O error occurs. + + + + The stream does not support reading. + + + + Methods were called after the stream was closed. + + + + + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + The sum of and is greater than the buffer length. + + + + is null. + + + + or is negative. + + + + An I/O error occurs. + + + + The stream does not support writing. + + + + Methods were called after the stream was closed. + + + + + Gets the decoded packets info. + + + This property is only valid for XWMA stream. + + + + Gets the wave format of this instance. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports reading. + + true if the stream supports reading; otherwise, false. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports seeking. + + true if the stream supports seeking; otherwise, false. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports writing. + + true if the stream supports writing; otherwise, false. + + + + + When overridden in a derived class, gets or sets the position within the current stream. + + + The current position within the stream. + + + + An I/O error occurs. + + + + The stream does not support seeking. + + + + Methods were called after the stream was closed. + + + + + When overridden in a derived class, gets the length in bytes of the stream. + + + A long value representing the length of the stream in bytes. + + + + A class derived from Stream does not support seeking. + + + + Methods were called after the stream was closed. + + + + + WaveFormatAdpcm + http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.xaudio2.adpcmwaveformat%28v=vs.85%29.aspx + Additional documentation: http://icculus.org/SDL_sound/downloads/external_documentation/wavecomp.htm + + WAVEFORMATADPCM + + + + Represents a Wave file format + + WAVEFORMATEX + + + format type + + + number of channels + + + sample rate + + + for buffer estimation + + + block size of data + + + number of bits per sample of mono data + + + number of following bytes + + + + Creates a new PCM 44.1Khz stereo 16 bit format + + + + + Creates a new 16 bit wave format with the specified sample + rate and channel count + + Sample Rate + Number of channels + + + + Gets the size of a wave buffer equivalent to the latency in milliseconds. + + The milliseconds. + + + + + Creates a WaveFormat with custom members + + The encoding + Sample Rate + Number of channels + Average Bytes Per Second + Block Align + Bits Per Sample + + + + + Creates an A-law wave format + + Sample Rate + Number of Channels + Wave Format + + + + Creates a Mu-law wave format + + Sample Rate + Number of Channels + Wave Format + + + + Creates a new PCM format with the specified sample rate, bit depth and channels + + + + + Creates a new 32 bit IEEE floating point wave format + + sample rate + number of channels + + + + Helper function to retrieve a WaveFormat structure from a pointer + + Buffer to the WaveFormat rawdata + WaveFormat structure + + + + Helper function to retrieve a WaveFormat structure from a pointer + + Pointer to the WaveFormat rawdata + WaveFormat structure + + + + Helper function to marshal WaveFormat to an IntPtr + + WaveFormat + IntPtr to WaveFormat structure (needs to be freed by callee) + + + + Reads a new WaveFormat object from a stream + + A binary reader that wraps the stream + + + + Reports this WaveFormat as a string + + String describing the wave format + + + + Compares with another WaveFormat object + + Object to compare to + True if the objects are the same + + + + Provides a hash code for this WaveFormat + + A hash code + + + + Reads or writes data from/to the given binary serializer. + + The binary serializer. + + + + Returns the encoding type used + + + + + Returns the number of channels (1=mono,2=stereo etc) + + + + + Returns the sample rate (samples per second) + + + + + Returns the average number of bytes used per second + + + + + Returns the block alignment + + + + + Returns the number of bits per sample (usually 16 or 32, sometimes 24 or 8) + Can be 0 for some codecs + + + + + Returns the number of extra bytes used by this waveformat. Often 0, + except for compressed formats which store extra data after the WAVEFORMATEX header + + + + number of following bytes + + + format type + + + number of channels + + + sample rate + + + for buffer estimation + + + block size of data + + + number of bits per sample of mono data + + + + Parameterless constructor for marshalling + + + + + Creates a new WaveFormatAdpcm for MicrosoftADPCM + + The rate. + The channels. + The block align. If 0, then 256 for [0, 11KHz], 512 for ]11KHz, 22Khz], 1024 for ]22Khz, +inf] + + + + Gets or sets the samples per block. + + + The samples per block. + + + + + Gets or sets the coefficients. + + + The coefficients. + + + + + Gets or sets the coefficients. + + + The coefficients. + + + + + A FourCC descriptor. + + + + + Empty FourCC. + + + + + Initializes a new instance of the struct. + + The fourCC value as a string . + + + + Initializes a new instance of the struct. + + The byte1. + The byte2. + The byte3. + The byte4. + + + + Initializes a new instance of the struct. + + The fourCC value as an uint. + + + + Initializes a new instance of the struct. + + The fourCC value as an int. + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + A chunk of a Riff stream. + + + + + Initializes a new instance of the class. + + The stream holding this chunk + The type. + The size. + The data offset. + if set to true [is list]. + if set to true [is header]. + + + + Gets the raw data contained in this chunk. + + + + + + Gets structured data contained in this chunk. + + The type of the data to return + + A structure filled with the chunk data + + + + + Gets structured data contained in this chunk. + + The type of the data to return + A structure filled with the chunk data + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the type. + + + + + Gets the of this chunk. + + + + + Gets the size of the data embedded by this chunk. + + + + + Gets the position of the data embedded by this chunk relative to the stream. + + + + + Gets or sets a value indicating whether this instance is a list chunk. + + + true if this instance is list; otherwise, false. + + + + + Gets a value indicating whether this instance is a header chunk. + + + true if this instance is a header; otherwise, false. + + + + + Riff chunk enumerator. + + + + + Initializes a new instance of the class. + + The input. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Advances the enumerator to the next element of the collection. + + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + The collection was modified after the enumerator was created. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + The collection was modified after the enumerator was created. + + + + + Ascends to the outer chunk. + + + + + Descends to the current chunk. + + + + + Gets all chunks. + + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the current stack of chunks. + + + + + Gets the element in the collection at the current position of the enumerator. + + + The element in the collection at the current position of the enumerator. + + + + + Helper class for Speaker mask. + + + + + Counts the channels from a speaker mask. + + The speakers mask. + + + + + WaveFormatExtensible + http://www.microsoft.com/whdc/device/audio/multichaud.mspx + + WAVEFORMATEXTENSIBLE + + + + Guid of the subformat. + + + + + Speaker configuration + + + + + Parameterless constructor for marshalling + + + + + Creates a new WaveFormatExtensible for PCM or IEEE + + + + + String representation + + + + + The namespace contains fundamental classes used by SharpDX. + + + + + A general purpose tag attribute. + + + + + Initializes a new instance of class. + + + + + + Gets the value. + + + + + Overrides in order to provide for Win8 Modern App. + + + + + Provides a basic implementation to replace (not available on Win8 Modern App). + + + + + The namespace provides missing ASCIIEncoding for Win8 Modern platform. + + + + + This provides timing information similar to but an update occurring only on a method. + + + + + Initializes a new instance of the class. + + + + + Resets this instance. is set to zero. + + + + + Resumes this instance, only if a call to has been already issued. + + + + + Update the and , + + + This method must be called on a regular basis at every *tick*. + + + + + Pauses this instance. + + + + + Converts a raw time to a . + + The delta. + The . + + + + Gets the total time elapsed since the last reset or when this timer was created. + + + + + Gets the elapsed adjusted time since the previous call to taking into account time. + + + + + Gets the elapsed time since the previous call to . + + + + + Gets a value indicating whether this instance is paused. + + true if this instance is paused; otherwise, false. + + + + Defines the viewport dimensions. + + + + + Position of the pixel coordinate of the upper-left corner of the viewport. + + + + + Position of the pixel coordinate of the upper-left corner of the viewport. + + + + + Width dimension of the viewport. + + + + + Height dimension of the viewport. + + + + + Gets or sets the minimum depth of the clip volume. + + + + + Gets or sets the maximum depth of the clip volume. + + + + + Initializes a new instance of the struct. + + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + + + + Initializes a new instance of the struct. + + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + The minimum depth of the clip volume. + The maximum depth of the clip volume. + + + + Initializes a new instance of the struct. + + A bounding box that defines the location and size of the viewport in a render target. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified object is equal to this instance. + + The object to compare with this instance. + + true if the specified object is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Retrieves a string representation of this object. + + A that represents this instance. + + + + Projects a 3D vector from object space into screen space. + + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + Vector3. + + + + Converts a screen space point into a corresponding point in world space. + + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + Vector3. + + + + Gets the size of this resource. + + The bounds. + + + + Gets the aspect ratio used by the viewport. + + The aspect ratio. + + + + Internal class to interact with Native Message + + + + + Represents a plane in three dimensional space. + + + + + The normal vector of the plane. + + + + + The distance of the plane along its normal from the origin. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + + Initializes a new instance of the class. + + Any point that lies along the plane. + The normal vector to the plane. + + + + Initializes a new instance of the struct. + + The normal of the plane. + The distance of the plane along its normal from the origin + + + + Initializes a new instance of the struct. + + First point of a triangle defining the plane. + Second point of a triangle defining the plane. + Third point of a triangle defining the plane. + + + + Initializes a new instance of the struct. + + The values to assign to the A, B, C, and D components of the plane. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Changes the coefficients of the normal vector of the plane to make it of unit length. + + + + + Creates an array containing the elements of the plane. + + A four-element array containing the components of the plane. + + + + Determines if there is an intersection between the current object and a point. + + The point to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + When the method completes, contains the line of intersection + as a , or a zero ray if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Scales the plane by the given scaling factor. + + The plane to scale. + The amount by which to scale the plane. + When the method completes, contains the scaled plane. + + + + Scales the plane by the given scaling factor. + + The plane to scale. + The amount by which to scale the plane. + The scaled plane. + + + + Calculates the dot product of the specified vector and plane. + + The source plane. + The source vector. + When the method completes, contains the dot product of the specified plane and vector. + + + + Calculates the dot product of the specified vector and plane. + + The source plane. + The source vector. + The dot product of the specified plane and vector. + + + + Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane. + + The source plane. + The source vector. + When the method completes, contains the dot product of a specified vector and the normal of the Plane plus the distance value of the plane. + + + + Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane. + + The source plane. + The source vector. + The dot product of a specified vector and the normal of the Plane plus the distance value of the plane. + + + + Calculates the dot product of the specified vector and the normal of the plane. + + The source plane. + The source vector. + When the method completes, contains the dot product of the specified vector and the normal of the plane. + + + + Calculates the dot product of the specified vector and the normal of the plane. + + The source plane. + The source vector. + The dot product of the specified vector and the normal of the plane. + + + + Changes the coefficients of the normal vector of the plane to make it of unit length. + + The source plane. + When the method completes, contains the normalized plane. + + + + Changes the coefficients of the normal vector of the plane to make it of unit length. + + The source plane. + The normalized plane. + + + + Transforms a normalized plane by a quaternion rotation. + + The normalized source plane. + The quaternion rotation. + When the method completes, contains the transformed plane. + + + + Transforms a normalized plane by a quaternion rotation. + + The normalized source plane. + The quaternion rotation. + The transformed plane. + + + + Transforms an array of normalized planes by a quaternion rotation. + + The array of normalized planes to transform. + The quaternion rotation. + Thrown when is null. + + + + Transforms a normalized plane by a matrix. + + The normalized source plane. + The transformation matrix. + When the method completes, contains the transformed plane. + + + + Transforms a normalized plane by a matrix. + + The normalized source plane. + The transformation matrix. + When the method completes, contains the transformed plane. + + + + Transforms an array of normalized planes by a matrix. + + The array of normalized planes to transform. + The transformation matrix. + Thrown when is null. + + + + Scales a plane by the given value. + + The amount by which to scale the plane. + The plane to scale. + The scaled plane. + + + + Scales a plane by the given value. + + The plane to scale. + The amount by which to scale the plane. + The scaled plane. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the component at the specified index. + + The value of the A, B, C, or D component, depending on the index. + The index of the component to access. Use 0 for the A component, 1 for the B component, 2 for the C component, and 3 for the D component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Represents a four dimensional mathematical quaternion. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + A with all of its components set to one. + + + + + The identity (0, 0, 0, 1). + + + + + The X component of the quaternion. + + + + + The Y component of the quaternion. + + + + + The Z component of the quaternion. + + + + + The W component of the quaternion. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the components. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X, Y, and Z components. + Initial value for the W component of the quaternion. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X and Y components. + Initial value for the Z component of the quaternion. + Initial value for the W component of the quaternion. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the quaternion. + Initial value for the Y component of the quaternion. + Initial value for the Z component of the quaternion. + Initial value for the W component of the quaternion. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the quaternion. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Conjugates the quaternion. + + + + + Conjugates and renormalizes the quaternion. + + + + + Calculates the length of the quaternion. + + The length of the quaternion. + + may be preferred when only the relative length is needed + and speed is of the essence. + + + + + Calculates the squared length of the quaternion. + + The squared length of the quaternion. + + This method may be preferred to when only a relative length is needed + and speed is of the essence. + + + + + Converts the quaternion into a unit quaternion. + + + + + Creates an array containing the elements of the quaternion. + + A four-element array containing the components of the quaternion. + + + + Adds two quaternions. + + The first quaternion to add. + The second quaternion to add. + When the method completes, contains the sum of the two quaternions. + + + + Adds two quaternions. + + The first quaternion to add. + The second quaternion to add. + The sum of the two quaternions. + + + + Subtracts two quaternions. + + The first quaternion to subtract. + The second quaternion to subtract. + When the method completes, contains the difference of the two quaternions. + + + + Subtracts two quaternions. + + The first quaternion to subtract. + The second quaternion to subtract. + The difference of the two quaternions. + + + + Scales a quaternion by the given value. + + The quaternion to scale. + The amount by which to scale the quaternion. + When the method completes, contains the scaled quaternion. + + + + Scales a quaternion by the given value. + + The quaternion to scale. + The amount by which to scale the quaternion. + The scaled quaternion. + + + + Modulates a quaternion by another. + + The first quaternion to modulate. + The second quaternion to modulate. + When the method completes, contains the modulated quaternion. + + + + Modulates a quaternion by another. + + The first quaternion to modulate. + The second quaternion to modulate. + The modulated quaternion. + + + + Reverses the direction of a given quaternion. + + The quaternion to negate. + When the method completes, contains a quaternion facing in the opposite direction. + + + + Reverses the direction of a given quaternion. + + The quaternion to negate. + A quaternion facing in the opposite direction. + + + + Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains a new containing the 4D Cartesian coordinates of the specified point. + + + + Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 4D Cartesian coordinates of the specified point. + + + + Conjugates a quaternion. + + The quaternion to conjugate. + When the method completes, contains the conjugated quaternion. + + + + Conjugates a quaternion. + + The quaternion to conjugate. + The conjugated quaternion. + + + + Calculates the dot product of two quaternions. + + First source quaternion. + Second source quaternion. + When the method completes, contains the dot product of the two quaternions. + + + + Calculates the dot product of two quaternions. + + First source quaternion. + Second source quaternion. + The dot product of the two quaternions. + + + + Exponentiates a quaternion. + + The quaternion to exponentiate. + When the method completes, contains the exponentiated quaternion. + + + + Exponentiates a quaternion. + + The quaternion to exponentiate. + The exponentiated quaternion. + + + + Conjugates and renormalizes the quaternion. + + The quaternion to conjugate and renormalize. + When the method completes, contains the conjugated and renormalized quaternion. + + + + Conjugates and renormalizes the quaternion. + + The quaternion to conjugate and renormalize. + The conjugated and renormalized quaternion. + + + + Performs a linear interpolation between two quaternions. + + Start quaternion. + End quaternion. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two quaternions. + + This method performs the linear interpolation based on the following formula. + start + (end - start) * amount + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two quaternion. + + Start quaternion. + End quaternion. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two quaternions. + + This method performs the linear interpolation based on the following formula. + start + (end - start) * amount + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Calculates the natural logarithm of the specified quaternion. + + The quaternion whose logarithm will be calculated. + When the method completes, contains the natural logarithm of the quaternion. + + + + Calculates the natural logarithm of the specified quaternion. + + The quaternion whose logarithm will be calculated. + The natural logarithm of the quaternion. + + + + Converts the quaternion into a unit quaternion. + + The quaternion to normalize. + When the method completes, contains the normalized quaternion. + + + + Converts the quaternion into a unit quaternion. + + The quaternion to normalize. + The normalized quaternion. + + + + Creates a quaternion given a rotation and an axis. + + The axis of rotation. + The angle of rotation. + When the method completes, contains the newly created quaternion. + + + + Creates a quaternion given a rotation and an axis. + + The axis of rotation. + The angle of rotation. + The newly created quaternion. + + + + Creates a quaternion given a rotation matrix. + + The rotation matrix. + When the method completes, contains the newly created quaternion. + + + + Creates a quaternion given a rotation matrix. + + The rotation matrix. + The newly created quaternion. + + + + Creates a quaternion given a yaw, pitch, and roll value. + + The yaw of rotation. + The pitch of rotation. + The roll of rotation. + When the method completes, contains the newly created quaternion. + + + + Creates a quaternion given a yaw, pitch, and roll value. + + The yaw of rotation. + The pitch of rotation. + The roll of rotation. + The newly created quaternion. + + + + Interpolates between two quaternions, using spherical linear interpolation. + + Start quaternion. + End quaternion. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the spherical linear interpolation of the two quaternions. + + + + Interpolates between two quaternions, using spherical linear interpolation. + + Start quaternion. + End quaternion. + Value between 0 and 1 indicating the weight of . + The spherical linear interpolation of the two quaternions. + + + + Interpolates between quaternions, using spherical quadrangle interpolation. + + First source quaternion. + Second source quaternion. + Third source quaternion. + Fourth source quaternion. + Value between 0 and 1 indicating the weight of interpolation. + When the method completes, contains the spherical quadrangle interpolation of the quaternions. + + + + Interpolates between quaternions, using spherical quadrangle interpolation. + + First source quaternion. + Second source quaternion. + Third source quaternion. + Fourth source quaternion. + Value between 0 and 1 indicating the weight of interpolation. + The spherical quadrangle interpolation of the quaternions. + + + + Sets up control points for spherical quadrangle interpolation. + + First source quaternion. + Second source quaternion. + Third source quaternion. + Fourth source quaternion. + An array of three quaternions that represent control points for spherical quadrangle interpolation. + + + + Adds two quaternions. + + The first quaternion to add. + The second quaternion to add. + The sum of the two quaternions. + + + + Subtracts two quaternions. + + The first quaternion to subtract. + The second quaternion to subtract. + The difference of the two quaternions. + + + + Reverses the direction of a given quaternion. + + The quaternion to negate. + A quaternion facing in the opposite direction. + + + + Scales a quaternion by the given value. + + The quaternion to scale. + The amount by which to scale the quaternion. + The scaled quaternion. + + + + Scales a quaternion by the given value. + + The quaternion to scale. + The amount by which to scale the quaternion. + The scaled quaternion. + + + + Multiplies a quaternion by another. + + The first quaternion to multiply. + The second quaternion to multiply. + The multiplied quaternion. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets a value indicating whether this instance is equivalent to the identity quaternion. + + + true if this instance is an identity quaternion; otherwise, false. + + + + + Gets a value indicting whether this instance is normalized. + + + + + Gets the angle of the quaternion. + + The quaternion's angle. + + + + Gets the axis components of the quaternion. + + The axis components of the quaternion. + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Represents a three dimensional line based on a point in space and a direction. + + + + + The position in three dimensional space where the ray starts. + + + + + The normalized direction in which the ray points. + + + + + Initializes a new instance of the struct. + + The position in three dimensional space of the origin of the ray. + The normalized direction of the ray. + + + + Determines if there is an intersection between the current object and a point. + + The point to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Calculates a world space from 2d screen coordinates. + + X coordinate on 2d screen. + Y coordinate on 2d screen. + . + Transformation . + Resulting . + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Define a Rectangle. This structure is slightly different from System.Drawing.Rectangle as It is + internally storing Left,Top,Right,Bottom instead of Left,Top,Width,Height. + Although automatic casting from a to System.Drawing.Rectangle is provided by this class. + + + + + An empty rectangle. + + + + + Initializes a new instance of the struct. + + The left. + The top. + The width. + The height. + + + Changes the position of the Rectangle. + The values to adjust the position of the Rectangle by. + + + Changes the position of the Rectangle. + Change in the x-position. + Change in the y-position. + + + Pushes the edges of the Rectangle out by the horizontal and vertical values specified. + Value to push the sides out by. + Value to push the top and bottom out by. + + + Determines whether this Rectangle contains a specified point represented by its x- and y-coordinates. + The x-coordinate of the specified point. + The y-coordinate of the specified point. + + + Determines whether this Rectangle contains a specified Point. + The Point to evaluate. + + + Determines whether this Rectangle contains a specified Point. + The Point to evaluate. + [OutAttribute] true if the specified Point is contained within this Rectangle; false otherwise. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + [OutAttribute] On exit, is true if this Rectangle entirely contains the specified Rectangle, or false if not. + + + + Checks, if specified point is inside . + + X point coordinate. + Y point coordinate. + true if point is inside , otherwise false. + + + + Checks, if specified is inside . + + Coordinate . + true if is inside , otherwise false. + + + Determines whether a specified Rectangle intersects with this Rectangle. + The Rectangle to evaluate. + + + + Determines whether a specified Rectangle intersects with this Rectangle. + + The Rectangle to evaluate + [OutAttribute] true if the specified Rectangle intersects with this one; false otherwise. + + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + + The first Rectangle to compare. + The second Rectangle to compare. + Rectangle. + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + The first Rectangle to compare. + The second Rectangle to compare. + [OutAttribute] The area where the two first parameters overlap. + + + + Creates a new Rectangle that exactly contains two other rectangles. + + The first Rectangle to contain. + The second Rectangle to contain. + Rectangle. + + + + Creates a new Rectangle that exactly contains two other rectangles. + + The first Rectangle to contain. + The second Rectangle to contain. + [OutAttribute] The Rectangle that must be the union of the first two rectangles. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + + + + Gets or sets the left. + + The left. + + + + Gets or sets the top. + + The top. + + + + Gets or sets the right. + + The right. + + + + Gets or sets the bottom. + + The bottom. + + + + Gets the left position. + + The left position. + + + + Gets the top position. + + The top position. + + + + Gets the width. + + The width. + + + + Gets the height. + + The height. + + + Gets or sets the upper-left value of the Rectangle. + + + Gets the Point that specifies the center of the rectangle. + + + Gets a value that indicates whether the Rectangle is empty. + + + + Gets or sets the size of the rectangle. + + The size of the rectangle. + + + + Gets the position of the top-left corner of the rectangle. + + The top-left corner of the rectangle. + + + + Gets the position of the top-right corner of the rectangle. + + The top-right corner of the rectangle. + + + + Gets the position of the bottom-left corner of the rectangle. + + The bottom-left corner of the rectangle. + + + + Gets the position of the bottom-right corner of the rectangle. + + The bottom-right corner of the rectangle. + + + + Define a RectangleF. This structure is slightly different from System.Drawing.RectangleF as It is + internally storing Left,Top,Right,Bottom instead of Left,Top,Width,Height. + Although automatic casting from a to System.Drawing.Rectangle is provided by this class. + + + + + An empty rectangle + + + + + Initializes a new instance of the struct. + + The left. + The top. + The width. + The height. + + + Changes the position of the Rectangle. + The values to adjust the position of the Rectangle by. + + + Changes the position of the Rectangle. + The values to adjust the position of the Rectangle by. + + + Changes the position of the Rectangle. + Change in the x-position. + Change in the y-position. + + + Pushes the edges of the Rectangle out by the horizontal and vertical values specified. + Value to push the sides out by. + Value to push the top and bottom out by. + + + Determines whether this Rectangle contains a specified Point. + The Point to evaluate. + [OutAttribute] true if the specified Point is contained within this Rectangle; false otherwise. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + [OutAttribute] On exit, is true if this Rectangle entirely contains the specified Rectangle, or false if not. + + + + Checks, if specified point is inside . + + X point coordinate. + Y point coordinate. + true if point is inside , otherwise false. + + + + Checks, if specified is inside . + + Coordinate . + true if is inside , otherwise false. + + + + Checks, if specified is inside . + + Coordinate . + true if is inside , otherwise false. + + + Determines whether a specified Rectangle intersects with this Rectangle. + The Rectangle to evaluate. + + + + Determines whether a specified Rectangle intersects with this Rectangle. + + The Rectangle to evaluate + [OutAttribute] true if the specified Rectangle intersects with this one; false otherwise. + + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + + The first Rectangle to compare. + The second Rectangle to compare. + Rectangle. + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + The first Rectangle to compare. + The second Rectangle to compare. + [OutAttribute] The area where the two first parameters overlap. + + + + Creates a new Rectangle that exactly contains two other rectangles. + + The first Rectangle to contain. + The second Rectangle to contain. + Rectangle. + + + + Creates a new Rectangle that exactly contains two other rectangles. + + The first Rectangle to contain. + The second Rectangle to contain. + [OutAttribute] The Rectangle that must be the union of the first two rectangles. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + + + + Gets or sets the left. + + The left. + + + + Gets or sets the top. + + The top. + + + + Gets or sets the right. + + The right. + + + + Gets or sets the bottom. + + The bottom. + + + + Gets the left position. + + The left position. + + + + Gets the top position. + + The top position. + + + + Gets the width. + + The width. + + + + Gets the height. + + The height. + + + Gets or sets the upper-left value of the Rectangle. + + + Gets the Point that specifies the center of the rectangle. + + + Gets a value that indicates whether the Rectangle is empty. + + + + Gets or sets the size of the rectangle. + + The size of the rectangle. + + + + Gets the position of the top-left corner of the rectangle. + + The top-left corner of the rectangle. + + + + Gets the position of the top-right corner of the rectangle. + + The top-right corner of the rectangle. + + + + Gets the position of the bottom-left corner of the rectangle. + + The bottom-left corner of the rectangle. + + + + Gets the position of the bottom-right corner of the rectangle. + + The bottom-right corner of the rectangle. + + + + Result structure for COM methods. + + + + + Initializes a new instance of the struct. + + The HRESULT error code. + + + + Initializes a new instance of the struct. + + The HRESULT error code. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Checks the error. + + + + + Gets a from an . + + The exception + The associated result code + + + + Gets the result from win32 error. + + The win32Error. + A HRESULT. + + + + Result code Ok + + S_OK + + + + Result code False + + S_FALSE + + + + Result code Abort + + E_ABORT + + + + Result code AccessDenied + + E_ACCESSDENIED + + + + Result code Fail + + E_FAIL + + + + Result code Handle + + E_HANDLE + + + + Result code invalid argument + + E_INVALIDARG + + + + Result code no interface + + E_NOINTERFACE + + + + Result code not implemented + + E_NOTIMPL + + + + Result code out of memory + + E_OUTOFMEMORY + + + + Result code Invalid pointer + + E_POINTER + + + + Unexpected failure + + E_UNEXPECTED + + + + Result of a wait abandonned. + + WAIT_ABANDONED + + + + Result of a wait timeout. + + WAIT_TIMEOUT + + + + Gets the HRESULT error code. + + The HRESULT error code. + + + + Gets a value indicating whether this is success. + + true if success; otherwise, false. + + + + Gets a value indicating whether this is failure. + + true if failure; otherwise, false. + + + + The maximum number of bytes to which a pointer can point. Use for a count that must span the full range of a pointer. + Equivalent to Windows type SIZE_T. + + + + + Initializes a new instance of the struct. + + The size. + + + + Default constructor. + + value to set + + + + Default constructor. + + value to set + + + + Default constructor. + + value to set + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Adds two sizes. + + The first size to add. + The second size to add. + The sum of the two sizes. + + + + Assert a size (return it unchanged). + + The size to assert (unchanged). + The asserted (unchanged) size. + + + + Subtracts two sizes. + + The first size to subtract. + The second size to subtract. + The difference of the two sizes. + + + + Reverses the direction of a given size. + + The size to negate. + A size facing in the opposite direction. + + + + Scales a size by the given value. + + The size to scale. + The amount by which to scale the size. + The scaled size. + + + + Scales a size by the given value. + + The size to scale. + The amount by which to scale the size. + The scaled size. + + + + Scales a size by the given value. + + The size to scale. + The amount by which to scale the size. + The scaled size. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from void* to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to void*. + + The value. + The result of the conversion. + + + + Encapsulates a method that has no parameters and returns a value of the type specified by the TResult parameter. + + The type of the return value of the method that this delegate encapsulates. This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. + The return value of the method that this delegate encapsulates. + + + + A Delegate to get a property value from an object. + + Type of the getter. + The obj to get the property from. + The value to get. + + + + A Delegate to set a property value to an object. + + Type of the setter. + The obj to set the property from. + The value to set. + + + + Utility class. + + + + + Native memcpy. + + The destination memory location. + The source memory location. + The byte count. + + + + Compares two block of memory. + + The pointer to compare from. + The pointer to compare against. + The size in bytes to compare. + true if the buffers are equivalent; otherwise, false. + + + + Clears the memory. + + The dest. + The value. + The size in bytes to clear. + + + + Return the sizeof a struct from a CLR. Equivalent to sizeof operator but works on generics too. + + A struct to evaluate. + Size of this struct. + + + + Return the sizeof an array of struct. Equivalent to sizeof operator but works on generics too. + + A struct. + The array of struct to evaluate. + Size in bytes of this array of struct. + + + + Pins the specified source and call an action with the pinned pointer. + + The type of the structure to pin. + The source. + The pin action to perform on the pinned pointer. + + + + Pins the specified source and call an action with the pinned pointer. + + The type of the structure to pin. + The source array. + The pin action to perform on the pinned pointer. + + + + Converts a structured array to an equivalent byte array. + + The type of source array. + The source array. + Converted byte array. + + + + Swaps the value between two references. + + Type of a data to swap. + The left value. + The right value. + + + + Reads the specified T data from a memory location. + + Type of a data to read. + Memory location to read from. + The data read from the memory location. + + + + Reads the specified T data from a memory location. + + Type of a data to read. + Memory location to read from. + The data write to. + source pointer + sizeof(T). + + + + Reads the specified T data from a memory location. + + Type of a data to read. + Memory location to read from. + The data write to. + source pointer + sizeof(T). + + + + Reads the specified T data from a memory location. + + Type of a data to read. + Memory location to read from. + The data write to. + source pointer + sizeof(T). + + + + Reads the specified array T[] data from a memory location. + + Type of a data to read. + Memory location to read from. + The data write to. + The offset in the array to write to. + The number of T element to read from the memory location. + source pointer + sizeof(T) * count. + + + + Writes the specified T data to a memory location. + + Type of a data to write. + Memory location to write to. + The data to write. + destination pointer + sizeof(T). + + + + Writes the specified T data to a memory location. + + Type of a data to write. + Memory location to write to. + The data to write. + destination pointer + sizeof(T). + + + + Writes the specified array T[] data to a memory location. + + Type of a data to write. + Memory location to write to. + The array of T data to write. + The offset in the array to read from. + The number of T element to write to the memory location. + destination pointer + sizeof(T) * count. + + + + Converts bool array to integer pointers array. + + The bool array. + The destination array of int pointers. + + + + Converts bool array to array. + + The bool array. + Converted array of . + + + + Converts integer pointer array to bool array. + + The array of integer pointers. + Array size. + Converted array of bool. + + + + Converts array to bool array. + + The array. + Converted array of bool. + + + + Gets the from a type. + + The type. + The guid associated with this type. + + + + Allocate an aligned memory buffer. + + Size of the buffer to allocate. + Alignment, 16 bytes by default. + A pointer to a buffer aligned. + + To free this buffer, call . + + + + + Allocate an aligned memory buffer and clear it with a specified value (0 by default). + + Size of the buffer to allocate. + Default value used to clear the buffer. + Alignment, 16 bytes by default. + A pointer to a buffer aligned. + + To free this buffer, call . + + + + + Determines whether the specified memory pointer is aligned in memory. + + The memory pointer. + The align. + true if the specified memory pointer is aligned in memory; otherwise, false. + + + + Allocate an aligned memory buffer. + + A pointer to a buffer aligned. + + The buffer must have been allocated with . + + + + + Converts a pointer to a null-terminating string up to maxLength characters to a .Net string. + + The pointer to an ANSI null string. + Maximum length of the string. + The converted string. + + + + Converts a pointer to a null-terminating string up to maxLength characters to a .Net string. + + The pointer to an Unicode null string. + Maximum length of the string. + The converted string. + + + + Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies. + + A managed string to be copied. + The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null. + + + + Copies the contents of a managed String into unmanaged memory. + + A managed string to be copied. + The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null. + + + + Copies the contents of a managed String into unmanaged memory using + + A managed string to be copied. + The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null. + + + + Gets the IUnknown from object. Similar to but accept null object + by returning an IntPtr.Zero IUnknown pointer. + + The managed object. + An IUnknown pointer to a managed object. + + + + Gets an object from an IUnknown pointer. Similar to but accept IntPtr.Zero + by returning a null object. + + an IUnknown pointer to a managed object. + The managed object. + + + + String helper join method to display an array of object as a single string. + + The separator. + The array. + A string with array elements separated by the separator. + + + + String helper join method to display an enumerable of object as a single string. + + The separator. + The enumerable. + A string with array elements separated by the separator. + + + + String helper join method to display an enumerable of object as a single string. + + The separator. + The enumerable. + A string with array elements separated by the separator. + + + + Converts a blob to a string. + + A blob. + A string extracted from a blob. + + + + Equivalent to IntPtr.Add method from 3.5+ .NET Framework. + Adds an offset to the value of a pointer. + + A native pointer. + The offset to add (number of bytes). + A new pointer that reflects the addition of offset to pointer. + + + + Read stream to a byte[] buffer. + + Input stream. + A byte[] buffer. + + + + Read stream to a byte[] buffer. + + Input stream. + Length to read. + A byte[] buffer. + + + + Compares two collection, element by elements. + + A "from" enumerator. + A "to" enumerator. + true if lists are identical, false otherwise. + + + + Compares two collection, element by elements. + + A "from" enumerator. + A "to" enumerator. + true if lists are identical; otherwise, false. + + + + Compares two collection, element by elements. + + The collection to compare from. + The collection to compare to. + true if lists are identical (but not necessarily of the same time); otherwise , false. + + + + Gets the custom attribute. + + Type of the custom attribute. + The member info. + if set to true [inherited]. + The custom attribute or null if not found. + + + + Gets the custom attributes. + + Type of the custom attribute. + The member info. + if set to true [inherited]. + The custom attribute or null if not found. + + + + Determines whether fromType can be assigned to toType. + + To type. + From type. + + true if [is assignable from] [the specified to type]; otherwise, false. + + + + + Determines whether the specified type to test is an enum. + + The type to test. + + true if the specified type to test is an enum; otherwise, false. + + + + + Determines whether the specified type to test is a value type. + + The type to test. + + true if the specified type to test is a value type; otherwise, false. + + + + + Builds a fast property getter from a type and a property info. + + Type of the getter. + Type of the custom effect. + The property info to get the value from. + A compiled delegate. + + + + Builds a fast property setter from a type and a property info. + + Type of the setter. + Type of the custom effect. + The property info to set the value to. + A compiled delegate. + + + + Suspends the current thread of a . + + The duration to sleep in milliseconds. + + + + Finds an explicit conversion between a source type and a target type. + + Type of the source. + Type of the target. + The method to perform the conversion. null if not found. + + + + Loads a native library. + + Name of the DLL. + If DLL was not found. + Handle to the module. + + + + Gets the proc address of a DLL. + + The handle. + The DLL function to import. + If the function was not found. + Pointer to address of the exported function or variable. + + + + Compute a FNV1-modified Hash from Fowler/Noll/Vo Hash improved version. + + Data to compute the hash from. + A hash value. + + + + Safely dispose a reference if not null, and set it to null after dispose. + + The type of COM interface to dispose. + Object to dispose. + + The reference will be set to null after dispose. + + + + + Transforms an to an array of T. + + Type of the element + The enumerable source. + an array of T + + + + Test if there is an element in this enumeration. + + Type of the element + The enumerable source. + true if there is an element in this enumeration, false otherwise + + + + Select elements from an enumeration. + + The type of the T source. + The type of the T result. + The source. + The selector. + A enumeration of selected values + + + + Selects distinct elements from an enumeration. + + The type of the T source. + The source. + The comparer. + A enumeration of selected values + + + Determines the concurrency model used for incoming calls to objects created by this thread. This concurrency model can be either apartment-threaded or multi-threaded. + + + + Initializes the thread for apartment-threaded object concurrency. + + + + + Initializes the thread for multi-threaded object concurrency. + + + + + Disables DDE for OLE1 support. + + + + + Trade memory for speed. + + + + + Represents a two dimensional mathematical vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0). + + + + + The Y unit (0, 1). + + + + + A with all of its components set to one. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X and Y components of the vector. This must be an array with two elements. + Thrown when is null. + Thrown when contains more or less than two elements. + + + + Calculates the length of the vector. + + The length of the vector. + + may be preferred when only the relative length is needed + and speed is of the essence. + + + + + Calculates the squared length of the vector. + + The squared length of the vector. + + This method may be preferred to when only a relative length is needed + and speed is of the essence. + + + + + Converts the vector into a unit vector. + + + + + Creates an array containing the elements of the vector. + + A two-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 2D Cartesian coordinates of vertex 1 of the triangle. + A containing the 2D Cartesian coordinates of vertex 2 of the triangle. + A containing the 2D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains the 2D Cartesian coordinates of the specified point. + + + + Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 2D Cartesian coordinates of vertex 1 of the triangle. + A containing the 2D Cartesian coordinates of vertex 2 of the triangle. + A containing the 2D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 2D Cartesian coordinates of the specified point. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Saturates this instance in the range [0,1] + + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + The distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector + When the method completes, contains the squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + The squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + When the method completes, contains the dot product of the two vectors. + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + The dot product of the two vectors. + + + + Converts the vector into a unit vector. + + The vector to normalize. + When the method completes, contains the normalized vector. + + + + Converts the vector into a unit vector. + + The vector to normalize. + The normalized vector. + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two vectors. + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two vectors. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + When the method completes, contains the result of the Hermite spline interpolation. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + The result of the Hermite spline interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + When the method completes, contains the result of the Catmull-Rom interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + A vector that is the result of the Catmull-Rom interpolation. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + Normal of the surface. + When the method completes, contains the reflected vector. + Reflect only gives the direction of a reflection off a surface, it does not determine + whether the original vector was close enough to the surface to hit it. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + Normal of the surface. + The reflected vector. + Reflect only gives the direction of a reflection off a surface, it does not determine + whether the original vector was close enough to the surface to hit it. + + + + Orthogonalizes a list of vectors. + + The list of orthogonalized vectors. + The list of vectors to orthogonalize. + + Orthogonalization is the process of making all vectors orthogonal to each other. This + means that any given vector in the list will be orthogonal to any other given vector in the + list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Orthonormalizes a list of vectors. + + The list of orthonormalized vectors. + The list of vectors to orthonormalize. + + Orthonormalization is the process of making all vectors orthogonal to each + other and making all vectors of unit length. This means that any given vector will + be orthogonal to any other given vector in the list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 2D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + When the method completes, contains the transformed . + + + + Transforms a 2D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + The transformed . + + + + Transforms an array of vectors by the given rotation. + + The array of vectors to transform. + The rotation to apply. + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 2D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + + Transforms a 2D vector by the given . + + The source vector. + The transformation . + The transformed . + + + + Transforms an array of 2D vectors by the given . + + The array of vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + Thrown when or is null. + Thrown when is shorter in length than . + + + + Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + When the method completes, contains the transformed coordinates. + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + The transformed coordinates. + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a coordinate transformation on an array of vectors using the given . + + The array of coordinate vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + When the method completes, contains the transformed normal. + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + The transformed normal. + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Performs a normal transformation on an array of vectors using the given . + + The array of normal vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Modulates a vector with another by performing component-wise multiplication equivalent to . + + The first vector to multiply. + The second vector to multiply. + The multiplication of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets a value indicting whether this instance is normalized. + + + + + Gets or sets the component at the specified index. + + The value of the X or Y component, depending on the index. + The index of the component to access. Use 0 for the X component and 1 for the Y component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 1]. + + + + Represents a three dimensional mathematical vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0, 0). + + + + + The Y unit (0, 1, 0). + + + + + The Z unit (0, 0, 1). + + + + + A with all of its components set to one. + + + + + A unit designating up (0, 1, 0). + + + + + A unit designating down (0, -1, 0). + + + + + A unit designating left (-1, 0, 0). + + + + + A unit designating right (1, 0, 0). + + + + + A unit designating forward in a right-handed coordinate system (0, 0, -1). + + + + + A unit designating forward in a left-handed coordinate system (0, 0, 1). + + + + + A unit designating backward in a right-handed coordinate system (0, 0, 1). + + + + + A unit designating backward in a left-handed coordinate system (0, 0, -1). + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X and Y components. + Initial value for the Z component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements. + Thrown when is null. + Thrown when contains more or less than three elements. + + + + Calculates the length of the vector. + + The length of the vector. + + may be preferred when only the relative length is needed + and speed is of the essence. + + + + + Calculates the squared length of the vector. + + The squared length of the vector. + + This method may be preferred to when only a relative length is needed + and speed is of the essence. + + + + + Converts the vector into a unit vector. + + + + + Creates an array containing the elements of the vector. + + A three-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle. + + A containing the 3D Cartesian coordinates of vertex 1 of the triangle. + A containing the 3D Cartesian coordinates of vertex 2 of the triangle. + A containing the 3D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains the 3D Cartesian coordinates of the specified point. + + + + Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle. + + A containing the 3D Cartesian coordinates of vertex 1 of the triangle. + A containing the 3D Cartesian coordinates of vertex 2 of the triangle. + A containing the 3D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 3D Cartesian coordinates of the specified point. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Calculates the cross product of two vectors. + + First source vector. + Second source vector. + When the method completes, contains he cross product of the two vectors. + + + + Calculates the cross product of two vectors. + + First source vector. + Second source vector. + The cross product of the two vectors. + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + The distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + The squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Tests whether one 3D vector is near another 3D vector. + + The left vector. + The right vector. + The epsilon. + true if left and right are near another 3D, false otherwise + + + + Tests whether one 3D vector is near another 3D vector. + + The left vector. + The right vector. + The epsilon. + true if left and right are near another 3D, false otherwise + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + When the method completes, contains the dot product of the two vectors. + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + The dot product of the two vectors. + + + + Converts the vector into a unit vector. + + The vector to normalize. + When the method completes, contains the normalized vector. + + + + Converts the vector into a unit vector. + + The vector to normalize. + The normalized vector. + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two vectors. + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two vectors. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + When the method completes, contains the result of the Hermite spline interpolation. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + The result of the Hermite spline interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + When the method completes, contains the result of the Catmull-Rom interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + A vector that is the result of the Catmull-Rom interpolation. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Projects a 3D vector from object space into screen space. + + The vector to project. + The X position of the viewport. + The Y position of the viewport. + The width of the viewport. + The height of the viewport. + The minimum depth of the viewport. + The maximum depth of the viewport. + The combined world-view-projection matrix. + When the method completes, contains the vector in screen space. + + + + Projects a 3D vector from object space into screen space. + + The vector to project. + The X position of the viewport. + The Y position of the viewport. + The width of the viewport. + The height of the viewport. + The minimum depth of the viewport. + The maximum depth of the viewport. + The combined world-view-projection matrix. + The vector in screen space. + + + + Projects a 3D vector from screen space into object space. + + The vector to project. + The X position of the viewport. + The Y position of the viewport. + The width of the viewport. + The height of the viewport. + The minimum depth of the viewport. + The maximum depth of the viewport. + The combined world-view-projection matrix. + When the method completes, contains the vector in object space. + + + + Projects a 3D vector from screen space into object space. + + The vector to project. + The X position of the viewport. + The Y position of the viewport. + The width of the viewport. + The height of the viewport. + The minimum depth of the viewport. + The maximum depth of the viewport. + The combined world-view-projection matrix. + The vector in object space. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + Normal of the surface. + When the method completes, contains the reflected vector. + Reflect only gives the direction of a reflection off a surface, it does not determine + whether the original vector was close enough to the surface to hit it. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + Normal of the surface. + The reflected vector. + Reflect only gives the direction of a reflection off a surface, it does not determine + whether the original vector was close enough to the surface to hit it. + + + + Orthogonalizes a list of vectors. + + The list of orthogonalized vectors. + The list of vectors to orthogonalize. + + Orthogonalization is the process of making all vectors orthogonal to each other. This + means that any given vector in the list will be orthogonal to any other given vector in the + list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Orthonormalizes a list of vectors. + + The list of orthonormalized vectors. + The list of vectors to orthonormalize. + + Orthonormalization is the process of making all vectors orthogonal to each + other and making all vectors of unit length. This means that any given vector will + be orthogonal to any other given vector in the list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 3D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + When the method completes, contains the transformed . + + + + Transforms a 3D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + The transformed . + + + + Transforms an array of vectors by the given rotation. + + The array of vectors to transform. + The rotation to apply. + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 3D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + + Transforms a 3D vector by the given . + + The source vector. + The transformation . + The transformed . + + + + Transforms an array of 3D vectors by the given . + + The array of vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + Thrown when or is null. + Thrown when is shorter in length than . + + + + Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + When the method completes, contains the transformed coordinates. + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + The transformed coordinates. + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a coordinate transformation on an array of vectors using the given . + + The array of coordinate vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + When the method completes, contains the transformed normal. + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + The transformed normal. + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Performs a normal transformation on an array of vectors using the given . + + The array of normal vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Modulates a vector with another by performing component-wise multiplication equivalent to . + + The first vector to multiply. + The second vector to multiply. + The multiplication of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets a value indicting whether this instance is normalized. + + + + + Gets or sets the component at the specified index. + + The value of the X, Y, or Z component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 2]. + + + + Represents a four dimensional mathematical vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0, 0, 0). + + + + + The Y unit (0, 1, 0, 0). + + + + + The Z unit (0, 0, 1, 0). + + + + + The W unit (0, 0, 0, 1). + + + + + A with all of its components set to one. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X, Y, and Z components. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X and Y components. + Initial value for the Z component of the vector. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Calculates the length of the vector. + + The length of the vector. + + may be preferred when only the relative length is needed + and speed is of the essence. + + + + + Calculates the squared length of the vector. + + The squared length of the vector. + + This method may be preferred to when only a relative length is needed + and speed is of the essence. + + + + + Converts the vector into a unit vector. + + + + + Creates an array containing the elements of the vector. + + A four-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle. + + A containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains the 4D Cartesian coordinates of the specified point. + + + + Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle. + + A containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 4D Cartesian coordinates of the specified point. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + The distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + The squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the dot product of two vectors. + + First source vector + Second source vector. + When the method completes, contains the dot product of the two vectors. + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + The dot product of the two vectors. + + + + Converts the vector into a unit vector. + + The vector to normalize. + When the method completes, contains the normalized vector. + + + + Converts the vector into a unit vector. + + The vector to normalize. + The normalized vector. + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two vectors. + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two vectors. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + When the method completes, contains the result of the Hermite spline interpolation. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + The result of the Hermite spline interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + When the method completes, contains the result of the Catmull-Rom interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + A vector that is the result of the Catmull-Rom interpolation. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Orthogonalizes a list of vectors. + + The list of orthogonalized vectors. + The list of vectors to orthogonalize. + + Orthogonalization is the process of making all vectors orthogonal to each other. This + means that any given vector in the list will be orthogonal to any other given vector in the + list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Orthonormalizes a list of vectors. + + The list of orthonormalized vectors. + The list of vectors to orthonormalize. + + Orthonormalization is the process of making all vectors orthogonal to each + other and making all vectors of unit length. This means that any given vector will + be orthogonal to any other given vector in the list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 4D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + When the method completes, contains the transformed . + + + + Transforms a 4D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + The transformed . + + + + Transforms an array of vectors by the given rotation. + + The array of vectors to transform. + The rotation to apply. + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 4D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + + Transforms a 4D vector by the given . + + The source vector. + The transformation . + The transformed . + + + + Transforms a 4D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + + Transforms a 4D vector by the given . + + The source vector. + The transformation . + The transformed . + + + + Transforms an array of 4D vectors by the given . + + The array of vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Modulates a vector with another by performing component-wise multiplication equivalent to . + + The first vector to multiply. + The second vector to multiply. + The multiplication of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets a value indicting whether this instance is normalized. + + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Internal FontFileEnumerator callback + + + + + Internal FontFileEnumerator Callback + + + + HRESULT ISequentialStream::Read([Out, Buffer] void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbRead) + + + HRESULT ISequentialStream::Write([In, Buffer] const void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbWritten) + + + + Callbacks to pointer. + + The stream. + + + + HRESULT IStream::Seek([In] LARGE_INTEGER dlibMove,[In] SHARPDX_SEEKORIGIN dwOrigin,[Out, Optional] ULARGE_INTEGER* plibNewPosition) + + + HRESULT IStream::SetSize([In] ULARGE_INTEGER libNewSize) + + + HRESULT IStream::CopyTo([In] IStream* pstm,[In] ULARGE_INTEGER cb,[Out, Optional] ULARGE_INTEGER* pcbRead,[Out, Optional] ULARGE_INTEGER* pcbWritten) + + + HRESULT IStream::Commit([In] STGC grfCommitFlags) + + + HRESULT IStream::Revert() + + + HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType) + + + HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType) + + + HRESULT IStream::Stat([Out] STATSTG* pstatstg,[In] STATFLAG grfStatFlag) + + + HRESULT IStream::Clone([Out] IStream** ppstm) + + + + Converts a win32 error code to a . + + The error code. + A HRESULT code + + + + Converts a win32 error code to a . + + The error code. + A HRESULT code + + + + Provides a hook to WndProc of an existing window handle using . + + + + + Initializes a new instance of the class. + + The HWND. + + + + Adds a message filter to a window. + + The handle of the window. + The message filter. + + + + Removes a message filter associated with a window. + + The handle of the window. + The message filter. + + + + The namespace contains common enumerations, structures and helper classes for Win32 low-level API. + + + + + Implementation of OLE IPropertyBag2. + + IPropertyBag2 + + + + Initializes a new instance of the class. + + The property bag pointer. + + + + Gets the value of the property with this name. + + The name. + Value of the property + + + + Gets the value of the property by using a + + The public type of this property. + The marshaling type of this property. + The property key. + Value of the property + + + + Sets the value of the property with this name + + The name. + The value. + + + + Sets the value of the property by using a + + The public type of this property. + The marshaling type of this property. + The property key. + The value. + + + + Gets the number of properties. + + + + + Gets the keys. + + + + + Identifies a typed property in a . + + The public type of this property. + The marshaling type of this property. + + + + Initializes a new instance of the class. + + The name. + + + + Gets the name. + + + + + An enumerator using internally a . + + + + + Initializes a new instance of the class. + + The PTR to I enum string. + + + + Security attributes. + + SECURITY_ATTRIBUTES + + + + Length. + + + + + Descriptor. + + + + + Gets or sets a value indicating whether [inherit handle]. + + + true if [inherit handle]; otherwise, false. + + + + + Variant COM. + + PROPVARIANT + + + + Gets the type of the element. + + + The type of the element. + + + + + Gets the type. + + + + + Gets or sets the value. + + + The value. + + + + + Type of a simple variant value. + + + + + Type of a variant + + + + + Simple value + + + + + Vector value. + + + + + Array value. + + + + + By reference. + + + + + Reserved value. + + + + + The namespace contains basic controls used to render DirectX content. + + + + + RenderLoop provides a rendering loop infrastructure. + + + + + Runs the specified main loop in the specified context. + + + + + Runs the specified main loop for the specified windows form. + + The form. + The rendering callback. + + + + Gets a value indicating whether this instance is application idle. + + + true if this instance is application idle; otherwise, false. + + + + + Gets or sets a value indicating whether the render loop should use a custom windows event handler (default false). + + + true if the render loop should use a custom windows event handler (default false); otherwise, false. + + + By default, RenderLoop is using to process windows event message. Set this parameter to true to use a custom event handler that could + lead to better performance. Note that using a custom windows event message handler is not compatible with or any other features + that are part of . + + + + + Delegate for the rendering loop. + + + + + ProxyNativeWindow, used only to detect if the original window is destroyed + + + + + Initializes a new instance of the class. + + + + + Private rendering loop + + + + + A Renderable UserControl. + + + + + Initializes a new instance of the class. + + + + + Paints the background of the control. + + A that contains the event data. + + + + Raises the event. + + A that contains the event data. + + + + Default Rendering Form. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The text. + + + + Raises the event. + + A that contains the event data. + + + + Raises the event. + + A that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Paints the background of the control. + + A that contains the event data. + + + + Raises the Pause Rendering event. + + The instance containing the event data. + + + + Raises the Resume Rendering event. + + The instance containing the event data. + + + + Raises the User resized event. + + The instance containing the event data. + + + + Raises the On App Activated event. + + The instance containing the event data. + + + + Raises the App Deactivated event + + The instance containing the event data. + + + + Raises the System Suspend event + + The instance containing the event data. + + + + Raises the System Resume event + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Override windows message loop handling. + + The Windows to process. + + + + Updates the screen. + + + + + Occurs when [app activated]. + + + + + Occurs when [app deactivated]. + + + + + Occurs when [monitor changed]. + + + + + Occurs when [pause rendering]. + + + + + Occurs when [resume rendering]. + + + + + Occurs when [screensaver]. + + + + + Occurs when [system resume]. + + + + + Occurs when [system suspend]. + + + + + Occurs when [user resized]. + + + + + Gets or sets a value indicating whether this form can be resized by the user. + + true if this form can be resized by the user (by default); otherwise, false. + +
+
diff --git a/packages/SharpDX.2.5.0/lib/net40/SharpDX.dll b/packages/SharpDX.2.5.0/lib/net40/SharpDX.dll new file mode 100644 index 00000000000..034b889b0ac Binary files /dev/null and b/packages/SharpDX.2.5.0/lib/net40/SharpDX.dll differ diff --git a/packages/SharpDX.2.5.0/lib/net40/SharpDX.xml b/packages/SharpDX.2.5.0/lib/net40/SharpDX.xml new file mode 100644 index 00000000000..3ca499c5ad7 --- /dev/null +++ b/packages/SharpDX.2.5.0/lib/net40/SharpDX.xml @@ -0,0 +1,46865 @@ + + + + SharpDX + + + + + Represents a unit independent angle using a single-precision floating-point + internal representation. + + + + + Implement this interface to serialize datas with . + + + + + Reads or writes datas from/to the given binary serializer. + + The binary serializer. + + + + A value that specifies the size of a single degree. + + + + + A value that specifies the size of a single minute. + + + + + A value that specifies the size of a single second. + + + + + A value that specifies the size of a single radian. + + + + + A value that specifies the size of a single milliradian. + + + + + A value that specifies the size of a single gradian. + + + + + The internal representation of the angle. + + + + + Initializes a new instance of the SharpDX.AngleSingle structure with the + given unit dependant angle and unit type. + + A unit dependant measure of the angle. + The type of unit the angle argument is. + + + + Initializes a new instance of the SharpDX.AngleSingle structure using the + arc length formula (θ = s/r). + + The measure of the arc. + The radius of the circle. + + + + Wraps this SharpDX.AngleSingle to be in the range [π, -π]. + + + + + Wraps this SharpDX.AngleSingle to be in the range [0, 2π). + + + + + Wraps the SharpDX.AngleSingle given in the value argument to be in the range [π, -π]. + + A SharpDX.AngleSingle to wrap. + The SharpDX.AngleSingle that is wrapped. + + + + Wraps the SharpDX.AngleSingle given in the value argument to be in the range [0, 2π). + + A SharpDX.AngleSingle to wrap. + The SharpDX.AngleSingle that is wrapped. + + + + Compares two SharpDX.AngleSingle instances and returns the smaller angle. + + The first SharpDX.AngleSingle instance to compare. + The second SharpDX.AngleSingle instance to compare. + The smaller of the two given SharpDX.AngleSingle instances. + + + + Compares two SharpDX.AngleSingle instances and returns the greater angle. + + The first SharpDX.AngleSingle instance to compare. + The second SharpDX.AngleSingle instance to compare. + The greater of the two given SharpDX.AngleSingle instances. + + + + Adds two SharpDX.AngleSingle objects and returns the result. + + The first object to add. + The second object to add. + The value of the two objects added together. + + + + Subtracts two SharpDX.AngleSingle objects and returns the result. + + The first object to subtract. + The second object to subtract. + The value of the two objects subtracted. + + + + Multiplies two SharpDX.AngleSingle objects and returns the result. + + The first object to multiply. + The second object to multiply. + The value of the two objects multiplied together. + + + + Divides two SharpDX.AngleSingle objects and returns the result. + + The numerator object. + The denominator object. + The value of the two objects divided. + + + + Returns a System.Boolean that indicates whether the values of two SharpDX.Angle + objects are equal. + + The first object to compare. + The second object to compare. + True if the left and right parameters have the same value; otherwise, false. + + + + Returns a System.Boolean that indicates whether the values of two SharpDX.Angle + objects are not equal. + + The first object to compare. + The second object to compare. + True if the left and right parameters do not have the same value; otherwise, false. + + + + Returns a System.Boolean that indicates whether a SharpDX.Angle + object is less than another SharpDX.AngleSingle object. + + The first object to compare. + The second object to compare. + True if left is less than right; otherwise, false. + + + + Returns a System.Boolean that indicates whether a SharpDX.Angle + object is greater than another SharpDX.AngleSingle object. + + The first object to compare. + The second object to compare. + True if left is greater than right; otherwise, false. + + + + Returns a System.Boolean that indicates whether a SharpDX.Angle + object is less than or equal to another SharpDX.AngleSingle object. + + The first object to compare. + The second object to compare. + True if left is less than or equal to right; otherwise, false. + + + + Returns a System.Boolean that indicates whether a SharpDX.Angle + object is greater than or equal to another SharpDX.AngleSingle object. + + The first object to compare. + The second object to compare. + True if left is greater than or equal to right; otherwise, false. + + + + Returns the value of the SharpDX.AngleSingle operand. (The sign of + the operand is unchanged.) + + A SharpDX.AngleSingle object. + The value of the value parameter. + + + + Returns the the negated value of the SharpDX.AngleSingle operand. + + A SharpDX.AngleSingle object. + The negated value of the value parameter. + + + + Adds two SharpDX.AngleSingle objects and returns the result. + + The first object to add. + The second object to add. + The value of the two objects added together. + + + + Subtracts two SharpDX.AngleSingle objects and returns the result. + + The first object to subtract + The second object to subtract. + The value of the two objects subtracted. + + + + Multiplies two SharpDX.AngleSingle objects and returns the result. + + The first object to multiply. + The second object to multiply. + The value of the two objects multiplied together. + + + + Divides two SharpDX.AngleSingle objects and returns the result. + + The numerator object. + The denominator object. + The value of the two objects divided. + + + + Compares this instance to a specified object and returns an integer that + indicates whether the value of this instance is less than, equal to, or greater + than the value of the specified object. + + The object to compare. + + A signed integer that indicates the relationship of the current instance + to the obj parameter. If the value is less than zero, the current instance + is less than the other. If the value is zero, the current instance is equal + to the other. If the value is greater than zero, the current instance is + greater than the other. + + + + + Compares this instance to a second SharpDX.AngleSingle and returns + an integer that indicates whether the value of this instance is less than, + equal to, or greater than the value of the specified object. + + The object to compare. + + A signed integer that indicates the relationship of the current instance + to the obj parameter. If the value is less than zero, the current instance + is less than the other. If the value is zero, the current instance is equal + to the other. If the value is greater than zero, the current instance is + greater than the other. + + + + + Returns a value that indicates whether the current instance and a specified + SharpDX.AngleSingle object have the same value. + + The object to compare. + + Returns true if this SharpDX.AngleSingle object and another have the same value; + otherwise, false. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this SharpDX.AngleSingle instance. + + A 32-bit signed integer hash code. + + + + Returns a value that indicates whether the current instance and a specified + object have the same value. + + The object to compare. + + Returns true if the obj parameter is a SharpDX.AngleSingle object or a type + capable of implicit conversion to a SharpDX.AngleSingle value, and + its value is equal to the value of the current SharpDX.Angle + object; otherwise, false. + + + + + + + + Gets or sets the total number of revolutions this SharpDX.AngleSingle represents. + + + + + Gets or sets the total number of degrees this SharpDX.AngleSingle represents. + + + + + Gets or sets the minutes component of the degrees this SharpDX.AngleSingle represents. + When setting the minutes, if the value is in the range (-60, 60) the whole degrees are + not changed; otherwise, the whole degrees may be changed. Fractional values may set + the seconds component. + + + + + Gets or sets the seconds of the degrees this SharpDX.AngleSingle represents. + When setting the seconds, if the value is in the range (-60, 60) the whole minutes + or whole degrees are not changed; otherwise, the whole minutes or whole degrees + may be changed. + + + + + Gets or sets the total number of radians this SharpDX.AngleSingle represents. + + + + + Gets or sets the total number of milliradians this SharpDX.AngleSingle represents. + One milliradian is equal to 1/(2000π). + + + + + Gets or sets the total number of gradians this SharpDX.AngleSingle represents. + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is a right angle (i.e. 90° or π/2). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is a straight angle (i.e. 180° or π). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is a full rotation angle (i.e. 360° or 2π). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is an oblique angle (i.e. is not 90° or a multiple of 90°). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is an acute angle (i.e. less than 90° but greater than 0°). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is an obtuse angle (i.e. greater than 90° but less than 180°). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is a reflex angle (i.e. greater than 180° but less than 360°). + + + + + Gets a SharpDX.AngleSingle instance that complements this angle (i.e. the two angles add to 90°). + + + + + Gets a SharpDX.AngleSingle instance that supplements this angle (i.e. the two angles add to 180°). + + + + + Gets a new SharpDX.AngleSingle instance that represents the zero angle (i.e. 0°). + + + + + Gets a new SharpDX.AngleSingle instance that represents the right angle (i.e. 90° or π/2). + + + + + Gets a new SharpDX.AngleSingle instance that represents the straight angle (i.e. 180° or π). + + + + + Gets a new SharpDX.AngleSingle instance that represents the full rotation angle (i.e. 360° or 2π). + + + + + A boolean value stored on 4 bytes (instead of 1 in .NET). + + + + + Initializes a new instance of the class. + + if set to true [bool value]. + + + + Indicates whether this instance and a specified object are equal. + + The other. + true if and this instance are the same type and represent the same value; otherwise, false. + + + + Implements the ==. + + The left. + The right. + The result of the operator. + + + + Implements the !=. + + The left. + The right. + The result of the operator. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + + + + Represents an axis-aligned bounding box in three dimensional space. + + + + + The minimum point of the box. + + + + + The maximum point of the box. + + + + + Initializes a new instance of the struct. + + The minimum vertex of the bounding box. + The maximum vertex of the bounding box. + + + + Retrieves the eight corners of the bounding box. + + An array of points representing the eight corners of the bounding box. + + + + Retrieves the eight corners of the bounding box. + + An array of points representing the eight corners of the bounding box. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines whether the current objects contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The box to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The box to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The sphere to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The sphere to test. + The type of containment the two objects have. + + + + Constructs a that fully contains the given points. + + The points that will be contained by the box. + When the method completes, contains the newly constructed bounding box. + Thrown when is null. + + + + Constructs a that fully contains the given points. + + The points that will be contained by the box. + The newly constructed bounding box. + Thrown when is null. + + + + Constructs a from a given sphere. + + The sphere that will designate the extents of the box. + When the method completes, contains the newly constructed bounding box. + + + + Constructs a from a given sphere. + + The sphere that will designate the extents of the box. + The newly constructed bounding box. + + + + Constructs a that is as large as the total combined area of the two specified boxes. + + The first box to merge. + The second box to merge. + When the method completes, contains the newly constructed bounding box. + + + + Constructs a that is as large as the total combined area of the two specified boxes. + + The first box to merge. + The second box to merge. + The newly constructed bounding box. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Defines a frustum which can be used in frustum culling, zoom to Extents (zoom to fit) operations, + (matrix, frustum, camera) interchange, and many kind of intersection testing. + + + + + Creates a new instance of BoundingFrustum. + + Combined matrix that usually takes view × projection matrix. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + + Returns one of the 6 planes related to this frustum. + + Plane index where 0 fro Left, 1 for Right, 2 for Top, 3 for Bottom, 4 for Near, 5 for Far + + + + + Creates a new frustum relaying on perspective camera parameters + + The camera pos. + The look dir. + Up dir. + The fov. + The znear. + The zfar. + The aspect. + The bounding frustum calculated from perspective camera + + + + Creates a new frustum relaying on perspective camera parameters + + The camera params. + The bounding frustum from camera params + + + + Returns the 8 corners of the frustum, element0 is Near1 (near right down corner) + , element1 is Near2 (near right top corner) + , element2 is Near3 (near Left top corner) + , element3 is Near4 (near Left down corner) + , element4 is Far1 (far right down corner) + , element5 is Far2 (far right top corner) + , element6 is Far3 (far left top corner) + , element7 is Far4 (far left down corner) + + The 8 corners of the frustum + + + + Returns the 8 corners of the frustum, element0 is Near1 (near right down corner) + , element1 is Near2 (near right top corner) + , element2 is Near3 (near Left top corner) + , element3 is Near4 (near Left down corner) + , element4 is Far1 (far right down corner) + , element5 is Far2 (far right top corner) + , element6 is Far3 (far left top corner) + , element7 is Far4 (far left down corner) + + The 8 corners of the frustum + + + + Extracts perspective camera parameters from the frustum, doesn't work with orthographic frustums. + + Perspective camera parameters from the frustum + + + + Checks whether a point lay inside, intersects or lay outside the frustum. + + The point. + Type of the containment + + + + Checks whether a point lay inside, intersects or lay outside the frustum. + + The point. + Type of the containment + + + + Checks whether a group of points lay totally inside the frustum (Contains), or lay partially inside the frustum (Intersects), or lay outside the frustum (Disjoint). + + The points. + Type of the containment + + + + Checks whether a group of points lay totally inside the frustum (Contains), or lay partially inside the frustum (Intersects), or lay outside the frustum (Disjoint). + + The points. + Type of the containment. + + + + Determines the intersection relationship between the frustum and a bounding box. + + The box. + Type of the containment + + + + Determines the intersection relationship between the frustum and a bounding box. + + The box. + Type of the containment + + + + Determines the intersection relationship between the frustum and a bounding box. + + The box. + Type of the containment. + + + + Determines the intersection relationship between the frustum and a bounding sphere. + + The sphere. + Type of the containment + + + + Determines the intersection relationship between the frustum and a bounding sphere. + + The sphere. + Type of the containment + + + + Determines the intersection relationship between the frustum and a bounding sphere. + + The sphere. + Type of the containment. + + + + Determines the intersection relationship between the frustum and another bounding frustum. + + The frustum. + Type of the containment + + + + Determines the intersection relationship between the frustum and another bounding frustum. + + The frustum. + Type of the containment + + + + Determines the intersection relationship between the frustum and another bounding frustum. + + The frustum. + Type of the containment. + + + + Checks whether the current BoundingFrustum intersects a BoundingSphere. + + The sphere. + Type of the containment + + + + Checks whether the current BoundingFrustum intersects a BoundingSphere. + + The sphere. + Set to true if the current BoundingFrustum intersects a BoundingSphere. + + + + Checks whether the current BoundingFrustum intersects a BoundingBox. + + The box. + true if the current BoundingFrustum intersects a BoundingSphere. + + + + Checks whether the current BoundingFrustum intersects a BoundingBox. + + The box. + true if the current BoundingFrustum intersects a BoundingSphere. + + + + Checks whether the current BoundingFrustum intersects the specified Plane. + + The plane. + Plane intersection type. + + + + Checks whether the current BoundingFrustum intersects the specified Plane. + + The plane. + Plane intersection type. + + + + Get the width of the frustum at specified depth. + + the depth at which to calculate frustum width. + With of the frustum at the specified depth + + + + Get the height of the frustum at specified depth. + + the depth at which to calculate frustum height. + Height of the frustum at the specified depth + + + + Checks whether the current BoundingFrustum intersects the specified Ray. + + The ray. + true if the current BoundingFrustum intersects the specified Ray. + + + + Checks whether the current BoundingFrustum intersects the specified Ray. + + The Ray to check for intersection with. + The distance at which the ray enters the frustum if there is an intersection and the ray starts outside the frustum. + The distance at which the ray exits the frustum if there is an intersection. + true if the current BoundingFrustum intersects the specified Ray. + + + + Get the distance which when added to camera position along the lookat direction will do the effect of zoom to extents (zoom to fit) operation, + so all the passed points will fit in the current view. + if the returned value is positive, the camera will move toward the lookat direction (ZoomIn). + if the returned value is negative, the camera will move in the reverse direction of the lookat direction (ZoomOut). + + The points. + The zoom to fit distance + + + + Get the distance which when added to camera position along the lookat direction will do the effect of zoom to extents (zoom to fit) operation, + so all the passed points will fit in the current view. + if the returned value is positive, the camera will move toward the lookat direction (ZoomIn). + if the returned value is negative, the camera will move in the reverse direction of the lookat direction (ZoomOut). + + The bounding box. + The zoom to fit distance + + + + Get the vector shift which when added to camera position will do the effect of zoom to extents (zoom to fit) operation, + so all the passed points will fit in the current view. + + The points. + The zoom to fit vector + + + + Get the vector shift which when added to camera position will do the effect of zoom to extents (zoom to fit) operation, + so all the passed points will fit in the current view. + + The bounding box. + The zoom to fit vector + + + + + + + Gets or sets the Matrix that describes this bounding frustum. + + + + + Gets the near plane of the BoundingFrustum. + + + + + Gets the far plane of the BoundingFrustum. + + + + + Gets the left plane of the BoundingFrustum. + + + + + Gets the right plane of the BoundingFrustum. + + + + + Gets the top plane of the BoundingFrustum. + + + + + Gets the bottom plane of the BoundingFrustum. + + + + + Indicate whether the current BoundingFrustrum is Orthographic. + + + true if the current BoundingFrustrum is Orthographic; otherwise, false. + + + + + Represents a bounding sphere in three dimensional space. + + + + + The center of the sphere in three dimensional space. + + + + + The radius of the sphere. + + + + + Initializes a new instance of the struct. + + The center of the sphere in three dimensional space. + The radius of the sphere. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines whether the current objects contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The box to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The sphere to test. + The type of containment the two objects have. + + + + Constructs a that fully contains the given points. + + The points that will be contained by the sphere. + The start index from points array to start compute the bounding sphere. + The count of points to process to compute the bounding sphere. + When the method completes, contains the newly constructed bounding sphere. + points + + start + or + count + + + + + Constructs a that fully contains the given points. + + The points that will be contained by the sphere. + When the method completes, contains the newly constructed bounding sphere. + + + + Constructs a that fully contains the given points. + + The points that will be contained by the sphere. + The newly constructed bounding sphere. + + + + Constructs a from a given box. + + The box that will designate the extents of the sphere. + When the method completes, the newly constructed bounding sphere. + + + + Constructs a from a given box. + + The box that will designate the extents of the sphere. + The newly constructed bounding sphere. + + + + Constructs a that is the as large as the total combined area of the two specified spheres. + + The first sphere to merge. + The second sphere to merge. + When the method completes, contains the newly constructed bounding sphere. + + + + Constructs a that is the as large as the total combined area of the two specified spheres. + + The first sphere to merge. + The second sphere to merge. + The newly constructed bounding sphere. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Callback base implementation of . + + + + + Base class for a class. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Occurs when this instance is starting to be disposed. + + + + + Occurs when this instance is fully disposed. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Use this interface to tag a class that is called by an unmanaged + object. A class must dispose the + on dispose. + + + + + Gets or sets the unmanaged shadow callback. + + The unmanaged shadow callback. + + This property is set whenever this instance has an unmanaged shadow callback + registered. This callback must be disposed when disposing this instance. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Provides for default value types. + + + + + A default for . + + + + + An observable collection. + + Type of a collection item + + + + Raised when an item is added to this instance. + + + + + + Raised when a item is removed from this instance. + + + + + + An event providing the item changed in a collection (inserted or removed). + + Type of a collection item + + + + Initializes a new instance of the class. + + The item from the collection. + + + + Gets the item from the collection that was inserted or removed. + + The collection item. + + + + A generic collection for effect framework. + + Type of the collection + + + + Adds the specified item. + + The item. + + + + Determines whether this collection contains an element with the specified name. + + The name. + true if [contains] an element with the specified name; otherwise, false. + + + + Gets the number of objects in the collection. + + + + Gets a specific element in the collection by using an index value. + Index of the EffectTechnique to get. + + + Gets a specific element in the collection by using a name. + Name of the EffectTechnique to get. + + + + Internal class used to initialize this assembly. + + + + + Initializes this assembly. + + + This method is called when the assembly is loaded. + + + + + OrientedBoundingBox (OBB) is a rectangular block, much like an AABB (BoundingBox) but with an arbitrary orientation. + + + + + Half lengths of the box along each axis. + + + + + The matrix which aligns and scales the box, and its translation vector represents the center of the box. + + + + + Creates an from a BoundingBox. + + The BoundingBox to create from. + + Initially, the OBB is axis-aligned box, but it can be rotated and transformed later. + + + + + Creates an which contained between two minimum and maximum points. + + The minimum vertex of the bounding box. + The maximum vertex of the bounding box. + + Initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later. + + + + + Creates an that fully contains the given points. + + The points that will be contained by the box. + + This method is not for computing the best tight-fitting OrientedBoundingBox. + And initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later. + + + + + Retrieves the eight corners of the bounding box. + + An array of points representing the eight corners of the bounding box. + + + + Transforms this box using a transformation matrix. + + The transformation matrix. + + While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which + scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy. + + + + + Transforms this box using a transformation matrix. + + The transformation matrix. + + While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which + scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy. + + + + + Scales the by scaling its Extents without affecting the Transformation matrix, + By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate. + + + + + + Scales the by scaling its Extents without affecting the Transformation matrix, + By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate. + + + + + + Scales the by scaling its Extents without affecting the Transformation matrix, + By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate. + + + + + + Translates the to a new position using a translation vector; + + the translation vector. + + + + Translates the to a new position using a translation vector; + + the translation vector. + + + + Returns the size of the taking into consideration the scaling applied to the transformation matrix. + + The size of the consideration + + This method is computationally expensive, so if no scale is applied to the transformation matrix + use property instead. + + + + + Returns the square size of the taking into consideration the scaling applied to the transformation matrix. + + The size of the consideration + + + + Determines whether a contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether a contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether a contains an array of points>. + + The points array to test. + The type of containment. + + + + Determines whether a contains a . + + The sphere to test. + Optimize the check operation by assuming that has no scaling applied + The type of containment the two objects have. + + This method is not designed for which has a non-uniform scaling applied to its transformation matrix. + But any type of scaling applied using Scale method will keep this method accurate. + + + + + Check the intersection between two + + The OrientedBoundingBoxs to test. + The type of containment the two objects have. + + For accuracy, The transformation matrix for both must not have any scaling applied to it. + Anyway, scaling using Scale method will keep this method accurate. + + + + + Check the intersection between an and a line defined by two points + + The first point in the line. + The second point in the line. + The type of containment the two objects have. + + For accuracy, The transformation matrix for the must not have any scaling applied to it. + Anyway, scaling using Scale method will keep this method accurate. + + + + + Check the intersection between an and + + The BoundingBox to test. + The type of containment the two objects have. + + For accuracy, The transformation matrix for the must not have any scaling applied to it. + Anyway, scaling using Scale method will keep this method accurate. + + + + + Determines whether there is an intersection between a and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + Whether the two objects intersected. + + + + Get the axis-aligned which contains all corners. + + The axis-aligned BoundingBox of this OrientedBoundingBox. + + + + Calculates the matrix required to transfer any point from one local coordinates to another. + + The source OrientedBoundingBox. + The target OrientedBoundingBox. + + If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox. + + + + + + Merge an OrientedBoundingBox B into another OrientedBoundingBox A, by expanding A to contain B and keeping A orientation. + + The to merge into it. + The to be merged + + If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox. + + + Unlike merging axis aligned boxes, The operation is not interchangeable, because it keeps A orientation and merge B into it. + + + + + Merge this OrientedBoundingBox into another OrientedBoundingBox, keeping the other OrientedBoundingBox orientation. + + The other to merge into. + + If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox. + + + + + Merge another OrientedBoundingBox into this OrientedBoundingBox. + + The other to merge into this OrientedBoundingBox. + + If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + + + + The size of the if no scaling is applied to the transformation matrix. + + + The property will return the actual size even if the scaling is applied using Scale method, + but if the scaling is applied to transformation matrix, use GetSize Function instead. + + + + + Returns the center of the . + + + + + Task utility for threading. + + + + + Runs the specified action in a thread. + + The action. + Name of the task. + + + + Defines the viewport dimensions using float coordinates for (X,Y,Width,Height). + + + + + Position of the pixel coordinate of the upper-left corner of the viewport. + + + + + Position of the pixel coordinate of the upper-left corner of the viewport. + + + + + Width dimension of the viewport. + + + + + Height dimension of the viewport. + + + + + Gets or sets the minimum depth of the clip volume. + + + + + Gets or sets the maximum depth of the clip volume. + + + + + Initializes a new instance of the struct. + + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + + + + Initializes a new instance of the struct. + + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + The minimum depth of the clip volume. + The maximum depth of the clip volume. + + + + Initializes a new instance of the struct. + + A bounding box that defines the location and size of the viewport in a render target. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified object is equal to this instance. + + The object to compare with this instance. + + true if the specified object is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Retrieves a string representation of this object. + + A that represents this instance. + + + + Projects a 3D vector from object space into screen space. + + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + Vector3. + + + + Converts a screen space point into a corresponding point in world space. + + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + Vector3. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Gets the size of this resource. + + The bounds. + + + + Gets the aspect ratio used by the viewport. + + The aspect ratio. + + + + Defines a type converter for . + + + + + Provides a base class for mathematical type converters. + + + + + Converts values to a string. + + Type of the value + The context. + The culture. + The values. + A string representing the values + + + + Converts a string to values. + + Type of the value + The context. + The culture. + The string value. + An array of value or null if strValue is not a string. + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + An that provides a format context. + A that represents the type you want to convert from. + + true if this converter can perform the conversion; otherwise, false. + + + + + Returns whether this converter can convert the object to the specified type, using the specified context. + + An that provides a format context. + A that represents the type you want to convert to. + + true if this converter can perform the conversion; otherwise, false. + + + + + Returns whether changing a value on this object requires a call to to create a new value, using the specified context. + + An that provides a format context. + + true if changing a property on this object requires a call to to create a new value; otherwise, false. + + + + + Gets a value indicating whether this object supports properties using the specified context. + + An that provides a format context. + + true because should be called to find the properties of this object. This method never returns false. + + + + + Gets a collection of properties for the type of object specified by the value parameter. + + An that provides a format context. + An that specifies the type of object to get the properties for. + An array of type that will be used as a filter. + + A with the properties that are exposed for the component, or null if there are no properties. + + + + + Gets or sets the collection of exposed properties. + + The collection of exposed properties. + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + A fast method to pass array of to SharpDX methods. + + + + + Initializes a new instance of the class. + + The array. + + + + Initializes a new instance of the class. + + The size. + + + + Gets an object at the specified index. + + The index. + A + + + + Sets an object at the specified index. + + The index. + The value. + + + + + + + Gets the pointer to the native array associated to this instance. + + + + + Gets the length. + + + + + A typed version of + + Type of the + + + + Initializes a new instance of the class. + + The array. + + + + Initializes a new instance of the class. + + The size. + + + + Gets or sets the with the specified i. + + + + + Generic class to hold a shader compilation results. + + Type of the class containing the generated bytecode. + + + + Initializes a new instance of the class. + + The bytecode. + Result code from compilation. + The message. + + + + + + + Gets the Shader bytecode. + + + + + Gets the result code from the compilation. + + + + + Gets a value indicating whether this instance has errors. + + + true if this instance has errors; otherwise, false. + + + + + Gets the message. + + + Message are warning or error messages. + + + + + Represents a four dimensional mathematical vector of bool (32 bits per bool value). + + + + + The size of the type, in bytes. + + + + + A with all of its components set to false. + + + + + The X unit (true, 0, 0, 0). + + + + + The Y unit (0, true, 0, 0). + + + + + The Z unit (0, 0, true, 0). + + + + + The W unit (0, 0, 0, true). + + + + + A with all of its components set to true. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Creates an array containing the elements of the vector. + + A four-element array containing the components of the vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Performs an implicit conversion from array to . + + The input. + The result of the conversion. + + + + Performs an implicit conversion from to array. + + The input. + The result of the conversion. + + + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + The assembly is the core assembly providing infrastructure for all managed DirectX API. + + + + + Represents a 32-bit color (4 bytes) in the form of RGBA (in byte order: R, G, B, A). + + + List of predefined . + + + + + The red component of the color. + + + + + The green component of the color. + + + + + The blue component of the color. + + + + + The alpha component of the color. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. Alpha is set to 255. + + The red component of the color. + The green component of the color. + The blue component of the color. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. Alpha is set to 255. + + The red component of the color. + The green component of the color. + The blue component of the color. + + + + Initializes a new instance of the struct. + + The red, green, blue, and alpha components of the color. + + + + Initializes a new instance of the struct. + + The red, green, and blue components of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. Alpha is set to 255. + + The red, green, and blue components of the color. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in RGBA order. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in RGBA order. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Initializes a new instance of the struct. + + The values to assign to the alpha, red, green, and blue components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a three component vector. + + A three component vector containing the red, green, and blue components of the color. + + + + Converts the color into a three component color. + + A three component color containing the red, green, and blue components of the color. + + + + Converts the color into a four component vector. + + A four component vector containing all four color components. + + + + Creates an array containing the elements of the color. + + A four-element array containing the components of the color in RGBA order. + + + + Gets the brightness. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Gets the hue. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Gets the saturation. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Adds two colors. + + The first color to add. + The second color to add. + When the method completes, completes the sum of the two colors. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + WHen the method completes, contains the difference of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract + The difference of the two colors. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + When the method completes, contains the modulated color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + When the method completes, contains the scaled color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + The scaled color. + + + + Negates a color. + + The color to negate. + When the method completes, contains the negated color. + + + + Negates a color. + + The color to negate. + The negated color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in BGRA order + A color. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in BGRA order + A color. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in RGBA order + A color. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in RGBA order + A color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two colors. + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the largest components of the source colors. + + + + Returns a color containing the largest components of the specified colorss. + + The first source color. + The second source color. + A color containing the largest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the smallest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + A color containing the smallest components of the source colors. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + When the method completes, contains the adjusted color. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + The adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + When the method completes, contains the adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + The adjusted color. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Assert a color (return it unchanged). + + The color to assert (unchanged). + The asserted (unchanged) color. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + The difference of the two colors. + + + + Negates a color. + + The color to negate. + A negated color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Convert this instance to a + + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel element (byte). + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel element (byte). + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Zero color. + + + + + Transparent color. + + + + + AliceBlue color. + + + + + AntiqueWhite color. + + + + + Aqua color. + + + + + Aquamarine color. + + + + + Azure color. + + + + + Beige color. + + + + + Bisque color. + + + + + Black color. + + + + + BlanchedAlmond color. + + + + + Blue color. + + + + + BlueViolet color. + + + + + Brown color. + + + + + BurlyWood color. + + + + + CadetBlue color. + + + + + Chartreuse color. + + + + + Chocolate color. + + + + + Coral color. + + + + + CornflowerBlue color. + + + + + Cornsilk color. + + + + + Crimson color. + + + + + Cyan color. + + + + + DarkBlue color. + + + + + DarkCyan color. + + + + + DarkGoldenrod color. + + + + + DarkGray color. + + + + + DarkGreen color. + + + + + DarkKhaki color. + + + + + DarkMagenta color. + + + + + DarkOliveGreen color. + + + + + DarkOrange color. + + + + + DarkOrchid color. + + + + + DarkRed color. + + + + + DarkSalmon color. + + + + + DarkSeaGreen color. + + + + + DarkSlateBlue color. + + + + + DarkSlateGray color. + + + + + DarkTurquoise color. + + + + + DarkViolet color. + + + + + DeepPink color. + + + + + DeepSkyBlue color. + + + + + DimGray color. + + + + + DodgerBlue color. + + + + + Firebrick color. + + + + + FloralWhite color. + + + + + ForestGreen color. + + + + + Fuchsia color. + + + + + Gainsboro color. + + + + + GhostWhite color. + + + + + Gold color. + + + + + Goldenrod color. + + + + + Gray color. + + + + + Green color. + + + + + GreenYellow color. + + + + + Honeydew color. + + + + + HotPink color. + + + + + IndianRed color. + + + + + Indigo color. + + + + + Ivory color. + + + + + Khaki color. + + + + + Lavender color. + + + + + LavenderBlush color. + + + + + LawnGreen color. + + + + + LemonChiffon color. + + + + + LightBlue color. + + + + + LightCoral color. + + + + + LightCyan color. + + + + + LightGoldenrodYellow color. + + + + + LightGray color. + + + + + LightGreen color. + + + + + LightPink color. + + + + + LightSalmon color. + + + + + LightSeaGreen color. + + + + + LightSkyBlue color. + + + + + LightSlateGray color. + + + + + LightSteelBlue color. + + + + + LightYellow color. + + + + + Lime color. + + + + + LimeGreen color. + + + + + Linen color. + + + + + Magenta color. + + + + + Maroon color. + + + + + MediumAquamarine color. + + + + + MediumBlue color. + + + + + MediumOrchid color. + + + + + MediumPurple color. + + + + + MediumSeaGreen color. + + + + + MediumSlateBlue color. + + + + + MediumSpringGreen color. + + + + + MediumTurquoise color. + + + + + MediumVioletRed color. + + + + + MidnightBlue color. + + + + + MintCream color. + + + + + MistyRose color. + + + + + Moccasin color. + + + + + NavajoWhite color. + + + + + Navy color. + + + + + OldLace color. + + + + + Olive color. + + + + + OliveDrab color. + + + + + Orange color. + + + + + OrangeRed color. + + + + + Orchid color. + + + + + PaleGoldenrod color. + + + + + PaleGreen color. + + + + + PaleTurquoise color. + + + + + PaleVioletRed color. + + + + + PapayaWhip color. + + + + + PeachPuff color. + + + + + Peru color. + + + + + Pink color. + + + + + Plum color. + + + + + PowderBlue color. + + + + + Purple color. + + + + + Red color. + + + + + RosyBrown color. + + + + + RoyalBlue color. + + + + + SaddleBrown color. + + + + + Salmon color. + + + + + SandyBrown color. + + + + + SeaGreen color. + + + + + SeaShell color. + + + + + Sienna color. + + + + + Silver color. + + + + + SkyBlue color. + + + + + SlateBlue color. + + + + + SlateGray color. + + + + + Snow color. + + + + + SpringGreen color. + + + + + SteelBlue color. + + + + + Tan color. + + + + + Teal color. + + + + + Thistle color. + + + + + Tomato color. + + + + + Turquoise color. + + + + + Violet color. + + + + + Wheat color. + + + + + White color. + + + + + WhiteSmoke color. + + + + + Yellow color. + + + + + YellowGreen color. + + + + + Gets or sets the component at the specified index. + + The value of the alpha, red, green, or blue component, depending on the index. + The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Represents a 32-bit color (4 bytes) in the form of BGRA (in byte order: B, G, B, A). + + + + + The blue component of the color. + + + + + The green component of the color. + + + + + The red component of the color. + + + + + The alpha component of the color. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + The red, green, blue, and alpha components of the color. + + + + Initializes a new instance of the struct. + + The red, green, and blue components of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in BGRA order. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in BGRA. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a three component vector. + + A three component vector containing the red, green, and blue components of the color. + + + + Converts the color into a three component color. + + A three component color containing the red, green, and blue components of the color. + + + + Converts the color into a four component vector. + + A four component vector containing all four color components. + + + + Creates an array containing the elements of the color. + + A four-element array containing the components of the color in BGRA order. + + + + Gets the brightness. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Gets the hue. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Gets the saturation. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in BGRA order + A color. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in BGRA order + A color. + + + + Converts the color from a packed RGBA integer. + + A packed integer containing all four color components in RGBA order + A color. + + + + Converts the color from a packed RGBA integer. + + A packed integer containing all four color components in RGBA order + A color. + + + + Adds two colors. + + The first color to add. + The second color to add. + When the method completes, completes the sum of the two colors. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + WHen the method completes, contains the difference of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract + The difference of the two colors. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + When the method completes, contains the modulated color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + When the method completes, contains the scaled color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + The scaled color. + + + + Negates a color. + + The color to negate. + When the method completes, contains the negated color. + + + + Negates a color. + + The color to negate. + The negated color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two colors. + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two colors. + + + + Returns a color containing the smallest components of the specified colorss. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the largest components of the source colorss. + + + + Returns a color containing the largest components of the specified colorss. + + The first source color. + The second source color. + A color containing the largest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the smallest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + A color containing the smallest components of the source colors. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + When the method completes, contains the adjusted color. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + The adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + When the method completes, contains the adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + The adjusted color. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Assert a color (return it unchanged). + + The color to assert (unchange). + The asserted (unchanged) color. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + The difference of the two colors. + + + + Negates a color. + + The color to negate. + A negated color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel (byte). + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel (byte). + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the component at the specified index. + + The value of the alpha, red, green, or blue component, depending on the index. + The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Defines a type converter for . + + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + Base interface for a component base. + + + + + Gets the name of this component. + + The name. + + + + A service registry is a that provides methods to register and unregister services. + + + + + Adds a service to this service provider. + + The type of service to add. + The instance of the service provider to add. + Service type cannot be null + Service is already registered + + + + Removes the object providing a specified service. + + The type of service. + + + + Occurs when a new service is added. + + + + + Occurs when when a service is removed. + + + + + Path utility methods. + + + + + Transform a path by replacing '/' by '\' and transforming relative '..' or current path '.' to an absolute path. See remarks. + + A path string + A normalized path. + + Unlike , this doesn't make a path absolute to the actual file system. + + + + + Specify the size used for encoding length for array while using a , just before an array is encoded. + + + + + Use variable length 7Bit Encoding that will output from 1 byte to 5 byte depending on the range of length value. + + + + + Output a length as a byte. The length must not be greater than 255. + + + + + Output a length as an ushort. The length must not be greater than 65535. + + + + + Output a length as an int. The length must not be greater than 2^31 - 1. + + + + + The namespace contains a serialization API. + + + + + Flags used when serializing a value with a . + + + + + Normal serialize (not dynamic, not nullable). + + + + + Serialize a value as a dynamic value (the output stream will contain a magic-code for each encoded object). + + + + + Serialize a value that can be null. + + + + + A singleton string is a string that has a unique instance in memory, See remarks for usage scenarios. + + + This class should mostly be used internally for performance reasons, in scenarios where equals/hashcode + could be invoked frequently, and the set of strings is limited. Internally, + string is using the method and also is precaching the hashcode of the string. + + + + + Initializes a new instance of the struct. + + The text. + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + A lightweight Component base class. + + + + + Occurs while this component is disposing and before it is disposed. + + + + + Gets or sets a value indicating whether the name of this instance is immutable. + + true if this instance is name immutable; otherwise, false. + + + + Initializes a new instance of the class with a mutable name. + + + + + Initializes a new instance of the class with an immutable name. + + The name. + + + + Gets the name of this component. + + The name. + + + + Gets or sets the tag associated to this object. + + The tag. + + + + Pointer to a native buffer with a specific size. + + + + + Gets an Empty Data Pointer. + + + + + Initializes a new instance of the struct. + + The pointer. + The size. + + + + Initializes a new instance of the struct. + + The pointer. + The size. + + + + Pointer to the buffer. + + + + + Size in bytes of the buffer. + + + + + Implements the ==. + + The left. + The right. + The result of the operator. + + + + Implements the !=. + + The left. + The right. + The result of the operator. + + + + The namespace contains design-time converters for all vectors structures. + + + + + The namespace contains classes to help to diagnostic of COM object lifecycles Dispose and Release methods. + + + + + The namespace contains enumerations and structures shared by , and assemblies. + + + + + A class to dispose instances and allocated unmanaged memory. + + + + + Disposes all object collected by this class and clear the list. The collector can still be used for collecting. + + + To completely dispose this instance and avoid further dispose, use method instead. + + + + + Disposes of object resources. + + If true, managed resources should be + disposed of in addition to unmanaged resources. + + + + Adds a object or a allocated using to the list of the objects to dispose. + + To dispose. + If toDispose argument is not IDisposable or a valid memory pointer allocated by + + + + Dispose a disposable object and set the reference to null. Removes this object from this instance.. + + Object to dispose. + + + + Removes a disposable object to the list of the objects to dispose. + + + To dispose. + + + + Gets the number of elements to dispose. + + The number of elements to dispose. + + + + Frustum camera parameters. + + + + + Position of the camera. + + + + + Looking at direction of the camera. + + + + + Up direction. + + + + + Field of view. + + + + + Z near distance. + + + + + Z far distance. + + + + + Aspect ratio. + + + + + Equality comparer using the identify of the object. + + Type of the parameter + + From http://stackoverflow.com/questions/8946790/how-to-use-an-objects-identity-as-key-for-dictionaryk-v. + + + + + Represents a three dimensional mathematical int vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0, 0). + + + + + The Y unit (0, 1, 0). + + + + + The Z unit (0, 0, 1). + + + + + A with all of its components set to one. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Creates an array containing the elements of the vector. + + A four-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Performs an implicit conversion from array to . + + The input. + The result of the conversion. + + + + Performs an implicit conversion from to array. + + The input. + The result of the conversion. + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + The namespace contains helper classes in replacement of some classes in useful under Windows 8 Metro. + + + + + This enumeration defines constants that indicate the role that the system has assigned to an audio endpoint device. + + dd370842 + ERole + ERole + + + + Games, system notification sounds, and voice commands + + + + + Music, movies, narration, and live music recording. + + + + + Voice communications (talking to another person). + + + + + The namespace contains common structures and helper classes for audio/video processing. + + + + + Use this attribute to specify the id of a dynamic type with . + + + + + Initializes a new instance of the class. + + The id to register as a dynamic type. + + + + Initializes a new instance of the class. + + The id to register as a dynamic type. + + + + Gets the id. + + The id. + + + + Exceptions thrown when an invalid chunk is decoded. + + + + + Initializes a new instance of the class with a specified error message. + + The chunk id. + The expected chunk id. + + + + Gets the chunk id. + + The chunk id. + + + + Gets the expected chunk id. + + The expected chunk id. + + + + Serializer action. + + The value to read or write. + The serializer. + + + + This class provides serialization methods for types implementing the . + + + BinarySerializer is a basic binary serializer with the following features: +
    +
  • 10x times faster and smaller than default System Serialization and Xml Serialization.
  • +
  • Supports for all primitive types, array/List<T>/Dictionary of primitive types, custom data via (struct or class) and array/List/Dictionary of custom data.
  • +
  • Optimized binary format, data serialized to the strict minimum.
  • +
  • Should be compatible with Win8/WinRT, Desktop.
  • +
  • Not reflection based serializer, but fully compile time serializer.
  • +
  • Format could be read back from C/C++.
  • + +
+
+
+ + + A disposable component base class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with an immutable name. + + The name. + + + + Releases unmanaged and - optionally - managed resources + + + + + Disposes of object resources. + + If true, managed resources should be + disposed of in addition to unmanaged resources. + + + + Adds a disposable object to the list of the objects to dispose. + + To dispose. + + + + Dispose a disposable object and set the reference to null. Removes this object from the ToDispose list. + + Object to dispose. + + + + Removes a disposable object to the list of the objects to dispose. + + + To dispose. + + + + Gets or sets the disposables. + + The disposables. + + + + Gets or sets a value indicating whether this instance is attached to a collector. + + + true if this instance is attached to a collector; otherwise, false. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Occurs when when Dispose is called. + + + + + Gets the reader and throws an exception if this serializer is in Write mode. + + The context object that requires a Reader. + A BinaryReader. + context + If this reader is not in read mode + + + + Initializes a new instance of the class. + + The stream to read or write to. + The read or write mode. + + + + Initializes a new instance of the class. + + The stream to read or write to. + The read or write mode. + Default encoding used for strings. This parameter can be overriden later using Encoding property. + + + + Gets a tag value with the specified key. + + The tag key. + A tag value associated to a key + + + + Determines whether a tag with a specified key is already stored. + + The key. + true if a tag with a specified key is already stored; otherwise, false. + + + + Removes a tag with the specified key. + + The key. + + + + Sets a tag value with the specified key. + + The key. + The value. + + + + + Register a dynamic serializer for a particular type implementing the interface and having the . + + Type of the element to serialize. + + + + Register a dynamic serializer for a particular type implementing the interface. + + Type of the element to serialize. + The id to use for serializing T. + + + + Register a dynamic array serializer for a particular type implementing the interface. + + Type of the element in the array. + The id to use for serializing T[]. + + + + Register a dynamic List<T> serializer for a particular type implementing the interface. + + Type of the element in the List<T>. + The id to use for serializing List<T>. + + + + Register a dynamic serializer using an external action. + + Type of the element to serialize. + The id to use for serializing T. + The serializer. + + + + Begin to serialize a a new chunk. + + The chunk id. + If the chuck to read is not the expecting chunk. + + A Chunk is an identifiable portion of data that will serialized. Chunk are useful to encapsulate a variable + data (and check for the presence of the chunk Id). Chunk are storing a 4 bytes identifier and the length of + the chunk before reading/writing actual data. + + + + + Ends a chunk. + + If there EndChunk is called without a previous BeginChunk. + If the size of data read from the chunk is different from chunk size. + + + + Deserialize a data from the underlying stream. + + Type of the data to load. + An instance of the loaded data. + + + + Serializes the specified value to the underlying stream. + + Type of the data to save. + The value to save. + + + + Flush the underlying + + + + + Serializes a dynamic value that can be nullable. + + Known type of the value to serialize. The known type is not the runtime type that will be actually serialized. + The value to serialize based on its runtime type. + + + + Serializes a dynamic value. + + Known type of the value to serialize. The known type is not the runtime type that will be actually serialized. + The value to serialize based on its runtime type. + Type of serialization, see . + + + + Serializes a static value implementing the interface. + + Type of the data to serialize. + The value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a static value implementing the interface. Unlike , + this method doesn't allocate a new instance when reading but use the reference value. + + Type of the data to serialize. + The value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes an enum value. + + Type of the enum to serialize. + The value to serialize + If type T is not an enum. + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes an array of primitives using serialization methods implemented by this instance for each item in the array. + + Type of the primitive data to serialize. + An array of primitive value to serialize + The serializer to user to serialize the T values. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes count elements in an array of primitives using serialization methods implemented by this instance for each item in the array. + + Type of the primitive data to serialize. + An array of primitive value to serialize + Count elements to serialize. See remarks. + The serializer to user to serialize the T values. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes an array of static values that are implementing the interface. + + Type of the data to serialize. + An array of value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes an array of static values that are implementing the interface. + + Type of the data to serialize. + An array of value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes count elements in an array of static values that are implementing the interface. + + Type of the data to serialize. + An array of value to serialize + Count elements to serialize. See remarks. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes an array of bytes. + + An array of bytes to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes an array of bytes. + + An array of bytes to serialize + Count elements to serialize. See remarks. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes a list of static values that are implementing the interface. + + Type of the data to serialize. + A list of value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a list of static values that are implementing the interface. + + Type of the data to serialize. + A list of value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a list of primitive values using a specific serializer method from this instance. + + Type of the data to serialize. + A list of value to serialize + A method of this instance to serialize the primitive T type + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes count elements from a list of static values that are implementing the interface. + + Type of the data to serialize. + A list of value to serialize + Count elements to serialize. See remarks. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes count elements from a list of primitive values using a specific serializer method from this instance. + + Type of the data to serialize. + A list of value to serialize + A method of this instance to serialize the primitive T type + Count elements to serialize. See remarks. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes a dictionary of key/values that are both implementing the interface. + + Type of key to serialize. + Type of value to serialize. + A dictionary to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a dictionary of key/values. + + Type of key to serialize that is implementing the interface. + Type of primitive value with its associated serializer. + A dictionary to serialize + Serializer used for the TValue. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a dictionary of key/values. + + Type of primitive value with its associated serializer. + Type of value to serialize that is implementing the interface. + A dictionary to serialize + Serializer used for the TKey. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a dictionary of key/values. + + Type of primitive key with its associated serializer. + Type of primitive value with its associated serializer. + A dictionary to serialize + Serializer used for the TKey. + Serializer used for the TValue. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single string value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + This string is serialized with the current set on this instance. + + + + + Serializes a single string value. + + The value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + This string is serialized with the current set on this instance. + + + + + Serializes a single string value. + + The value to serialize + Write a null byte at the end of the string. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + This string is serialized with the current set on this instance. + + + + + Serializes a single fixed length string value. + + The value to serialize + Read/write a specific number of characters. + + Note that depending on the serialization , this method reads or writes the value. + This string is serialized with the current set on this instance. + + + + + Serializes a single boolean value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single byte value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single sbyte value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single short value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single ushort value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single int value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single int as a packed value (from 1 byte to 5 byte. if value < 128, then 1 byte...etc.) + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a memory region. + + The pointer to an unmanaged memory region. For read operation, this pointer must be allocated by the caller. + If the end of stream was reached before reading all the bytes. + Note that depending on the serialization , this method reads or writes the value. + This method doesn't serialize the sizeInBytes of the region, so the size must be serialized separately. + + + + + Serializes a memory region. + + The data pointer. For read operation, this pointer must be allocated by the caller. + The size in bytes. See remarks. + If the end of stream was reached before reading all the bytes. + Note that depending on the serialization , this method reads or writes the value. + This method doesn't serialize the sizeInBytes of the region, so the size must be serialized separately. + + + + + Serializes a single uint value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single long value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single ulong value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single char value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single float value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single double value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single DateTime value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single Guid value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Underlying stream this instance is reading/writing to. + + + + + Reader used to directly read from the underlying stream. + + + + + Writer used to directly write to the underlying stream. + + + + + Gets or sets the serialization mode. + + The serialization mode. + + + + Gets or sets the encoding used to serialized strings. + + The encoding. + When setting a null encoding + + + + Enables to serialize an object only once using object reference. Default is false. + + true if [allow null]; otherwise, false. + If an invalid matching pair of true/false is detected. + + + + Serialization mode used by . + + + + + Reads the data from the stream. + + + + + Writes the data to the stream. + + + + + Shadow attribute used to associate a COM callbackable interface to its Shadow implementation. + + + + + Initializes a new instance of class. + + Type of the associated shadow + + + + Get ShadowAttribute from type. + + Type to get shadow attribute + The associated shadow attribute or null if no shadow attribute were found + + + + Gets the value. + + + + + Represents a 4x4 mathematical Matrix5x4. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The identity . + + + + + Value at row 1 column 1 of the Matrix5x4. + + + + + Value at row 1 column 2 of the Matrix5x4. + + + + + Value at row 1 column 3 of the Matrix5x4. + + + + + Value at row 1 column 4 of the Matrix5x4. + + + + + Value at row 2 column 1 of the Matrix5x4. + + + + + Value at row 2 column 2 of the Matrix5x4. + + + + + Value at row 2 column 3 of the Matrix5x4. + + + + + Value at row 2 column 4 of the Matrix5x4. + + + + + Value at row 3 column 1 of the Matrix5x4. + + + + + Value at row 3 column 2 of the Matrix5x4. + + + + + Value at row 3 column 3 of the Matrix5x4. + + + + + Value at row 3 column 4 of the Matrix5x4. + + + + + Value at row 4 column 1 of the Matrix5x4. + + + + + Value at row 4 column 2 of the Matrix5x4. + + + + + Value at row 4 column 3 of the Matrix5x4. + + + + + Value at row 4 column 4 of the Matrix5x4. + + + + + Value at row 5 column 1 of the Matrix5x4. + + + + + Value at row 5 column 2 of the Matrix5x4. + + + + + Value at row 5 column 3 of the Matrix5x4. + + + + + Value at row 5 column 4 of the Matrix5x4. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value to assign at row 1 column 1 of the Matrix5x4. + The value to assign at row 1 column 2 of the Matrix5x4. + The value to assign at row 1 column 3 of the Matrix5x4. + The value to assign at row 1 column 4 of the Matrix5x4. + The value to assign at row 2 column 1 of the Matrix5x4. + The value to assign at row 2 column 2 of the Matrix5x4. + The value to assign at row 2 column 3 of the Matrix5x4. + The value to assign at row 2 column 4 of the Matrix5x4. + The value to assign at row 3 column 1 of the Matrix5x4. + The value to assign at row 3 column 2 of the Matrix5x4. + The value to assign at row 3 column 3 of the Matrix5x4. + The value to assign at row 3 column 4 of the Matrix5x4. + The value to assign at row 4 column 1 of the Matrix5x4. + The value to assign at row 4 column 2 of the Matrix5x4. + The value to assign at row 4 column 3 of the Matrix5x4. + The value to assign at row 4 column 4 of the Matrix5x4. + The value to assign at row 5 column 1 of the Matrix5x4. + The value to assign at row 5 column 2 of the Matrix5x4. + The value to assign at row 5 column 3 of the Matrix5x4. + The value to assign at row 5 column 4 of the Matrix5x4. + + + + Initializes a new instance of the struct. + + The values to assign to the components of the Matrix5x4. This must be an array with sixteen elements. + Thrown when is null. + Thrown when contains more or less than sixteen elements. + + + + Determines the sum of two matrices. + + The first Matrix5x4 to add. + The second Matrix5x4 to add. + When the method completes, contains the sum of the two matrices. + + + + Determines the sum of two matrices. + + The first Matrix5x4 to add. + The second Matrix5x4 to add. + The sum of the two matrices. + + + + Determines the difference between two matrices. + + The first Matrix5x4 to subtract. + The second Matrix5x4 to subtract. + When the method completes, contains the difference between the two matrices. + + + + Determines the difference between two matrices. + + The first Matrix5x4 to subtract. + The second Matrix5x4 to subtract. + The difference between the two matrices. + + + + Scales a Matrix5x4 by the given value. + + The Matrix5x4 to scale. + The amount by which to scale. + When the method completes, contains the scaled Matrix5x4. + + + + Scales a Matrix5x4 by the given value. + + The Matrix5x4 to scale. + The amount by which to scale. + When the method completes, contains the scaled Matrix5x4. + + + + Negates a Matrix5x4. + + The Matrix5x4 to be negated. + When the method completes, contains the negated Matrix5x4. + + + + Negates a Matrix5x4. + + The Matrix5x4 to be negated. + The negated Matrix5x4. + + + + Performs a linear interpolation between two matrices. + + Start Matrix5x4. + End Matrix5x4. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two matrices. + + Start Matrix5x4. + End Matrix5x4. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two matrices. + + Start Matrix5x4. + End Matrix5x4. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two matrices. + + + + Performs a cubic interpolation between two matrices. + + Start Matrix5x4. + End Matrix5x4. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two matrices. + + + + Creates a Matrix5x4 that scales along the x-axis, y-axis, y-axis and w-axis + + Scaling factor for all three axes. + When the method completes, contains the created scaling Matrix5x4. + + + + Creates a Matrix5x4 that scales along the x-axis, y-axis, and y-axis. + + Scaling factor for all three axes. + The created scaling Matrix5x4. + + + + Creates a Matrix5x4 that scales along the x-axis, y-axis, z-axis and w-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Scaling factor that is applied along the z-axis. + Scaling factor that is applied along the w-axis. + When the method completes, contains the created scaling Matrix5x4. + + + + Creates a Matrix5x4 that scales along the x-axis, y-axis, z-axis and w-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Scaling factor that is applied along the z-axis. + Scaling factor that is applied along the w-axis. + The created scaling Matrix5x4. + + + + Creates a Matrix5x4 that uniformly scales along all three axis. + + The uniform scale that is applied along all axis. + When the method completes, contains the created scaling Matrix5x4. + + + + Creates a Matrix5x4 that uniformly scales along all three axis. + + The uniform scale that is applied along all axis. + The created scaling Matrix5x4. + + + + Creates a translation Matrix5x4 using the specified offsets. + + The offset for all three coordinate planes. + When the method completes, contains the created translation Matrix5x4. + + + + Creates a translation Matrix5x4 using the specified offsets. + + The offset for all three coordinate planes. + The created translation Matrix5x4. + + + + Creates a translation Matrix5x4 using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + Z-coordinate offset. + W-coordinate offset. + When the method completes, contains the created translation Matrix5x4. + + + + Creates a translation Matrix5x4 using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + Z-coordinate offset. + W-coordinate offset. + The created translation Matrix5x4. + + + + Adds two matrices. + + The first Matrix5x4 to add. + The second Matrix5x4 to add. + The sum of the two matrices. + + + + Assert a Matrix5x4 (return it unchanged). + + The Matrix5x4 to assert (unchanged). + The asserted (unchanged) Matrix5x4. + + + + Subtracts two matrices. + + The first Matrix5x4 to subtract. + The second Matrix5x4 to subtract. + The difference between the two matrices. + + + + Negates a Matrix5x4. + + The Matrix5x4 to negate. + The negated Matrix5x4. + + + + Scales a Matrix5x4 by a given value. + + The Matrix5x4 to scale. + The amount by which to scale. + The scaled Matrix5x4. + + + + Scales a Matrix5x4 by a given value. + + The Matrix5x4 to scale. + The amount by which to scale. + The scaled Matrix5x4. + + + + Scales a Matrix5x4 by a given value. + + The Matrix5x4 to scale. + The amount by which to scale. + The scaled Matrix5x4. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the first row in the Matrix5x4; that is M11, M12, M13, and M14. + + + + + Gets or sets the second row in the Matrix5x4; that is M21, M22, M23, and M24. + + + + + Gets or sets the third row in the Matrix5x4; that is M31, M32, M33, and M34. + + + + + Gets or sets the fourth row in the Matrix5x4; that is M41, M42, M43, and M44. + + + + + Gets or sets the fifth row in the Matrix5x4; that is M51, M52, M53, and M54. + + + + + Gets or sets the translation of the Matrix5x4; that is M41, M42, and M43. + + + + + Gets or sets the scale of the Matrix5x4; that is M11, M22, and M33. + + + + + Gets a value indicating whether this instance is an identity Matrix5x4. + + + true if this instance is an identity Matrix5x4; otherwise, false. + + + + + Gets or sets the component at the specified index. + + The value of the Matrix5x4 component, depending on the index. + The zero-based index of the component to access. + The value of the component at the specified index. + Thrown when the is out of the range [0, 15]. + + + + Gets or sets the component at the specified index. + + The value of the Matrix5x4 component, depending on the index. + The row of the Matrix5x4 to access. + The column of the Matrix5x4 to access. + The value of the component at the specified index. + Thrown when the or is out of the range [0, 3]. + + + + Descriptor used to provide detailed message for a particular . + + + + + Initializes a new instance of the class. + + The HRESULT error code. + The module (ex: SharpDX.Direct2D1). + The API code (ex: D2D1_ERR_...). + The description of the result code if any. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Performs an implicit conversion from to . + + The result. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Registers a provider. + + Type of the descriptors provider. + + Providers are usually registered at module init when SharpDX assemblies are loaded. + + + + + Finds the specified result descriptor. + + The result code. + A descriptor for the specified result + + + + Gets the result. + + + + + Gets the HRESULT error code. + + The HRESULT error code. + + + + Gets the module (ex: SharpDX.Direct2D1) + + + + + Gets the native API code (ex: D2D1_ERR_ ...) + + + + + Gets the API code (ex: DemiceRemoved ...) + + + + + Gets the description of the result code if any. + + + + + Structure using the same layout than . + + + + + Initializes a new instance of the struct. + + The x. + The y. + + + + Width. + + + + + Height. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + + + + + Structure using the same layout than . + + + + + Initializes a new instance of the struct. + + The x. + The y. + + + + Width. + + + + + Height. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + + + + + Structure using the same layout than . + + + + + Initializes a new instance of the struct. + + The x. + The y. + + + + Left coordinate. + + + + + Top coordinate. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + + + + Helper class for PIX. + + + + + Marks the beginning of a user-defined event. PIX can use this event to trigger an action. + + The Event color. + The Event Name. + The zero-based level of the hierarchy that this event is starting in. If an error occurs, the return value will be negative. + D3DPERF_BeginEvent + + + + Marks the beginning of a user-defined event. PIX can use this event to trigger an action. + + The Event color. + The Event formatted Name. + The parameters to use for the formatted name. + + The zero-based level of the hierarchy that this event is starting in. If an error occurs, the return value will be negative. + + D3DPERF_BeginEvent + + + + Mark the end of a user-defined event. PIX can use this event to trigger an action. + + The level of the hierarchy in which the event is ending. If an error occurs, this value is negative. + D3DPERF_EndEvent + + + + Mark an instantaneous event. PIX can use this event to trigger an action. + + The color. + The name. + D3DPERF_SetMarker + + + + Mark an instantaneous event. PIX can use this event to trigger an action. + + The color. + The name to format. + The parameters to use to format the name. + D3DPERF_SetMarker + + + + Set this to false to notify PIX that the target program does not give permission to be profiled. + + if set to true PIX profiling is authorized. Default to true. + D3DPERF_SetOptions + + + + Gets a value indicating whether this instance is currently profiled by PIX. + + + true if this instance is currently profiled; otherwise, false. + + D3DPERF_GetStatus + + + + Windows File Helper. + + + + + Checks if the specified file path exists. + + The file path. + true if the specified file path exists, false otherwise + + + + Opens a binary file, reads the contents of the file into a byte array, and then closes the file. + + The file to open for reading. + A byte array containing the contents of the file. + + + + Opens a text file, reads all lines of the file, and then closes the file. + + The file to open for reading. + A string containing all lines of the file. + + + + Opens a text file, reads all lines of the file, and then closes the file. + + The file to open for reading. + The encoding. + The sharing. + A string containing all lines of the file. + + + + Gets the last write time access for the specified path. + + The path. + The last write time access + + + + Reads to a file. + + The file handle. + The buffer. + The number of bytes to read. + The number of bytes read. + The overlapped. + A Result + ReadFile + + + + Writes to a file. + + The file handle. + The buffer. + The number of bytes to read. + The number of bytes read. + The overlapped. + A Result + WriteFile + + + + Sets the file pointer. + + The handle. + The distance to move. + The distance to move high. + The seek origin. + + SetFilePointerEx + + + + Sets the end of file. + + The handle. + + SetEndOfFile + + + + Creates the file. + + Name of the file. + The desired access. + The share mode. + The security attributes. + The creation disposition. + The flags and attributes. + The template file. + A handle to the created file. IntPtr.Zero if failed. + CreateFile + + + + Gets the size of the file. + + The handle. + Size of the file. + + GetFileSizeEx + + + + Windows File Helper. + + + + + Initializes a new instance of the class. + + Name of the file. + The file mode. + The access mode. + The share mode. + + + + + + + + + + + + + + + + Reads a block of bytes from the stream and writes the data in a given buffer. + + When this method returns, contains the specified buffer with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. + The byte offset in array at which the read bytes will be placed. + The maximum number of bytes to read. + array is null. + The total number of bytes read into the buffer. This might be less than the number of bytes requested if that number of bytes are not currently available, or zero if the end of the stream is reached. + + + + + + + Writes a block of bytes to this stream using data from a buffer. + + The buffer containing data to write to the stream. + The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + + + + + + + + + + + + + + + + + + Native File access flags. + + + + + Read access. + + + + + Write access. + + + + + Read/Write Access, + + + + + Execute access. + + + + + All access + + + + + Native file attributes. + + + + + None attribute. + + + + + Read only attribute. + + + + + Hidden attribute. + + + + + System attribute. + + + + + Directory attribute. + + + + + Archive attribute. + + + + + Device attribute. + + + + + Normal attribute. + + + + + Temporary attribute. + + + + + Sparse file attribute. + + + + + ReparsePoint attribute. + + + + + Compressed attribute. + + + + + Offline attribute. + + + + + Not content indexed attribute. + + + + + Encrypted attribute. + + + + + Write through attribute. + + + + + Overlapped attribute. + + + + + No buffering attribute. + + + + + Random access attribute. + + + + + Sequential scan attribute. + + + + + Delete on close attribute. + + + + + Backup semantics attribute. + + + + + Post semantics attribute. + + + + + Open reparse point attribute. + + + + + Open no recall attribute. + + + + + First pipe instance attribute. + + + + + Native file creation disposition. + + + + + Creates a new file. The function fails if a specified file exists. + + + + + Creates a new file, always. + If a file exists, the function overwrites the file, clears the existing attributes, combines the specified file attributes, + and flags with FILE_ATTRIBUTE_ARCHIVE, but does not set the security descriptor that the SECURITY_ATTRIBUTES structure specifies. + + + + + Opens a file. The function fails if the file does not exist. + + + + + Opens a file, always. + If a file does not exist, the function creates a file as if dwCreationDisposition is CREATE_NEW. + + + + + Opens a file and truncates it so that its size is 0 (zero) bytes. The function fails if the file does not exist. + The calling process must open the file with the GENERIC_WRITE access right. + + + + + Native file share. + + + + + None flag. + + + + + Enables subsequent open operations on an object to request read access. + Otherwise, other processes cannot open the object if they request read access. + If this flag is not specified, but the object has been opened for read access, the function fails. + + + + + Enables subsequent open operations on an object to request write access. + Otherwise, other processes cannot open the object if they request write access. + If this flag is not specified, but the object has been opened for write access, the function fails. + + + + + Read and Write flags. + + + + + Enables subsequent open operations on an object to request delete access. + Otherwise, other processes cannot open the object if they request delete access. + If this flag is not specified, but the object has been opened for delete access, the function fails. + + + + + Direct2D Matrix3x2. Supports implicit cast from . + + + + + Gets the identity matrix. + + The identity matrix. + + + + Element (1,1) + + + + + Element (1,2) + + + + + Element (2,1) + + + + + Element (2,2) + + + + + Element (3,1) + + + + + Element (3,2) + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value to assign at row 1 column 1 of the matrix. + The value to assign at row 1 column 2 of the matrix. + The value to assign at row 2 column 1 of the matrix. + The value to assign at row 2 column 2 of the matrix. + The value to assign at row 3 column 1 of the matrix. + The value to assign at row 3 column 2 of the matrix. + + + + Initializes a new instance of the struct. + + The values to assign to the components of the matrix. This must be an array with six elements. + Thrown when is null. + Thrown when contains more or less than six elements. + + + + Creates an array containing the elements of the matrix. + + A sixteen-element array containing the components of the matrix. + + + + Determines the sum of two matrices. + + The first matrix to add. + The second matrix to add. + When the method completes, contains the sum of the two matrices. + + + + Determines the sum of two matrices. + + The first matrix to add. + The second matrix to add. + The sum of the two matrices. + + + + Determines the difference between two matrices. + + The first matrix to subtract. + The second matrix to subtract. + When the method completes, contains the difference between the two matrices. + + + + Determines the difference between two matrices. + + The first matrix to subtract. + The second matrix to subtract. + The difference between the two matrices. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + When the method completes, contains the scaled matrix. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Determines the product of two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Determines the product of two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + When the method completes, contains the scaled matrix. + + + + Determines the quotient of two matrices. + + The first matrix to divide. + The second matrix to divide. + When the method completes, contains the quotient of the two matrices. + + + + Negates a matrix. + + The matrix to be negated. + When the method completes, contains the negated matrix. + + + + Negates a matrix. + + The matrix to be negated. + The negated matrix. + + + + Performs a linear interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two matrices. + + + + Performs a cubic interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two matrices. + + + + Creates a matrix that scales along the x-axis and y-axis. + + Scaling factor for both axes. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that scales along the x-axis and y-axis. + + Scaling factor for both axes. + The created scaling matrix. + + + + Creates a matrix that scales along the x-axis and y-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that scales along the x-axis and y-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + The created scaling matrix. + + + + Creates a matrix that uniformly scales along both axes. + + The uniform scale that is applied along both axes. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that uniformly scales along both axes. + + The uniform scale that is applied along both axes. + The created scaling matrix. + + + + Creates a matrix that is scaling from a specified center. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + The center of the scaling. + The created scaling matrix. + + + + Creates a matrix that is scaling from a specified center. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + The center of the scaling. + The created scaling matrix. + + + + Calculates the determinant of this matrix. + + Result of the determinant. + + + + Creates a matrix that rotates. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + The created rotation matrix. + + + + Creates a matrix that rotates about a specified center. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + The center of the rotation. + The created rotation matrix. + + + + Creates a matrix that rotates about a specified center. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + The center of the rotation. + When the method completes, contains the created rotation matrix. + + + + Creates a transformation matrix. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + X-coordinate offset. + Y-coordinate offset. + When the method completes, contains the created transformation matrix. + + + + Creates a transformation matrix. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Angle of rotation in radians. + X-coordinate offset. + Y-coordinate offset. + The created transformation matrix. + + + + Creates a translation matrix using the specified offsets. + + The offset for both coordinate planes. + When the method completes, contains the created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + The offset for both coordinate planes. + The created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + When the method completes, contains the created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + The created translation matrix. + + + + Transforms a vector by this matrix. + + The matrix to use as a transformation matrix. + The original vector to apply the transformation. + The result of the transformation for the input vector. + + + + Transforms a vector by this matrix. + + The matrix to use as a transformation matrix. + The original vector to apply the transformation. + The result of the transformation for the input vector. + + + + + Calculates the inverse of this matrix instance. + + + + + Calculates the inverse of the specified matrix. + + The matrix whose inverse is to be calculated. + the inverse of the specified matrix. + + + + Calculates the inverse of the specified matrix. + + The matrix whose inverse is to be calculated. + When the method completes, contains the inverse of the specified matrix. + + + + Adds two matrices. + + The first matrix to add. + The second matrix to add. + The sum of the two matrices. + + + + Assert a matrix (return it unchanged). + + The matrix to assert (unchanged). + The asserted (unchanged) matrix. + + + + Subtracts two matrices. + + The first matrix to subtract. + The second matrix to subtract. + The difference between the two matrices. + + + + Negates a matrix. + + The matrix to negate. + The negated matrix. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Multiplies two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Divides two matrices. + + The first matrix to divide. + The second matrix to divide. + The quotient of the two matrices. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Performs an implicit conversion from to . + + The matrix. + The result of the conversion. + + + + Gets or sets the first row in the matrix; that is M11 and M12. + + + + + Gets or sets the second row in the matrix; that is M21 and M22. + + + + + Gets or sets the third row in the matrix; that is M31 and M32. + + + + + Gets or sets the first column in the matrix; that is M11, M21, and M31. + + + + + Gets or sets the second column in the matrix; that is M12, M22, and M32. + + + + + Gets or sets the translation of the matrix; that is M31 and M32. + + + + + Gets or sets the scale of the matrix; that is M11 and M22. + + + + + Gets a value indicating whether this instance is an identity matrix. + + + true if this instance is an identity matrix; otherwise, false. + + + + + Gets or sets the component at the specified index. + + The value of the matrix component, depending on the index. + The zero-based index of the component to access. + The value of the component at the specified index. + Thrown when the is out of the range [0, 5]. + + + + Gets or sets the component at the specified index. + + The value of the matrix component, depending on the index. + The row of the matrix to access. + The column of the matrix to access. + The value of the component at the specified index. + Thrown when the or is out of the range [0, 3]. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + The ShadowContainer is the main container used internally to keep references to all native COM/C++ callbacks. + It is stored in the property . + + + + + Contains static methods to help in determining intersections, containment, etc. + + + + + Determines the closest point between a point and a triangle. + + The point to test. + The first vertex to test. + The second vertex to test. + The third vertex to test. + When the method completes, contains the closest point between the two objects. + + + + Determines the closest point between a and a point. + + The plane to test. + The point to test. + When the method completes, contains the closest point between the two objects. + + + + Determines the closest point between a and a point. + + The box to test. + The point to test. + When the method completes, contains the closest point between the two objects. + + + + Determines the closest point between a and a point. + + + The point to test. + When the method completes, contains the closest point between the two objects; + or, if the point is directly in the center of the sphere, contains . + + + + Determines the closest point between a and a . + + The first sphere to test. + The second sphere to test. + When the method completes, contains the closest point between the two objects; + or, if the point is directly in the center of the sphere, contains . + + If the two spheres are overlapping, but not directly on top of each other, the closest point + is the 'closest' point of intersection. This can also be considered is the deepest point of + intersection. + + + + + Determines the distance between a and a point. + + The plane to test. + The point to test. + The distance between the two objects. + + + + Determines the distance between a and a point. + + The box to test. + The point to test. + The distance between the two objects. + + + + Determines the distance between a and a . + + The first box to test. + The second box to test. + The distance between the two objects. + + + + Determines the distance between a and a point. + + The sphere to test. + The point to test. + The distance between the two objects. + + + + Determines the distance between a and a . + + The first sphere to test. + The second sphere to test. + The distance between the two objects. + + + + Determines whether there is an intersection between a and a point. + + The ray to test. + The point to test. + Whether the two objects intersect. + + + + Determines whether there is an intersection between a and a . + + The first ray to test. + The second ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersect. + + This method performs a ray vs ray intersection test based on the following formula + from Goldman. + s = det([o_2 - o_1, d_2, d_1 x d_2]) / ||d_1 x d_2||^2 + t = det([o_2 - o_1, d_1, d_1 x d_2]) / ||d_1 x d_2||^2 + Where o_1 is the position of the first ray, o_2 is the position of the second ray, + d_1 is the normalized direction of the first ray, d_2 is the normalized direction + of the second ray, det denotes the determinant of a matrix, x denotes the cross + product, [ ] denotes a matrix, and || || denotes the length or magnitude of a vector. + + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The plane to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersect. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The plane to test + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a triangle. + + The ray to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + This method tests if the ray intersects either the front or back of the triangle. + If the ray is parallel to the triangle's plane, no intersection is assumed to have + happened. If the intersection of the ray and the triangle is behind the origin of + the ray, no intersection is assumed to have happened. In both cases of assumptions, + this method returns false. + + + + + Determines whether there is an intersection between a and a triangle. + + The ray to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The box to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The box to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The sphere to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The sphere to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a point. + + The plane to test. + The point to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The first plane to test. + The second plane to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The first plane to test. + The second plane to test. + When the method completes, contains the line of intersection + as a , or a zero ray if there was no intersection. + Whether the two objects intersected. + + Although a ray is set to have an origin, the ray returned by this method is really + a line in three dimensions which has no real origin. The ray is considered valid when + both the positive direction is used and when the negative direction is used. + + + + + Determines whether there is an intersection between a and a triangle. + + The plane to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The plane to test. + The box to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The plane to test. + The sphere to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The first box to test. + The second box to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The box to test. + The sphere to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a triangle. + + The sphere to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + First sphere to test. + Second sphere to test. + Whether the two objects intersected. + + + + Determines whether a contains a point. + + The box to test. + The point to test. + The type of containment the two objects have. + + + + Determines whether a contains a . + + The first box to test. + The second box to test. + The type of containment the two objects have. + + + + Determines whether a contains a . + + The box to test. + The sphere to test. + The type of containment the two objects have. + + + + Determines whether a contains a point. + + The sphere to test. + The point to test. + The type of containment the two objects have. + + + + Determines whether a contains a triangle. + + The sphere to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + The type of containment the two objects have. + + + + Determines whether a contains a . + + The sphere to test. + The box to test. + The type of containment the two objects have. + + + + Determines whether a contains a . + + The first sphere to test. + The second sphere to test. + The type of containment the two objects have. + + + + Represents a color in the form of rgb. + + + + + The Black color (0, 0, 0). + + + + + The White color (1, 1, 1, 1). + + + + + The red component of the color. + + + + + The green component of the color. + + + + + The blue component of the color. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + + + + Initializes a new instance of the struct. + + The red, green, and blue components of the color. + + + + Initializes a new instance of the struct. + + A packed integer containing all three color components in RGB order. + The alpha component is ignored. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, and blue components of the color. This must be an array with three elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Converts the color into a packed integer. + + A packed integer containing all three color components. + The alpha channel is set to 255. + + + + Converts the color into a packed integer. + + A packed integer containing all three color components. + The alpha channel is set to 255. + + + + Converts the color into a three component vector. + + A three component vector containing the red, green, and blue components of the color. + + + + Creates an array containing the elements of the color. + + A three-element array containing the components of the color. + + + + Adds two colors. + + The first color to add. + The second color to add. + When the method completes, completes the sum of the two colors. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + WHen the method completes, contains the difference of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract + The difference of the two colors. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + When the method completes, contains the modulated color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + When the method completes, contains the scaled color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + The scaled color. + + + + Negates a color. + + The color to negate. + When the method completes, contains the negated color. + + + + Negates a color. + + The color to negate. + The negated color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two colors. + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the largest components of the source colors. + + + + Returns a color containing the largest components of the specified colors. + + The first source color. + The second source color. + A color containing the largest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the smallest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + A color containing the smallest components of the source colors. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + When the method completes, contains the adjusted color. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + The adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + When the method completes, contains the adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + The adjusted color. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Assert a color (return it unchanged). + + The color to assert (unchanged). + The asserted (unchanged) color. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + The difference of the two colors. + + + + Negates a color. + + The color to negate. + A negated color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel element (float) + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel element (float). + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the component at the specified index. + + The value of the red, green, or blue component, depending on the index. + The index of the component to access. Use 0 for the red component, 1 for the green component, and 2 for the blue component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 2]. + + + + Represents a color in the form of rgba. + + + + + The Black color (0, 0, 0, 1). + + + + + The White color (1, 1, 1, 1). + + + + + The red component of the color. + + + + + The green component of the color. + + + + + The blue component of the color. + + + + + The alpha component of the color. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + The red, green, blue, and alpha components of the color. + + + + Initializes a new instance of the struct. + + The red, green, and blue components of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in RGBA order. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in RGBA order. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, blue, and alpha components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Initializes a new instance of the struct. + + used to initialize the color. + + + + Initializes a new instance of the struct. + + used to initialize the color. + The alpha component of the color. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a three component vector. + + A three component vector containing the red, green, and blue components of the color. + + + + Converts the color into a four component vector. + + A four component vector containing all four color components. + + + + Creates an array containing the elements of the color. + + A four-element array containing the components of the color. + + + + Adds two colors. + + The first color to add. + The second color to add. + When the method completes, completes the sum of the two colors. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + WHen the method completes, contains the difference of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract + The difference of the two colors. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + When the method completes, contains the modulated color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + When the method completes, contains the scaled color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + The scaled color. + + + + Negates a color. + + The color to negate. + When the method completes, contains the negated color. + + + + Negates a color. + + The color to negate. + The negated color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two colors. + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the largest components of the source colors. + + + + Returns a color containing the largest components of the specified colors. + + The first source color. + The second source color. + A color containing the largest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the smallest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + A color containing the smallest components of the source colors. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + When the method completes, contains the adjusted color. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + The adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + When the method completes, contains the adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + The adjusted color. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Assert a color (return it unchanged). + + The color to assert (unchanged). + The asserted (unchanged) color. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + The difference of the two colors. + + + + Negates a color. + + The color to negate. + A negated color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel (float). + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel (float). + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the component at the specified index. + + The value of the red, green, blue, and alpha components, depending on the index. + The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Gets or sets the unmanaged callback. + + The unmanaged callback. + + This property is set whenever this instance has an unmanaged callback + registered. This callback must be disposed when disposing this instance. + + + + + Root IUnknown class to interop with COM object + + + + + Root class for all Cpp interop object. + + + + + The native pointer + + + + + Default constructor. + + Pointer to Cpp Object + + + + Initializes a new instance of the class. + + + + + Performs an explicit conversion from to . + + The CPP object. + + The result of the conversion. + + + + + Initializes this instance with a pointer from a temporary object and set the pointer of the temporary + object to IntPtr.Zero. + + The instance to get the NativePointer. + + + + Initializes this instance with a pointer from a temporary object and set the pointer of the temporary + object to IntPtr.Zero. + + The instance to get the NativePointer. + + + + Method called when is going to be update. + + + + + Method called when the is updated. + + + + + Instantiate a ComObject from a native pointer. + + The ComObject class that will be returned + The native pointer to a com object. + An instance of T binded to the native pointer + + + + Return the unmanaged C++ pointer from a instance. + + The type of the callback. + The callback. + A pointer to the unmanaged C++ object of the callback + + + + Gets or sets a custom user tag object to associate with this instance.. + + The tag object. + + + + Get a pointer to the underlying Cpp Object + + + + + Base interface for Component Object Model (COM). + + + + + Queries the supported COM interface on this instance. + + The guid of the interface. + The output COM object reference. + If successful, + + + + Increments the reference count for an interface on this instance. + + The method returns the new reference count. + + + + Decrements the reference count for an interface on this instance. + + The method returns the new reference count. + + + + Initializes a new instance of the class. + + Pointer to Cpp Object + + + + Initializes a new instance of the class from a IUnknown object. + + Reference to a IUnknown object + + + + Initializes a new instance of the class. + + + + + Query this instance for a particular COM GUID/interface support. + + GUID query interface + output object associated with this GUID, IntPtr.Zero in interface is not supported + If this object doesn't support the interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Query instance for a particular COM GUID/interface support. + + GUID query interface + If this object doesn't support the interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Compares 2 COM objects and return true if the native pointer is the same. + + The left. + The right. + true if the native pointer is the same, false otherwise + + + + Query this instance for a particular COM interface support. + + The type of the COM interface to query + An instance of the queried interface + If this object doesn't support the interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Query this instance for a particular COM interface support. + + The type of the COM interface to query + An instance of the queried interface + If this object doesn't support the interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Queries a managed object for a particular COM interface support (This method is a shortcut to ) + + The type of the COM interface to query + The managed COM object. + An instance of the queried interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Queries a managed object for a particular COM interface support (This method is a shortcut to ) + + The type of the COM interface to query + The managed COM object. + An instance of the queried interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Queries a managed object for a particular COM interface support. + + The type of the COM interface to query + The managed COM object. + An instance of the queried interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Queries a managed object for a particular COM interface support. + + The type of the COM interface to query + A pointer to a COM object. + An instance of the queried interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Query Interface for a particular interface support. + + An instance of the queried interface or null if it is not supported + + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Performs an explicit conversion from to . + + The native pointer. + + The result of the conversion. + + + + + Query Interface for a particular interface support and attach to the given instance. + + + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + ms682317 + IUnknown::Release + IUnknown::Release + + + + Base class for unmanaged callbackable Com object. + + + + + Initializes a new instance of the class. + + Pointer to Cpp Object + + + + Initializes a new instance of the class. + + + + + Implements but it cannot not be set. + This is only used to support for interop with unmanaged callback. + + + + + A COM Interface Callback + + + + + An Interface shadow callback + + + + + Initializes the specified shadow instance from a vtbl and a callback. + + The callback. + + + + Gets the callback. + + + + + Gets the VTBL associated with this shadow instance. + + + + + Default Constructor. + + number of methods to allocate in the VTBL + + + + Add a method supported by this interface. This method is typically called from inherited constructor. + + the managed delegate method + + + + Gets the pointer to the vtbl. + + + + + A compilation exception. + + + + + The base class for errors that occur in SharpDX. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The result code that caused this exception. + + + + Initializes a new instance of the class. + + The result descriptor. + + + + Initializes a new instance of the class. + + The error result code. + The message describing the exception. + + + + Initializes a new instance of the class. + + The error result code. + The message describing the exception. + formatting arguments + + + + Initializes a new instance of the class. + + The message describing the exception. + formatting arguments + + + + Initializes a new instance of the class. + + The message describing the exception. + The exception that caused this exception. + formatting arguments + + + + Gets the Result code for the exception. This value indicates + the specific type of failure that occurred within SharpDX. + + + + + Gets the Result code for the exception. This value indicates + the specific type of failure that occurred within SharpDX. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The error code. + The message. + + + + Global configuration. + + + + + Enables or disables object tracking. Default is disabled (false). + + + Object Tracking is used to track COM object lifecycle creation/dispose. When this option is enabled + objects can be tracked using . Using Object tracking has a significant + impact on performance and should be used only while debugging. + + + + + Throws a when a shader or effect compilation error occurred. Default is enabled (true). + + + + + By default all objects in the process are tracked. + Use this property to track objects per thread. + + + + + Provides access to data organized in 3D. + + + + + Initializes a new instance of the struct. + + The datapointer. + The row pitch. + The slice pitch. + + + + Initializes a new instance of the struct. + + The data pointer. + + + + Pointer to the data. + + + + + Gets the number of bytes per row. + + + + + Gets the number of bytes per slice (for a 3D texture, a slice is a 2D image) + + + + + Provides access to data organized in 2D. + + + + + Initializes a new instance of the class. + + The data pointer. + The pitch. + + + + Pointer to the data. + + + + + Gets the number of bytes per row. + + + + + Provides a stream interface to a buffer located in unmanaged memory. + + + + + Initializes a new instance of the class from a Blob buffer. + + The buffer. + + + + Initializes a new instance of the class, using a managed buffer as a backing store. + + + A managed array to be used as a backing store. + true if reading from the buffer should be allowed; otherwise, false. + true if writing to the buffer should be allowed; otherwise, false. + Index inside the buffer in terms of element count (not size in bytes). + True to keep the managed buffer and pin it, false will allocate unmanaged memory and make a copy of it. Default is true. + + + + + Initializes a new instance of the class, and allocates a new buffer to use as a backing store. + + The size of the buffer to be allocated, in bytes. + + true if reading from the buffer should be allowed; otherwise, false. + + true if writing to the buffer should be allowed; otherwise, false. + + + + Initializes a new instance of the class, using an unmanaged buffer as a backing store. + + A pointer to the buffer to be used as a backing store. + The size of the buffer provided, in bytes. + + true if reading from the buffer should be allowed; otherwise, false. + + true if writing to the buffer should be allowed; otherwise, false. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Not supported. + + Always thrown. + + + + Reads a single value from the current stream and advances the current + position within this stream by the number of bytes read. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The type of the value to be read from the stream. + The value that was read. + This stream does not support reading. + + + + Reads a float. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + a float from the stream + + + + Reads a int. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an int from the stream + + + + Reads a short. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an short from the stream + + + + Reads a bool. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an bool from the stream + + + + Reads a Vector2. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Vector2 from the stream + + + + Reads a Vector3. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Vector3 from the stream + + + + Reads a Vector4. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Vector4 from the stream + + + + Reads a Color3. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Color3 from the stream + + + + Reads a Color4. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Color4 from the stream + + + + Reads a Half. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Half from the stream + + + + Reads a Half2. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Half2 from the stream + + + + Reads a Half3. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Half3 from the stream + + + + Reads a Half4. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Half4 from the stream + + + + Reads a Matrix. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + a Matrix from the stream + + + + Reads a Quaternion. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + a Quaternion from the stream + + + + + + + Reads a sequence of bytes from the current stream and advances the position + within the stream by the number of bytes read. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + An array of values to be read from the stream. + The zero-based byte offset in buffer at which to begin storing + the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The number of bytes read from the stream. + This stream does not support reading. + + + + Reads a sequence of bytes from the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + + + Reads an array of values from the current stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The type of the values to be read from the stream. + An array of values that was read from the current stream. + + + + Reads a sequence of elements from the current stream into a target buffer and + advances the position within the stream by the number of bytes read. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + An array of values to be read from the stream. + The zero-based byte offset in buffer at which to begin storing + the data read from the current stream. + The number of values to be read from the current stream. + The number of bytes read from the stream. + This stream does not support reading. + + + + Sets the position within the current stream. + + Attempted to seek outside of the bounds of the stream. + + + + Not supported. + + Always ignored. + Always thrown. + + + + Writes a single value to the stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The type of the value to be written to the stream. + The value to write to the stream. + The stream does not support writing. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes a sequence of bytes to the current stream and advances the current + position within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + An array of bytes. This method copies count bytes from buffer to the current stream. + The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + This stream does not support writing. + + + + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + + + Writes an array of values to the current stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + An array of values to be written to the current stream. + This stream does not support writing. + + + + Writes a range of bytes to the current stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + A pointer to the location to start copying from. + The number of bytes to copy from source to the current stream. + This stream does not support writing. + + + + Writes an array of values to the current stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The type of the values to be written to the stream. + An array of values to be written to the stream. + The zero-based offset in data at which to begin copying values to the current stream. + The number of values to be written to the current stream. If this is zero, + all of the contents will be written. + This stream does not support writing. + + + + Performs an explicit conversion from to . + + The from value. + The result of the conversion. + + + + Gets a value indicating whether the current stream supports reading. + + + true if the stream supports reading; otherwise, false. + + + + Gets a value indicating whether the current stream supports seeking. + + Always true. + + + + Gets a value indicating whether the current stream supports writing. + + + true if the stream supports writing; otherwise, false. + + + + Gets the internal pointer to the current stream's backing store. + + An IntPtr to the buffer being used as a backing store. + + + + Gets the length in bytes of the stream. + + A long value representing the length of the stream in bytes. + + + + Gets or sets the position within the current stream. + + The current position within the stream. + Stream Class + + + + Gets the position pointer. + + The position pointer. + + + + Gets the length of the remaining. + + The length of the remaining. + + + + Provides methods to perform fast read/write random access data on a buffer located in an unmanaged memory. + + + This class doesn't validate the position read/write from. It is the responsibility of the client of this class + to verify that access is done within the size of the buffer. + + + + + Creates the specified user buffer. + + Type of the buffer. + The buffer to use as a DataBuffer. + Index inside the buffer in terms of element count (not size in bytes). + True to keep the managed buffer and pin it, false will allocate unmanaged memory and make a copy of it. Default is true. + An instance of a DataBuffer + + + + Initializes a new instance of the class, and allocates a new buffer to use as a backing store. + + The size of the buffer to be allocated, in bytes. + + is less than 1. + + + + Initializes a new instance of the class, using an unmanaged buffer as a backing store. + + A pointer to the buffer to be used as a backing store. + The size of the buffer provided, in bytes. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears the buffer. + + + + + Gets a single value from the current buffer at the specified position. + + Relative position in bytes from the beginning of the buffer to get the data from. + The type of the value to be read from the buffer. + The value that was read. + + + + Gets a float. + + Relative position in bytes from the beginning of the buffer to get the data from. + a float from the buffer + + + + Gets a int. + + Relative position in bytes from the beginning of the buffer to get the data from. + an int from the buffer + + + + Gets a short. + + Relative position in bytes from the beginning of the buffer to get the data from. + an short from the buffer + + + + Gets a bool. + + Relative position in bytes from the beginning of the buffer to get the data from. + an bool from the buffer + + + + Gets a Vector2. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Vector2 from the buffer + + + + Gets a Vector3. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Vector3 from the buffer + + + + Gets a Vector4. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Vector4 from the buffer + + + + Gets a Color3. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Color3 from the buffer + + + + Gets a Color4. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Color4 from the buffer + + + + Gets a Half. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Half from the buffer + + + + Gets a Half2. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Half2 from the buffer + + + + Gets a Half3. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Half3 from the buffer + + + + Gets a Half4. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Half4 from the buffer + + + + Gets a Matrix. + + Relative position in bytes from the beginning of the buffer to get the data from. + a Matrix from the buffer + + + + Gets a Quaternion. + + Relative position in bytes from the beginning of the buffer to get the data from. + a Quaternion from the buffer + + + + Gets an array of values from a position in the buffer. + + Relative position in bytes from the beginning of the buffer to get the data from. + number of T instance to get from the positionInBytes + The type of the values to be read from the buffer. + An array of values that was read from the current buffer. + + + + Gets a sequence of elements from a position in the buffer into a target buffer. + + Relative position in bytes from the beginning of the buffer to get the data from. + An array of values to be read from the buffer. + The zero-based byte offset in buffer at which to begin storing + the data read from the current buffer. + The number of values to be read from the current buffer. + + + + Sets a single value to the buffer at a specified position. + + The type of the value to be written to the buffer. + Relative position in bytes from the beginning of the buffer to set the data to. + The value to write to the buffer. + + + + Sets a single value to the buffer at a specified position. + + The type of the value to be written to the buffer. + Relative position in bytes from the beginning of the buffer to set the data to. + The value to write to the buffer. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets an array of values to a specified position into the buffer. + + Relative position in bytes from the beginning of the buffer to set the data to. + An array of values to be written to the current buffer. + + + + Sets a range of data to a specified position into the buffer. + + Relative position in bytes from the beginning of the buffer to set the data to. + A pointer to the location to start copying from. + The number of bytes to copy from source to the current buffer. + + + + Sets an array of values to a specified position into the buffer. + + The type of the values to be written to the buffer. + Relative position in bytes from the beginning of the buffer to set the data to. + An array of values to be written to the buffer. + The zero-based offset in data at which to begin copying values to the current buffer. + The number of values to be written to the current buffer. If this is zero, + all of the contents will be written. + + + + Performs an explicit conversion from to . + + The from value. + The result of the conversion. + + + + Gets a pointer to the buffer used as a backing store.. + + An IntPtr to the buffer being used as a backing store. + + + + Gets the length in bytes of the buffer. + + A long value representing the length of the buffer in bytes. + + + + Provides a type converter to convert objects to and from various + other representations. + + + + + Initializes a new instance of the class. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + A that provides a format context. + A System::Type that represents the type you want to convert from. + + true if this converter can perform the conversion; otherwise, false. + + + + Returns whether this converter can convert the object to the specified type, using the specified context. + + A that provides a format context. + A that represents the type you want to convert to. + + true if this converter can perform the conversion; otherwise, false. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + An that represents the converted value. + + + + Converts the given value object to the specified type, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + A that represents the type you want to convert to. + An that represents the converted value. + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + A that provides a format context. + An of new property values. + An representing the given , or null if the object cannot be created. + + + + Returns whether changing a value on this object requires a call to System::ComponentModel::TypeConverter::CreateInstance(System::Collections::IDictionary^) + to create a new value, using the specified context. + + A that provides a format context. + + false if changing a property on this object requires a call to System::ComponentModel::TypeConverter::CreateInstance(System::Collections::IDictionary^) to create a new value; otherwise, false. + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + A that provides a format context. + An that specifies the type of array for which to get properties. + An array of type that is used as a filter. + A with the properties that are exposed for this data type, or a null reference (Nothing in Visual Basic) if there are no properties. + + + + Returns whether this object supports properties, using the specified context. + + A that provides a format context. + + true if GetProperties should be called to find the properties of this object; otherwise, false. + + + + Provides a type converter to convert objects to and from various + other representations. + + + + + Initializes a new instance of the class. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + A that provides a format context. + A System.Type that represents the type you want to convert from. + + true if this converter can perform the conversion; otherwise, false. + + + + Returns whether this converter can convert the object to the specified type, using the specified context. + + A that provides a format context. + A that represents the type you want to convert to. + + true if this converter can perform the conversion; otherwise, false. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + An that represents the converted value. + + + + Converts the given value object to the specified type, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + A that represents the type you want to convert to. + An that represents the converted value. + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + A that provides a format context. + An of new property values. + An representing the given , or null if the object cannot be created. + + + + Returns whether changing a value on this object requires a call to System::ComponentModel::TypeConverter::CreateInstance(System::Collections::IDictionary^) + to create a new value, using the specified context. + + A that provides a format context. + + false if changing a property on this object requires a call to System.ComponentModel::TypeConverter::CreateInstance(System::Collections::IDictionary^) to create a new value; otherwise, false. + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + A that provides a format context. + An that specifies the type of array for which to get properties. + An array of type that is used as a filter. + A with the properties that are exposed for this data type, or a null reference (Nothing in Visual Basic) if there are no properties. + + + + Returns whether this object supports properties, using the specified context. + + A that provides a format context. + + true if GetProperties should be called to find the properties of this object; otherwise, false. + + + + Provides a type converter to convert objects to and from various + other representations. + + + + + Initializes a new instance of the class. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + A that provides a format context. + A System::Type that represents the type you want to convert from. + + true if this converter can perform the conversion; otherwise, false. + + + + Returns whether this converter can convert the object to the specified type, using the specified context. + + A that provides a format context. + A that represents the type you want to convert to. + + true if this converter can perform the conversion; otherwise, false. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + An that represents the converted value. + + + + Converts the given value object to the specified type, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + A that represents the type you want to convert to. + An that represents the converted value. + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + A that provides a format context. + An of new property values. + An representing the given , or null if the object cannot be created. + + + + Returns whether changing a value on this object requires a call to System::ComponentModel::TypeConverter::CreateInstance(System::Collections::IDictionary^) + to create a new value, using the specified context. + + A that provides a format context. + + false if changing a property on this object requires a call to System::ComponentModel::TypeConverter::CreateInstance(System::Collections::IDictionary^) + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + A that provides a format context. + An that specifies the type of array for which to get properties. + An array of type that is used as a filter. + A with the properties that are exposed for this data type, or a null reference (Nothing in Visual Basic) if there are no properties. + + + + Returns whether this object supports properties, using the specified context. + + A that provides a format context. + + true if GetProperties should be called to find the properties of this object; otherwise, false. + + + + Provides a type converter to convert objects to and from various + other representations. + + + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + + A that provides a format context. + A System::Type that represents the type you want to convert from. + + true if this converter can perform the conversion; otherwise, false. + + + + Returns whether this converter can convert the object to the specified type, using the specified context. + + A that provides a format context. + A that represents the type you want to convert to. + + true if this converter can perform the conversion; otherwise, false. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + An that represents the converted value. + + + + Converts the given value object to the specified type, using the specified context and culture information. + + A that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + A that represents the type you want to convert to. + An that represents the converted value. + + + + Defines a type converter for . + + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + Defines a type converter for . + + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + Defines a type converter for . + + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + Defines a type converter for . + + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + Defines a type converter for . + + + + + Initializes a new instance of the class. + + + + + Converts the given value object to the specified type, using the specified context and culture information. + + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + + An that represents the converted value. + + + The parameter is null. + + + The conversion cannot be performed. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + + The conversion cannot be performed. + + + + + Creates an instance of the type that this is associated with, using the specified context, given a set of property values for the object. + + An that provides a format context. + An of new property values. + + An representing the given , or null if the object cannot be created. This method always returns null. + + + + + Contains information about a tracked COM object. + + + + + Initializes a new instance of the class. + + The creation time. + The com object to track. + The stack trace. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the time the object was created. + + The creation time. + + + + Gets a weak reference to the tracked object. + + The weak reference to the tracked object. + + + + Gets the stack trace when the track object was created. + + The stack trace. + + + + Gets a value indicating whether the tracked object is alive. + + true if tracked object is alive; otherwise, false. + + + + Event args for used by . + + + + + The object being tracked/untracked. + + + + + Initializes a new instance of the class. + + The o. + + + + Track all allocated objects. + + + + + Initializes the class. + + + + + Called when [process exit]. + + The sender. + The instance containing the event data. + + + + Tracks the specified COM object. + + The COM object. + + + + Finds a list of object reference from a specified COM object pointer. + + The COM object pointer. + A list of object reference + + + + Finds the object reference for a specific COM object. + + The COM object. + An object reference + + + + Untracks the specified COM object. + + The COM object. + + + + Reports all COM object that are active and not yet disposed. + + + + + Reports all COM object that are active and not yet disposed. + + + + + Occurs when a ComObject is tracked. + + + + + Occurs when a ComObject is untracked. + + + + + Describes the type of angle. + + + + + Specifies an angle measurement in revolutions. + + + + + Specifies an angle measurement in degrees. + + + + + Specifies an angle measurement in radians. + + + + + Specifies an angle measurement in gradians. + + + + + Describes how one bounding volume contains another. + + + + + The two bounding volumes don't intersect at all. + + + + + One bounding volume completely contains another. + + + + + The two bounding volumes overlap. + + + + + Describes the result of an intersection with a plane in three dimensions. + + + + + The object is behind the plane. + + + + + The object is in front of the plane. + + + + + The object is intersecting the plane. + + + + + FunctionCallback + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + +

Driver type options.

+
+ +

The driver type is required when calling or .

+
+ + ff476328 + D3D_DRIVER_TYPE + D3D_DRIVER_TYPE +
+ + +

The driver type is unknown.

+
+ + ff476328 + D3D_DRIVER_TYPE_UNKNOWN + D3D_DRIVER_TYPE_UNKNOWN +
+ + +

A hardware driver, which implements Direct3D features in hardware. This is the primary driver that you should use in your Direct3D applications because it provides the best performance. A hardware driver uses hardware acceleration (on supported hardware) but can also use software for parts of the pipeline that are not supported in hardware. This driver type is often referred to as a hardware abstraction layer or HAL.

+
+ + ff476328 + D3D_DRIVER_TYPE_HARDWARE + D3D_DRIVER_TYPE_HARDWARE +
+ + +

A reference driver, which is a software implementation that supports every Direct3D feature. A reference driver is designed for accuracy rather than speed and as a result is slow but accurate. The rasterizer portion of the driver does make use of special CPU instructions whenever it can, but it is not intended for retail applications; use it only for feature testing, demonstration of functionality, debugging, or verifying bugs in other drivers. This driver is installed by the DirectX SDK. This driver may be referred to as a REF driver, a reference driver or a reference rasterizer.

+
+ + ff476328 + D3D_DRIVER_TYPE_REFERENCE + D3D_DRIVER_TYPE_REFERENCE +
+ + +

A null driver, which is a reference driver without render capability. This driver is commonly used for debugging non-rendering API calls, it is not appropriate for retail applications. This driver is installed by the DirectX SDK.

+
+ + ff476328 + D3D_DRIVER_TYPE_NULL + D3D_DRIVER_TYPE_NULL +
+ + +

A software driver, which is a driver implemented completely in software. The software implementation is not intended for a high-performance application due to its very slow performance.

+
+ + ff476328 + D3D_DRIVER_TYPE_SOFTWARE + D3D_DRIVER_TYPE_SOFTWARE +
+ + +

A WARP driver, which is a high-performance software rasterizer. The rasterizer supports feature levels 9_1 through level 10.1 with a high performance software implementation. For information about limitations creating a WARP device on certain feature levels, see Limitations Creating WARP and Reference Devices. For more information about using a WARP driver, see Windows Advanced Rasterization Platform (WARP) In-Depth Guide.

+
+ + ff476328 + D3D_DRIVER_TYPE_WARP + D3D_DRIVER_TYPE_WARP +
+ + +

Describes the set of features targeted by a Direct3D device.

+
+ +

For an overview of the capabilities of each feature level, see Overview For Each Feature Level.

For information about limitations creating nonhardware-type devices on certain feature levels, see Limitations Creating WARP and Reference Devices.

+
+ + ff476329 + D3D_FEATURE_LEVEL + D3D_FEATURE_LEVEL +
+ + +

Targets features supported by feature level 9.1 including shader model 2.

+
+ + ff476329 + D3D_FEATURE_LEVEL_9_1 + D3D_FEATURE_LEVEL_9_1 +
+ + +

Targets features supported by feature level 9.2 including shader model 2.

+
+ + ff476329 + D3D_FEATURE_LEVEL_9_2 + D3D_FEATURE_LEVEL_9_2 +
+ + +

Targets features supported by feature level 9.3 including shader model 2.0b.

+
+ + ff476329 + D3D_FEATURE_LEVEL_9_3 + D3D_FEATURE_LEVEL_9_3 +
+ + +

Targets features supported by Direct3D 10.0 including shader model 4.

+
+ + ff476329 + D3D_FEATURE_LEVEL_10_0 + D3D_FEATURE_LEVEL_10_0 +
+ + +

Targets features supported by Direct3D 10.1 including shader model 4.

+
+ + ff476329 + D3D_FEATURE_LEVEL_10_1 + D3D_FEATURE_LEVEL_10_1 +
+ + +

Targets features supported by Direct3D 11.0 including shader model 5.

+
+ + ff476329 + D3D_FEATURE_LEVEL_11_0 + D3D_FEATURE_LEVEL_11_0 +
+ + +

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.

+
+ +

Use the method and a value from to bind a primitive topology to the input-assembler stage. Use the method to retrieve the primitive topology for the input-assembler stage.

The following diagram shows the various primitive types for a geometry shader object.

+
+ + ff728726 + D3D_PRIMITIVE_TOPOLOGY + D3D_PRIMITIVE_TOPOLOGY +
+ + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_UNDEFINED + D3D_PRIMITIVE_TOPOLOGY_UNDEFINED + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_POINTLIST + D3D_PRIMITIVE_TOPOLOGY_POINTLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_LINELIST + D3D_PRIMITIVE_TOPOLOGY_LINELIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ + D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST + + + +

Values that identify the type of resource to be viewed as a shader resource.

+
+ +

A -typed value is specified in the ViewDimension member of the structure or the Dimension member of the structure.

+
+ + ff728736 + D3D_SRV_DIMENSION + D3D_SRV_DIMENSION +
+ + +

The type is unknown.

+
+ + ff728736 + D3D_SRV_DIMENSION_UNKNOWN + D3D_SRV_DIMENSION_UNKNOWN +
+ + +

The resource is a buffer.

+
+ + ff728736 + D3D_SRV_DIMENSION_BUFFER + D3D_SRV_DIMENSION_BUFFER +
+ + +

The resource is a 1D texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE1D + D3D_SRV_DIMENSION_TEXTURE1D +
+ + +

The resource is an array of 1D textures.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE1DARRAY + D3D_SRV_DIMENSION_TEXTURE1DARRAY +
+ + +

The resource is a 2D texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE2D + D3D_SRV_DIMENSION_TEXTURE2D +
+ + +

The resource is an array of 2D textures.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE2DARRAY + D3D_SRV_DIMENSION_TEXTURE2DARRAY +
+ + +

The resource is a multisampling 2D texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE2DMS + D3D_SRV_DIMENSION_TEXTURE2DMS +
+ + +

The resource is an array of multisampling 2D textures.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE2DMSARRAY + D3D_SRV_DIMENSION_TEXTURE2DMSARRAY +
+ + +

The resource is a 3D texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE3D + D3D_SRV_DIMENSION_TEXTURE3D +
+ + +

The resource is a cube texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURECUBE + D3D_SRV_DIMENSION_TEXTURECUBE +
+ + +

The resource is an array of cube textures.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURECUBEARRAY + D3D_SRV_DIMENSION_TEXTURECUBEARRAY +
+ + +

The resource is an extended buffer.

+
+ + ff728736 + D3D_SRV_DIMENSION_BUFFEREX + D3D_SRV_DIMENSION_BUFFEREX +
+ + + Functions + + + + + Constant DebugObjectName. + WKPDID_D3DDebugObjectName + + + + Functions + + + + + +

Creates a buffer.

+
+

Number of bytes in the blob.

+

The address of a reference to the ID3DBlob interface that is used to retrieve the buffer.

+

Returns one of the following Direct3D 10 Return Codes.

+ +

The latest D3dcompiler_nn.dll contains the compiler function. Therefore, you are no longer required to create and use an arbitrary length data buffer by using the D3D10CreateBlob function that is contained in D3d10.dll.

+
+ + ff728672 + HRESULT D3DCreateBlob([In] SIZE_T Size,[Out, Fast] ID3D10Blob** ppBlob) + D3DCreateBlob +
+ + +

This interface is used to return arbitrary length data.

+
+ +

An is obtained by calling D3D10CreateBlob.

The ID3DBlob interface is type defined in the D3DCommon.h header file as a interface, which is fully defined in the D3DCommon.h header file. ID3DBlob is version neutral and can be used in code for any Direct3D version.

Blobs can be used as a data buffer, storing vertex, adjacency, and material information during mesh optimization and loading operations. Also, these objects are used to return object code and error messages in APIs that compile vertex, geometry and pixel shaders.

+
+ + bb173507 + ID3D10Blob + ID3D10Blob +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Get a reference to the data.

+
+

Returns a reference.

+ + bb173508 + void* ID3D10Blob::GetBufferPointer() + ID3D10Blob::GetBufferPointer +
+ + +

Get the size.

+
+

The size of the data, in bytes.

+ + bb173509 + SIZE_T ID3D10Blob::GetBufferSize() + ID3D10Blob::GetBufferSize +
+ + +

Get a reference to the data.

+
+ + bb173508 + GetBufferPointer + GetBufferPointer + void* ID3D10Blob::GetBufferPointer() +
+ + +

Get the size.

+
+ + bb173509 + GetBufferSize + GetBufferSize + SIZE_T ID3D10Blob::GetBufferSize() +
+ + +

A multithread interface accesses multithread settings and can only be used if the thread-safe layer is turned on.

+
+ +

This interface is obtained by querying it from the Interface using IUnknown::QueryInterface.

+
+ + bb173816 + ID3D10Multithread + ID3D10Multithread +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enter a device's critical section.

+
+ +

Entering a device's critical section prevents other threads from simultaneously calling that device's methods (if multithread protection is set to true), calling DXGI methods, and calling the methods of all resource, view, shader, state, and asynchronous interfaces.

This function should be used in multithreaded applications when there is a series of graphics commands that must happen in order. This function is typically called at the beginning of the series of graphics commands, and is typically called after those graphics commands.

+
+ + bb173817 + void ID3D10Multithread::Enter() + ID3D10Multithread::Enter +
+ + +

Leave a device's critical section.

+
+ +

This function is typically used in multithreaded applications when there is a series of graphics commands that must happen in order. is typically called at the beginning of a series of graphics commands, and this function is typically called after those graphics commands.

+
+ + bb173819 + void ID3D10Multithread::Leave() + ID3D10Multithread::Leave +
+ + +

Turn multithreading on or off.

+
+

True to turn multithreading on, false to turn it off.

+

True if multithreading was turned on prior to calling this method, false otherwise.

+ + bb173820 + BOOL ID3D10Multithread::SetMultithreadProtected([In] BOOL bMTProtect) + ID3D10Multithread::SetMultithreadProtected +
+ + +

Find out if multithreading is turned on or not.

+
+

Whether or not multithreading is turned on. True means on, false means off.

+ + bb173818 + BOOL ID3D10Multithread::GetMultithreadProtected() + ID3D10Multithread::GetMultithreadProtected +
+ + +

Defines a shader macro.

+
+ +

You can use shader macros in your shaders. The structure defines a single shader macro as shown in the following example:

  Shader_Macros[1] = { "zero", "0"  };	
+            

The following shader or effect creation functions take an array of shader macros as an input parameter:

  • D3D10CompileShader
  • D3DX10PreprocessShaderFromFile
  • D3DX11CreateAsyncShaderPreprocessProcessor
+
+ + ff728732 + D3D_SHADER_MACRO + D3D_SHADER_MACRO +
+ + +

The macro name.

+
+ + ff728732 + const char* Name + char Name +
+ + +

The macro definition.

+
+ + ff728732 + const char* Definition + char Definition +
+ + + Initializes a new instance of the struct. + + + The name. + + + The definition. + + + + + No documentation. + + + SPEAKER_FLAGS + SPEAKER_FLAGS + + + + No documentation. + + + SPEAKER_FRONT_LEFT + SPEAKER_FRONT_LEFT + + + + No documentation. + + + SPEAKER_FRONT_RIGHT + SPEAKER_FRONT_RIGHT + + + + No documentation. + + + SPEAKER_FRONT_CENTER + SPEAKER_FRONT_CENTER + + + + No documentation. + + + SPEAKER_LOW_FREQUENCY + SPEAKER_LOW_FREQUENCY + + + + No documentation. + + + SPEAKER_BACK_LEFT + SPEAKER_BACK_LEFT + + + + No documentation. + + + SPEAKER_BACK_RIGHT + SPEAKER_BACK_RIGHT + + + + No documentation. + + + SPEAKER_FRONT_LEFT_OF_CENTER + SPEAKER_FRONT_LEFT_OF_CENTER + + + + No documentation. + + + SPEAKER_FRONT_RIGHT_OF_CENTER + SPEAKER_FRONT_RIGHT_OF_CENTER + + + + No documentation. + + + SPEAKER_BACK_CENTER + SPEAKER_BACK_CENTER + + + + No documentation. + + + SPEAKER_SIDE_LEFT + SPEAKER_SIDE_LEFT + + + + No documentation. + + + SPEAKER_SIDE_RIGHT + SPEAKER_SIDE_RIGHT + + + + No documentation. + + + SPEAKER_TOP_CENTER + SPEAKER_TOP_CENTER + + + + No documentation. + + + SPEAKER_TOP_FRONT_LEFT + SPEAKER_TOP_FRONT_LEFT + + + + No documentation. + + + SPEAKER_TOP_FRONT_CENTER + SPEAKER_TOP_FRONT_CENTER + + + + No documentation. + + + SPEAKER_TOP_FRONT_RIGHT + SPEAKER_TOP_FRONT_RIGHT + + + + No documentation. + + + SPEAKER_TOP_BACK_LEFT + SPEAKER_TOP_BACK_LEFT + + + + No documentation. + + + SPEAKER_TOP_BACK_CENTER + SPEAKER_TOP_BACK_CENTER + + + + No documentation. + + + SPEAKER_TOP_BACK_RIGHT + SPEAKER_TOP_BACK_RIGHT + + + + No documentation. + + + SPEAKER_RESERVED + SPEAKER_RESERVED + + + + No documentation. + + + SPEAKER_ALL + SPEAKER_ALL + + + + No documentation. + + + SPEAKER_MONO + SPEAKER_MONO + + + + No documentation. + + + SPEAKER_STEREO + SPEAKER_STEREO + + + + No documentation. + + + SPEAKER_2POINT1 + SPEAKER_2POINT1 + + + + No documentation. + + + SPEAKER_SURROUND + SPEAKER_SURROUND + + + + No documentation. + + + SPEAKER_QUAD + SPEAKER_QUAD + + + + No documentation. + + + SPEAKER_4POINT1 + SPEAKER_4POINT1 + + + + No documentation. + + + SPEAKER_5POINT1 + SPEAKER_5POINT1 + + + + No documentation. + + + SPEAKER_7POINT1 + SPEAKER_7POINT1 + + + + No documentation. + + + SPEAKER_5POINT1_SURROUND + SPEAKER_5POINT1_SURROUND + + + + No documentation. + + + SPEAKER_7POINT1_SURROUND + SPEAKER_7POINT1_SURROUND + + + + None. + + + None + None + + + + No documentation. + + + HID_USAGE_ID + HID_USAGE_ID + + + + No documentation. + + + HID_USAGE_GENERIC_POINTER + HID_USAGE_GENERIC_POINTER + + + + No documentation. + + + HID_USAGE_GENERIC_MOUSE + HID_USAGE_GENERIC_MOUSE + + + + No documentation. + + + HID_USAGE_GENERIC_JOYSTICK + HID_USAGE_GENERIC_JOYSTICK + + + + No documentation. + + + HID_USAGE_GENERIC_GAMEPAD + HID_USAGE_GENERIC_GAMEPAD + + + + No documentation. + + + HID_USAGE_GENERIC_KEYBOARD + HID_USAGE_GENERIC_KEYBOARD + + + + No documentation. + + + HID_USAGE_GENERIC_KEYPAD + HID_USAGE_GENERIC_KEYPAD + + + + No documentation. + + + HID_USAGE_GENERIC_SYSTEM_CTL + HID_USAGE_GENERIC_SYSTEM_CTL + + + + No documentation. + + + HID_USAGE_GENERIC_X + HID_USAGE_GENERIC_X + + + + No documentation. + + + HID_USAGE_GENERIC_Y + HID_USAGE_GENERIC_Y + + + + No documentation. + + + HID_USAGE_GENERIC_Z + HID_USAGE_GENERIC_Z + + + + No documentation. + + + HID_USAGE_GENERIC_RX + HID_USAGE_GENERIC_RX + + + + No documentation. + + + HID_USAGE_GENERIC_RY + HID_USAGE_GENERIC_RY + + + + No documentation. + + + HID_USAGE_GENERIC_RZ + HID_USAGE_GENERIC_RZ + + + + No documentation. + + + HID_USAGE_GENERIC_SLIDER + HID_USAGE_GENERIC_SLIDER + + + + No documentation. + + + HID_USAGE_GENERIC_DIAL + HID_USAGE_GENERIC_DIAL + + + + No documentation. + + + HID_USAGE_GENERIC_WHEEL + HID_USAGE_GENERIC_WHEEL + + + + No documentation. + + + HID_USAGE_GENERIC_HATSWITCH + HID_USAGE_GENERIC_HATSWITCH + + + + No documentation. + + + HID_USAGE_GENERIC_COUNTED_BUFFER + HID_USAGE_GENERIC_COUNTED_BUFFER + + + + No documentation. + + + HID_USAGE_GENERIC_BYTE_COUNT + HID_USAGE_GENERIC_BYTE_COUNT + + + + No documentation. + + + HID_USAGE_GENERIC_MOTION_WAKEUP + HID_USAGE_GENERIC_MOTION_WAKEUP + + + + No documentation. + + + HID_USAGE_GENERIC_VX + HID_USAGE_GENERIC_VX + + + + No documentation. + + + HID_USAGE_GENERIC_VY + HID_USAGE_GENERIC_VY + + + + No documentation. + + + HID_USAGE_GENERIC_VZ + HID_USAGE_GENERIC_VZ + + + + No documentation. + + + HID_USAGE_GENERIC_VBRX + HID_USAGE_GENERIC_VBRX + + + + No documentation. + + + HID_USAGE_GENERIC_VBRY + HID_USAGE_GENERIC_VBRY + + + + No documentation. + + + HID_USAGE_GENERIC_VBRZ + HID_USAGE_GENERIC_VBRZ + + + + No documentation. + + + HID_USAGE_GENERIC_VNO + HID_USAGE_GENERIC_VNO + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_POWER + HID_USAGE_GENERIC_SYSCTL_POWER + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_SLEEP + HID_USAGE_GENERIC_SYSCTL_SLEEP + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_WAKE + HID_USAGE_GENERIC_SYSCTL_WAKE + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU + HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MAIN_MENU + HID_USAGE_GENERIC_SYSCTL_MAIN_MENU + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_APP_MENU + HID_USAGE_GENERIC_SYSCTL_APP_MENU + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_HELP_MENU + HID_USAGE_GENERIC_SYSCTL_HELP_MENU + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MENU_EXIT + HID_USAGE_GENERIC_SYSCTL_MENU_EXIT + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MENU_SELECT + HID_USAGE_GENERIC_SYSCTL_MENU_SELECT + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT + HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MENU_LEFT + HID_USAGE_GENERIC_SYSCTL_MENU_LEFT + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MENU_UP + HID_USAGE_GENERIC_SYSCTL_MENU_UP + + + + No documentation. + + + HID_USAGE_GENERIC_SYSCTL_MENU_DOWN + HID_USAGE_GENERIC_SYSCTL_MENU_DOWN + + + + No documentation. + + + HID_USAGE_SIMULATION_RUDDER + HID_USAGE_SIMULATION_RUDDER + + + + No documentation. + + + HID_USAGE_SIMULATION_THROTTLE + HID_USAGE_SIMULATION_THROTTLE + + + + No documentation. + + + HID_USAGE_KEYBOARD_NOEVENT + HID_USAGE_KEYBOARD_NOEVENT + + + + No documentation. + + + HID_USAGE_KEYBOARD_ROLLOVER + HID_USAGE_KEYBOARD_ROLLOVER + + + + No documentation. + + + HID_USAGE_KEYBOARD_POSTFAIL + HID_USAGE_KEYBOARD_POSTFAIL + + + + No documentation. + + + HID_USAGE_KEYBOARD_UNDEFINED + HID_USAGE_KEYBOARD_UNDEFINED + + + + No documentation. + + + HID_USAGE_KEYBOARD_aA + HID_USAGE_KEYBOARD_aA + + + + No documentation. + + + HID_USAGE_KEYBOARD_zZ + HID_USAGE_KEYBOARD_zZ + + + + No documentation. + + + HID_USAGE_KEYBOARD_ONE + HID_USAGE_KEYBOARD_ONE + + + + No documentation. + + + HID_USAGE_KEYBOARD_ZERO + HID_USAGE_KEYBOARD_ZERO + + + + No documentation. + + + HID_USAGE_KEYBOARD_LCTRL + HID_USAGE_KEYBOARD_LCTRL + + + + No documentation. + + + HID_USAGE_KEYBOARD_LSHFT + HID_USAGE_KEYBOARD_LSHFT + + + + No documentation. + + + HID_USAGE_KEYBOARD_LALT + HID_USAGE_KEYBOARD_LALT + + + + No documentation. + + + HID_USAGE_KEYBOARD_LGUI + HID_USAGE_KEYBOARD_LGUI + + + + No documentation. + + + HID_USAGE_KEYBOARD_RCTRL + HID_USAGE_KEYBOARD_RCTRL + + + + No documentation. + + + HID_USAGE_KEYBOARD_RSHFT + HID_USAGE_KEYBOARD_RSHFT + + + + No documentation. + + + HID_USAGE_KEYBOARD_RALT + HID_USAGE_KEYBOARD_RALT + + + + No documentation. + + + HID_USAGE_KEYBOARD_RGUI + HID_USAGE_KEYBOARD_RGUI + + + + No documentation. + + + HID_USAGE_KEYBOARD_SCROLL_LOCK + HID_USAGE_KEYBOARD_SCROLL_LOCK + + + + No documentation. + + + HID_USAGE_KEYBOARD_NUM_LOCK + HID_USAGE_KEYBOARD_NUM_LOCK + + + + No documentation. + + + HID_USAGE_KEYBOARD_CAPS_LOCK + HID_USAGE_KEYBOARD_CAPS_LOCK + + + + No documentation. + + + HID_USAGE_KEYBOARD_F1 + HID_USAGE_KEYBOARD_F1 + + + + No documentation. + + + HID_USAGE_KEYBOARD_F12 + HID_USAGE_KEYBOARD_F12 + + + + No documentation. + + + HID_USAGE_KEYBOARD_RETURN + HID_USAGE_KEYBOARD_RETURN + + + + No documentation. + + + HID_USAGE_KEYBOARD_ESCAPE + HID_USAGE_KEYBOARD_ESCAPE + + + + No documentation. + + + HID_USAGE_KEYBOARD_DELETE + HID_USAGE_KEYBOARD_DELETE + + + + No documentation. + + + HID_USAGE_KEYBOARD_PRINT_SCREEN + HID_USAGE_KEYBOARD_PRINT_SCREEN + + + + No documentation. + + + HID_USAGE_LED_NUM_LOCK + HID_USAGE_LED_NUM_LOCK + + + + No documentation. + + + HID_USAGE_LED_CAPS_LOCK + HID_USAGE_LED_CAPS_LOCK + + + + No documentation. + + + HID_USAGE_LED_SCROLL_LOCK + HID_USAGE_LED_SCROLL_LOCK + + + + No documentation. + + + HID_USAGE_LED_COMPOSE + HID_USAGE_LED_COMPOSE + + + + No documentation. + + + HID_USAGE_LED_KANA + HID_USAGE_LED_KANA + + + + No documentation. + + + HID_USAGE_LED_POWER + HID_USAGE_LED_POWER + + + + No documentation. + + + HID_USAGE_LED_SHIFT + HID_USAGE_LED_SHIFT + + + + No documentation. + + + HID_USAGE_LED_DO_NOT_DISTURB + HID_USAGE_LED_DO_NOT_DISTURB + + + + No documentation. + + + HID_USAGE_LED_MUTE + HID_USAGE_LED_MUTE + + + + No documentation. + + + HID_USAGE_LED_TONE_ENABLE + HID_USAGE_LED_TONE_ENABLE + + + + No documentation. + + + HID_USAGE_LED_HIGH_CUT_FILTER + HID_USAGE_LED_HIGH_CUT_FILTER + + + + No documentation. + + + HID_USAGE_LED_LOW_CUT_FILTER + HID_USAGE_LED_LOW_CUT_FILTER + + + + No documentation. + + + HID_USAGE_LED_EQUALIZER_ENABLE + HID_USAGE_LED_EQUALIZER_ENABLE + + + + No documentation. + + + HID_USAGE_LED_SOUND_FIELD_ON + HID_USAGE_LED_SOUND_FIELD_ON + + + + No documentation. + + + HID_USAGE_LED_SURROUND_FIELD_ON + HID_USAGE_LED_SURROUND_FIELD_ON + + + + No documentation. + + + HID_USAGE_LED_REPEAT + HID_USAGE_LED_REPEAT + + + + No documentation. + + + HID_USAGE_LED_STEREO + HID_USAGE_LED_STEREO + + + + No documentation. + + + HID_USAGE_LED_SAMPLING_RATE_DETECT + HID_USAGE_LED_SAMPLING_RATE_DETECT + + + + No documentation. + + + HID_USAGE_LED_SPINNING + HID_USAGE_LED_SPINNING + + + + No documentation. + + + HID_USAGE_LED_CAV + HID_USAGE_LED_CAV + + + + No documentation. + + + HID_USAGE_LED_CLV + HID_USAGE_LED_CLV + + + + No documentation. + + + HID_USAGE_LED_RECORDING_FORMAT_DET + HID_USAGE_LED_RECORDING_FORMAT_DET + + + + No documentation. + + + HID_USAGE_LED_OFF_HOOK + HID_USAGE_LED_OFF_HOOK + + + + No documentation. + + + HID_USAGE_LED_RING + HID_USAGE_LED_RING + + + + No documentation. + + + HID_USAGE_LED_MESSAGE_WAITING + HID_USAGE_LED_MESSAGE_WAITING + + + + No documentation. + + + HID_USAGE_LED_DATA_MODE + HID_USAGE_LED_DATA_MODE + + + + No documentation. + + + HID_USAGE_LED_BATTERY_OPERATION + HID_USAGE_LED_BATTERY_OPERATION + + + + No documentation. + + + HID_USAGE_LED_BATTERY_OK + HID_USAGE_LED_BATTERY_OK + + + + No documentation. + + + HID_USAGE_LED_BATTERY_LOW + HID_USAGE_LED_BATTERY_LOW + + + + No documentation. + + + HID_USAGE_LED_SPEAKER + HID_USAGE_LED_SPEAKER + + + + No documentation. + + + HID_USAGE_LED_HEAD_SET + HID_USAGE_LED_HEAD_SET + + + + No documentation. + + + HID_USAGE_LED_HOLD + HID_USAGE_LED_HOLD + + + + No documentation. + + + HID_USAGE_LED_MICROPHONE + HID_USAGE_LED_MICROPHONE + + + + No documentation. + + + HID_USAGE_LED_COVERAGE + HID_USAGE_LED_COVERAGE + + + + No documentation. + + + HID_USAGE_LED_NIGHT_MODE + HID_USAGE_LED_NIGHT_MODE + + + + No documentation. + + + HID_USAGE_LED_SEND_CALLS + HID_USAGE_LED_SEND_CALLS + + + + No documentation. + + + HID_USAGE_LED_CALL_PICKUP + HID_USAGE_LED_CALL_PICKUP + + + + No documentation. + + + HID_USAGE_LED_CONFERENCE + HID_USAGE_LED_CONFERENCE + + + + No documentation. + + + HID_USAGE_LED_STAND_BY + HID_USAGE_LED_STAND_BY + + + + No documentation. + + + HID_USAGE_LED_CAMERA_ON + HID_USAGE_LED_CAMERA_ON + + + + No documentation. + + + HID_USAGE_LED_CAMERA_OFF + HID_USAGE_LED_CAMERA_OFF + + + + No documentation. + + + HID_USAGE_LED_ON_LINE + HID_USAGE_LED_ON_LINE + + + + No documentation. + + + HID_USAGE_LED_OFF_LINE + HID_USAGE_LED_OFF_LINE + + + + No documentation. + + + HID_USAGE_LED_BUSY + HID_USAGE_LED_BUSY + + + + No documentation. + + + HID_USAGE_LED_READY + HID_USAGE_LED_READY + + + + No documentation. + + + HID_USAGE_LED_PAPER_OUT + HID_USAGE_LED_PAPER_OUT + + + + No documentation. + + + HID_USAGE_LED_PAPER_JAM + HID_USAGE_LED_PAPER_JAM + + + + No documentation. + + + HID_USAGE_LED_REMOTE + HID_USAGE_LED_REMOTE + + + + No documentation. + + + HID_USAGE_LED_FORWARD + HID_USAGE_LED_FORWARD + + + + No documentation. + + + HID_USAGE_LED_REVERSE + HID_USAGE_LED_REVERSE + + + + No documentation. + + + HID_USAGE_LED_STOP + HID_USAGE_LED_STOP + + + + No documentation. + + + HID_USAGE_LED_REWIND + HID_USAGE_LED_REWIND + + + + No documentation. + + + HID_USAGE_LED_FAST_FORWARD + HID_USAGE_LED_FAST_FORWARD + + + + No documentation. + + + HID_USAGE_LED_PLAY + HID_USAGE_LED_PLAY + + + + No documentation. + + + HID_USAGE_LED_PAUSE + HID_USAGE_LED_PAUSE + + + + No documentation. + + + HID_USAGE_LED_RECORD + HID_USAGE_LED_RECORD + + + + No documentation. + + + HID_USAGE_LED_ERROR + HID_USAGE_LED_ERROR + + + + No documentation. + + + HID_USAGE_LED_SELECTED_INDICATOR + HID_USAGE_LED_SELECTED_INDICATOR + + + + No documentation. + + + HID_USAGE_LED_IN_USE_INDICATOR + HID_USAGE_LED_IN_USE_INDICATOR + + + + No documentation. + + + HID_USAGE_LED_MULTI_MODE_INDICATOR + HID_USAGE_LED_MULTI_MODE_INDICATOR + + + + No documentation. + + + HID_USAGE_LED_INDICATOR_ON + HID_USAGE_LED_INDICATOR_ON + + + + No documentation. + + + HID_USAGE_LED_INDICATOR_FLASH + HID_USAGE_LED_INDICATOR_FLASH + + + + No documentation. + + + HID_USAGE_LED_INDICATOR_SLOW_BLINK + HID_USAGE_LED_INDICATOR_SLOW_BLINK + + + + No documentation. + + + HID_USAGE_LED_INDICATOR_FAST_BLINK + HID_USAGE_LED_INDICATOR_FAST_BLINK + + + + No documentation. + + + HID_USAGE_LED_INDICATOR_OFF + HID_USAGE_LED_INDICATOR_OFF + + + + No documentation. + + + HID_USAGE_LED_FLASH_ON_TIME + HID_USAGE_LED_FLASH_ON_TIME + + + + No documentation. + + + HID_USAGE_LED_SLOW_BLINK_ON_TIME + HID_USAGE_LED_SLOW_BLINK_ON_TIME + + + + No documentation. + + + HID_USAGE_LED_SLOW_BLINK_OFF_TIME + HID_USAGE_LED_SLOW_BLINK_OFF_TIME + + + + No documentation. + + + HID_USAGE_LED_FAST_BLINK_ON_TIME + HID_USAGE_LED_FAST_BLINK_ON_TIME + + + + No documentation. + + + HID_USAGE_LED_FAST_BLINK_OFF_TIME + HID_USAGE_LED_FAST_BLINK_OFF_TIME + + + + No documentation. + + + HID_USAGE_LED_INDICATOR_COLOR + HID_USAGE_LED_INDICATOR_COLOR + + + + No documentation. + + + HID_USAGE_LED_RED + HID_USAGE_LED_RED + + + + No documentation. + + + HID_USAGE_LED_GREEN + HID_USAGE_LED_GREEN + + + + No documentation. + + + HID_USAGE_LED_AMBER + HID_USAGE_LED_AMBER + + + + No documentation. + + + HID_USAGE_LED_GENERIC_INDICATOR + HID_USAGE_LED_GENERIC_INDICATOR + + + + No documentation. + + + HID_USAGE_TELEPHONY_PHONE + HID_USAGE_TELEPHONY_PHONE + + + + No documentation. + + + HID_USAGE_TELEPHONY_ANSWERING_MACHINE + HID_USAGE_TELEPHONY_ANSWERING_MACHINE + + + + No documentation. + + + HID_USAGE_TELEPHONY_MESSAGE_CONTROLS + HID_USAGE_TELEPHONY_MESSAGE_CONTROLS + + + + No documentation. + + + HID_USAGE_TELEPHONY_HANDSET + HID_USAGE_TELEPHONY_HANDSET + + + + No documentation. + + + HID_USAGE_TELEPHONY_HEADSET + HID_USAGE_TELEPHONY_HEADSET + + + + No documentation. + + + HID_USAGE_TELEPHONY_KEYPAD + HID_USAGE_TELEPHONY_KEYPAD + + + + No documentation. + + + HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON + HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON + + + + No documentation. + + + HID_USAGE_TELEPHONY_REDIAL + HID_USAGE_TELEPHONY_REDIAL + + + + No documentation. + + + HID_USAGE_TELEPHONY_TRANSFER + HID_USAGE_TELEPHONY_TRANSFER + + + + No documentation. + + + HID_USAGE_TELEPHONY_DROP + HID_USAGE_TELEPHONY_DROP + + + + No documentation. + + + HID_USAGE_TELEPHONY_LINE + HID_USAGE_TELEPHONY_LINE + + + + No documentation. + + + HID_USAGE_TELEPHONY_RING_ENABLE + HID_USAGE_TELEPHONY_RING_ENABLE + + + + No documentation. + + + HID_USAGE_TELEPHONY_SEND + HID_USAGE_TELEPHONY_SEND + + + + No documentation. + + + HID_USAGE_TELEPHONY_KEYPAD_0 + HID_USAGE_TELEPHONY_KEYPAD_0 + + + + No documentation. + + + HID_USAGE_TELEPHONY_KEYPAD_D + HID_USAGE_TELEPHONY_KEYPAD_D + + + + No documentation. + + + HID_USAGE_TELEPHONY_HOST_AVAILABLE + HID_USAGE_TELEPHONY_HOST_AVAILABLE + + + + No documentation. + + + HID_USAGE_MS_BTH_HF_DIALNUMBER + HID_USAGE_MS_BTH_HF_DIALNUMBER + + + + No documentation. + + + HID_USAGE_MS_BTH_HF_DIALMEMORY + HID_USAGE_MS_BTH_HF_DIALMEMORY + + + + No documentation. + + + HID_USAGE_CONSUMERCTRL + HID_USAGE_CONSUMERCTRL + + + + No documentation. + + + HID_USAGE_DIGITIZER_PEN + HID_USAGE_DIGITIZER_PEN + + + + No documentation. + + + HID_USAGE_DIGITIZER_IN_RANGE + HID_USAGE_DIGITIZER_IN_RANGE + + + + No documentation. + + + HID_USAGE_DIGITIZER_TIP_SWITCH + HID_USAGE_DIGITIZER_TIP_SWITCH + + + + No documentation. + + + HID_USAGE_DIGITIZER_BARREL_SWITCH + HID_USAGE_DIGITIZER_BARREL_SWITCH + + + + No documentation. + + + HID_USAGE_PAGE + HID_USAGE_PAGE + + + + No documentation. + + + HID_USAGE_PAGE_UNDEFINED + HID_USAGE_PAGE_UNDEFINED + + + + No documentation. + + + HID_USAGE_PAGE_GENERIC + HID_USAGE_PAGE_GENERIC + + + + No documentation. + + + HID_USAGE_PAGE_SIMULATION + HID_USAGE_PAGE_SIMULATION + + + + No documentation. + + + HID_USAGE_PAGE_VR + HID_USAGE_PAGE_VR + + + + No documentation. + + + HID_USAGE_PAGE_SPORT + HID_USAGE_PAGE_SPORT + + + + No documentation. + + + HID_USAGE_PAGE_GAME + HID_USAGE_PAGE_GAME + + + + No documentation. + + + HID_USAGE_PAGE_KEYBOARD + HID_USAGE_PAGE_KEYBOARD + + + + No documentation. + + + HID_USAGE_PAGE_LED + HID_USAGE_PAGE_LED + + + + No documentation. + + + HID_USAGE_PAGE_BUTTON + HID_USAGE_PAGE_BUTTON + + + + No documentation. + + + HID_USAGE_PAGE_ORDINAL + HID_USAGE_PAGE_ORDINAL + + + + No documentation. + + + HID_USAGE_PAGE_TELEPHONY + HID_USAGE_PAGE_TELEPHONY + + + + No documentation. + + + HID_USAGE_PAGE_CONSUMER + HID_USAGE_PAGE_CONSUMER + + + + No documentation. + + + HID_USAGE_PAGE_DIGITIZER + HID_USAGE_PAGE_DIGITIZER + + + + No documentation. + + + HID_USAGE_PAGE_UNICODE + HID_USAGE_PAGE_UNICODE + + + + No documentation. + + + HID_USAGE_PAGE_ALPHANUMERIC + HID_USAGE_PAGE_ALPHANUMERIC + + + + No documentation. + + + HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE + HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE + + + + No documentation. + + + HID_USAGE_PAGE_MEDICAL + HID_USAGE_PAGE_MEDICAL + + + + No documentation. + + + HID_USAGE_PAGE_MONITOR_PAGE0 + HID_USAGE_PAGE_MONITOR_PAGE0 + + + + No documentation. + + + HID_USAGE_PAGE_MONITOR_PAGE1 + HID_USAGE_PAGE_MONITOR_PAGE1 + + + + No documentation. + + + HID_USAGE_PAGE_MONITOR_PAGE2 + HID_USAGE_PAGE_MONITOR_PAGE2 + + + + No documentation. + + + HID_USAGE_PAGE_MONITOR_PAGE3 + HID_USAGE_PAGE_MONITOR_PAGE3 + + + + No documentation. + + + HID_USAGE_PAGE_POWER_PAGE0 + HID_USAGE_PAGE_POWER_PAGE0 + + + + No documentation. + + + HID_USAGE_PAGE_POWER_PAGE1 + HID_USAGE_PAGE_POWER_PAGE1 + + + + No documentation. + + + HID_USAGE_PAGE_POWER_PAGE2 + HID_USAGE_PAGE_POWER_PAGE2 + + + + No documentation. + + + HID_USAGE_PAGE_POWER_PAGE3 + HID_USAGE_PAGE_POWER_PAGE3 + + + + No documentation. + + + HID_USAGE_PAGE_BARCODE + HID_USAGE_PAGE_BARCODE + + + + No documentation. + + + HID_USAGE_PAGE_SCALE + HID_USAGE_PAGE_SCALE + + + + No documentation. + + + HID_USAGE_PAGE_MSR + HID_USAGE_PAGE_MSR + + + + No documentation. + + + WAVE_FORMAT_ENCODING + WAVE_FORMAT_ENCODING + + + + No documentation. + + + WAVE_FORMAT_UNKNOWN + WAVE_FORMAT_UNKNOWN + + + + No documentation. + + + WAVE_FORMAT_ADPCM + WAVE_FORMAT_ADPCM + + + + No documentation. + + + WAVE_FORMAT_IEEE_FLOAT + WAVE_FORMAT_IEEE_FLOAT + + + + No documentation. + + + WAVE_FORMAT_VSELP + WAVE_FORMAT_VSELP + + + + No documentation. + + + WAVE_FORMAT_IBM_CVSD + WAVE_FORMAT_IBM_CVSD + + + + No documentation. + + + WAVE_FORMAT_ALAW + WAVE_FORMAT_ALAW + + + + No documentation. + + + WAVE_FORMAT_MULAW + WAVE_FORMAT_MULAW + + + + No documentation. + + + WAVE_FORMAT_DTS + WAVE_FORMAT_DTS + + + + No documentation. + + + WAVE_FORMAT_DRM + WAVE_FORMAT_DRM + + + + No documentation. + + + WAVE_FORMAT_WMAVOICE9 + WAVE_FORMAT_WMAVOICE9 + + + + No documentation. + + + WAVE_FORMAT_WMAVOICE10 + WAVE_FORMAT_WMAVOICE10 + + + + No documentation. + + + WAVE_FORMAT_OKI_ADPCM + WAVE_FORMAT_OKI_ADPCM + + + + No documentation. + + + WAVE_FORMAT_DVI_ADPCM + WAVE_FORMAT_DVI_ADPCM + + + + No documentation. + + + WAVE_FORMAT_IMA_ADPCM + WAVE_FORMAT_IMA_ADPCM + + + + No documentation. + + + WAVE_FORMAT_MEDIASPACE_ADPCM + WAVE_FORMAT_MEDIASPACE_ADPCM + + + + No documentation. + + + WAVE_FORMAT_SIERRA_ADPCM + WAVE_FORMAT_SIERRA_ADPCM + + + + No documentation. + + + WAVE_FORMAT_G723_ADPCM + WAVE_FORMAT_G723_ADPCM + + + + No documentation. + + + WAVE_FORMAT_DIGISTD + WAVE_FORMAT_DIGISTD + + + + No documentation. + + + WAVE_FORMAT_DIGIFIX + WAVE_FORMAT_DIGIFIX + + + + No documentation. + + + WAVE_FORMAT_DIALOGIC_OKI_ADPCM + WAVE_FORMAT_DIALOGIC_OKI_ADPCM + + + + No documentation. + + + WAVE_FORMAT_MEDIAVISION_ADPCM + WAVE_FORMAT_MEDIAVISION_ADPCM + + + + No documentation. + + + WAVE_FORMAT_CU_CODEC + WAVE_FORMAT_CU_CODEC + + + + No documentation. + + + WAVE_FORMAT_YAMAHA_ADPCM + WAVE_FORMAT_YAMAHA_ADPCM + + + + No documentation. + + + WAVE_FORMAT_SONARC + WAVE_FORMAT_SONARC + + + + No documentation. + + + WAVE_FORMAT_DSPGROUP_TRUESPEECH + WAVE_FORMAT_DSPGROUP_TRUESPEECH + + + + No documentation. + + + WAVE_FORMAT_ECHOSC1 + WAVE_FORMAT_ECHOSC1 + + + + No documentation. + + + WAVE_FORMAT_AUDIOFILE_AF36 + WAVE_FORMAT_AUDIOFILE_AF36 + + + + No documentation. + + + WAVE_FORMAT_APTX + WAVE_FORMAT_APTX + + + + No documentation. + + + WAVE_FORMAT_AUDIOFILE_AF10 + WAVE_FORMAT_AUDIOFILE_AF10 + + + + No documentation. + + + WAVE_FORMAT_PROSODY_1612 + WAVE_FORMAT_PROSODY_1612 + + + + No documentation. + + + WAVE_FORMAT_LRC + WAVE_FORMAT_LRC + + + + No documentation. + + + WAVE_FORMAT_DOLBY_AC2 + WAVE_FORMAT_DOLBY_AC2 + + + + No documentation. + + + WAVE_FORMAT_GSM610 + WAVE_FORMAT_GSM610 + + + + No documentation. + + + WAVE_FORMAT_MSNAUDIO + WAVE_FORMAT_MSNAUDIO + + + + No documentation. + + + WAVE_FORMAT_ANTEX_ADPCME + WAVE_FORMAT_ANTEX_ADPCME + + + + No documentation. + + + WAVE_FORMAT_CONTROL_RES_VQLPC + WAVE_FORMAT_CONTROL_RES_VQLPC + + + + No documentation. + + + WAVE_FORMAT_DIGIREAL + WAVE_FORMAT_DIGIREAL + + + + No documentation. + + + WAVE_FORMAT_DIGIADPCM + WAVE_FORMAT_DIGIADPCM + + + + No documentation. + + + WAVE_FORMAT_CONTROL_RES_CR10 + WAVE_FORMAT_CONTROL_RES_CR10 + + + + No documentation. + + + WAVE_FORMAT_NMS_VBXADPCM + WAVE_FORMAT_NMS_VBXADPCM + + + + No documentation. + + + WAVE_FORMAT_CS_IMAADPCM + WAVE_FORMAT_CS_IMAADPCM + + + + No documentation. + + + WAVE_FORMAT_ECHOSC3 + WAVE_FORMAT_ECHOSC3 + + + + No documentation. + + + WAVE_FORMAT_ROCKWELL_ADPCM + WAVE_FORMAT_ROCKWELL_ADPCM + + + + No documentation. + + + WAVE_FORMAT_ROCKWELL_DIGITALK + WAVE_FORMAT_ROCKWELL_DIGITALK + + + + No documentation. + + + WAVE_FORMAT_XEBEC + WAVE_FORMAT_XEBEC + + + + No documentation. + + + WAVE_FORMAT_G721_ADPCM + WAVE_FORMAT_G721_ADPCM + + + + No documentation. + + + WAVE_FORMAT_G728_CELP + WAVE_FORMAT_G728_CELP + + + + No documentation. + + + WAVE_FORMAT_MSG723 + WAVE_FORMAT_MSG723 + + + + No documentation. + + + WAVE_FORMAT_MPEG + WAVE_FORMAT_MPEG + + + + No documentation. + + + WAVE_FORMAT_RT24 + WAVE_FORMAT_RT24 + + + + No documentation. + + + WAVE_FORMAT_PAC + WAVE_FORMAT_PAC + + + + No documentation. + + + WAVE_FORMAT_MPEGLAYER3 + WAVE_FORMAT_MPEGLAYER3 + + + + No documentation. + + + WAVE_FORMAT_LUCENT_G723 + WAVE_FORMAT_LUCENT_G723 + + + + No documentation. + + + WAVE_FORMAT_CIRRUS + WAVE_FORMAT_CIRRUS + + + + No documentation. + + + WAVE_FORMAT_ESPCM + WAVE_FORMAT_ESPCM + + + + No documentation. + + + WAVE_FORMAT_VOXWARE + WAVE_FORMAT_VOXWARE + + + + No documentation. + + + WAVE_FORMAT_CANOPUS_ATRAC + WAVE_FORMAT_CANOPUS_ATRAC + + + + No documentation. + + + WAVE_FORMAT_G726_ADPCM + WAVE_FORMAT_G726_ADPCM + + + + No documentation. + + + WAVE_FORMAT_G722_ADPCM + WAVE_FORMAT_G722_ADPCM + + + + No documentation. + + + WAVE_FORMAT_DSAT_DISPLAY + WAVE_FORMAT_DSAT_DISPLAY + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_BYTE_ALIGNED + WAVE_FORMAT_VOXWARE_BYTE_ALIGNED + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_AC8 + WAVE_FORMAT_VOXWARE_AC8 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_AC10 + WAVE_FORMAT_VOXWARE_AC10 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_AC16 + WAVE_FORMAT_VOXWARE_AC16 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_AC20 + WAVE_FORMAT_VOXWARE_AC20 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_RT24 + WAVE_FORMAT_VOXWARE_RT24 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_RT29 + WAVE_FORMAT_VOXWARE_RT29 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_RT29HW + WAVE_FORMAT_VOXWARE_RT29HW + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_VR12 + WAVE_FORMAT_VOXWARE_VR12 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_VR18 + WAVE_FORMAT_VOXWARE_VR18 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_TQ40 + WAVE_FORMAT_VOXWARE_TQ40 + + + + No documentation. + + + WAVE_FORMAT_SOFTSOUND + WAVE_FORMAT_SOFTSOUND + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_TQ60 + WAVE_FORMAT_VOXWARE_TQ60 + + + + No documentation. + + + WAVE_FORMAT_MSRT24 + WAVE_FORMAT_MSRT24 + + + + No documentation. + + + WAVE_FORMAT_G729A + WAVE_FORMAT_G729A + + + + No documentation. + + + WAVE_FORMAT_MVI_MVI2 + WAVE_FORMAT_MVI_MVI2 + + + + No documentation. + + + WAVE_FORMAT_DF_G726 + WAVE_FORMAT_DF_G726 + + + + No documentation. + + + WAVE_FORMAT_DF_GSM610 + WAVE_FORMAT_DF_GSM610 + + + + No documentation. + + + WAVE_FORMAT_ISIAUDIO + WAVE_FORMAT_ISIAUDIO + + + + No documentation. + + + WAVE_FORMAT_ONLIVE + WAVE_FORMAT_ONLIVE + + + + No documentation. + + + WAVE_FORMAT_SBC24 + WAVE_FORMAT_SBC24 + + + + No documentation. + + + WAVE_FORMAT_DOLBY_AC3_SPDIF + WAVE_FORMAT_DOLBY_AC3_SPDIF + + + + No documentation. + + + WAVE_FORMAT_MEDIASONIC_G723 + WAVE_FORMAT_MEDIASONIC_G723 + + + + No documentation. + + + WAVE_FORMAT_PROSODY_8KBPS + WAVE_FORMAT_PROSODY_8KBPS + + + + No documentation. + + + WAVE_FORMAT_ZYXEL_ADPCM + WAVE_FORMAT_ZYXEL_ADPCM + + + + No documentation. + + + WAVE_FORMAT_PHILIPS_LPCBB + WAVE_FORMAT_PHILIPS_LPCBB + + + + No documentation. + + + WAVE_FORMAT_PACKED + WAVE_FORMAT_PACKED + + + + No documentation. + + + WAVE_FORMAT_MALDEN_PHONYTALK + WAVE_FORMAT_MALDEN_PHONYTALK + + + + No documentation. + + + WAVE_FORMAT_RAW_AAC1 + WAVE_FORMAT_RAW_AAC1 + + + + No documentation. + + + WAVE_FORMAT_RHETOREX_ADPCM + WAVE_FORMAT_RHETOREX_ADPCM + + + + No documentation. + + + WAVE_FORMAT_IRAT + WAVE_FORMAT_IRAT + + + + No documentation. + + + WAVE_FORMAT_VIVO_G723 + WAVE_FORMAT_VIVO_G723 + + + + No documentation. + + + WAVE_FORMAT_VIVO_SIREN + WAVE_FORMAT_VIVO_SIREN + + + + No documentation. + + + WAVE_FORMAT_DIGITAL_G723 + WAVE_FORMAT_DIGITAL_G723 + + + + No documentation. + + + WAVE_FORMAT_SANYO_LD_ADPCM + WAVE_FORMAT_SANYO_LD_ADPCM + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_ACEPLNET + WAVE_FORMAT_SIPROLAB_ACEPLNET + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_ACELP4800 + WAVE_FORMAT_SIPROLAB_ACELP4800 + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_ACELP8V3 + WAVE_FORMAT_SIPROLAB_ACELP8V3 + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_G729 + WAVE_FORMAT_SIPROLAB_G729 + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_G729A + WAVE_FORMAT_SIPROLAB_G729A + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_KELVIN + WAVE_FORMAT_SIPROLAB_KELVIN + + + + No documentation. + + + WAVE_FORMAT_G726ADPCM + WAVE_FORMAT_G726ADPCM + + + + No documentation. + + + WAVE_FORMAT_QUALCOMM_PUREVOICE + WAVE_FORMAT_QUALCOMM_PUREVOICE + + + + No documentation. + + + WAVE_FORMAT_QUALCOMM_HALFRATE + WAVE_FORMAT_QUALCOMM_HALFRATE + + + + No documentation. + + + WAVE_FORMAT_TUBGSM + WAVE_FORMAT_TUBGSM + + + + No documentation. + + + WAVE_FORMAT_MSAUDIO1 + WAVE_FORMAT_MSAUDIO1 + + + + No documentation. + + + WAVE_FORMAT_WMAUDIO2 + WAVE_FORMAT_WMAUDIO2 + + + + No documentation. + + + WAVE_FORMAT_WMAUDIO3 + WAVE_FORMAT_WMAUDIO3 + + + + No documentation. + + + WAVE_FORMAT_WMAUDIO_LOSSLESS + WAVE_FORMAT_WMAUDIO_LOSSLESS + + + + No documentation. + + + WAVE_FORMAT_WMASPDIF + WAVE_FORMAT_WMASPDIF + + + + No documentation. + + + WAVE_FORMAT_UNISYS_NAP_ADPCM + WAVE_FORMAT_UNISYS_NAP_ADPCM + + + + No documentation. + + + WAVE_FORMAT_UNISYS_NAP_ULAW + WAVE_FORMAT_UNISYS_NAP_ULAW + + + + No documentation. + + + WAVE_FORMAT_UNISYS_NAP_ALAW + WAVE_FORMAT_UNISYS_NAP_ALAW + + + + No documentation. + + + WAVE_FORMAT_UNISYS_NAP_16K + WAVE_FORMAT_UNISYS_NAP_16K + + + + No documentation. + + + WAVE_FORMAT_CREATIVE_ADPCM + WAVE_FORMAT_CREATIVE_ADPCM + + + + No documentation. + + + WAVE_FORMAT_CREATIVE_FASTSPEECH8 + WAVE_FORMAT_CREATIVE_FASTSPEECH8 + + + + No documentation. + + + WAVE_FORMAT_CREATIVE_FASTSPEECH10 + WAVE_FORMAT_CREATIVE_FASTSPEECH10 + + + + No documentation. + + + WAVE_FORMAT_UHER_ADPCM + WAVE_FORMAT_UHER_ADPCM + + + + No documentation. + + + WAVE_FORMAT_QUARTERDECK + WAVE_FORMAT_QUARTERDECK + + + + No documentation. + + + WAVE_FORMAT_ILINK_VC + WAVE_FORMAT_ILINK_VC + + + + No documentation. + + + WAVE_FORMAT_RAW_SPORT + WAVE_FORMAT_RAW_SPORT + + + + No documentation. + + + WAVE_FORMAT_ESST_AC3 + WAVE_FORMAT_ESST_AC3 + + + + No documentation. + + + WAVE_FORMAT_GENERIC_PASSTHRU + WAVE_FORMAT_GENERIC_PASSTHRU + + + + No documentation. + + + WAVE_FORMAT_IPI_HSX + WAVE_FORMAT_IPI_HSX + + + + No documentation. + + + WAVE_FORMAT_IPI_RPELP + WAVE_FORMAT_IPI_RPELP + + + + No documentation. + + + WAVE_FORMAT_CS2 + WAVE_FORMAT_CS2 + + + + No documentation. + + + WAVE_FORMAT_SONY_SCX + WAVE_FORMAT_SONY_SCX + + + + No documentation. + + + WAVE_FORMAT_FM_TOWNS_SND + WAVE_FORMAT_FM_TOWNS_SND + + + + No documentation. + + + WAVE_FORMAT_BTV_DIGITAL + WAVE_FORMAT_BTV_DIGITAL + + + + No documentation. + + + WAVE_FORMAT_QDESIGN_MUSIC + WAVE_FORMAT_QDESIGN_MUSIC + + + + No documentation. + + + WAVE_FORMAT_VME_VMPCM + WAVE_FORMAT_VME_VMPCM + + + + No documentation. + + + WAVE_FORMAT_TPC + WAVE_FORMAT_TPC + + + + No documentation. + + + WAVE_FORMAT_OLIGSM + WAVE_FORMAT_OLIGSM + + + + No documentation. + + + WAVE_FORMAT_OLIADPCM + WAVE_FORMAT_OLIADPCM + + + + No documentation. + + + WAVE_FORMAT_OLICELP + WAVE_FORMAT_OLICELP + + + + No documentation. + + + WAVE_FORMAT_OLISBC + WAVE_FORMAT_OLISBC + + + + No documentation. + + + WAVE_FORMAT_OLIOPR + WAVE_FORMAT_OLIOPR + + + + No documentation. + + + WAVE_FORMAT_LH_CODEC + WAVE_FORMAT_LH_CODEC + + + + No documentation. + + + WAVE_FORMAT_NORRIS + WAVE_FORMAT_NORRIS + + + + No documentation. + + + WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS + WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS + + + + No documentation. + + + WAVE_FORMAT_MPEG_ADTS_AAC + WAVE_FORMAT_MPEG_ADTS_AAC + + + + No documentation. + + + WAVE_FORMAT_MPEG_RAW_AAC + WAVE_FORMAT_MPEG_RAW_AAC + + + + No documentation. + + + WAVE_FORMAT_MPEG_LOAS + WAVE_FORMAT_MPEG_LOAS + + + + No documentation. + + + WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC + WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC + + + + No documentation. + + + WAVE_FORMAT_NOKIA_MPEG_RAW_AAC + WAVE_FORMAT_NOKIA_MPEG_RAW_AAC + + + + No documentation. + + + WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC + WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC + + + + No documentation. + + + WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC + WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC + + + + No documentation. + + + WAVE_FORMAT_MPEG_HEAAC + WAVE_FORMAT_MPEG_HEAAC + + + + No documentation. + + + WAVE_FORMAT_DVM + WAVE_FORMAT_DVM + + + + No documentation. + + + WAVE_FORMAT_DTS2 + WAVE_FORMAT_DTS2 + + + + No documentation. + + + WAVE_FORMAT_EXTENSIBLE + WAVE_FORMAT_EXTENSIBLE + + + + No documentation. + + + WAVE_FORMAT_DEVELOPMENT + WAVE_FORMAT_DEVELOPMENT + + + + No documentation. + + + WAVE_FORMAT_PCM + WAVE_FORMAT_PCM + + + + No documentation. + + + STGC + STGC + + + + No documentation. + + + STGC_DEFAULT + STGC_DEFAULT + + + + No documentation. + + + STGC_OVERWRITE + STGC_OVERWRITE + + + + No documentation. + + + STGC_ONLYIFCURRENT + STGC_ONLYIFCURRENT + + + + No documentation. + + + STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE + STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE + + + + No documentation. + + + STGC_CONSOLIDATE + STGC_CONSOLIDATE + + + + No documentation. + + + SHARPDX_ERRORCODE + SHARPDX_ERRORCODE + + + + No documentation. + + + ERROR_SUCCESS + ERROR_SUCCESS + + + + No documentation. + + + ERROR_INVALID_FUNCTION + ERROR_INVALID_FUNCTION + + + + No documentation. + + + ERROR_FILE_NOT_FOUND + ERROR_FILE_NOT_FOUND + + + + No documentation. + + + ERROR_PATH_NOT_FOUND + ERROR_PATH_NOT_FOUND + + + + No documentation. + + + ERROR_TOO_MANY_OPEN_FILES + ERROR_TOO_MANY_OPEN_FILES + + + + No documentation. + + + ERROR_ACCESS_DENIED + ERROR_ACCESS_DENIED + + + + No documentation. + + + ERROR_INVALID_HANDLE + ERROR_INVALID_HANDLE + + + + No documentation. + + + ERROR_ARENA_TRASHED + ERROR_ARENA_TRASHED + + + + No documentation. + + + ERROR_NOT_ENOUGH_MEMORY + ERROR_NOT_ENOUGH_MEMORY + + + + No documentation. + + + ERROR_INVALID_BLOCK + ERROR_INVALID_BLOCK + + + + No documentation. + + + ERROR_BAD_ENVIRONMENT + ERROR_BAD_ENVIRONMENT + + + + No documentation. + + + ERROR_BAD_FORMAT + ERROR_BAD_FORMAT + + + + No documentation. + + + ERROR_INVALID_ACCESS + ERROR_INVALID_ACCESS + + + + No documentation. + + + ERROR_INVALID_DATA + ERROR_INVALID_DATA + + + + No documentation. + + + ERROR_OUTOFMEMORY + ERROR_OUTOFMEMORY + + + + No documentation. + + + ERROR_INVALID_DRIVE + ERROR_INVALID_DRIVE + + + + No documentation. + + + ERROR_CURRENT_DIRECTORY + ERROR_CURRENT_DIRECTORY + + + + No documentation. + + + ERROR_NOT_SAME_DEVICE + ERROR_NOT_SAME_DEVICE + + + + No documentation. + + + ERROR_NO_MORE_FILES + ERROR_NO_MORE_FILES + + + + No documentation. + + + ERROR_WRITE_PROTECT + ERROR_WRITE_PROTECT + + + + No documentation. + + + ERROR_BAD_UNIT + ERROR_BAD_UNIT + + + + No documentation. + + + ERROR_NOT_READY + ERROR_NOT_READY + + + + No documentation. + + + ERROR_BAD_COMMAND + ERROR_BAD_COMMAND + + + + No documentation. + + + ERROR_CRC + ERROR_CRC + + + + No documentation. + + + ERROR_BAD_LENGTH + ERROR_BAD_LENGTH + + + + No documentation. + + + ERROR_SEEK + ERROR_SEEK + + + + No documentation. + + + ERROR_NOT_DOS_DISK + ERROR_NOT_DOS_DISK + + + + No documentation. + + + ERROR_SECTOR_NOT_FOUND + ERROR_SECTOR_NOT_FOUND + + + + No documentation. + + + ERROR_OUT_OF_PAPER + ERROR_OUT_OF_PAPER + + + + No documentation. + + + ERROR_WRITE_FAULT + ERROR_WRITE_FAULT + + + + No documentation. + + + ERROR_READ_FAULT + ERROR_READ_FAULT + + + + No documentation. + + + ERROR_GEN_FAILURE + ERROR_GEN_FAILURE + + + + No documentation. + + + ERROR_SHARING_VIOLATION + ERROR_SHARING_VIOLATION + + + + No documentation. + + + ERROR_LOCK_VIOLATION + ERROR_LOCK_VIOLATION + + + + No documentation. + + + ERROR_WRONG_DISK + ERROR_WRONG_DISK + + + + No documentation. + + + ERROR_SHARING_BUFFER_EXCEEDED + ERROR_SHARING_BUFFER_EXCEEDED + + + + No documentation. + + + ERROR_HANDLE_EOF + ERROR_HANDLE_EOF + + + + No documentation. + + + ERROR_HANDLE_DISK_FULL + ERROR_HANDLE_DISK_FULL + + + + No documentation. + + + ERROR_NOT_SUPPORTED + ERROR_NOT_SUPPORTED + + + + No documentation. + + + ERROR_REM_NOT_LIST + ERROR_REM_NOT_LIST + + + + No documentation. + + + ERROR_DUP_NAME + ERROR_DUP_NAME + + + + No documentation. + + + ERROR_BAD_NETPATH + ERROR_BAD_NETPATH + + + + No documentation. + + + ERROR_NETWORK_BUSY + ERROR_NETWORK_BUSY + + + + No documentation. + + + ERROR_DEV_NOT_EXIST + ERROR_DEV_NOT_EXIST + + + + No documentation. + + + ERROR_TOO_MANY_CMDS + ERROR_TOO_MANY_CMDS + + + + No documentation. + + + ERROR_ADAP_HDW_ERR + ERROR_ADAP_HDW_ERR + + + + No documentation. + + + ERROR_BAD_NET_RESP + ERROR_BAD_NET_RESP + + + + No documentation. + + + ERROR_UNEXP_NET_ERR + ERROR_UNEXP_NET_ERR + + + + No documentation. + + + ERROR_BAD_REM_ADAP + ERROR_BAD_REM_ADAP + + + + No documentation. + + + ERROR_PRINTQ_FULL + ERROR_PRINTQ_FULL + + + + No documentation. + + + ERROR_NO_SPOOL_SPACE + ERROR_NO_SPOOL_SPACE + + + + No documentation. + + + ERROR_PRINT_CANCELLED + ERROR_PRINT_CANCELLED + + + + No documentation. + + + ERROR_NETNAME_DELETED + ERROR_NETNAME_DELETED + + + + No documentation. + + + ERROR_NETWORK_ACCESS_DENIED + ERROR_NETWORK_ACCESS_DENIED + + + + No documentation. + + + ERROR_BAD_DEV_TYPE + ERROR_BAD_DEV_TYPE + + + + No documentation. + + + ERROR_BAD_NET_NAME + ERROR_BAD_NET_NAME + + + + No documentation. + + + ERROR_TOO_MANY_NAMES + ERROR_TOO_MANY_NAMES + + + + No documentation. + + + ERROR_TOO_MANY_SESS + ERROR_TOO_MANY_SESS + + + + No documentation. + + + ERROR_SHARING_PAUSED + ERROR_SHARING_PAUSED + + + + No documentation. + + + ERROR_REQ_NOT_ACCEP + ERROR_REQ_NOT_ACCEP + + + + No documentation. + + + ERROR_REDIR_PAUSED + ERROR_REDIR_PAUSED + + + + No documentation. + + + ERROR_FILE_EXISTS + ERROR_FILE_EXISTS + + + + No documentation. + + + ERROR_CANNOT_MAKE + ERROR_CANNOT_MAKE + + + + No documentation. + + + ERROR_FAIL_I24 + ERROR_FAIL_I24 + + + + No documentation. + + + ERROR_OUT_OF_STRUCTURES + ERROR_OUT_OF_STRUCTURES + + + + No documentation. + + + ERROR_ALREADY_ASSIGNED + ERROR_ALREADY_ASSIGNED + + + + No documentation. + + + ERROR_INVALID_PASSWORD + ERROR_INVALID_PASSWORD + + + + No documentation. + + + ERROR_INVALID_PARAMETER + ERROR_INVALID_PARAMETER + + + + No documentation. + + + ERROR_NET_WRITE_FAULT + ERROR_NET_WRITE_FAULT + + + + No documentation. + + + ERROR_NO_PROC_SLOTS + ERROR_NO_PROC_SLOTS + + + + No documentation. + + + ERROR_TOO_MANY_SEMAPHORES + ERROR_TOO_MANY_SEMAPHORES + + + + No documentation. + + + ERROR_EXCL_SEM_ALREADY_OWNED + ERROR_EXCL_SEM_ALREADY_OWNED + + + + No documentation. + + + ERROR_SEM_IS_SET + ERROR_SEM_IS_SET + + + + No documentation. + + + ERROR_TOO_MANY_SEM_REQUESTS + ERROR_TOO_MANY_SEM_REQUESTS + + + + No documentation. + + + ERROR_INVALID_AT_INTERRUPT_TIME + ERROR_INVALID_AT_INTERRUPT_TIME + + + + No documentation. + + + ERROR_SEM_OWNER_DIED + ERROR_SEM_OWNER_DIED + + + + No documentation. + + + ERROR_SEM_USER_LIMIT + ERROR_SEM_USER_LIMIT + + + + No documentation. + + + ERROR_DISK_CHANGE + ERROR_DISK_CHANGE + + + + No documentation. + + + ERROR_DRIVE_LOCKED + ERROR_DRIVE_LOCKED + + + + No documentation. + + + ERROR_BROKEN_PIPE + ERROR_BROKEN_PIPE + + + + No documentation. + + + ERROR_OPEN_FAILED + ERROR_OPEN_FAILED + + + + No documentation. + + + ERROR_BUFFER_OVERFLOW + ERROR_BUFFER_OVERFLOW + + + + No documentation. + + + ERROR_DISK_FULL + ERROR_DISK_FULL + + + + No documentation. + + + ERROR_NO_MORE_SEARCH_HANDLES + ERROR_NO_MORE_SEARCH_HANDLES + + + + No documentation. + + + ERROR_INVALID_TARGET_HANDLE + ERROR_INVALID_TARGET_HANDLE + + + + No documentation. + + + ERROR_INVALID_CATEGORY + ERROR_INVALID_CATEGORY + + + + No documentation. + + + ERROR_INVALID_VERIFY_SWITCH + ERROR_INVALID_VERIFY_SWITCH + + + + No documentation. + + + ERROR_BAD_DRIVER_LEVEL + ERROR_BAD_DRIVER_LEVEL + + + + No documentation. + + + ERROR_CALL_NOT_IMPLEMENTED + ERROR_CALL_NOT_IMPLEMENTED + + + + No documentation. + + + ERROR_SEM_TIMEOUT + ERROR_SEM_TIMEOUT + + + + No documentation. + + + ERROR_INSUFFICIENT_BUFFER + ERROR_INSUFFICIENT_BUFFER + + + + No documentation. + + + ERROR_INVALID_NAME + ERROR_INVALID_NAME + + + + No documentation. + + + ERROR_INVALID_LEVEL + ERROR_INVALID_LEVEL + + + + No documentation. + + + ERROR_NO_VOLUME_LABEL + ERROR_NO_VOLUME_LABEL + + + + No documentation. + + + ERROR_MOD_NOT_FOUND + ERROR_MOD_NOT_FOUND + + + + No documentation. + + + ERROR_PROC_NOT_FOUND + ERROR_PROC_NOT_FOUND + + + + No documentation. + + + ERROR_WAIT_NO_CHILDREN + ERROR_WAIT_NO_CHILDREN + + + + No documentation. + + + ERROR_CHILD_NOT_COMPLETE + ERROR_CHILD_NOT_COMPLETE + + + + No documentation. + + + ERROR_DIRECT_ACCESS_HANDLE + ERROR_DIRECT_ACCESS_HANDLE + + + + No documentation. + + + ERROR_NEGATIVE_SEEK + ERROR_NEGATIVE_SEEK + + + + No documentation. + + + ERROR_SEEK_ON_DEVICE + ERROR_SEEK_ON_DEVICE + + + + No documentation. + + + ERROR_IS_JOIN_TARGET + ERROR_IS_JOIN_TARGET + + + + No documentation. + + + ERROR_IS_JOINED + ERROR_IS_JOINED + + + + No documentation. + + + ERROR_IS_SUBSTED + ERROR_IS_SUBSTED + + + + No documentation. + + + ERROR_NOT_JOINED + ERROR_NOT_JOINED + + + + No documentation. + + + ERROR_NOT_SUBSTED + ERROR_NOT_SUBSTED + + + + No documentation. + + + ERROR_JOIN_TO_JOIN + ERROR_JOIN_TO_JOIN + + + + No documentation. + + + ERROR_SUBST_TO_SUBST + ERROR_SUBST_TO_SUBST + + + + No documentation. + + + ERROR_JOIN_TO_SUBST + ERROR_JOIN_TO_SUBST + + + + No documentation. + + + ERROR_SUBST_TO_JOIN + ERROR_SUBST_TO_JOIN + + + + No documentation. + + + ERROR_BUSY_DRIVE + ERROR_BUSY_DRIVE + + + + No documentation. + + + ERROR_SAME_DRIVE + ERROR_SAME_DRIVE + + + + No documentation. + + + ERROR_DIR_NOT_ROOT + ERROR_DIR_NOT_ROOT + + + + No documentation. + + + ERROR_DIR_NOT_EMPTY + ERROR_DIR_NOT_EMPTY + + + + No documentation. + + + ERROR_IS_SUBST_PATH + ERROR_IS_SUBST_PATH + + + + No documentation. + + + ERROR_IS_JOIN_PATH + ERROR_IS_JOIN_PATH + + + + No documentation. + + + ERROR_PATH_BUSY + ERROR_PATH_BUSY + + + + No documentation. + + + ERROR_IS_SUBST_TARGET + ERROR_IS_SUBST_TARGET + + + + No documentation. + + + ERROR_SYSTEM_TRACE + ERROR_SYSTEM_TRACE + + + + No documentation. + + + ERROR_INVALID_EVENT_COUNT + ERROR_INVALID_EVENT_COUNT + + + + No documentation. + + + ERROR_TOO_MANY_MUXWAITERS + ERROR_TOO_MANY_MUXWAITERS + + + + No documentation. + + + ERROR_INVALID_LIST_FORMAT + ERROR_INVALID_LIST_FORMAT + + + + No documentation. + + + ERROR_LABEL_TOO_LONG + ERROR_LABEL_TOO_LONG + + + + No documentation. + + + ERROR_TOO_MANY_TCBS + ERROR_TOO_MANY_TCBS + + + + No documentation. + + + ERROR_SIGNAL_REFUSED + ERROR_SIGNAL_REFUSED + + + + No documentation. + + + ERROR_DISCARDED + ERROR_DISCARDED + + + + No documentation. + + + ERROR_NOT_LOCKED + ERROR_NOT_LOCKED + + + + No documentation. + + + ERROR_BAD_THREADID_ADDR + ERROR_BAD_THREADID_ADDR + + + + No documentation. + + + ERROR_BAD_ARGUMENTS + ERROR_BAD_ARGUMENTS + + + + No documentation. + + + ERROR_BAD_PATHNAME + ERROR_BAD_PATHNAME + + + + No documentation. + + + ERROR_SIGNAL_PENDING + ERROR_SIGNAL_PENDING + + + + No documentation. + + + ERROR_MAX_THRDS_REACHED + ERROR_MAX_THRDS_REACHED + + + + No documentation. + + + ERROR_LOCK_FAILED + ERROR_LOCK_FAILED + + + + No documentation. + + + ERROR_BUSY + ERROR_BUSY + + + + No documentation. + + + ERROR_CANCEL_VIOLATION + ERROR_CANCEL_VIOLATION + + + + No documentation. + + + ERROR_ATOMIC_LOCKS_NOT_SUPPORTED + ERROR_ATOMIC_LOCKS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_INVALID_SEGMENT_NUMBER + ERROR_INVALID_SEGMENT_NUMBER + + + + No documentation. + + + ERROR_INVALID_ORDINAL + ERROR_INVALID_ORDINAL + + + + No documentation. + + + ERROR_ALREADY_EXISTS + ERROR_ALREADY_EXISTS + + + + No documentation. + + + ERROR_INVALID_FLAG_NUMBER + ERROR_INVALID_FLAG_NUMBER + + + + No documentation. + + + ERROR_SEM_NOT_FOUND + ERROR_SEM_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_STARTING_CODESEG + ERROR_INVALID_STARTING_CODESEG + + + + No documentation. + + + ERROR_INVALID_STACKSEG + ERROR_INVALID_STACKSEG + + + + No documentation. + + + ERROR_INVALID_MODULETYPE + ERROR_INVALID_MODULETYPE + + + + No documentation. + + + ERROR_INVALID_EXE_SIGNATURE + ERROR_INVALID_EXE_SIGNATURE + + + + No documentation. + + + ERROR_EXE_MARKED_INVALID + ERROR_EXE_MARKED_INVALID + + + + No documentation. + + + ERROR_BAD_EXE_FORMAT + ERROR_BAD_EXE_FORMAT + + + + No documentation. + + + ERROR_ITERATED_DATA_EXCEEDS_64k + ERROR_ITERATED_DATA_EXCEEDS_64k + + + + No documentation. + + + ERROR_INVALID_MINALLOCSIZE + ERROR_INVALID_MINALLOCSIZE + + + + No documentation. + + + ERROR_DYNLINK_FROM_INVALID_RING + ERROR_DYNLINK_FROM_INVALID_RING + + + + No documentation. + + + ERROR_IOPL_NOT_ENABLED + ERROR_IOPL_NOT_ENABLED + + + + No documentation. + + + ERROR_INVALID_SEGDPL + ERROR_INVALID_SEGDPL + + + + No documentation. + + + ERROR_AUTODATASEG_EXCEEDS_64k + ERROR_AUTODATASEG_EXCEEDS_64k + + + + No documentation. + + + ERROR_RING2SEG_MUST_BE_MOVABLE + ERROR_RING2SEG_MUST_BE_MOVABLE + + + + No documentation. + + + ERROR_RELOC_CHAIN_XEEDS_SEGLIM + ERROR_RELOC_CHAIN_XEEDS_SEGLIM + + + + No documentation. + + + ERROR_INFLOOP_IN_RELOC_CHAIN + ERROR_INFLOOP_IN_RELOC_CHAIN + + + + No documentation. + + + ERROR_ENVVAR_NOT_FOUND + ERROR_ENVVAR_NOT_FOUND + + + + No documentation. + + + ERROR_NO_SIGNAL_SENT + ERROR_NO_SIGNAL_SENT + + + + No documentation. + + + ERROR_FILENAME_EXCED_RANGE + ERROR_FILENAME_EXCED_RANGE + + + + No documentation. + + + ERROR_RING2_STACK_IN_USE + ERROR_RING2_STACK_IN_USE + + + + No documentation. + + + ERROR_META_EXPANSION_TOO_LONG + ERROR_META_EXPANSION_TOO_LONG + + + + No documentation. + + + ERROR_INVALID_SIGNAL_NUMBER + ERROR_INVALID_SIGNAL_NUMBER + + + + No documentation. + + + ERROR_THREAD_1_INACTIVE + ERROR_THREAD_1_INACTIVE + + + + No documentation. + + + ERROR_LOCKED + ERROR_LOCKED + + + + No documentation. + + + ERROR_TOO_MANY_MODULES + ERROR_TOO_MANY_MODULES + + + + No documentation. + + + ERROR_NESTING_NOT_ALLOWED + ERROR_NESTING_NOT_ALLOWED + + + + No documentation. + + + ERROR_EXE_MACHINE_TYPE_MISMATCH + ERROR_EXE_MACHINE_TYPE_MISMATCH + + + + No documentation. + + + ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY + ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY + + + + No documentation. + + + ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY + ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY + + + + No documentation. + + + ERROR_FILE_CHECKED_OUT + ERROR_FILE_CHECKED_OUT + + + + No documentation. + + + ERROR_CHECKOUT_REQUIRED + ERROR_CHECKOUT_REQUIRED + + + + No documentation. + + + ERROR_BAD_FILE_TYPE + ERROR_BAD_FILE_TYPE + + + + No documentation. + + + ERROR_FILE_TOO_LARGE + ERROR_FILE_TOO_LARGE + + + + No documentation. + + + ERROR_FORMS_AUTH_REQUIRED + ERROR_FORMS_AUTH_REQUIRED + + + + No documentation. + + + ERROR_VIRUS_INFECTED + ERROR_VIRUS_INFECTED + + + + No documentation. + + + ERROR_VIRUS_DELETED + ERROR_VIRUS_DELETED + + + + No documentation. + + + ERROR_PIPE_LOCAL + ERROR_PIPE_LOCAL + + + + No documentation. + + + ERROR_BAD_PIPE + ERROR_BAD_PIPE + + + + No documentation. + + + ERROR_PIPE_BUSY + ERROR_PIPE_BUSY + + + + No documentation. + + + ERROR_NO_DATA + ERROR_NO_DATA + + + + No documentation. + + + ERROR_PIPE_NOT_CONNECTED + ERROR_PIPE_NOT_CONNECTED + + + + No documentation. + + + ERROR_MORE_DATA + ERROR_MORE_DATA + + + + No documentation. + + + ERROR_VC_DISCONNECTED + ERROR_VC_DISCONNECTED + + + + No documentation. + + + ERROR_INVALID_EA_NAME + ERROR_INVALID_EA_NAME + + + + No documentation. + + + ERROR_EA_LIST_INCONSISTENT + ERROR_EA_LIST_INCONSISTENT + + + + No documentation. + + + ERROR_NO_MORE_ITEMS + ERROR_NO_MORE_ITEMS + + + + No documentation. + + + ERROR_CANNOT_COPY + ERROR_CANNOT_COPY + + + + No documentation. + + + ERROR_DIRECTORY + ERROR_DIRECTORY + + + + No documentation. + + + ERROR_EAS_DIDNT_FIT + ERROR_EAS_DIDNT_FIT + + + + No documentation. + + + ERROR_EA_FILE_CORRUPT + ERROR_EA_FILE_CORRUPT + + + + No documentation. + + + ERROR_EA_TABLE_FULL + ERROR_EA_TABLE_FULL + + + + No documentation. + + + ERROR_INVALID_EA_HANDLE + ERROR_INVALID_EA_HANDLE + + + + No documentation. + + + ERROR_EAS_NOT_SUPPORTED + ERROR_EAS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_NOT_OWNER + ERROR_NOT_OWNER + + + + No documentation. + + + ERROR_TOO_MANY_POSTS + ERROR_TOO_MANY_POSTS + + + + No documentation. + + + ERROR_PARTIAL_COPY + ERROR_PARTIAL_COPY + + + + No documentation. + + + ERROR_OPLOCK_NOT_GRANTED + ERROR_OPLOCK_NOT_GRANTED + + + + No documentation. + + + ERROR_INVALID_OPLOCK_PROTOCOL + ERROR_INVALID_OPLOCK_PROTOCOL + + + + No documentation. + + + ERROR_DISK_TOO_FRAGMENTED + ERROR_DISK_TOO_FRAGMENTED + + + + No documentation. + + + ERROR_DELETE_PENDING + ERROR_DELETE_PENDING + + + + No documentation. + + + ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING + ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING + + + + No documentation. + + + ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME + ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME + + + + No documentation. + + + ERROR_SECURITY_STREAM_IS_INCONSISTENT + ERROR_SECURITY_STREAM_IS_INCONSISTENT + + + + No documentation. + + + ERROR_INVALID_LOCK_RANGE + ERROR_INVALID_LOCK_RANGE + + + + No documentation. + + + ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT + ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT + + + + No documentation. + + + ERROR_NOTIFICATION_GUID_ALREADY_DEFINED + ERROR_NOTIFICATION_GUID_ALREADY_DEFINED + + + + No documentation. + + + ERROR_MR_MID_NOT_FOUND + ERROR_MR_MID_NOT_FOUND + + + + No documentation. + + + ERROR_SCOPE_NOT_FOUND + ERROR_SCOPE_NOT_FOUND + + + + No documentation. + + + ERROR_FAIL_NOACTION_REBOOT + ERROR_FAIL_NOACTION_REBOOT + + + + No documentation. + + + ERROR_FAIL_SHUTDOWN + ERROR_FAIL_SHUTDOWN + + + + No documentation. + + + ERROR_FAIL_RESTART + ERROR_FAIL_RESTART + + + + No documentation. + + + ERROR_MAX_SESSIONS_REACHED + ERROR_MAX_SESSIONS_REACHED + + + + No documentation. + + + ERROR_THREAD_MODE_ALREADY_BACKGROUND + ERROR_THREAD_MODE_ALREADY_BACKGROUND + + + + No documentation. + + + ERROR_THREAD_MODE_NOT_BACKGROUND + ERROR_THREAD_MODE_NOT_BACKGROUND + + + + No documentation. + + + ERROR_PROCESS_MODE_ALREADY_BACKGROUND + ERROR_PROCESS_MODE_ALREADY_BACKGROUND + + + + No documentation. + + + ERROR_PROCESS_MODE_NOT_BACKGROUND + ERROR_PROCESS_MODE_NOT_BACKGROUND + + + + No documentation. + + + ERROR_INVALID_ADDRESS + ERROR_INVALID_ADDRESS + + + + No documentation. + + + ERROR_USER_PROFILE_LOAD + ERROR_USER_PROFILE_LOAD + + + + No documentation. + + + ERROR_ARITHMETIC_OVERFLOW + ERROR_ARITHMETIC_OVERFLOW + + + + No documentation. + + + ERROR_PIPE_CONNECTED + ERROR_PIPE_CONNECTED + + + + No documentation. + + + ERROR_PIPE_LISTENING + ERROR_PIPE_LISTENING + + + + No documentation. + + + ERROR_VERIFIER_STOP + ERROR_VERIFIER_STOP + + + + No documentation. + + + ERROR_ABIOS_ERROR + ERROR_ABIOS_ERROR + + + + No documentation. + + + ERROR_WX86_WARNING + ERROR_WX86_WARNING + + + + No documentation. + + + ERROR_WX86_ERROR + ERROR_WX86_ERROR + + + + No documentation. + + + ERROR_TIMER_NOT_CANCELED + ERROR_TIMER_NOT_CANCELED + + + + No documentation. + + + ERROR_UNWIND + ERROR_UNWIND + + + + No documentation. + + + ERROR_BAD_STACK + ERROR_BAD_STACK + + + + No documentation. + + + ERROR_INVALID_UNWIND_TARGET + ERROR_INVALID_UNWIND_TARGET + + + + No documentation. + + + ERROR_INVALID_PORT_ATTRIBUTES + ERROR_INVALID_PORT_ATTRIBUTES + + + + No documentation. + + + ERROR_PORT_MESSAGE_TOO_LONG + ERROR_PORT_MESSAGE_TOO_LONG + + + + No documentation. + + + ERROR_INVALID_QUOTA_LOWER + ERROR_INVALID_QUOTA_LOWER + + + + No documentation. + + + ERROR_DEVICE_ALREADY_ATTACHED + ERROR_DEVICE_ALREADY_ATTACHED + + + + No documentation. + + + ERROR_INSTRUCTION_MISALIGNMENT + ERROR_INSTRUCTION_MISALIGNMENT + + + + No documentation. + + + ERROR_PROFILING_NOT_STARTED + ERROR_PROFILING_NOT_STARTED + + + + No documentation. + + + ERROR_PROFILING_NOT_STOPPED + ERROR_PROFILING_NOT_STOPPED + + + + No documentation. + + + ERROR_COULD_NOT_INTERPRET + ERROR_COULD_NOT_INTERPRET + + + + No documentation. + + + ERROR_PROFILING_AT_LIMIT + ERROR_PROFILING_AT_LIMIT + + + + No documentation. + + + ERROR_CANT_WAIT + ERROR_CANT_WAIT + + + + No documentation. + + + ERROR_CANT_TERMINATE_SELF + ERROR_CANT_TERMINATE_SELF + + + + No documentation. + + + ERROR_UNEXPECTED_MM_CREATE_ERR + ERROR_UNEXPECTED_MM_CREATE_ERR + + + + No documentation. + + + ERROR_UNEXPECTED_MM_MAP_ERROR + ERROR_UNEXPECTED_MM_MAP_ERROR + + + + No documentation. + + + ERROR_UNEXPECTED_MM_EXTEND_ERR + ERROR_UNEXPECTED_MM_EXTEND_ERR + + + + No documentation. + + + ERROR_BAD_FUNCTION_TABLE + ERROR_BAD_FUNCTION_TABLE + + + + No documentation. + + + ERROR_NO_GUID_TRANSLATION + ERROR_NO_GUID_TRANSLATION + + + + No documentation. + + + ERROR_INVALID_LDT_SIZE + ERROR_INVALID_LDT_SIZE + + + + No documentation. + + + ERROR_INVALID_LDT_OFFSET + ERROR_INVALID_LDT_OFFSET + + + + No documentation. + + + ERROR_INVALID_LDT_DESCRIPTOR + ERROR_INVALID_LDT_DESCRIPTOR + + + + No documentation. + + + ERROR_TOO_MANY_THREADS + ERROR_TOO_MANY_THREADS + + + + No documentation. + + + ERROR_THREAD_NOT_IN_PROCESS + ERROR_THREAD_NOT_IN_PROCESS + + + + No documentation. + + + ERROR_PAGEFILE_QUOTA_EXCEEDED + ERROR_PAGEFILE_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_LOGON_SERVER_CONFLICT + ERROR_LOGON_SERVER_CONFLICT + + + + No documentation. + + + ERROR_SYNCHRONIZATION_REQUIRED + ERROR_SYNCHRONIZATION_REQUIRED + + + + No documentation. + + + ERROR_NET_OPEN_FAILED + ERROR_NET_OPEN_FAILED + + + + No documentation. + + + ERROR_IO_PRIVILEGE_FAILED + ERROR_IO_PRIVILEGE_FAILED + + + + No documentation. + + + ERROR_CONTROL_C_EXIT + ERROR_CONTROL_C_EXIT + + + + No documentation. + + + ERROR_MISSING_SYSTEMFILE + ERROR_MISSING_SYSTEMFILE + + + + No documentation. + + + ERROR_UNHANDLED_EXCEPTION + ERROR_UNHANDLED_EXCEPTION + + + + No documentation. + + + ERROR_APP_INIT_FAILURE + ERROR_APP_INIT_FAILURE + + + + No documentation. + + + ERROR_PAGEFILE_CREATE_FAILED + ERROR_PAGEFILE_CREATE_FAILED + + + + No documentation. + + + ERROR_INVALID_IMAGE_HASH + ERROR_INVALID_IMAGE_HASH + + + + No documentation. + + + ERROR_NO_PAGEFILE + ERROR_NO_PAGEFILE + + + + No documentation. + + + ERROR_ILLEGAL_FLOAT_CONTEXT + ERROR_ILLEGAL_FLOAT_CONTEXT + + + + No documentation. + + + ERROR_NO_EVENT_PAIR + ERROR_NO_EVENT_PAIR + + + + No documentation. + + + ERROR_DOMAIN_CTRLR_CONFIG_ERROR + ERROR_DOMAIN_CTRLR_CONFIG_ERROR + + + + No documentation. + + + ERROR_ILLEGAL_CHARACTER + ERROR_ILLEGAL_CHARACTER + + + + No documentation. + + + ERROR_UNDEFINED_CHARACTER + ERROR_UNDEFINED_CHARACTER + + + + No documentation. + + + ERROR_FLOPPY_VOLUME + ERROR_FLOPPY_VOLUME + + + + No documentation. + + + ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT + ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT + + + + No documentation. + + + ERROR_BACKUP_CONTROLLER + ERROR_BACKUP_CONTROLLER + + + + No documentation. + + + ERROR_MUTANT_LIMIT_EXCEEDED + ERROR_MUTANT_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_FS_DRIVER_REQUIRED + ERROR_FS_DRIVER_REQUIRED + + + + No documentation. + + + ERROR_CANNOT_LOAD_REGISTRY_FILE + ERROR_CANNOT_LOAD_REGISTRY_FILE + + + + No documentation. + + + ERROR_DEBUG_ATTACH_FAILED + ERROR_DEBUG_ATTACH_FAILED + + + + No documentation. + + + ERROR_SYSTEM_PROCESS_TERMINATED + ERROR_SYSTEM_PROCESS_TERMINATED + + + + No documentation. + + + ERROR_DATA_NOT_ACCEPTED + ERROR_DATA_NOT_ACCEPTED + + + + No documentation. + + + ERROR_VDM_HARD_ERROR + ERROR_VDM_HARD_ERROR + + + + No documentation. + + + ERROR_DRIVER_CANCEL_TIMEOUT + ERROR_DRIVER_CANCEL_TIMEOUT + + + + No documentation. + + + ERROR_REPLY_MESSAGE_MISMATCH + ERROR_REPLY_MESSAGE_MISMATCH + + + + No documentation. + + + ERROR_LOST_WRITEBEHIND_DATA + ERROR_LOST_WRITEBEHIND_DATA + + + + No documentation. + + + ERROR_CLIENT_SERVER_PARAMETERS_INVALID + ERROR_CLIENT_SERVER_PARAMETERS_INVALID + + + + No documentation. + + + ERROR_NOT_TINY_STREAM + ERROR_NOT_TINY_STREAM + + + + No documentation. + + + ERROR_STACK_OVERFLOW_READ + ERROR_STACK_OVERFLOW_READ + + + + No documentation. + + + ERROR_CONVERT_TO_LARGE + ERROR_CONVERT_TO_LARGE + + + + No documentation. + + + ERROR_FOUND_OUT_OF_SCOPE + ERROR_FOUND_OUT_OF_SCOPE + + + + No documentation. + + + ERROR_ALLOCATE_BUCKET + ERROR_ALLOCATE_BUCKET + + + + No documentation. + + + ERROR_MARSHALL_OVERFLOW + ERROR_MARSHALL_OVERFLOW + + + + No documentation. + + + ERROR_INVALID_VARIANT + ERROR_INVALID_VARIANT + + + + No documentation. + + + ERROR_BAD_COMPRESSION_BUFFER + ERROR_BAD_COMPRESSION_BUFFER + + + + No documentation. + + + ERROR_AUDIT_FAILED + ERROR_AUDIT_FAILED + + + + No documentation. + + + ERROR_TIMER_RESOLUTION_NOT_SET + ERROR_TIMER_RESOLUTION_NOT_SET + + + + No documentation. + + + ERROR_INSUFFICIENT_LOGON_INFO + ERROR_INSUFFICIENT_LOGON_INFO + + + + No documentation. + + + ERROR_BAD_DLL_ENTRYPOINT + ERROR_BAD_DLL_ENTRYPOINT + + + + No documentation. + + + ERROR_BAD_SERVICE_ENTRYPOINT + ERROR_BAD_SERVICE_ENTRYPOINT + + + + No documentation. + + + ERROR_IP_ADDRESS_CONFLICT1 + ERROR_IP_ADDRESS_CONFLICT1 + + + + No documentation. + + + ERROR_IP_ADDRESS_CONFLICT2 + ERROR_IP_ADDRESS_CONFLICT2 + + + + No documentation. + + + ERROR_REGISTRY_QUOTA_LIMIT + ERROR_REGISTRY_QUOTA_LIMIT + + + + No documentation. + + + ERROR_NO_CALLBACK_ACTIVE + ERROR_NO_CALLBACK_ACTIVE + + + + No documentation. + + + ERROR_PWD_TOO_SHORT + ERROR_PWD_TOO_SHORT + + + + No documentation. + + + ERROR_PWD_TOO_RECENT + ERROR_PWD_TOO_RECENT + + + + No documentation. + + + ERROR_PWD_HISTORY_CONFLICT + ERROR_PWD_HISTORY_CONFLICT + + + + No documentation. + + + ERROR_UNSUPPORTED_COMPRESSION + ERROR_UNSUPPORTED_COMPRESSION + + + + No documentation. + + + ERROR_INVALID_HW_PROFILE + ERROR_INVALID_HW_PROFILE + + + + No documentation. + + + ERROR_INVALID_PLUGPLAY_DEVICE_PATH + ERROR_INVALID_PLUGPLAY_DEVICE_PATH + + + + No documentation. + + + ERROR_QUOTA_LIST_INCONSISTENT + ERROR_QUOTA_LIST_INCONSISTENT + + + + No documentation. + + + ERROR_EVALUATION_EXPIRATION + ERROR_EVALUATION_EXPIRATION + + + + No documentation. + + + ERROR_ILLEGAL_DLL_RELOCATION + ERROR_ILLEGAL_DLL_RELOCATION + + + + No documentation. + + + ERROR_DLL_INIT_FAILED_LOGOFF + ERROR_DLL_INIT_FAILED_LOGOFF + + + + No documentation. + + + ERROR_VALIDATE_CONTINUE + ERROR_VALIDATE_CONTINUE + + + + No documentation. + + + ERROR_NO_MORE_MATCHES + ERROR_NO_MORE_MATCHES + + + + No documentation. + + + ERROR_RANGE_LIST_CONFLICT + ERROR_RANGE_LIST_CONFLICT + + + + No documentation. + + + ERROR_SERVER_SID_MISMATCH + ERROR_SERVER_SID_MISMATCH + + + + No documentation. + + + ERROR_CANT_ENABLE_DENY_ONLY + ERROR_CANT_ENABLE_DENY_ONLY + + + + No documentation. + + + ERROR_FLOAT_MULTIPLE_FAULTS + ERROR_FLOAT_MULTIPLE_FAULTS + + + + No documentation. + + + ERROR_FLOAT_MULTIPLE_TRAPS + ERROR_FLOAT_MULTIPLE_TRAPS + + + + No documentation. + + + ERROR_NOINTERFACE + ERROR_NOINTERFACE + + + + No documentation. + + + ERROR_DRIVER_FAILED_SLEEP + ERROR_DRIVER_FAILED_SLEEP + + + + No documentation. + + + ERROR_CORRUPT_SYSTEM_FILE + ERROR_CORRUPT_SYSTEM_FILE + + + + No documentation. + + + ERROR_COMMITMENT_MINIMUM + ERROR_COMMITMENT_MINIMUM + + + + No documentation. + + + ERROR_PNP_RESTART_ENUMERATION + ERROR_PNP_RESTART_ENUMERATION + + + + No documentation. + + + ERROR_SYSTEM_IMAGE_BAD_SIGNATURE + ERROR_SYSTEM_IMAGE_BAD_SIGNATURE + + + + No documentation. + + + ERROR_PNP_REBOOT_REQUIRED + ERROR_PNP_REBOOT_REQUIRED + + + + No documentation. + + + ERROR_INSUFFICIENT_POWER + ERROR_INSUFFICIENT_POWER + + + + No documentation. + + + ERROR_MULTIPLE_FAULT_VIOLATION + ERROR_MULTIPLE_FAULT_VIOLATION + + + + No documentation. + + + ERROR_SYSTEM_SHUTDOWN + ERROR_SYSTEM_SHUTDOWN + + + + No documentation. + + + ERROR_PORT_NOT_SET + ERROR_PORT_NOT_SET + + + + No documentation. + + + ERROR_DS_VERSION_CHECK_FAILURE + ERROR_DS_VERSION_CHECK_FAILURE + + + + No documentation. + + + ERROR_RANGE_NOT_FOUND + ERROR_RANGE_NOT_FOUND + + + + No documentation. + + + ERROR_NOT_SAFE_MODE_DRIVER + ERROR_NOT_SAFE_MODE_DRIVER + + + + No documentation. + + + ERROR_FAILED_DRIVER_ENTRY + ERROR_FAILED_DRIVER_ENTRY + + + + No documentation. + + + ERROR_DEVICE_ENUMERATION_ERROR + ERROR_DEVICE_ENUMERATION_ERROR + + + + No documentation. + + + ERROR_MOUNT_POINT_NOT_RESOLVED + ERROR_MOUNT_POINT_NOT_RESOLVED + + + + No documentation. + + + ERROR_INVALID_DEVICE_OBJECT_PARAMETER + ERROR_INVALID_DEVICE_OBJECT_PARAMETER + + + + No documentation. + + + ERROR_MCA_OCCURED + ERROR_MCA_OCCURED + + + + No documentation. + + + ERROR_DRIVER_DATABASE_ERROR + ERROR_DRIVER_DATABASE_ERROR + + + + No documentation. + + + ERROR_SYSTEM_HIVE_TOO_LARGE + ERROR_SYSTEM_HIVE_TOO_LARGE + + + + No documentation. + + + ERROR_DRIVER_FAILED_PRIOR_UNLOAD + ERROR_DRIVER_FAILED_PRIOR_UNLOAD + + + + No documentation. + + + ERROR_VOLSNAP_PREPARE_HIBERNATE + ERROR_VOLSNAP_PREPARE_HIBERNATE + + + + No documentation. + + + ERROR_HIBERNATION_FAILURE + ERROR_HIBERNATION_FAILURE + + + + No documentation. + + + ERROR_FILE_SYSTEM_LIMITATION + ERROR_FILE_SYSTEM_LIMITATION + + + + No documentation. + + + ERROR_ASSERTION_FAILURE + ERROR_ASSERTION_FAILURE + + + + No documentation. + + + ERROR_ACPI_ERROR + ERROR_ACPI_ERROR + + + + No documentation. + + + ERROR_WOW_ASSERTION + ERROR_WOW_ASSERTION + + + + No documentation. + + + ERROR_PNP_BAD_MPS_TABLE + ERROR_PNP_BAD_MPS_TABLE + + + + No documentation. + + + ERROR_PNP_TRANSLATION_FAILED + ERROR_PNP_TRANSLATION_FAILED + + + + No documentation. + + + ERROR_PNP_IRQ_TRANSLATION_FAILED + ERROR_PNP_IRQ_TRANSLATION_FAILED + + + + No documentation. + + + ERROR_PNP_INVALID_ID + ERROR_PNP_INVALID_ID + + + + No documentation. + + + ERROR_WAKE_SYSTEM_DEBUGGER + ERROR_WAKE_SYSTEM_DEBUGGER + + + + No documentation. + + + ERROR_HANDLES_CLOSED + ERROR_HANDLES_CLOSED + + + + No documentation. + + + ERROR_EXTRANEOUS_INFORMATION + ERROR_EXTRANEOUS_INFORMATION + + + + No documentation. + + + ERROR_RXACT_COMMIT_NECESSARY + ERROR_RXACT_COMMIT_NECESSARY + + + + No documentation. + + + ERROR_MEDIA_CHECK + ERROR_MEDIA_CHECK + + + + No documentation. + + + ERROR_GUID_SUBSTITUTION_MADE + ERROR_GUID_SUBSTITUTION_MADE + + + + No documentation. + + + ERROR_STOPPED_ON_SYMLINK + ERROR_STOPPED_ON_SYMLINK + + + + No documentation. + + + ERROR_LONGJUMP + ERROR_LONGJUMP + + + + No documentation. + + + ERROR_PLUGPLAY_QUERY_VETOED + ERROR_PLUGPLAY_QUERY_VETOED + + + + No documentation. + + + ERROR_UNWIND_CONSOLIDATE + ERROR_UNWIND_CONSOLIDATE + + + + No documentation. + + + ERROR_REGISTRY_HIVE_RECOVERED + ERROR_REGISTRY_HIVE_RECOVERED + + + + No documentation. + + + ERROR_DLL_MIGHT_BE_INSECURE + ERROR_DLL_MIGHT_BE_INSECURE + + + + No documentation. + + + ERROR_DLL_MIGHT_BE_INCOMPATIBLE + ERROR_DLL_MIGHT_BE_INCOMPATIBLE + + + + No documentation. + + + ERROR_DBG_EXCEPTION_NOT_HANDLED + ERROR_DBG_EXCEPTION_NOT_HANDLED + + + + No documentation. + + + ERROR_DBG_REPLY_LATER + ERROR_DBG_REPLY_LATER + + + + No documentation. + + + ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE + ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE + + + + No documentation. + + + ERROR_DBG_TERMINATE_THREAD + ERROR_DBG_TERMINATE_THREAD + + + + No documentation. + + + ERROR_DBG_TERMINATE_PROCESS + ERROR_DBG_TERMINATE_PROCESS + + + + No documentation. + + + ERROR_DBG_CONTROL_C + ERROR_DBG_CONTROL_C + + + + No documentation. + + + ERROR_DBG_PRINTEXCEPTION_C + ERROR_DBG_PRINTEXCEPTION_C + + + + No documentation. + + + ERROR_DBG_RIPEXCEPTION + ERROR_DBG_RIPEXCEPTION + + + + No documentation. + + + ERROR_DBG_CONTROL_BREAK + ERROR_DBG_CONTROL_BREAK + + + + No documentation. + + + ERROR_DBG_COMMAND_EXCEPTION + ERROR_DBG_COMMAND_EXCEPTION + + + + No documentation. + + + ERROR_OBJECT_NAME_EXISTS + ERROR_OBJECT_NAME_EXISTS + + + + No documentation. + + + ERROR_THREAD_WAS_SUSPENDED + ERROR_THREAD_WAS_SUSPENDED + + + + No documentation. + + + ERROR_IMAGE_NOT_AT_BASE + ERROR_IMAGE_NOT_AT_BASE + + + + No documentation. + + + ERROR_RXACT_STATE_CREATED + ERROR_RXACT_STATE_CREATED + + + + No documentation. + + + ERROR_SEGMENT_NOTIFICATION + ERROR_SEGMENT_NOTIFICATION + + + + No documentation. + + + ERROR_BAD_CURRENT_DIRECTORY + ERROR_BAD_CURRENT_DIRECTORY + + + + No documentation. + + + ERROR_FT_READ_RECOVERY_FROM_BACKUP + ERROR_FT_READ_RECOVERY_FROM_BACKUP + + + + No documentation. + + + ERROR_FT_WRITE_RECOVERY + ERROR_FT_WRITE_RECOVERY + + + + No documentation. + + + ERROR_IMAGE_MACHINE_TYPE_MISMATCH + ERROR_IMAGE_MACHINE_TYPE_MISMATCH + + + + No documentation. + + + ERROR_RECEIVE_PARTIAL + ERROR_RECEIVE_PARTIAL + + + + No documentation. + + + ERROR_RECEIVE_EXPEDITED + ERROR_RECEIVE_EXPEDITED + + + + No documentation. + + + ERROR_RECEIVE_PARTIAL_EXPEDITED + ERROR_RECEIVE_PARTIAL_EXPEDITED + + + + No documentation. + + + ERROR_EVENT_DONE + ERROR_EVENT_DONE + + + + No documentation. + + + ERROR_EVENT_PENDING + ERROR_EVENT_PENDING + + + + No documentation. + + + ERROR_CHECKING_FILE_SYSTEM + ERROR_CHECKING_FILE_SYSTEM + + + + No documentation. + + + ERROR_FATAL_APP_EXIT + ERROR_FATAL_APP_EXIT + + + + No documentation. + + + ERROR_PREDEFINED_HANDLE + ERROR_PREDEFINED_HANDLE + + + + No documentation. + + + ERROR_WAS_UNLOCKED + ERROR_WAS_UNLOCKED + + + + No documentation. + + + ERROR_SERVICE_NOTIFICATION + ERROR_SERVICE_NOTIFICATION + + + + No documentation. + + + ERROR_WAS_LOCKED + ERROR_WAS_LOCKED + + + + No documentation. + + + ERROR_LOG_HARD_ERROR + ERROR_LOG_HARD_ERROR + + + + No documentation. + + + ERROR_ALREADY_WIN32 + ERROR_ALREADY_WIN32 + + + + No documentation. + + + ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE + ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE + + + + No documentation. + + + ERROR_NO_YIELD_PERFORMED + ERROR_NO_YIELD_PERFORMED + + + + No documentation. + + + ERROR_TIMER_RESUME_IGNORED + ERROR_TIMER_RESUME_IGNORED + + + + No documentation. + + + ERROR_ARBITRATION_UNHANDLED + ERROR_ARBITRATION_UNHANDLED + + + + No documentation. + + + ERROR_CARDBUS_NOT_SUPPORTED + ERROR_CARDBUS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_MP_PROCESSOR_MISMATCH + ERROR_MP_PROCESSOR_MISMATCH + + + + No documentation. + + + ERROR_HIBERNATED + ERROR_HIBERNATED + + + + No documentation. + + + ERROR_RESUME_HIBERNATION + ERROR_RESUME_HIBERNATION + + + + No documentation. + + + ERROR_FIRMWARE_UPDATED + ERROR_FIRMWARE_UPDATED + + + + No documentation. + + + ERROR_DRIVERS_LEAKING_LOCKED_PAGES + ERROR_DRIVERS_LEAKING_LOCKED_PAGES + + + + No documentation. + + + ERROR_WAKE_SYSTEM + ERROR_WAKE_SYSTEM + + + + No documentation. + + + ERROR_WAIT_1 + ERROR_WAIT_1 + + + + No documentation. + + + ERROR_WAIT_2 + ERROR_WAIT_2 + + + + No documentation. + + + ERROR_WAIT_3 + ERROR_WAIT_3 + + + + No documentation. + + + ERROR_WAIT_63 + ERROR_WAIT_63 + + + + No documentation. + + + ERROR_ABANDONED_WAIT_0 + ERROR_ABANDONED_WAIT_0 + + + + No documentation. + + + ERROR_ABANDONED_WAIT_63 + ERROR_ABANDONED_WAIT_63 + + + + No documentation. + + + ERROR_USER_APC + ERROR_USER_APC + + + + No documentation. + + + ERROR_KERNEL_APC + ERROR_KERNEL_APC + + + + No documentation. + + + ERROR_ALERTED + ERROR_ALERTED + + + + No documentation. + + + ERROR_ELEVATION_REQUIRED + ERROR_ELEVATION_REQUIRED + + + + No documentation. + + + ERROR_REPARSE + ERROR_REPARSE + + + + No documentation. + + + ERROR_OPLOCK_BREAK_IN_PROGRESS + ERROR_OPLOCK_BREAK_IN_PROGRESS + + + + No documentation. + + + ERROR_VOLUME_MOUNTED + ERROR_VOLUME_MOUNTED + + + + No documentation. + + + ERROR_RXACT_COMMITTED + ERROR_RXACT_COMMITTED + + + + No documentation. + + + ERROR_NOTIFY_CLEANUP + ERROR_NOTIFY_CLEANUP + + + + No documentation. + + + ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED + ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED + + + + No documentation. + + + ERROR_PAGE_FAULT_TRANSITION + ERROR_PAGE_FAULT_TRANSITION + + + + No documentation. + + + ERROR_PAGE_FAULT_DEMAND_ZERO + ERROR_PAGE_FAULT_DEMAND_ZERO + + + + No documentation. + + + ERROR_PAGE_FAULT_COPY_ON_WRITE + ERROR_PAGE_FAULT_COPY_ON_WRITE + + + + No documentation. + + + ERROR_PAGE_FAULT_GUARD_PAGE + ERROR_PAGE_FAULT_GUARD_PAGE + + + + No documentation. + + + ERROR_PAGE_FAULT_PAGING_FILE + ERROR_PAGE_FAULT_PAGING_FILE + + + + No documentation. + + + ERROR_CACHE_PAGE_LOCKED + ERROR_CACHE_PAGE_LOCKED + + + + No documentation. + + + ERROR_CRASH_DUMP + ERROR_CRASH_DUMP + + + + No documentation. + + + ERROR_BUFFER_ALL_ZEROS + ERROR_BUFFER_ALL_ZEROS + + + + No documentation. + + + ERROR_REPARSE_OBJECT + ERROR_REPARSE_OBJECT + + + + No documentation. + + + ERROR_RESOURCE_REQUIREMENTS_CHANGED + ERROR_RESOURCE_REQUIREMENTS_CHANGED + + + + No documentation. + + + ERROR_TRANSLATION_COMPLETE + ERROR_TRANSLATION_COMPLETE + + + + No documentation. + + + ERROR_NOTHING_TO_TERMINATE + ERROR_NOTHING_TO_TERMINATE + + + + No documentation. + + + ERROR_PROCESS_NOT_IN_JOB + ERROR_PROCESS_NOT_IN_JOB + + + + No documentation. + + + ERROR_PROCESS_IN_JOB + ERROR_PROCESS_IN_JOB + + + + No documentation. + + + ERROR_VOLSNAP_HIBERNATE_READY + ERROR_VOLSNAP_HIBERNATE_READY + + + + No documentation. + + + ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY + ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY + + + + No documentation. + + + ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED + ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED + + + + No documentation. + + + ERROR_INTERRUPT_STILL_CONNECTED + ERROR_INTERRUPT_STILL_CONNECTED + + + + No documentation. + + + ERROR_WAIT_FOR_OPLOCK + ERROR_WAIT_FOR_OPLOCK + + + + No documentation. + + + ERROR_DBG_EXCEPTION_HANDLED + ERROR_DBG_EXCEPTION_HANDLED + + + + No documentation. + + + ERROR_DBG_CONTINUE + ERROR_DBG_CONTINUE + + + + No documentation. + + + ERROR_CALLBACK_POP_STACK + ERROR_CALLBACK_POP_STACK + + + + No documentation. + + + ERROR_COMPRESSION_DISABLED + ERROR_COMPRESSION_DISABLED + + + + No documentation. + + + ERROR_CANTFETCHBACKWARDS + ERROR_CANTFETCHBACKWARDS + + + + No documentation. + + + ERROR_CANTSCROLLBACKWARDS + ERROR_CANTSCROLLBACKWARDS + + + + No documentation. + + + ERROR_ROWSNOTRELEASED + ERROR_ROWSNOTRELEASED + + + + No documentation. + + + ERROR_BAD_ACCESSOR_FLAGS + ERROR_BAD_ACCESSOR_FLAGS + + + + No documentation. + + + ERROR_ERRORS_ENCOUNTERED + ERROR_ERRORS_ENCOUNTERED + + + + No documentation. + + + ERROR_NOT_CAPABLE + ERROR_NOT_CAPABLE + + + + No documentation. + + + ERROR_REQUEST_OUT_OF_SEQUENCE + ERROR_REQUEST_OUT_OF_SEQUENCE + + + + No documentation. + + + ERROR_VERSION_PARSE_ERROR + ERROR_VERSION_PARSE_ERROR + + + + No documentation. + + + ERROR_BADSTARTPOSITION + ERROR_BADSTARTPOSITION + + + + No documentation. + + + ERROR_MEMORY_HARDWARE + ERROR_MEMORY_HARDWARE + + + + No documentation. + + + ERROR_DISK_REPAIR_DISABLED + ERROR_DISK_REPAIR_DISABLED + + + + No documentation. + + + ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE + ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE + + + + No documentation. + + + ERROR_SYSTEM_POWERSTATE_TRANSITION + ERROR_SYSTEM_POWERSTATE_TRANSITION + + + + No documentation. + + + ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION + ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION + + + + No documentation. + + + ERROR_MCA_EXCEPTION + ERROR_MCA_EXCEPTION + + + + No documentation. + + + ERROR_ACCESS_AUDIT_BY_POLICY + ERROR_ACCESS_AUDIT_BY_POLICY + + + + No documentation. + + + ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY + ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY + + + + No documentation. + + + ERROR_ABANDON_HIBERFILE + ERROR_ABANDON_HIBERFILE + + + + No documentation. + + + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED + + + + No documentation. + + + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR + + + + No documentation. + + + ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR + ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR + + + + No documentation. + + + ERROR_BAD_MCFG_TABLE + ERROR_BAD_MCFG_TABLE + + + + No documentation. + + + ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE + ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE + + + + No documentation. + + + ERROR_CANNOT_GRANT_REQUESTED_OPLOCK + ERROR_CANNOT_GRANT_REQUESTED_OPLOCK + + + + No documentation. + + + ERROR_CANNOT_BREAK_OPLOCK + ERROR_CANNOT_BREAK_OPLOCK + + + + No documentation. + + + ERROR_OPLOCK_HANDLE_CLOSED + ERROR_OPLOCK_HANDLE_CLOSED + + + + No documentation. + + + ERROR_NO_ACE_CONDITION + ERROR_NO_ACE_CONDITION + + + + No documentation. + + + ERROR_INVALID_ACE_CONDITION + ERROR_INVALID_ACE_CONDITION + + + + No documentation. + + + ERROR_EA_ACCESS_DENIED + ERROR_EA_ACCESS_DENIED + + + + No documentation. + + + ERROR_OPERATION_ABORTED + ERROR_OPERATION_ABORTED + + + + No documentation. + + + ERROR_IO_INCOMPLETE + ERROR_IO_INCOMPLETE + + + + No documentation. + + + ERROR_IO_PENDING + ERROR_IO_PENDING + + + + No documentation. + + + ERROR_NOACCESS + ERROR_NOACCESS + + + + No documentation. + + + ERROR_SWAPERROR + ERROR_SWAPERROR + + + + No documentation. + + + ERROR_STACK_OVERFLOW + ERROR_STACK_OVERFLOW + + + + No documentation. + + + ERROR_INVALID_MESSAGE + ERROR_INVALID_MESSAGE + + + + No documentation. + + + ERROR_CAN_NOT_COMPLETE + ERROR_CAN_NOT_COMPLETE + + + + No documentation. + + + ERROR_INVALID_FLAGS + ERROR_INVALID_FLAGS + + + + No documentation. + + + ERROR_UNRECOGNIZED_VOLUME + ERROR_UNRECOGNIZED_VOLUME + + + + No documentation. + + + ERROR_FILE_INVALID + ERROR_FILE_INVALID + + + + No documentation. + + + ERROR_FULLSCREEN_MODE + ERROR_FULLSCREEN_MODE + + + + No documentation. + + + ERROR_NO_TOKEN + ERROR_NO_TOKEN + + + + No documentation. + + + ERROR_BADDB + ERROR_BADDB + + + + No documentation. + + + ERROR_BADKEY + ERROR_BADKEY + + + + No documentation. + + + ERROR_CANTOPEN + ERROR_CANTOPEN + + + + No documentation. + + + ERROR_CANTREAD + ERROR_CANTREAD + + + + No documentation. + + + ERROR_CANTWRITE + ERROR_CANTWRITE + + + + No documentation. + + + ERROR_REGISTRY_RECOVERED + ERROR_REGISTRY_RECOVERED + + + + No documentation. + + + ERROR_REGISTRY_CORRUPT + ERROR_REGISTRY_CORRUPT + + + + No documentation. + + + ERROR_REGISTRY_IO_FAILED + ERROR_REGISTRY_IO_FAILED + + + + No documentation. + + + ERROR_NOT_REGISTRY_FILE + ERROR_NOT_REGISTRY_FILE + + + + No documentation. + + + ERROR_KEY_DELETED + ERROR_KEY_DELETED + + + + No documentation. + + + ERROR_NO_LOG_SPACE + ERROR_NO_LOG_SPACE + + + + No documentation. + + + ERROR_KEY_HAS_CHILDREN + ERROR_KEY_HAS_CHILDREN + + + + No documentation. + + + ERROR_CHILD_MUST_BE_VOLATILE + ERROR_CHILD_MUST_BE_VOLATILE + + + + No documentation. + + + ERROR_NOTIFY_ENUM_DIR + ERROR_NOTIFY_ENUM_DIR + + + + No documentation. + + + ERROR_DEPENDENT_SERVICES_RUNNING + ERROR_DEPENDENT_SERVICES_RUNNING + + + + No documentation. + + + ERROR_INVALID_SERVICE_CONTROL + ERROR_INVALID_SERVICE_CONTROL + + + + No documentation. + + + ERROR_SERVICE_REQUEST_TIMEOUT + ERROR_SERVICE_REQUEST_TIMEOUT + + + + No documentation. + + + ERROR_SERVICE_NO_THREAD + ERROR_SERVICE_NO_THREAD + + + + No documentation. + + + ERROR_SERVICE_DATABASE_LOCKED + ERROR_SERVICE_DATABASE_LOCKED + + + + No documentation. + + + ERROR_SERVICE_ALREADY_RUNNING + ERROR_SERVICE_ALREADY_RUNNING + + + + No documentation. + + + ERROR_INVALID_SERVICE_ACCOUNT + ERROR_INVALID_SERVICE_ACCOUNT + + + + No documentation. + + + ERROR_SERVICE_DISABLED + ERROR_SERVICE_DISABLED + + + + No documentation. + + + ERROR_CIRCULAR_DEPENDENCY + ERROR_CIRCULAR_DEPENDENCY + + + + No documentation. + + + ERROR_SERVICE_DOES_NOT_EXIST + ERROR_SERVICE_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_SERVICE_CANNOT_ACCEPT_CTRL + ERROR_SERVICE_CANNOT_ACCEPT_CTRL + + + + No documentation. + + + ERROR_SERVICE_NOT_ACTIVE + ERROR_SERVICE_NOT_ACTIVE + + + + No documentation. + + + ERROR_FAILED_SERVICE_CONTROLLER_CONNECT + ERROR_FAILED_SERVICE_CONTROLLER_CONNECT + + + + No documentation. + + + ERROR_EXCEPTION_IN_SERVICE + ERROR_EXCEPTION_IN_SERVICE + + + + No documentation. + + + ERROR_DATABASE_DOES_NOT_EXIST + ERROR_DATABASE_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_SERVICE_SPECIFIC_ERROR + ERROR_SERVICE_SPECIFIC_ERROR + + + + No documentation. + + + ERROR_PROCESS_ABORTED + ERROR_PROCESS_ABORTED + + + + No documentation. + + + ERROR_SERVICE_DEPENDENCY_FAIL + ERROR_SERVICE_DEPENDENCY_FAIL + + + + No documentation. + + + ERROR_SERVICE_LOGON_FAILED + ERROR_SERVICE_LOGON_FAILED + + + + No documentation. + + + ERROR_SERVICE_START_HANG + ERROR_SERVICE_START_HANG + + + + No documentation. + + + ERROR_INVALID_SERVICE_LOCK + ERROR_INVALID_SERVICE_LOCK + + + + No documentation. + + + ERROR_SERVICE_MARKED_FOR_DELETE + ERROR_SERVICE_MARKED_FOR_DELETE + + + + No documentation. + + + ERROR_SERVICE_EXISTS + ERROR_SERVICE_EXISTS + + + + No documentation. + + + ERROR_ALREADY_RUNNING_LKG + ERROR_ALREADY_RUNNING_LKG + + + + No documentation. + + + ERROR_SERVICE_DEPENDENCY_DELETED + ERROR_SERVICE_DEPENDENCY_DELETED + + + + No documentation. + + + ERROR_BOOT_ALREADY_ACCEPTED + ERROR_BOOT_ALREADY_ACCEPTED + + + + No documentation. + + + ERROR_SERVICE_NEVER_STARTED + ERROR_SERVICE_NEVER_STARTED + + + + No documentation. + + + ERROR_DUPLICATE_SERVICE_NAME + ERROR_DUPLICATE_SERVICE_NAME + + + + No documentation. + + + ERROR_DIFFERENT_SERVICE_ACCOUNT + ERROR_DIFFERENT_SERVICE_ACCOUNT + + + + No documentation. + + + ERROR_CANNOT_DETECT_DRIVER_FAILURE + ERROR_CANNOT_DETECT_DRIVER_FAILURE + + + + No documentation. + + + ERROR_CANNOT_DETECT_PROCESS_ABORT + ERROR_CANNOT_DETECT_PROCESS_ABORT + + + + No documentation. + + + ERROR_NO_RECOVERY_PROGRAM + ERROR_NO_RECOVERY_PROGRAM + + + + No documentation. + + + ERROR_SERVICE_NOT_IN_EXE + ERROR_SERVICE_NOT_IN_EXE + + + + No documentation. + + + ERROR_NOT_SAFEBOOT_SERVICE + ERROR_NOT_SAFEBOOT_SERVICE + + + + No documentation. + + + ERROR_END_OF_MEDIA + ERROR_END_OF_MEDIA + + + + No documentation. + + + ERROR_FILEMARK_DETECTED + ERROR_FILEMARK_DETECTED + + + + No documentation. + + + ERROR_BEGINNING_OF_MEDIA + ERROR_BEGINNING_OF_MEDIA + + + + No documentation. + + + ERROR_SETMARK_DETECTED + ERROR_SETMARK_DETECTED + + + + No documentation. + + + ERROR_NO_DATA_DETECTED + ERROR_NO_DATA_DETECTED + + + + No documentation. + + + ERROR_PARTITION_FAILURE + ERROR_PARTITION_FAILURE + + + + No documentation. + + + ERROR_INVALID_BLOCK_LENGTH + ERROR_INVALID_BLOCK_LENGTH + + + + No documentation. + + + ERROR_DEVICE_NOT_PARTITIONED + ERROR_DEVICE_NOT_PARTITIONED + + + + No documentation. + + + ERROR_UNABLE_TO_LOCK_MEDIA + ERROR_UNABLE_TO_LOCK_MEDIA + + + + No documentation. + + + ERROR_UNABLE_TO_UNLOAD_MEDIA + ERROR_UNABLE_TO_UNLOAD_MEDIA + + + + No documentation. + + + ERROR_MEDIA_CHANGED + ERROR_MEDIA_CHANGED + + + + No documentation. + + + ERROR_BUS_RESET + ERROR_BUS_RESET + + + + No documentation. + + + ERROR_NO_MEDIA_IN_DRIVE + ERROR_NO_MEDIA_IN_DRIVE + + + + No documentation. + + + ERROR_NO_UNICODE_TRANSLATION + ERROR_NO_UNICODE_TRANSLATION + + + + No documentation. + + + ERROR_DLL_INIT_FAILED + ERROR_DLL_INIT_FAILED + + + + No documentation. + + + ERROR_SHUTDOWN_IN_PROGRESS + ERROR_SHUTDOWN_IN_PROGRESS + + + + No documentation. + + + ERROR_NO_SHUTDOWN_IN_PROGRESS + ERROR_NO_SHUTDOWN_IN_PROGRESS + + + + No documentation. + + + ERROR_IO_DEVICE + ERROR_IO_DEVICE + + + + No documentation. + + + ERROR_SERIAL_NO_DEVICE + ERROR_SERIAL_NO_DEVICE + + + + No documentation. + + + ERROR_IRQ_BUSY + ERROR_IRQ_BUSY + + + + No documentation. + + + ERROR_MORE_WRITES + ERROR_MORE_WRITES + + + + No documentation. + + + ERROR_COUNTER_TIMEOUT + ERROR_COUNTER_TIMEOUT + + + + No documentation. + + + ERROR_FLOPPY_ID_MARK_NOT_FOUND + ERROR_FLOPPY_ID_MARK_NOT_FOUND + + + + No documentation. + + + ERROR_FLOPPY_WRONG_CYLINDER + ERROR_FLOPPY_WRONG_CYLINDER + + + + No documentation. + + + ERROR_FLOPPY_UNKNOWN_ERROR + ERROR_FLOPPY_UNKNOWN_ERROR + + + + No documentation. + + + ERROR_FLOPPY_BAD_REGISTERS + ERROR_FLOPPY_BAD_REGISTERS + + + + No documentation. + + + ERROR_DISK_RECALIBRATE_FAILED + ERROR_DISK_RECALIBRATE_FAILED + + + + No documentation. + + + ERROR_DISK_OPERATION_FAILED + ERROR_DISK_OPERATION_FAILED + + + + No documentation. + + + ERROR_DISK_RESET_FAILED + ERROR_DISK_RESET_FAILED + + + + No documentation. + + + ERROR_EOM_OVERFLOW + ERROR_EOM_OVERFLOW + + + + No documentation. + + + ERROR_NOT_ENOUGH_SERVER_MEMORY + ERROR_NOT_ENOUGH_SERVER_MEMORY + + + + No documentation. + + + ERROR_POSSIBLE_DEADLOCK + ERROR_POSSIBLE_DEADLOCK + + + + No documentation. + + + ERROR_MAPPED_ALIGNMENT + ERROR_MAPPED_ALIGNMENT + + + + No documentation. + + + ERROR_SET_POWER_STATE_VETOED + ERROR_SET_POWER_STATE_VETOED + + + + No documentation. + + + ERROR_SET_POWER_STATE_FAILED + ERROR_SET_POWER_STATE_FAILED + + + + No documentation. + + + ERROR_TOO_MANY_LINKS + ERROR_TOO_MANY_LINKS + + + + No documentation. + + + ERROR_OLD_WIN_VERSION + ERROR_OLD_WIN_VERSION + + + + No documentation. + + + ERROR_APP_WRONG_OS + ERROR_APP_WRONG_OS + + + + No documentation. + + + ERROR_SINGLE_INSTANCE_APP + ERROR_SINGLE_INSTANCE_APP + + + + No documentation. + + + ERROR_RMODE_APP + ERROR_RMODE_APP + + + + No documentation. + + + ERROR_INVALID_DLL + ERROR_INVALID_DLL + + + + No documentation. + + + ERROR_NO_ASSOCIATION + ERROR_NO_ASSOCIATION + + + + No documentation. + + + ERROR_DDE_FAIL + ERROR_DDE_FAIL + + + + No documentation. + + + ERROR_DLL_NOT_FOUND + ERROR_DLL_NOT_FOUND + + + + No documentation. + + + ERROR_NO_MORE_USER_HANDLES + ERROR_NO_MORE_USER_HANDLES + + + + No documentation. + + + ERROR_MESSAGE_SYNC_ONLY + ERROR_MESSAGE_SYNC_ONLY + + + + No documentation. + + + ERROR_SOURCE_ELEMENT_EMPTY + ERROR_SOURCE_ELEMENT_EMPTY + + + + No documentation. + + + ERROR_DESTINATION_ELEMENT_FULL + ERROR_DESTINATION_ELEMENT_FULL + + + + No documentation. + + + ERROR_ILLEGAL_ELEMENT_ADDRESS + ERROR_ILLEGAL_ELEMENT_ADDRESS + + + + No documentation. + + + ERROR_MAGAZINE_NOT_PRESENT + ERROR_MAGAZINE_NOT_PRESENT + + + + No documentation. + + + ERROR_DEVICE_REINITIALIZATION_NEEDED + ERROR_DEVICE_REINITIALIZATION_NEEDED + + + + No documentation. + + + ERROR_DEVICE_REQUIRES_CLEANING + ERROR_DEVICE_REQUIRES_CLEANING + + + + No documentation. + + + ERROR_DEVICE_DOOR_OPEN + ERROR_DEVICE_DOOR_OPEN + + + + No documentation. + + + ERROR_DEVICE_NOT_CONNECTED + ERROR_DEVICE_NOT_CONNECTED + + + + No documentation. + + + ERROR_NOT_FOUND + ERROR_NOT_FOUND + + + + No documentation. + + + ERROR_NO_MATCH + ERROR_NO_MATCH + + + + No documentation. + + + ERROR_SET_NOT_FOUND + ERROR_SET_NOT_FOUND + + + + No documentation. + + + ERROR_POINT_NOT_FOUND + ERROR_POINT_NOT_FOUND + + + + No documentation. + + + ERROR_NO_TRACKING_SERVICE + ERROR_NO_TRACKING_SERVICE + + + + No documentation. + + + ERROR_NO_VOLUME_ID + ERROR_NO_VOLUME_ID + + + + No documentation. + + + ERROR_UNABLE_TO_REMOVE_REPLACED + ERROR_UNABLE_TO_REMOVE_REPLACED + + + + No documentation. + + + ERROR_UNABLE_TO_MOVE_REPLACEMENT + ERROR_UNABLE_TO_MOVE_REPLACEMENT + + + + No documentation. + + + ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 + ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 + + + + No documentation. + + + ERROR_JOURNAL_DELETE_IN_PROGRESS + ERROR_JOURNAL_DELETE_IN_PROGRESS + + + + No documentation. + + + ERROR_JOURNAL_NOT_ACTIVE + ERROR_JOURNAL_NOT_ACTIVE + + + + No documentation. + + + ERROR_POTENTIAL_FILE_FOUND + ERROR_POTENTIAL_FILE_FOUND + + + + No documentation. + + + ERROR_JOURNAL_ENTRY_DELETED + ERROR_JOURNAL_ENTRY_DELETED + + + + No documentation. + + + ERROR_SHUTDOWN_IS_SCHEDULED + ERROR_SHUTDOWN_IS_SCHEDULED + + + + No documentation. + + + ERROR_SHUTDOWN_USERS_LOGGED_ON + ERROR_SHUTDOWN_USERS_LOGGED_ON + + + + No documentation. + + + ERROR_BAD_DEVICE + ERROR_BAD_DEVICE + + + + No documentation. + + + ERROR_CONNECTION_UNAVAIL + ERROR_CONNECTION_UNAVAIL + + + + No documentation. + + + ERROR_DEVICE_ALREADY_REMEMBERED + ERROR_DEVICE_ALREADY_REMEMBERED + + + + No documentation. + + + ERROR_NO_NET_OR_BAD_PATH + ERROR_NO_NET_OR_BAD_PATH + + + + No documentation. + + + ERROR_BAD_PROVIDER + ERROR_BAD_PROVIDER + + + + No documentation. + + + ERROR_CANNOT_OPEN_PROFILE + ERROR_CANNOT_OPEN_PROFILE + + + + No documentation. + + + ERROR_BAD_PROFILE + ERROR_BAD_PROFILE + + + + No documentation. + + + ERROR_NOT_CONTAINER + ERROR_NOT_CONTAINER + + + + No documentation. + + + ERROR_EXTENDED_ERROR + ERROR_EXTENDED_ERROR + + + + No documentation. + + + ERROR_INVALID_GROUPNAME + ERROR_INVALID_GROUPNAME + + + + No documentation. + + + ERROR_INVALID_COMPUTERNAME + ERROR_INVALID_COMPUTERNAME + + + + No documentation. + + + ERROR_INVALID_EVENTNAME + ERROR_INVALID_EVENTNAME + + + + No documentation. + + + ERROR_INVALID_DOMAINNAME + ERROR_INVALID_DOMAINNAME + + + + No documentation. + + + ERROR_INVALID_SERVICENAME + ERROR_INVALID_SERVICENAME + + + + No documentation. + + + ERROR_INVALID_NETNAME + ERROR_INVALID_NETNAME + + + + No documentation. + + + ERROR_INVALID_SHARENAME + ERROR_INVALID_SHARENAME + + + + No documentation. + + + ERROR_INVALID_PASSWORDNAME + ERROR_INVALID_PASSWORDNAME + + + + No documentation. + + + ERROR_INVALID_MESSAGENAME + ERROR_INVALID_MESSAGENAME + + + + No documentation. + + + ERROR_INVALID_MESSAGEDEST + ERROR_INVALID_MESSAGEDEST + + + + No documentation. + + + ERROR_SESSION_CREDENTIAL_CONFLICT + ERROR_SESSION_CREDENTIAL_CONFLICT + + + + No documentation. + + + ERROR_REMOTE_SESSION_LIMIT_EXCEEDED + ERROR_REMOTE_SESSION_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DUP_DOMAINNAME + ERROR_DUP_DOMAINNAME + + + + No documentation. + + + ERROR_NO_NETWORK + ERROR_NO_NETWORK + + + + No documentation. + + + ERROR_CANCELLED + ERROR_CANCELLED + + + + No documentation. + + + ERROR_USER_MAPPED_FILE + ERROR_USER_MAPPED_FILE + + + + No documentation. + + + ERROR_CONNECTION_REFUSED + ERROR_CONNECTION_REFUSED + + + + No documentation. + + + ERROR_GRACEFUL_DISCONNECT + ERROR_GRACEFUL_DISCONNECT + + + + No documentation. + + + ERROR_ADDRESS_ALREADY_ASSOCIATED + ERROR_ADDRESS_ALREADY_ASSOCIATED + + + + No documentation. + + + ERROR_ADDRESS_NOT_ASSOCIATED + ERROR_ADDRESS_NOT_ASSOCIATED + + + + No documentation. + + + ERROR_CONNECTION_INVALID + ERROR_CONNECTION_INVALID + + + + No documentation. + + + ERROR_CONNECTION_ACTIVE + ERROR_CONNECTION_ACTIVE + + + + No documentation. + + + ERROR_NETWORK_UNREACHABLE + ERROR_NETWORK_UNREACHABLE + + + + No documentation. + + + ERROR_HOST_UNREACHABLE + ERROR_HOST_UNREACHABLE + + + + No documentation. + + + ERROR_PROTOCOL_UNREACHABLE + ERROR_PROTOCOL_UNREACHABLE + + + + No documentation. + + + ERROR_PORT_UNREACHABLE + ERROR_PORT_UNREACHABLE + + + + No documentation. + + + ERROR_REQUEST_ABORTED + ERROR_REQUEST_ABORTED + + + + No documentation. + + + ERROR_CONNECTION_ABORTED + ERROR_CONNECTION_ABORTED + + + + No documentation. + + + ERROR_RETRY + ERROR_RETRY + + + + No documentation. + + + ERROR_CONNECTION_COUNT_LIMIT + ERROR_CONNECTION_COUNT_LIMIT + + + + No documentation. + + + ERROR_LOGIN_TIME_RESTRICTION + ERROR_LOGIN_TIME_RESTRICTION + + + + No documentation. + + + ERROR_LOGIN_WKSTA_RESTRICTION + ERROR_LOGIN_WKSTA_RESTRICTION + + + + No documentation. + + + ERROR_INCORRECT_ADDRESS + ERROR_INCORRECT_ADDRESS + + + + No documentation. + + + ERROR_ALREADY_REGISTERED + ERROR_ALREADY_REGISTERED + + + + No documentation. + + + ERROR_SERVICE_NOT_FOUND + ERROR_SERVICE_NOT_FOUND + + + + No documentation. + + + ERROR_NOT_AUTHENTICATED + ERROR_NOT_AUTHENTICATED + + + + No documentation. + + + ERROR_NOT_LOGGED_ON + ERROR_NOT_LOGGED_ON + + + + No documentation. + + + ERROR_CONTINUE + ERROR_CONTINUE + + + + No documentation. + + + ERROR_ALREADY_INITIALIZED + ERROR_ALREADY_INITIALIZED + + + + No documentation. + + + ERROR_NO_MORE_DEVICES + ERROR_NO_MORE_DEVICES + + + + No documentation. + + + ERROR_NO_SUCH_SITE + ERROR_NO_SUCH_SITE + + + + No documentation. + + + ERROR_DOMAIN_CONTROLLER_EXISTS + ERROR_DOMAIN_CONTROLLER_EXISTS + + + + No documentation. + + + ERROR_ONLY_IF_CONNECTED + ERROR_ONLY_IF_CONNECTED + + + + No documentation. + + + ERROR_OVERRIDE_NOCHANGES + ERROR_OVERRIDE_NOCHANGES + + + + No documentation. + + + ERROR_BAD_USER_PROFILE + ERROR_BAD_USER_PROFILE + + + + No documentation. + + + ERROR_NOT_SUPPORTED_ON_SBS + ERROR_NOT_SUPPORTED_ON_SBS + + + + No documentation. + + + ERROR_SERVER_SHUTDOWN_IN_PROGRESS + ERROR_SERVER_SHUTDOWN_IN_PROGRESS + + + + No documentation. + + + ERROR_HOST_DOWN + ERROR_HOST_DOWN + + + + No documentation. + + + ERROR_NON_ACCOUNT_SID + ERROR_NON_ACCOUNT_SID + + + + No documentation. + + + ERROR_NON_DOMAIN_SID + ERROR_NON_DOMAIN_SID + + + + No documentation. + + + ERROR_APPHELP_BLOCK + ERROR_APPHELP_BLOCK + + + + No documentation. + + + ERROR_ACCESS_DISABLED_BY_POLICY + ERROR_ACCESS_DISABLED_BY_POLICY + + + + No documentation. + + + ERROR_REG_NAT_CONSUMPTION + ERROR_REG_NAT_CONSUMPTION + + + + No documentation. + + + ERROR_CSCSHARE_OFFLINE + ERROR_CSCSHARE_OFFLINE + + + + No documentation. + + + ERROR_PKINIT_FAILURE + ERROR_PKINIT_FAILURE + + + + No documentation. + + + ERROR_SMARTCARD_SUBSYSTEM_FAILURE + ERROR_SMARTCARD_SUBSYSTEM_FAILURE + + + + No documentation. + + + ERROR_DOWNGRADE_DETECTED + ERROR_DOWNGRADE_DETECTED + + + + No documentation. + + + ERROR_MACHINE_LOCKED + ERROR_MACHINE_LOCKED + + + + No documentation. + + + ERROR_CALLBACK_SUPPLIED_INVALID_DATA + ERROR_CALLBACK_SUPPLIED_INVALID_DATA + + + + No documentation. + + + ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED + ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED + + + + No documentation. + + + ERROR_DRIVER_BLOCKED + ERROR_DRIVER_BLOCKED + + + + No documentation. + + + ERROR_INVALID_IMPORT_OF_NON_DLL + ERROR_INVALID_IMPORT_OF_NON_DLL + + + + No documentation. + + + ERROR_ACCESS_DISABLED_WEBBLADE + ERROR_ACCESS_DISABLED_WEBBLADE + + + + No documentation. + + + ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER + ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER + + + + No documentation. + + + ERROR_RECOVERY_FAILURE + ERROR_RECOVERY_FAILURE + + + + No documentation. + + + ERROR_ALREADY_FIBER + ERROR_ALREADY_FIBER + + + + No documentation. + + + ERROR_ALREADY_THREAD + ERROR_ALREADY_THREAD + + + + No documentation. + + + ERROR_STACK_BUFFER_OVERRUN + ERROR_STACK_BUFFER_OVERRUN + + + + No documentation. + + + ERROR_PARAMETER_QUOTA_EXCEEDED + ERROR_PARAMETER_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_DEBUGGER_INACTIVE + ERROR_DEBUGGER_INACTIVE + + + + No documentation. + + + ERROR_DELAY_LOAD_FAILED + ERROR_DELAY_LOAD_FAILED + + + + No documentation. + + + ERROR_VDM_DISALLOWED + ERROR_VDM_DISALLOWED + + + + No documentation. + + + ERROR_UNIDENTIFIED_ERROR + ERROR_UNIDENTIFIED_ERROR + + + + No documentation. + + + ERROR_INVALID_CRUNTIME_PARAMETER + ERROR_INVALID_CRUNTIME_PARAMETER + + + + No documentation. + + + ERROR_BEYOND_VDL + ERROR_BEYOND_VDL + + + + No documentation. + + + ERROR_INCOMPATIBLE_SERVICE_SID_TYPE + ERROR_INCOMPATIBLE_SERVICE_SID_TYPE + + + + No documentation. + + + ERROR_DRIVER_PROCESS_TERMINATED + ERROR_DRIVER_PROCESS_TERMINATED + + + + No documentation. + + + ERROR_IMPLEMENTATION_LIMIT + ERROR_IMPLEMENTATION_LIMIT + + + + No documentation. + + + ERROR_PROCESS_IS_PROTECTED + ERROR_PROCESS_IS_PROTECTED + + + + No documentation. + + + ERROR_SERVICE_NOTIFY_CLIENT_LAGGING + ERROR_SERVICE_NOTIFY_CLIENT_LAGGING + + + + No documentation. + + + ERROR_DISK_QUOTA_EXCEEDED + ERROR_DISK_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_CONTENT_BLOCKED + ERROR_CONTENT_BLOCKED + + + + No documentation. + + + ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE + ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE + + + + No documentation. + + + ERROR_APP_HANG + ERROR_APP_HANG + + + + No documentation. + + + ERROR_INVALID_LABEL + ERROR_INVALID_LABEL + + + + No documentation. + + + ERROR_NOT_ALL_ASSIGNED + ERROR_NOT_ALL_ASSIGNED + + + + No documentation. + + + ERROR_SOME_NOT_MAPPED + ERROR_SOME_NOT_MAPPED + + + + No documentation. + + + ERROR_NO_QUOTAS_FOR_ACCOUNT + ERROR_NO_QUOTAS_FOR_ACCOUNT + + + + No documentation. + + + ERROR_LOCAL_USER_SESSION_KEY + ERROR_LOCAL_USER_SESSION_KEY + + + + No documentation. + + + ERROR_NULL_LM_PASSWORD + ERROR_NULL_LM_PASSWORD + + + + No documentation. + + + ERROR_UNKNOWN_REVISION + ERROR_UNKNOWN_REVISION + + + + No documentation. + + + ERROR_REVISION_MISMATCH + ERROR_REVISION_MISMATCH + + + + No documentation. + + + ERROR_INVALID_OWNER + ERROR_INVALID_OWNER + + + + No documentation. + + + ERROR_INVALID_PRIMARY_GROUP + ERROR_INVALID_PRIMARY_GROUP + + + + No documentation. + + + ERROR_NO_IMPERSONATION_TOKEN + ERROR_NO_IMPERSONATION_TOKEN + + + + No documentation. + + + ERROR_CANT_DISABLE_MANDATORY + ERROR_CANT_DISABLE_MANDATORY + + + + No documentation. + + + ERROR_NO_LOGON_SERVERS + ERROR_NO_LOGON_SERVERS + + + + No documentation. + + + ERROR_NO_SUCH_LOGON_SESSION + ERROR_NO_SUCH_LOGON_SESSION + + + + No documentation. + + + ERROR_NO_SUCH_PRIVILEGE + ERROR_NO_SUCH_PRIVILEGE + + + + No documentation. + + + ERROR_PRIVILEGE_NOT_HELD + ERROR_PRIVILEGE_NOT_HELD + + + + No documentation. + + + ERROR_INVALID_ACCOUNT_NAME + ERROR_INVALID_ACCOUNT_NAME + + + + No documentation. + + + ERROR_USER_EXISTS + ERROR_USER_EXISTS + + + + No documentation. + + + ERROR_NO_SUCH_USER + ERROR_NO_SUCH_USER + + + + No documentation. + + + ERROR_GROUP_EXISTS + ERROR_GROUP_EXISTS + + + + No documentation. + + + ERROR_NO_SUCH_GROUP + ERROR_NO_SUCH_GROUP + + + + No documentation. + + + ERROR_MEMBER_IN_GROUP + ERROR_MEMBER_IN_GROUP + + + + No documentation. + + + ERROR_MEMBER_NOT_IN_GROUP + ERROR_MEMBER_NOT_IN_GROUP + + + + No documentation. + + + ERROR_LAST_ADMIN + ERROR_LAST_ADMIN + + + + No documentation. + + + ERROR_WRONG_PASSWORD + ERROR_WRONG_PASSWORD + + + + No documentation. + + + ERROR_ILL_FORMED_PASSWORD + ERROR_ILL_FORMED_PASSWORD + + + + No documentation. + + + ERROR_PASSWORD_RESTRICTION + ERROR_PASSWORD_RESTRICTION + + + + No documentation. + + + ERROR_LOGON_FAILURE + ERROR_LOGON_FAILURE + + + + No documentation. + + + ERROR_ACCOUNT_RESTRICTION + ERROR_ACCOUNT_RESTRICTION + + + + No documentation. + + + ERROR_INVALID_LOGON_HOURS + ERROR_INVALID_LOGON_HOURS + + + + No documentation. + + + ERROR_INVALID_WORKSTATION + ERROR_INVALID_WORKSTATION + + + + No documentation. + + + ERROR_PASSWORD_EXPIRED + ERROR_PASSWORD_EXPIRED + + + + No documentation. + + + ERROR_ACCOUNT_DISABLED + ERROR_ACCOUNT_DISABLED + + + + No documentation. + + + ERROR_NONE_MAPPED + ERROR_NONE_MAPPED + + + + No documentation. + + + ERROR_TOO_MANY_LUIDS_REQUESTED + ERROR_TOO_MANY_LUIDS_REQUESTED + + + + No documentation. + + + ERROR_LUIDS_EXHAUSTED + ERROR_LUIDS_EXHAUSTED + + + + No documentation. + + + ERROR_INVALID_SUB_AUTHORITY + ERROR_INVALID_SUB_AUTHORITY + + + + No documentation. + + + ERROR_INVALID_ACL + ERROR_INVALID_ACL + + + + No documentation. + + + ERROR_INVALID_SID + ERROR_INVALID_SID + + + + No documentation. + + + ERROR_INVALID_SECURITY_DESCR + ERROR_INVALID_SECURITY_DESCR + + + + No documentation. + + + ERROR_BAD_INHERITANCE_ACL + ERROR_BAD_INHERITANCE_ACL + + + + No documentation. + + + ERROR_SERVER_DISABLED + ERROR_SERVER_DISABLED + + + + No documentation. + + + ERROR_SERVER_NOT_DISABLED + ERROR_SERVER_NOT_DISABLED + + + + No documentation. + + + ERROR_INVALID_ID_AUTHORITY + ERROR_INVALID_ID_AUTHORITY + + + + No documentation. + + + ERROR_ALLOTTED_SPACE_EXCEEDED + ERROR_ALLOTTED_SPACE_EXCEEDED + + + + No documentation. + + + ERROR_INVALID_GROUP_ATTRIBUTES + ERROR_INVALID_GROUP_ATTRIBUTES + + + + No documentation. + + + ERROR_BAD_IMPERSONATION_LEVEL + ERROR_BAD_IMPERSONATION_LEVEL + + + + No documentation. + + + ERROR_CANT_OPEN_ANONYMOUS + ERROR_CANT_OPEN_ANONYMOUS + + + + No documentation. + + + ERROR_BAD_VALIDATION_CLASS + ERROR_BAD_VALIDATION_CLASS + + + + No documentation. + + + ERROR_BAD_TOKEN_TYPE + ERROR_BAD_TOKEN_TYPE + + + + No documentation. + + + ERROR_NO_SECURITY_ON_OBJECT + ERROR_NO_SECURITY_ON_OBJECT + + + + No documentation. + + + ERROR_CANT_ACCESS_DOMAIN_INFO + ERROR_CANT_ACCESS_DOMAIN_INFO + + + + No documentation. + + + ERROR_INVALID_SERVER_STATE + ERROR_INVALID_SERVER_STATE + + + + No documentation. + + + ERROR_INVALID_DOMAIN_STATE + ERROR_INVALID_DOMAIN_STATE + + + + No documentation. + + + ERROR_INVALID_DOMAIN_ROLE + ERROR_INVALID_DOMAIN_ROLE + + + + No documentation. + + + ERROR_NO_SUCH_DOMAIN + ERROR_NO_SUCH_DOMAIN + + + + No documentation. + + + ERROR_DOMAIN_EXISTS + ERROR_DOMAIN_EXISTS + + + + No documentation. + + + ERROR_DOMAIN_LIMIT_EXCEEDED + ERROR_DOMAIN_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_INTERNAL_DB_CORRUPTION + ERROR_INTERNAL_DB_CORRUPTION + + + + No documentation. + + + ERROR_INTERNAL_ERROR + ERROR_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GENERIC_NOT_MAPPED + ERROR_GENERIC_NOT_MAPPED + + + + No documentation. + + + ERROR_BAD_DESCRIPTOR_FORMAT + ERROR_BAD_DESCRIPTOR_FORMAT + + + + No documentation. + + + ERROR_NOT_LOGON_PROCESS + ERROR_NOT_LOGON_PROCESS + + + + No documentation. + + + ERROR_LOGON_SESSION_EXISTS + ERROR_LOGON_SESSION_EXISTS + + + + No documentation. + + + ERROR_NO_SUCH_PACKAGE + ERROR_NO_SUCH_PACKAGE + + + + No documentation. + + + ERROR_BAD_LOGON_SESSION_STATE + ERROR_BAD_LOGON_SESSION_STATE + + + + No documentation. + + + ERROR_LOGON_SESSION_COLLISION + ERROR_LOGON_SESSION_COLLISION + + + + No documentation. + + + ERROR_INVALID_LOGON_TYPE + ERROR_INVALID_LOGON_TYPE + + + + No documentation. + + + ERROR_CANNOT_IMPERSONATE + ERROR_CANNOT_IMPERSONATE + + + + No documentation. + + + ERROR_RXACT_INVALID_STATE + ERROR_RXACT_INVALID_STATE + + + + No documentation. + + + ERROR_RXACT_COMMIT_FAILURE + ERROR_RXACT_COMMIT_FAILURE + + + + No documentation. + + + ERROR_SPECIAL_ACCOUNT + ERROR_SPECIAL_ACCOUNT + + + + No documentation. + + + ERROR_SPECIAL_GROUP + ERROR_SPECIAL_GROUP + + + + No documentation. + + + ERROR_SPECIAL_USER + ERROR_SPECIAL_USER + + + + No documentation. + + + ERROR_MEMBERS_PRIMARY_GROUP + ERROR_MEMBERS_PRIMARY_GROUP + + + + No documentation. + + + ERROR_TOKEN_ALREADY_IN_USE + ERROR_TOKEN_ALREADY_IN_USE + + + + No documentation. + + + ERROR_NO_SUCH_ALIAS + ERROR_NO_SUCH_ALIAS + + + + No documentation. + + + ERROR_MEMBER_NOT_IN_ALIAS + ERROR_MEMBER_NOT_IN_ALIAS + + + + No documentation. + + + ERROR_MEMBER_IN_ALIAS + ERROR_MEMBER_IN_ALIAS + + + + No documentation. + + + ERROR_ALIAS_EXISTS + ERROR_ALIAS_EXISTS + + + + No documentation. + + + ERROR_LOGON_NOT_GRANTED + ERROR_LOGON_NOT_GRANTED + + + + No documentation. + + + ERROR_TOO_MANY_SECRETS + ERROR_TOO_MANY_SECRETS + + + + No documentation. + + + ERROR_SECRET_TOO_LONG + ERROR_SECRET_TOO_LONG + + + + No documentation. + + + ERROR_INTERNAL_DB_ERROR + ERROR_INTERNAL_DB_ERROR + + + + No documentation. + + + ERROR_TOO_MANY_CONTEXT_IDS + ERROR_TOO_MANY_CONTEXT_IDS + + + + No documentation. + + + ERROR_LOGON_TYPE_NOT_GRANTED + ERROR_LOGON_TYPE_NOT_GRANTED + + + + No documentation. + + + ERROR_NT_CROSS_ENCRYPTION_REQUIRED + ERROR_NT_CROSS_ENCRYPTION_REQUIRED + + + + No documentation. + + + ERROR_NO_SUCH_MEMBER + ERROR_NO_SUCH_MEMBER + + + + No documentation. + + + ERROR_INVALID_MEMBER + ERROR_INVALID_MEMBER + + + + No documentation. + + + ERROR_TOO_MANY_SIDS + ERROR_TOO_MANY_SIDS + + + + No documentation. + + + ERROR_LM_CROSS_ENCRYPTION_REQUIRED + ERROR_LM_CROSS_ENCRYPTION_REQUIRED + + + + No documentation. + + + ERROR_NO_INHERITANCE + ERROR_NO_INHERITANCE + + + + No documentation. + + + ERROR_FILE_CORRUPT + ERROR_FILE_CORRUPT + + + + No documentation. + + + ERROR_DISK_CORRUPT + ERROR_DISK_CORRUPT + + + + No documentation. + + + ERROR_NO_USER_SESSION_KEY + ERROR_NO_USER_SESSION_KEY + + + + No documentation. + + + ERROR_LICENSE_QUOTA_EXCEEDED + ERROR_LICENSE_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_WRONG_TARGET_NAME + ERROR_WRONG_TARGET_NAME + + + + No documentation. + + + ERROR_MUTUAL_AUTH_FAILED + ERROR_MUTUAL_AUTH_FAILED + + + + No documentation. + + + ERROR_TIME_SKEW + ERROR_TIME_SKEW + + + + No documentation. + + + ERROR_CURRENT_DOMAIN_NOT_ALLOWED + ERROR_CURRENT_DOMAIN_NOT_ALLOWED + + + + No documentation. + + + ERROR_INVALID_WINDOW_HANDLE + ERROR_INVALID_WINDOW_HANDLE + + + + No documentation. + + + ERROR_INVALID_MENU_HANDLE + ERROR_INVALID_MENU_HANDLE + + + + No documentation. + + + ERROR_INVALID_CURSOR_HANDLE + ERROR_INVALID_CURSOR_HANDLE + + + + No documentation. + + + ERROR_INVALID_ACCEL_HANDLE + ERROR_INVALID_ACCEL_HANDLE + + + + No documentation. + + + ERROR_INVALID_HOOK_HANDLE + ERROR_INVALID_HOOK_HANDLE + + + + No documentation. + + + ERROR_INVALID_DWP_HANDLE + ERROR_INVALID_DWP_HANDLE + + + + No documentation. + + + ERROR_TLW_WITH_WSCHILD + ERROR_TLW_WITH_WSCHILD + + + + No documentation. + + + ERROR_CANNOT_FIND_WND_CLASS + ERROR_CANNOT_FIND_WND_CLASS + + + + No documentation. + + + ERROR_WINDOW_OF_OTHER_THREAD + ERROR_WINDOW_OF_OTHER_THREAD + + + + No documentation. + + + ERROR_HOTKEY_ALREADY_REGISTERED + ERROR_HOTKEY_ALREADY_REGISTERED + + + + No documentation. + + + ERROR_CLASS_ALREADY_EXISTS + ERROR_CLASS_ALREADY_EXISTS + + + + No documentation. + + + ERROR_CLASS_DOES_NOT_EXIST + ERROR_CLASS_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_CLASS_HAS_WINDOWS + ERROR_CLASS_HAS_WINDOWS + + + + No documentation. + + + ERROR_INVALID_INDEX + ERROR_INVALID_INDEX + + + + No documentation. + + + ERROR_INVALID_ICON_HANDLE + ERROR_INVALID_ICON_HANDLE + + + + No documentation. + + + ERROR_PRIVATE_DIALOG_INDEX + ERROR_PRIVATE_DIALOG_INDEX + + + + No documentation. + + + ERROR_LISTBOX_ID_NOT_FOUND + ERROR_LISTBOX_ID_NOT_FOUND + + + + No documentation. + + + ERROR_NO_WILDCARD_CHARACTERS + ERROR_NO_WILDCARD_CHARACTERS + + + + No documentation. + + + ERROR_CLIPBOARD_NOT_OPEN + ERROR_CLIPBOARD_NOT_OPEN + + + + No documentation. + + + ERROR_HOTKEY_NOT_REGISTERED + ERROR_HOTKEY_NOT_REGISTERED + + + + No documentation. + + + ERROR_WINDOW_NOT_DIALOG + ERROR_WINDOW_NOT_DIALOG + + + + No documentation. + + + ERROR_CONTROL_ID_NOT_FOUND + ERROR_CONTROL_ID_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_COMBOBOX_MESSAGE + ERROR_INVALID_COMBOBOX_MESSAGE + + + + No documentation. + + + ERROR_WINDOW_NOT_COMBOBOX + ERROR_WINDOW_NOT_COMBOBOX + + + + No documentation. + + + ERROR_INVALID_EDIT_HEIGHT + ERROR_INVALID_EDIT_HEIGHT + + + + No documentation. + + + ERROR_DC_NOT_FOUND + ERROR_DC_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_HOOK_FILTER + ERROR_INVALID_HOOK_FILTER + + + + No documentation. + + + ERROR_INVALID_FILTER_PROC + ERROR_INVALID_FILTER_PROC + + + + No documentation. + + + ERROR_HOOK_NEEDS_HMOD + ERROR_HOOK_NEEDS_HMOD + + + + No documentation. + + + ERROR_GLOBAL_ONLY_HOOK + ERROR_GLOBAL_ONLY_HOOK + + + + No documentation. + + + ERROR_JOURNAL_HOOK_SET + ERROR_JOURNAL_HOOK_SET + + + + No documentation. + + + ERROR_HOOK_NOT_INSTALLED + ERROR_HOOK_NOT_INSTALLED + + + + No documentation. + + + ERROR_INVALID_LB_MESSAGE + ERROR_INVALID_LB_MESSAGE + + + + No documentation. + + + ERROR_SETCOUNT_ON_BAD_LB + ERROR_SETCOUNT_ON_BAD_LB + + + + No documentation. + + + ERROR_LB_WITHOUT_TABSTOPS + ERROR_LB_WITHOUT_TABSTOPS + + + + No documentation. + + + ERROR_DESTROY_OBJECT_OF_OTHER_THREAD + ERROR_DESTROY_OBJECT_OF_OTHER_THREAD + + + + No documentation. + + + ERROR_CHILD_WINDOW_MENU + ERROR_CHILD_WINDOW_MENU + + + + No documentation. + + + ERROR_NO_SYSTEM_MENU + ERROR_NO_SYSTEM_MENU + + + + No documentation. + + + ERROR_INVALID_MSGBOX_STYLE + ERROR_INVALID_MSGBOX_STYLE + + + + No documentation. + + + ERROR_INVALID_SPI_VALUE + ERROR_INVALID_SPI_VALUE + + + + No documentation. + + + ERROR_SCREEN_ALREADY_LOCKED + ERROR_SCREEN_ALREADY_LOCKED + + + + No documentation. + + + ERROR_HWNDS_HAVE_DIFF_PARENT + ERROR_HWNDS_HAVE_DIFF_PARENT + + + + No documentation. + + + ERROR_NOT_CHILD_WINDOW + ERROR_NOT_CHILD_WINDOW + + + + No documentation. + + + ERROR_INVALID_GW_COMMAND + ERROR_INVALID_GW_COMMAND + + + + No documentation. + + + ERROR_INVALID_THREAD_ID + ERROR_INVALID_THREAD_ID + + + + No documentation. + + + ERROR_NON_MDICHILD_WINDOW + ERROR_NON_MDICHILD_WINDOW + + + + No documentation. + + + ERROR_POPUP_ALREADY_ACTIVE + ERROR_POPUP_ALREADY_ACTIVE + + + + No documentation. + + + ERROR_NO_SCROLLBARS + ERROR_NO_SCROLLBARS + + + + No documentation. + + + ERROR_INVALID_SCROLLBAR_RANGE + ERROR_INVALID_SCROLLBAR_RANGE + + + + No documentation. + + + ERROR_INVALID_SHOWWIN_COMMAND + ERROR_INVALID_SHOWWIN_COMMAND + + + + No documentation. + + + ERROR_NO_SYSTEM_RESOURCES + ERROR_NO_SYSTEM_RESOURCES + + + + No documentation. + + + ERROR_NONPAGED_SYSTEM_RESOURCES + ERROR_NONPAGED_SYSTEM_RESOURCES + + + + No documentation. + + + ERROR_PAGED_SYSTEM_RESOURCES + ERROR_PAGED_SYSTEM_RESOURCES + + + + No documentation. + + + ERROR_WORKING_SET_QUOTA + ERROR_WORKING_SET_QUOTA + + + + No documentation. + + + ERROR_PAGEFILE_QUOTA + ERROR_PAGEFILE_QUOTA + + + + No documentation. + + + ERROR_COMMITMENT_LIMIT + ERROR_COMMITMENT_LIMIT + + + + No documentation. + + + ERROR_MENU_ITEM_NOT_FOUND + ERROR_MENU_ITEM_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_KEYBOARD_HANDLE + ERROR_INVALID_KEYBOARD_HANDLE + + + + No documentation. + + + ERROR_HOOK_TYPE_NOT_ALLOWED + ERROR_HOOK_TYPE_NOT_ALLOWED + + + + No documentation. + + + ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION + ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION + + + + No documentation. + + + ERROR_TIMEOUT + ERROR_TIMEOUT + + + + No documentation. + + + ERROR_INVALID_MONITOR_HANDLE + ERROR_INVALID_MONITOR_HANDLE + + + + No documentation. + + + ERROR_INCORRECT_SIZE + ERROR_INCORRECT_SIZE + + + + No documentation. + + + ERROR_SYMLINK_CLASS_DISABLED + ERROR_SYMLINK_CLASS_DISABLED + + + + No documentation. + + + ERROR_SYMLINK_NOT_SUPPORTED + ERROR_SYMLINK_NOT_SUPPORTED + + + + No documentation. + + + ERROR_XML_PARSE_ERROR + ERROR_XML_PARSE_ERROR + + + + No documentation. + + + ERROR_XMLDSIG_ERROR + ERROR_XMLDSIG_ERROR + + + + No documentation. + + + ERROR_RESTART_APPLICATION + ERROR_RESTART_APPLICATION + + + + No documentation. + + + ERROR_WRONG_COMPARTMENT + ERROR_WRONG_COMPARTMENT + + + + No documentation. + + + ERROR_AUTHIP_FAILURE + ERROR_AUTHIP_FAILURE + + + + No documentation. + + + ERROR_NO_NVRAM_RESOURCES + ERROR_NO_NVRAM_RESOURCES + + + + No documentation. + + + ERROR_EVENTLOG_FILE_CORRUPT + ERROR_EVENTLOG_FILE_CORRUPT + + + + No documentation. + + + ERROR_EVENTLOG_CANT_START + ERROR_EVENTLOG_CANT_START + + + + No documentation. + + + ERROR_LOG_FILE_FULL + ERROR_LOG_FILE_FULL + + + + No documentation. + + + ERROR_EVENTLOG_FILE_CHANGED + ERROR_EVENTLOG_FILE_CHANGED + + + + No documentation. + + + ERROR_INVALID_TASK_NAME + ERROR_INVALID_TASK_NAME + + + + No documentation. + + + ERROR_INVALID_TASK_INDEX + ERROR_INVALID_TASK_INDEX + + + + No documentation. + + + ERROR_THREAD_ALREADY_IN_TASK + ERROR_THREAD_ALREADY_IN_TASK + + + + No documentation. + + + ERROR_INSTALL_SERVICE_FAILURE + ERROR_INSTALL_SERVICE_FAILURE + + + + No documentation. + + + ERROR_INSTALL_USEREXIT + ERROR_INSTALL_USEREXIT + + + + No documentation. + + + ERROR_INSTALL_FAILURE + ERROR_INSTALL_FAILURE + + + + No documentation. + + + ERROR_INSTALL_SUSPEND + ERROR_INSTALL_SUSPEND + + + + No documentation. + + + ERROR_UNKNOWN_PRODUCT + ERROR_UNKNOWN_PRODUCT + + + + No documentation. + + + ERROR_UNKNOWN_FEATURE + ERROR_UNKNOWN_FEATURE + + + + No documentation. + + + ERROR_UNKNOWN_COMPONENT + ERROR_UNKNOWN_COMPONENT + + + + No documentation. + + + ERROR_UNKNOWN_PROPERTY + ERROR_UNKNOWN_PROPERTY + + + + No documentation. + + + ERROR_INVALID_HANDLE_STATE + ERROR_INVALID_HANDLE_STATE + + + + No documentation. + + + ERROR_BAD_CONFIGURATION + ERROR_BAD_CONFIGURATION + + + + No documentation. + + + ERROR_INDEX_ABSENT + ERROR_INDEX_ABSENT + + + + No documentation. + + + ERROR_INSTALL_SOURCE_ABSENT + ERROR_INSTALL_SOURCE_ABSENT + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_VERSION + ERROR_INSTALL_PACKAGE_VERSION + + + + No documentation. + + + ERROR_PRODUCT_UNINSTALLED + ERROR_PRODUCT_UNINSTALLED + + + + No documentation. + + + ERROR_BAD_QUERY_SYNTAX + ERROR_BAD_QUERY_SYNTAX + + + + No documentation. + + + ERROR_INVALID_FIELD + ERROR_INVALID_FIELD + + + + No documentation. + + + ERROR_DEVICE_REMOVED + ERROR_DEVICE_REMOVED + + + + No documentation. + + + ERROR_INSTALL_ALREADY_RUNNING + ERROR_INSTALL_ALREADY_RUNNING + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_OPEN_FAILED + ERROR_INSTALL_PACKAGE_OPEN_FAILED + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_INVALID + ERROR_INSTALL_PACKAGE_INVALID + + + + No documentation. + + + ERROR_INSTALL_UI_FAILURE + ERROR_INSTALL_UI_FAILURE + + + + No documentation. + + + ERROR_INSTALL_LOG_FAILURE + ERROR_INSTALL_LOG_FAILURE + + + + No documentation. + + + ERROR_INSTALL_LANGUAGE_UNSUPPORTED + ERROR_INSTALL_LANGUAGE_UNSUPPORTED + + + + No documentation. + + + ERROR_INSTALL_TRANSFORM_FAILURE + ERROR_INSTALL_TRANSFORM_FAILURE + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_REJECTED + ERROR_INSTALL_PACKAGE_REJECTED + + + + No documentation. + + + ERROR_FUNCTION_NOT_CALLED + ERROR_FUNCTION_NOT_CALLED + + + + No documentation. + + + ERROR_FUNCTION_FAILED + ERROR_FUNCTION_FAILED + + + + No documentation. + + + ERROR_INVALID_TABLE + ERROR_INVALID_TABLE + + + + No documentation. + + + ERROR_DATATYPE_MISMATCH + ERROR_DATATYPE_MISMATCH + + + + No documentation. + + + ERROR_UNSUPPORTED_TYPE + ERROR_UNSUPPORTED_TYPE + + + + No documentation. + + + ERROR_CREATE_FAILED + ERROR_CREATE_FAILED + + + + No documentation. + + + ERROR_INSTALL_TEMP_UNWRITABLE + ERROR_INSTALL_TEMP_UNWRITABLE + + + + No documentation. + + + ERROR_INSTALL_PLATFORM_UNSUPPORTED + ERROR_INSTALL_PLATFORM_UNSUPPORTED + + + + No documentation. + + + ERROR_INSTALL_NOTUSED + ERROR_INSTALL_NOTUSED + + + + No documentation. + + + ERROR_PATCH_PACKAGE_OPEN_FAILED + ERROR_PATCH_PACKAGE_OPEN_FAILED + + + + No documentation. + + + ERROR_PATCH_PACKAGE_INVALID + ERROR_PATCH_PACKAGE_INVALID + + + + No documentation. + + + ERROR_PATCH_PACKAGE_UNSUPPORTED + ERROR_PATCH_PACKAGE_UNSUPPORTED + + + + No documentation. + + + ERROR_PRODUCT_VERSION + ERROR_PRODUCT_VERSION + + + + No documentation. + + + ERROR_INVALID_COMMAND_LINE + ERROR_INVALID_COMMAND_LINE + + + + No documentation. + + + ERROR_INSTALL_REMOTE_DISALLOWED + ERROR_INSTALL_REMOTE_DISALLOWED + + + + No documentation. + + + ERROR_SUCCESS_REBOOT_INITIATED + ERROR_SUCCESS_REBOOT_INITIATED + + + + No documentation. + + + ERROR_PATCH_TARGET_NOT_FOUND + ERROR_PATCH_TARGET_NOT_FOUND + + + + No documentation. + + + ERROR_PATCH_PACKAGE_REJECTED + ERROR_PATCH_PACKAGE_REJECTED + + + + No documentation. + + + ERROR_INSTALL_TRANSFORM_REJECTED + ERROR_INSTALL_TRANSFORM_REJECTED + + + + No documentation. + + + ERROR_INSTALL_REMOTE_PROHIBITED + ERROR_INSTALL_REMOTE_PROHIBITED + + + + No documentation. + + + ERROR_PATCH_REMOVAL_UNSUPPORTED + ERROR_PATCH_REMOVAL_UNSUPPORTED + + + + No documentation. + + + ERROR_UNKNOWN_PATCH + ERROR_UNKNOWN_PATCH + + + + No documentation. + + + ERROR_PATCH_NO_SEQUENCE + ERROR_PATCH_NO_SEQUENCE + + + + No documentation. + + + ERROR_PATCH_REMOVAL_DISALLOWED + ERROR_PATCH_REMOVAL_DISALLOWED + + + + No documentation. + + + ERROR_INVALID_PATCH_XML + ERROR_INVALID_PATCH_XML + + + + No documentation. + + + ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT + ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT + + + + No documentation. + + + ERROR_INSTALL_SERVICE_SAFEBOOT + ERROR_INSTALL_SERVICE_SAFEBOOT + + + + No documentation. + + + ERROR_FAIL_FAST_EXCEPTION + ERROR_FAIL_FAST_EXCEPTION + + + + No documentation. + + + ERROR_INVALID_USER_BUFFER + ERROR_INVALID_USER_BUFFER + + + + No documentation. + + + ERROR_UNRECOGNIZED_MEDIA + ERROR_UNRECOGNIZED_MEDIA + + + + No documentation. + + + ERROR_NO_TRUST_LSA_SECRET + ERROR_NO_TRUST_LSA_SECRET + + + + No documentation. + + + ERROR_NO_TRUST_SAM_ACCOUNT + ERROR_NO_TRUST_SAM_ACCOUNT + + + + No documentation. + + + ERROR_TRUSTED_DOMAIN_FAILURE + ERROR_TRUSTED_DOMAIN_FAILURE + + + + No documentation. + + + ERROR_TRUSTED_RELATIONSHIP_FAILURE + ERROR_TRUSTED_RELATIONSHIP_FAILURE + + + + No documentation. + + + ERROR_TRUST_FAILURE + ERROR_TRUST_FAILURE + + + + No documentation. + + + ERROR_NETLOGON_NOT_STARTED + ERROR_NETLOGON_NOT_STARTED + + + + No documentation. + + + ERROR_ACCOUNT_EXPIRED + ERROR_ACCOUNT_EXPIRED + + + + No documentation. + + + ERROR_REDIRECTOR_HAS_OPEN_HANDLES + ERROR_REDIRECTOR_HAS_OPEN_HANDLES + + + + No documentation. + + + ERROR_PRINTER_DRIVER_ALREADY_INSTALLED + ERROR_PRINTER_DRIVER_ALREADY_INSTALLED + + + + No documentation. + + + ERROR_UNKNOWN_PORT + ERROR_UNKNOWN_PORT + + + + No documentation. + + + ERROR_UNKNOWN_PRINTER_DRIVER + ERROR_UNKNOWN_PRINTER_DRIVER + + + + No documentation. + + + ERROR_UNKNOWN_PRINTPROCESSOR + ERROR_UNKNOWN_PRINTPROCESSOR + + + + No documentation. + + + ERROR_INVALID_SEPARATOR_FILE + ERROR_INVALID_SEPARATOR_FILE + + + + No documentation. + + + ERROR_INVALID_PRIORITY + ERROR_INVALID_PRIORITY + + + + No documentation. + + + ERROR_INVALID_PRINTER_NAME + ERROR_INVALID_PRINTER_NAME + + + + No documentation. + + + ERROR_PRINTER_ALREADY_EXISTS + ERROR_PRINTER_ALREADY_EXISTS + + + + No documentation. + + + ERROR_INVALID_PRINTER_COMMAND + ERROR_INVALID_PRINTER_COMMAND + + + + No documentation. + + + ERROR_INVALID_DATATYPE + ERROR_INVALID_DATATYPE + + + + No documentation. + + + ERROR_INVALID_ENVIRONMENT + ERROR_INVALID_ENVIRONMENT + + + + No documentation. + + + ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT + ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT + + + + No documentation. + + + ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT + ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT + + + + No documentation. + + + ERROR_NOLOGON_SERVER_TRUST_ACCOUNT + ERROR_NOLOGON_SERVER_TRUST_ACCOUNT + + + + No documentation. + + + ERROR_DOMAIN_TRUST_INCONSISTENT + ERROR_DOMAIN_TRUST_INCONSISTENT + + + + No documentation. + + + ERROR_SERVER_HAS_OPEN_HANDLES + ERROR_SERVER_HAS_OPEN_HANDLES + + + + No documentation. + + + ERROR_RESOURCE_DATA_NOT_FOUND + ERROR_RESOURCE_DATA_NOT_FOUND + + + + No documentation. + + + ERROR_RESOURCE_TYPE_NOT_FOUND + ERROR_RESOURCE_TYPE_NOT_FOUND + + + + No documentation. + + + ERROR_RESOURCE_NAME_NOT_FOUND + ERROR_RESOURCE_NAME_NOT_FOUND + + + + No documentation. + + + ERROR_RESOURCE_LANG_NOT_FOUND + ERROR_RESOURCE_LANG_NOT_FOUND + + + + No documentation. + + + ERROR_NOT_ENOUGH_QUOTA + ERROR_NOT_ENOUGH_QUOTA + + + + No documentation. + + + ERROR_INVALID_TIME + ERROR_INVALID_TIME + + + + No documentation. + + + ERROR_INVALID_FORM_NAME + ERROR_INVALID_FORM_NAME + + + + No documentation. + + + ERROR_INVALID_FORM_SIZE + ERROR_INVALID_FORM_SIZE + + + + No documentation. + + + ERROR_ALREADY_WAITING + ERROR_ALREADY_WAITING + + + + No documentation. + + + ERROR_PRINTER_DELETED + ERROR_PRINTER_DELETED + + + + No documentation. + + + ERROR_INVALID_PRINTER_STATE + ERROR_INVALID_PRINTER_STATE + + + + No documentation. + + + ERROR_PASSWORD_MUST_CHANGE + ERROR_PASSWORD_MUST_CHANGE + + + + No documentation. + + + ERROR_DOMAIN_CONTROLLER_NOT_FOUND + ERROR_DOMAIN_CONTROLLER_NOT_FOUND + + + + No documentation. + + + ERROR_ACCOUNT_LOCKED_OUT + ERROR_ACCOUNT_LOCKED_OUT + + + + No documentation. + + + ERROR_NO_SITENAME + ERROR_NO_SITENAME + + + + No documentation. + + + ERROR_CANT_ACCESS_FILE + ERROR_CANT_ACCESS_FILE + + + + No documentation. + + + ERROR_CANT_RESOLVE_FILENAME + ERROR_CANT_RESOLVE_FILENAME + + + + No documentation. + + + ERROR_KM_DRIVER_BLOCKED + ERROR_KM_DRIVER_BLOCKED + + + + No documentation. + + + ERROR_CONTEXT_EXPIRED + ERROR_CONTEXT_EXPIRED + + + + No documentation. + + + ERROR_PER_USER_TRUST_QUOTA_EXCEEDED + ERROR_PER_USER_TRUST_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED + ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED + ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_AUTHENTICATION_FIREWALL_FAILED + ERROR_AUTHENTICATION_FIREWALL_FAILED + + + + No documentation. + + + ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED + ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED + + + + No documentation. + + + ERROR_NTLM_BLOCKED + ERROR_NTLM_BLOCKED + + + + No documentation. + + + ERROR_INVALID_PIXEL_FORMAT + ERROR_INVALID_PIXEL_FORMAT + + + + No documentation. + + + ERROR_BAD_DRIVER + ERROR_BAD_DRIVER + + + + No documentation. + + + ERROR_INVALID_WINDOW_STYLE + ERROR_INVALID_WINDOW_STYLE + + + + No documentation. + + + ERROR_METAFILE_NOT_SUPPORTED + ERROR_METAFILE_NOT_SUPPORTED + + + + No documentation. + + + ERROR_TRANSFORM_NOT_SUPPORTED + ERROR_TRANSFORM_NOT_SUPPORTED + + + + No documentation. + + + ERROR_CLIPPING_NOT_SUPPORTED + ERROR_CLIPPING_NOT_SUPPORTED + + + + No documentation. + + + ERROR_INVALID_CMM + ERROR_INVALID_CMM + + + + No documentation. + + + ERROR_INVALID_PROFILE + ERROR_INVALID_PROFILE + + + + No documentation. + + + ERROR_TAG_NOT_FOUND + ERROR_TAG_NOT_FOUND + + + + No documentation. + + + ERROR_TAG_NOT_PRESENT + ERROR_TAG_NOT_PRESENT + + + + No documentation. + + + ERROR_DUPLICATE_TAG + ERROR_DUPLICATE_TAG + + + + No documentation. + + + ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE + ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE + + + + No documentation. + + + ERROR_PROFILE_NOT_FOUND + ERROR_PROFILE_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_COLORSPACE + ERROR_INVALID_COLORSPACE + + + + No documentation. + + + ERROR_ICM_NOT_ENABLED + ERROR_ICM_NOT_ENABLED + + + + No documentation. + + + ERROR_DELETING_ICM_XFORM + ERROR_DELETING_ICM_XFORM + + + + No documentation. + + + ERROR_INVALID_TRANSFORM + ERROR_INVALID_TRANSFORM + + + + No documentation. + + + ERROR_COLORSPACE_MISMATCH + ERROR_COLORSPACE_MISMATCH + + + + No documentation. + + + ERROR_INVALID_COLORINDEX + ERROR_INVALID_COLORINDEX + + + + No documentation. + + + ERROR_PROFILE_DOES_NOT_MATCH_DEVICE + ERROR_PROFILE_DOES_NOT_MATCH_DEVICE + + + + No documentation. + + + ERROR_CONNECTED_OTHER_PASSWORD + ERROR_CONNECTED_OTHER_PASSWORD + + + + No documentation. + + + ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT + ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT + + + + No documentation. + + + ERROR_BAD_USERNAME + ERROR_BAD_USERNAME + + + + No documentation. + + + ERROR_NOT_CONNECTED + ERROR_NOT_CONNECTED + + + + No documentation. + + + ERROR_OPEN_FILES + ERROR_OPEN_FILES + + + + No documentation. + + + ERROR_ACTIVE_CONNECTIONS + ERROR_ACTIVE_CONNECTIONS + + + + No documentation. + + + ERROR_DEVICE_IN_USE + ERROR_DEVICE_IN_USE + + + + No documentation. + + + ERROR_UNKNOWN_PRINT_MONITOR + ERROR_UNKNOWN_PRINT_MONITOR + + + + No documentation. + + + ERROR_PRINTER_DRIVER_IN_USE + ERROR_PRINTER_DRIVER_IN_USE + + + + No documentation. + + + ERROR_SPOOL_FILE_NOT_FOUND + ERROR_SPOOL_FILE_NOT_FOUND + + + + No documentation. + + + ERROR_SPL_NO_STARTDOC + ERROR_SPL_NO_STARTDOC + + + + No documentation. + + + ERROR_SPL_NO_ADDJOB + ERROR_SPL_NO_ADDJOB + + + + No documentation. + + + ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED + ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED + + + + No documentation. + + + ERROR_PRINT_MONITOR_ALREADY_INSTALLED + ERROR_PRINT_MONITOR_ALREADY_INSTALLED + + + + No documentation. + + + ERROR_INVALID_PRINT_MONITOR + ERROR_INVALID_PRINT_MONITOR + + + + No documentation. + + + ERROR_PRINT_MONITOR_IN_USE + ERROR_PRINT_MONITOR_IN_USE + + + + No documentation. + + + ERROR_PRINTER_HAS_JOBS_QUEUED + ERROR_PRINTER_HAS_JOBS_QUEUED + + + + No documentation. + + + ERROR_SUCCESS_REBOOT_REQUIRED + ERROR_SUCCESS_REBOOT_REQUIRED + + + + No documentation. + + + ERROR_SUCCESS_RESTART_REQUIRED + ERROR_SUCCESS_RESTART_REQUIRED + + + + No documentation. + + + ERROR_PRINTER_NOT_FOUND + ERROR_PRINTER_NOT_FOUND + + + + No documentation. + + + ERROR_PRINTER_DRIVER_WARNED + ERROR_PRINTER_DRIVER_WARNED + + + + No documentation. + + + ERROR_PRINTER_DRIVER_BLOCKED + ERROR_PRINTER_DRIVER_BLOCKED + + + + No documentation. + + + ERROR_PRINTER_DRIVER_PACKAGE_IN_USE + ERROR_PRINTER_DRIVER_PACKAGE_IN_USE + + + + No documentation. + + + ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND + ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND + + + + No documentation. + + + ERROR_FAIL_REBOOT_REQUIRED + ERROR_FAIL_REBOOT_REQUIRED + + + + No documentation. + + + ERROR_FAIL_REBOOT_INITIATED + ERROR_FAIL_REBOOT_INITIATED + + + + No documentation. + + + ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED + ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED + + + + No documentation. + + + ERROR_PRINT_JOB_RESTART_REQUIRED + ERROR_PRINT_JOB_RESTART_REQUIRED + + + + No documentation. + + + ERROR_IO_REISSUE_AS_CACHED + ERROR_IO_REISSUE_AS_CACHED + + + + No documentation. + + + ERROR_WINS_INTERNAL + ERROR_WINS_INTERNAL + + + + No documentation. + + + ERROR_CAN_NOT_DEL_LOCAL_WINS + ERROR_CAN_NOT_DEL_LOCAL_WINS + + + + No documentation. + + + ERROR_STATIC_INIT + ERROR_STATIC_INIT + + + + No documentation. + + + ERROR_INC_BACKUP + ERROR_INC_BACKUP + + + + No documentation. + + + ERROR_FULL_BACKUP + ERROR_FULL_BACKUP + + + + No documentation. + + + ERROR_REC_NON_EXISTENT + ERROR_REC_NON_EXISTENT + + + + No documentation. + + + ERROR_RPL_NOT_ALLOWED + ERROR_RPL_NOT_ALLOWED + + + + No documentation. + + + ERROR_DHCP_ADDRESS_CONFLICT + ERROR_DHCP_ADDRESS_CONFLICT + + + + No documentation. + + + ERROR_WMI_GUID_NOT_FOUND + ERROR_WMI_GUID_NOT_FOUND + + + + No documentation. + + + ERROR_WMI_INSTANCE_NOT_FOUND + ERROR_WMI_INSTANCE_NOT_FOUND + + + + No documentation. + + + ERROR_WMI_ITEMID_NOT_FOUND + ERROR_WMI_ITEMID_NOT_FOUND + + + + No documentation. + + + ERROR_WMI_TRY_AGAIN + ERROR_WMI_TRY_AGAIN + + + + No documentation. + + + ERROR_WMI_DP_NOT_FOUND + ERROR_WMI_DP_NOT_FOUND + + + + No documentation. + + + ERROR_WMI_UNRESOLVED_INSTANCE_REF + ERROR_WMI_UNRESOLVED_INSTANCE_REF + + + + No documentation. + + + ERROR_WMI_ALREADY_ENABLED + ERROR_WMI_ALREADY_ENABLED + + + + No documentation. + + + ERROR_WMI_GUID_DISCONNECTED + ERROR_WMI_GUID_DISCONNECTED + + + + No documentation. + + + ERROR_WMI_SERVER_UNAVAILABLE + ERROR_WMI_SERVER_UNAVAILABLE + + + + No documentation. + + + ERROR_WMI_DP_FAILED + ERROR_WMI_DP_FAILED + + + + No documentation. + + + ERROR_WMI_INVALID_MOF + ERROR_WMI_INVALID_MOF + + + + No documentation. + + + ERROR_WMI_INVALID_REGINFO + ERROR_WMI_INVALID_REGINFO + + + + No documentation. + + + ERROR_WMI_ALREADY_DISABLED + ERROR_WMI_ALREADY_DISABLED + + + + No documentation. + + + ERROR_WMI_READ_ONLY + ERROR_WMI_READ_ONLY + + + + No documentation. + + + ERROR_WMI_SET_FAILURE + ERROR_WMI_SET_FAILURE + + + + No documentation. + + + ERROR_INVALID_MEDIA + ERROR_INVALID_MEDIA + + + + No documentation. + + + ERROR_INVALID_LIBRARY + ERROR_INVALID_LIBRARY + + + + No documentation. + + + ERROR_INVALID_MEDIA_POOL + ERROR_INVALID_MEDIA_POOL + + + + No documentation. + + + ERROR_DRIVE_MEDIA_MISMATCH + ERROR_DRIVE_MEDIA_MISMATCH + + + + No documentation. + + + ERROR_MEDIA_OFFLINE + ERROR_MEDIA_OFFLINE + + + + No documentation. + + + ERROR_LIBRARY_OFFLINE + ERROR_LIBRARY_OFFLINE + + + + No documentation. + + + ERROR_EMPTY + ERROR_EMPTY + + + + No documentation. + + + ERROR_NOT_EMPTY + ERROR_NOT_EMPTY + + + + No documentation. + + + ERROR_MEDIA_UNAVAILABLE + ERROR_MEDIA_UNAVAILABLE + + + + No documentation. + + + ERROR_RESOURCE_DISABLED + ERROR_RESOURCE_DISABLED + + + + No documentation. + + + ERROR_INVALID_CLEANER + ERROR_INVALID_CLEANER + + + + No documentation. + + + ERROR_UNABLE_TO_CLEAN + ERROR_UNABLE_TO_CLEAN + + + + No documentation. + + + ERROR_OBJECT_NOT_FOUND + ERROR_OBJECT_NOT_FOUND + + + + No documentation. + + + ERROR_DATABASE_FAILURE + ERROR_DATABASE_FAILURE + + + + No documentation. + + + ERROR_DATABASE_FULL + ERROR_DATABASE_FULL + + + + No documentation. + + + ERROR_MEDIA_INCOMPATIBLE + ERROR_MEDIA_INCOMPATIBLE + + + + No documentation. + + + ERROR_RESOURCE_NOT_PRESENT + ERROR_RESOURCE_NOT_PRESENT + + + + No documentation. + + + ERROR_INVALID_OPERATION + ERROR_INVALID_OPERATION + + + + No documentation. + + + ERROR_MEDIA_NOT_AVAILABLE + ERROR_MEDIA_NOT_AVAILABLE + + + + No documentation. + + + ERROR_DEVICE_NOT_AVAILABLE + ERROR_DEVICE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_REQUEST_REFUSED + ERROR_REQUEST_REFUSED + + + + No documentation. + + + ERROR_INVALID_DRIVE_OBJECT + ERROR_INVALID_DRIVE_OBJECT + + + + No documentation. + + + ERROR_LIBRARY_FULL + ERROR_LIBRARY_FULL + + + + No documentation. + + + ERROR_MEDIUM_NOT_ACCESSIBLE + ERROR_MEDIUM_NOT_ACCESSIBLE + + + + No documentation. + + + ERROR_UNABLE_TO_LOAD_MEDIUM + ERROR_UNABLE_TO_LOAD_MEDIUM + + + + No documentation. + + + ERROR_UNABLE_TO_INVENTORY_DRIVE + ERROR_UNABLE_TO_INVENTORY_DRIVE + + + + No documentation. + + + ERROR_UNABLE_TO_INVENTORY_SLOT + ERROR_UNABLE_TO_INVENTORY_SLOT + + + + No documentation. + + + ERROR_UNABLE_TO_INVENTORY_TRANSPORT + ERROR_UNABLE_TO_INVENTORY_TRANSPORT + + + + No documentation. + + + ERROR_TRANSPORT_FULL + ERROR_TRANSPORT_FULL + + + + No documentation. + + + ERROR_CONTROLLING_IEPORT + ERROR_CONTROLLING_IEPORT + + + + No documentation. + + + ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA + ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA + + + + No documentation. + + + ERROR_CLEANER_SLOT_SET + ERROR_CLEANER_SLOT_SET + + + + No documentation. + + + ERROR_CLEANER_SLOT_NOT_SET + ERROR_CLEANER_SLOT_NOT_SET + + + + No documentation. + + + ERROR_CLEANER_CARTRIDGE_SPENT + ERROR_CLEANER_CARTRIDGE_SPENT + + + + No documentation. + + + ERROR_UNEXPECTED_OMID + ERROR_UNEXPECTED_OMID + + + + No documentation. + + + ERROR_CANT_DELETE_LAST_ITEM + ERROR_CANT_DELETE_LAST_ITEM + + + + No documentation. + + + ERROR_MESSAGE_EXCEEDS_MAX_SIZE + ERROR_MESSAGE_EXCEEDS_MAX_SIZE + + + + No documentation. + + + ERROR_VOLUME_CONTAINS_SYS_FILES + ERROR_VOLUME_CONTAINS_SYS_FILES + + + + No documentation. + + + ERROR_INDIGENOUS_TYPE + ERROR_INDIGENOUS_TYPE + + + + No documentation. + + + ERROR_NO_SUPPORTING_DRIVES + ERROR_NO_SUPPORTING_DRIVES + + + + No documentation. + + + ERROR_CLEANER_CARTRIDGE_INSTALLED + ERROR_CLEANER_CARTRIDGE_INSTALLED + + + + No documentation. + + + ERROR_IEPORT_FULL + ERROR_IEPORT_FULL + + + + No documentation. + + + ERROR_FILE_OFFLINE + ERROR_FILE_OFFLINE + + + + No documentation. + + + ERROR_REMOTE_STORAGE_NOT_ACTIVE + ERROR_REMOTE_STORAGE_NOT_ACTIVE + + + + No documentation. + + + ERROR_REMOTE_STORAGE_MEDIA_ERROR + ERROR_REMOTE_STORAGE_MEDIA_ERROR + + + + No documentation. + + + ERROR_NOT_A_REPARSE_POINT + ERROR_NOT_A_REPARSE_POINT + + + + No documentation. + + + ERROR_REPARSE_ATTRIBUTE_CONFLICT + ERROR_REPARSE_ATTRIBUTE_CONFLICT + + + + No documentation. + + + ERROR_INVALID_REPARSE_DATA + ERROR_INVALID_REPARSE_DATA + + + + No documentation. + + + ERROR_REPARSE_TAG_INVALID + ERROR_REPARSE_TAG_INVALID + + + + No documentation. + + + ERROR_REPARSE_TAG_MISMATCH + ERROR_REPARSE_TAG_MISMATCH + + + + No documentation. + + + ERROR_VOLUME_NOT_SIS_ENABLED + ERROR_VOLUME_NOT_SIS_ENABLED + + + + No documentation. + + + ERROR_DEPENDENT_RESOURCE_EXISTS + ERROR_DEPENDENT_RESOURCE_EXISTS + + + + No documentation. + + + ERROR_DEPENDENCY_NOT_FOUND + ERROR_DEPENDENCY_NOT_FOUND + + + + No documentation. + + + ERROR_DEPENDENCY_ALREADY_EXISTS + ERROR_DEPENDENCY_ALREADY_EXISTS + + + + No documentation. + + + ERROR_RESOURCE_NOT_ONLINE + ERROR_RESOURCE_NOT_ONLINE + + + + No documentation. + + + ERROR_HOST_NODE_NOT_AVAILABLE + ERROR_HOST_NODE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_RESOURCE_NOT_AVAILABLE + ERROR_RESOURCE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_RESOURCE_NOT_FOUND + ERROR_RESOURCE_NOT_FOUND + + + + No documentation. + + + ERROR_SHUTDOWN_CLUSTER + ERROR_SHUTDOWN_CLUSTER + + + + No documentation. + + + ERROR_CANT_EVICT_ACTIVE_NODE + ERROR_CANT_EVICT_ACTIVE_NODE + + + + No documentation. + + + ERROR_OBJECT_ALREADY_EXISTS + ERROR_OBJECT_ALREADY_EXISTS + + + + No documentation. + + + ERROR_OBJECT_IN_LIST + ERROR_OBJECT_IN_LIST + + + + No documentation. + + + ERROR_GROUP_NOT_AVAILABLE + ERROR_GROUP_NOT_AVAILABLE + + + + No documentation. + + + ERROR_GROUP_NOT_FOUND + ERROR_GROUP_NOT_FOUND + + + + No documentation. + + + ERROR_GROUP_NOT_ONLINE + ERROR_GROUP_NOT_ONLINE + + + + No documentation. + + + ERROR_HOST_NODE_NOT_RESOURCE_OWNER + ERROR_HOST_NODE_NOT_RESOURCE_OWNER + + + + No documentation. + + + ERROR_HOST_NODE_NOT_GROUP_OWNER + ERROR_HOST_NODE_NOT_GROUP_OWNER + + + + No documentation. + + + ERROR_RESMON_CREATE_FAILED + ERROR_RESMON_CREATE_FAILED + + + + No documentation. + + + ERROR_RESMON_ONLINE_FAILED + ERROR_RESMON_ONLINE_FAILED + + + + No documentation. + + + ERROR_RESOURCE_ONLINE + ERROR_RESOURCE_ONLINE + + + + No documentation. + + + ERROR_QUORUM_RESOURCE + ERROR_QUORUM_RESOURCE + + + + No documentation. + + + ERROR_NOT_QUORUM_CAPABLE + ERROR_NOT_QUORUM_CAPABLE + + + + No documentation. + + + ERROR_CLUSTER_SHUTTING_DOWN + ERROR_CLUSTER_SHUTTING_DOWN + + + + No documentation. + + + ERROR_INVALID_STATE + ERROR_INVALID_STATE + + + + No documentation. + + + ERROR_RESOURCE_PROPERTIES_STORED + ERROR_RESOURCE_PROPERTIES_STORED + + + + No documentation. + + + ERROR_NOT_QUORUM_CLASS + ERROR_NOT_QUORUM_CLASS + + + + No documentation. + + + ERROR_CORE_RESOURCE + ERROR_CORE_RESOURCE + + + + No documentation. + + + ERROR_QUORUM_RESOURCE_ONLINE_FAILED + ERROR_QUORUM_RESOURCE_ONLINE_FAILED + + + + No documentation. + + + ERROR_QUORUMLOG_OPEN_FAILED + ERROR_QUORUMLOG_OPEN_FAILED + + + + No documentation. + + + ERROR_CLUSTERLOG_CORRUPT + ERROR_CLUSTERLOG_CORRUPT + + + + No documentation. + + + ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE + ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE + + + + No documentation. + + + ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE + ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE + + + + No documentation. + + + ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND + ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE + ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE + + + + No documentation. + + + ERROR_QUORUM_OWNER_ALIVE + ERROR_QUORUM_OWNER_ALIVE + + + + No documentation. + + + ERROR_NETWORK_NOT_AVAILABLE + ERROR_NETWORK_NOT_AVAILABLE + + + + No documentation. + + + ERROR_NODE_NOT_AVAILABLE + ERROR_NODE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_ALL_NODES_NOT_AVAILABLE + ERROR_ALL_NODES_NOT_AVAILABLE + + + + No documentation. + + + ERROR_RESOURCE_FAILED + ERROR_RESOURCE_FAILED + + + + No documentation. + + + ERROR_CLUSTER_INVALID_NODE + ERROR_CLUSTER_INVALID_NODE + + + + No documentation. + + + ERROR_CLUSTER_NODE_EXISTS + ERROR_CLUSTER_NODE_EXISTS + + + + No documentation. + + + ERROR_CLUSTER_JOIN_IN_PROGRESS + ERROR_CLUSTER_JOIN_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_NODE_NOT_FOUND + ERROR_CLUSTER_NODE_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND + ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_EXISTS + ERROR_CLUSTER_NETWORK_EXISTS + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_NOT_FOUND + ERROR_CLUSTER_NETWORK_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_NETINTERFACE_EXISTS + ERROR_CLUSTER_NETINTERFACE_EXISTS + + + + No documentation. + + + ERROR_CLUSTER_NETINTERFACE_NOT_FOUND + ERROR_CLUSTER_NETINTERFACE_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_INVALID_REQUEST + ERROR_CLUSTER_INVALID_REQUEST + + + + No documentation. + + + ERROR_CLUSTER_INVALID_NETWORK_PROVIDER + ERROR_CLUSTER_INVALID_NETWORK_PROVIDER + + + + No documentation. + + + ERROR_CLUSTER_NODE_DOWN + ERROR_CLUSTER_NODE_DOWN + + + + No documentation. + + + ERROR_CLUSTER_NODE_UNREACHABLE + ERROR_CLUSTER_NODE_UNREACHABLE + + + + No documentation. + + + ERROR_CLUSTER_NODE_NOT_MEMBER + ERROR_CLUSTER_NODE_NOT_MEMBER + + + + No documentation. + + + ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS + ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_INVALID_NETWORK + ERROR_CLUSTER_INVALID_NETWORK + + + + No documentation. + + + ERROR_CLUSTER_NODE_UP + ERROR_CLUSTER_NODE_UP + + + + No documentation. + + + ERROR_CLUSTER_IPADDR_IN_USE + ERROR_CLUSTER_IPADDR_IN_USE + + + + No documentation. + + + ERROR_CLUSTER_NODE_NOT_PAUSED + ERROR_CLUSTER_NODE_NOT_PAUSED + + + + No documentation. + + + ERROR_CLUSTER_NO_SECURITY_CONTEXT + ERROR_CLUSTER_NO_SECURITY_CONTEXT + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_NOT_INTERNAL + ERROR_CLUSTER_NETWORK_NOT_INTERNAL + + + + No documentation. + + + ERROR_CLUSTER_NODE_ALREADY_UP + ERROR_CLUSTER_NODE_ALREADY_UP + + + + No documentation. + + + ERROR_CLUSTER_NODE_ALREADY_DOWN + ERROR_CLUSTER_NODE_ALREADY_DOWN + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_ALREADY_ONLINE + ERROR_CLUSTER_NETWORK_ALREADY_ONLINE + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE + ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE + + + + No documentation. + + + ERROR_CLUSTER_NODE_ALREADY_MEMBER + ERROR_CLUSTER_NODE_ALREADY_MEMBER + + + + No documentation. + + + ERROR_CLUSTER_LAST_INTERNAL_NETWORK + ERROR_CLUSTER_LAST_INTERNAL_NETWORK + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS + ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS + + + + No documentation. + + + ERROR_INVALID_OPERATION_ON_QUORUM + ERROR_INVALID_OPERATION_ON_QUORUM + + + + No documentation. + + + ERROR_DEPENDENCY_NOT_ALLOWED + ERROR_DEPENDENCY_NOT_ALLOWED + + + + No documentation. + + + ERROR_CLUSTER_NODE_PAUSED + ERROR_CLUSTER_NODE_PAUSED + + + + No documentation. + + + ERROR_NODE_CANT_HOST_RESOURCE + ERROR_NODE_CANT_HOST_RESOURCE + + + + No documentation. + + + ERROR_CLUSTER_NODE_NOT_READY + ERROR_CLUSTER_NODE_NOT_READY + + + + No documentation. + + + ERROR_CLUSTER_NODE_SHUTTING_DOWN + ERROR_CLUSTER_NODE_SHUTTING_DOWN + + + + No documentation. + + + ERROR_CLUSTER_JOIN_ABORTED + ERROR_CLUSTER_JOIN_ABORTED + + + + No documentation. + + + ERROR_CLUSTER_INCOMPATIBLE_VERSIONS + ERROR_CLUSTER_INCOMPATIBLE_VERSIONS + + + + No documentation. + + + ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED + ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED + + + + No documentation. + + + ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED + ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND + ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED + ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED + + + + No documentation. + + + ERROR_CLUSTER_RESNAME_NOT_FOUND + ERROR_CLUSTER_RESNAME_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED + ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED + + + + No documentation. + + + ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST + ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST + + + + No documentation. + + + ERROR_CLUSTER_DATABASE_SEQMISMATCH + ERROR_CLUSTER_DATABASE_SEQMISMATCH + + + + No documentation. + + + ERROR_RESMON_INVALID_STATE + ERROR_RESMON_INVALID_STATE + + + + No documentation. + + + ERROR_CLUSTER_GUM_NOT_LOCKER + ERROR_CLUSTER_GUM_NOT_LOCKER + + + + No documentation. + + + ERROR_QUORUM_DISK_NOT_FOUND + ERROR_QUORUM_DISK_NOT_FOUND + + + + No documentation. + + + ERROR_DATABASE_BACKUP_CORRUPT + ERROR_DATABASE_BACKUP_CORRUPT + + + + No documentation. + + + ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT + ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT + + + + No documentation. + + + ERROR_RESOURCE_PROPERTY_UNCHANGEABLE + ERROR_RESOURCE_PROPERTY_UNCHANGEABLE + + + + No documentation. + + + ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE + ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE + + + + No documentation. + + + ERROR_CLUSTER_QUORUMLOG_NOT_FOUND + ERROR_CLUSTER_QUORUMLOG_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_MEMBERSHIP_HALT + ERROR_CLUSTER_MEMBERSHIP_HALT + + + + No documentation. + + + ERROR_CLUSTER_INSTANCE_ID_MISMATCH + ERROR_CLUSTER_INSTANCE_ID_MISMATCH + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP + ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP + + + + No documentation. + + + ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH + ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH + + + + No documentation. + + + ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP + ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP + + + + No documentation. + + + ERROR_CLUSTER_PARAMETER_MISMATCH + ERROR_CLUSTER_PARAMETER_MISMATCH + + + + No documentation. + + + ERROR_NODE_CANNOT_BE_CLUSTERED + ERROR_NODE_CANNOT_BE_CLUSTERED + + + + No documentation. + + + ERROR_CLUSTER_WRONG_OS_VERSION + ERROR_CLUSTER_WRONG_OS_VERSION + + + + No documentation. + + + ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME + ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME + + + + No documentation. + + + ERROR_CLUSCFG_ALREADY_COMMITTED + ERROR_CLUSCFG_ALREADY_COMMITTED + + + + No documentation. + + + ERROR_CLUSCFG_ROLLBACK_FAILED + ERROR_CLUSCFG_ROLLBACK_FAILED + + + + No documentation. + + + ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT + ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT + + + + No documentation. + + + ERROR_CLUSTER_OLD_VERSION + ERROR_CLUSTER_OLD_VERSION + + + + No documentation. + + + ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME + ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME + + + + No documentation. + + + ERROR_CLUSTER_NO_NET_ADAPTERS + ERROR_CLUSTER_NO_NET_ADAPTERS + + + + No documentation. + + + ERROR_CLUSTER_POISONED + ERROR_CLUSTER_POISONED + + + + No documentation. + + + ERROR_CLUSTER_GROUP_MOVING + ERROR_CLUSTER_GROUP_MOVING + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_TYPE_BUSY + ERROR_CLUSTER_RESOURCE_TYPE_BUSY + + + + No documentation. + + + ERROR_RESOURCE_CALL_TIMED_OUT + ERROR_RESOURCE_CALL_TIMED_OUT + + + + No documentation. + + + ERROR_INVALID_CLUSTER_IPV6_ADDRESS + ERROR_INVALID_CLUSTER_IPV6_ADDRESS + + + + No documentation. + + + ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION + ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION + + + + No documentation. + + + ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS + ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS + + + + No documentation. + + + ERROR_CLUSTER_PARTIAL_SEND + ERROR_CLUSTER_PARTIAL_SEND + + + + No documentation. + + + ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION + ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION + + + + No documentation. + + + ERROR_CLUSTER_INVALID_STRING_TERMINATION + ERROR_CLUSTER_INVALID_STRING_TERMINATION + + + + No documentation. + + + ERROR_CLUSTER_INVALID_STRING_FORMAT + ERROR_CLUSTER_INVALID_STRING_FORMAT + + + + No documentation. + + + ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS + ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS + ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_NULL_DATA + ERROR_CLUSTER_NULL_DATA + + + + No documentation. + + + ERROR_CLUSTER_PARTIAL_READ + ERROR_CLUSTER_PARTIAL_READ + + + + No documentation. + + + ERROR_CLUSTER_PARTIAL_WRITE + ERROR_CLUSTER_PARTIAL_WRITE + + + + No documentation. + + + ERROR_CLUSTER_CANT_DESERIALIZE_DATA + ERROR_CLUSTER_CANT_DESERIALIZE_DATA + + + + No documentation. + + + ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT + ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT + + + + No documentation. + + + ERROR_CLUSTER_NO_QUORUM + ERROR_CLUSTER_NO_QUORUM + + + + No documentation. + + + ERROR_CLUSTER_INVALID_IPV6_NETWORK + ERROR_CLUSTER_INVALID_IPV6_NETWORK + + + + No documentation. + + + ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK + ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK + + + + No documentation. + + + ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP + ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP + + + + No documentation. + + + ERROR_DEPENDENCY_TREE_TOO_COMPLEX + ERROR_DEPENDENCY_TREE_TOO_COMPLEX + + + + No documentation. + + + ERROR_EXCEPTION_IN_RESOURCE_CALL + ERROR_EXCEPTION_IN_RESOURCE_CALL + + + + No documentation. + + + ERROR_CLUSTER_RHS_FAILED_INITIALIZATION + ERROR_CLUSTER_RHS_FAILED_INITIALIZATION + + + + No documentation. + + + ERROR_CLUSTER_NOT_INSTALLED + ERROR_CLUSTER_NOT_INSTALLED + + + + No documentation. + + + ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE + ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE + + + + No documentation. + + + ERROR_CLUSTER_MAX_NODES_IN_CLUSTER + ERROR_CLUSTER_MAX_NODES_IN_CLUSTER + + + + No documentation. + + + ERROR_CLUSTER_TOO_MANY_NODES + ERROR_CLUSTER_TOO_MANY_NODES + + + + No documentation. + + + ERROR_CLUSTER_OBJECT_ALREADY_USED + ERROR_CLUSTER_OBJECT_ALREADY_USED + + + + No documentation. + + + ERROR_NONCORE_GROUPS_FOUND + ERROR_NONCORE_GROUPS_FOUND + + + + No documentation. + + + ERROR_FILE_SHARE_RESOURCE_CONFLICT + ERROR_FILE_SHARE_RESOURCE_CONFLICT + + + + No documentation. + + + ERROR_CLUSTER_EVICT_INVALID_REQUEST + ERROR_CLUSTER_EVICT_INVALID_REQUEST + + + + No documentation. + + + ERROR_CLUSTER_SINGLETON_RESOURCE + ERROR_CLUSTER_SINGLETON_RESOURCE + + + + No documentation. + + + ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE + ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED + ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR + ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR + + + + No documentation. + + + ERROR_CLUSTER_GROUP_BUSY + ERROR_CLUSTER_GROUP_BUSY + + + + No documentation. + + + ERROR_CLUSTER_NOT_SHARED_VOLUME + ERROR_CLUSTER_NOT_SHARED_VOLUME + + + + No documentation. + + + ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR + ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR + + + + No documentation. + + + ERROR_CLUSTER_SHARED_VOLUMES_IN_USE + ERROR_CLUSTER_SHARED_VOLUMES_IN_USE + + + + No documentation. + + + ERROR_CLUSTER_USE_SHARED_VOLUMES_API + ERROR_CLUSTER_USE_SHARED_VOLUMES_API + + + + No documentation. + + + ERROR_CLUSTER_BACKUP_IN_PROGRESS + ERROR_CLUSTER_BACKUP_IN_PROGRESS + + + + No documentation. + + + ERROR_NON_CSV_PATH + ERROR_NON_CSV_PATH + + + + No documentation. + + + ERROR_CSV_VOLUME_NOT_LOCAL + ERROR_CSV_VOLUME_NOT_LOCAL + + + + No documentation. + + + ERROR_CLUSTER_WATCHDOG_TERMINATING + ERROR_CLUSTER_WATCHDOG_TERMINATING + + + + No documentation. + + + ERROR_ENCRYPTION_FAILED + ERROR_ENCRYPTION_FAILED + + + + No documentation. + + + ERROR_DECRYPTION_FAILED + ERROR_DECRYPTION_FAILED + + + + No documentation. + + + ERROR_FILE_ENCRYPTED + ERROR_FILE_ENCRYPTED + + + + No documentation. + + + ERROR_NO_RECOVERY_POLICY + ERROR_NO_RECOVERY_POLICY + + + + No documentation. + + + ERROR_NO_EFS + ERROR_NO_EFS + + + + No documentation. + + + ERROR_WRONG_EFS + ERROR_WRONG_EFS + + + + No documentation. + + + ERROR_NO_USER_KEYS + ERROR_NO_USER_KEYS + + + + No documentation. + + + ERROR_FILE_NOT_ENCRYPTED + ERROR_FILE_NOT_ENCRYPTED + + + + No documentation. + + + ERROR_NOT_EXPORT_FORMAT + ERROR_NOT_EXPORT_FORMAT + + + + No documentation. + + + ERROR_FILE_READ_ONLY + ERROR_FILE_READ_ONLY + + + + No documentation. + + + ERROR_DIR_EFS_DISALLOWED + ERROR_DIR_EFS_DISALLOWED + + + + No documentation. + + + ERROR_EFS_SERVER_NOT_TRUSTED + ERROR_EFS_SERVER_NOT_TRUSTED + + + + No documentation. + + + ERROR_BAD_RECOVERY_POLICY + ERROR_BAD_RECOVERY_POLICY + + + + No documentation. + + + ERROR_EFS_ALG_BLOB_TOO_BIG + ERROR_EFS_ALG_BLOB_TOO_BIG + + + + No documentation. + + + ERROR_VOLUME_NOT_SUPPORT_EFS + ERROR_VOLUME_NOT_SUPPORT_EFS + + + + No documentation. + + + ERROR_EFS_DISABLED + ERROR_EFS_DISABLED + + + + No documentation. + + + ERROR_EFS_VERSION_NOT_SUPPORT + ERROR_EFS_VERSION_NOT_SUPPORT + + + + No documentation. + + + ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE + ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE + + + + No documentation. + + + ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER + ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER + + + + No documentation. + + + ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE + ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE + + + + No documentation. + + + ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE + ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE + + + + No documentation. + + + ERROR_CS_ENCRYPTION_FILE_NOT_CSE + ERROR_CS_ENCRYPTION_FILE_NOT_CSE + + + + No documentation. + + + ERROR_ENCRYPTION_POLICY_DENIES_OPERATION + ERROR_ENCRYPTION_POLICY_DENIES_OPERATION + + + + No documentation. + + + ERROR_NO_BROWSER_SERVERS_FOUND + ERROR_NO_BROWSER_SERVERS_FOUND + + + + No documentation. + + + ERROR_LOG_SECTOR_INVALID + ERROR_LOG_SECTOR_INVALID + + + + No documentation. + + + ERROR_LOG_SECTOR_PARITY_INVALID + ERROR_LOG_SECTOR_PARITY_INVALID + + + + No documentation. + + + ERROR_LOG_SECTOR_REMAPPED + ERROR_LOG_SECTOR_REMAPPED + + + + No documentation. + + + ERROR_LOG_BLOCK_INCOMPLETE + ERROR_LOG_BLOCK_INCOMPLETE + + + + No documentation. + + + ERROR_LOG_INVALID_RANGE + ERROR_LOG_INVALID_RANGE + + + + No documentation. + + + ERROR_LOG_BLOCKS_EXHAUSTED + ERROR_LOG_BLOCKS_EXHAUSTED + + + + No documentation. + + + ERROR_LOG_READ_CONTEXT_INVALID + ERROR_LOG_READ_CONTEXT_INVALID + + + + No documentation. + + + ERROR_LOG_RESTART_INVALID + ERROR_LOG_RESTART_INVALID + + + + No documentation. + + + ERROR_LOG_BLOCK_VERSION + ERROR_LOG_BLOCK_VERSION + + + + No documentation. + + + ERROR_LOG_BLOCK_INVALID + ERROR_LOG_BLOCK_INVALID + + + + No documentation. + + + ERROR_LOG_READ_MODE_INVALID + ERROR_LOG_READ_MODE_INVALID + + + + No documentation. + + + ERROR_LOG_NO_RESTART + ERROR_LOG_NO_RESTART + + + + No documentation. + + + ERROR_LOG_METADATA_CORRUPT + ERROR_LOG_METADATA_CORRUPT + + + + No documentation. + + + ERROR_LOG_METADATA_INVALID + ERROR_LOG_METADATA_INVALID + + + + No documentation. + + + ERROR_LOG_METADATA_INCONSISTENT + ERROR_LOG_METADATA_INCONSISTENT + + + + No documentation. + + + ERROR_LOG_RESERVATION_INVALID + ERROR_LOG_RESERVATION_INVALID + + + + No documentation. + + + ERROR_LOG_CANT_DELETE + ERROR_LOG_CANT_DELETE + + + + No documentation. + + + ERROR_LOG_CONTAINER_LIMIT_EXCEEDED + ERROR_LOG_CONTAINER_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_LOG_START_OF_LOG + ERROR_LOG_START_OF_LOG + + + + No documentation. + + + ERROR_LOG_POLICY_ALREADY_INSTALLED + ERROR_LOG_POLICY_ALREADY_INSTALLED + + + + No documentation. + + + ERROR_LOG_POLICY_NOT_INSTALLED + ERROR_LOG_POLICY_NOT_INSTALLED + + + + No documentation. + + + ERROR_LOG_POLICY_INVALID + ERROR_LOG_POLICY_INVALID + + + + No documentation. + + + ERROR_LOG_POLICY_CONFLICT + ERROR_LOG_POLICY_CONFLICT + + + + No documentation. + + + ERROR_LOG_PINNED_ARCHIVE_TAIL + ERROR_LOG_PINNED_ARCHIVE_TAIL + + + + No documentation. + + + ERROR_LOG_RECORD_NONEXISTENT + ERROR_LOG_RECORD_NONEXISTENT + + + + No documentation. + + + ERROR_LOG_RECORDS_RESERVED_INVALID + ERROR_LOG_RECORDS_RESERVED_INVALID + + + + No documentation. + + + ERROR_LOG_SPACE_RESERVED_INVALID + ERROR_LOG_SPACE_RESERVED_INVALID + + + + No documentation. + + + ERROR_LOG_TAIL_INVALID + ERROR_LOG_TAIL_INVALID + + + + No documentation. + + + ERROR_LOG_FULL + ERROR_LOG_FULL + + + + No documentation. + + + ERROR_COULD_NOT_RESIZE_LOG + ERROR_COULD_NOT_RESIZE_LOG + + + + No documentation. + + + ERROR_LOG_MULTIPLEXED + ERROR_LOG_MULTIPLEXED + + + + No documentation. + + + ERROR_LOG_DEDICATED + ERROR_LOG_DEDICATED + + + + No documentation. + + + ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS + ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS + + + + No documentation. + + + ERROR_LOG_ARCHIVE_IN_PROGRESS + ERROR_LOG_ARCHIVE_IN_PROGRESS + + + + No documentation. + + + ERROR_LOG_EPHEMERAL + ERROR_LOG_EPHEMERAL + + + + No documentation. + + + ERROR_LOG_NOT_ENOUGH_CONTAINERS + ERROR_LOG_NOT_ENOUGH_CONTAINERS + + + + No documentation. + + + ERROR_LOG_CLIENT_ALREADY_REGISTERED + ERROR_LOG_CLIENT_ALREADY_REGISTERED + + + + No documentation. + + + ERROR_LOG_CLIENT_NOT_REGISTERED + ERROR_LOG_CLIENT_NOT_REGISTERED + + + + No documentation. + + + ERROR_LOG_FULL_HANDLER_IN_PROGRESS + ERROR_LOG_FULL_HANDLER_IN_PROGRESS + + + + No documentation. + + + ERROR_LOG_CONTAINER_READ_FAILED + ERROR_LOG_CONTAINER_READ_FAILED + + + + No documentation. + + + ERROR_LOG_CONTAINER_WRITE_FAILED + ERROR_LOG_CONTAINER_WRITE_FAILED + + + + No documentation. + + + ERROR_LOG_CONTAINER_OPEN_FAILED + ERROR_LOG_CONTAINER_OPEN_FAILED + + + + No documentation. + + + ERROR_LOG_CONTAINER_STATE_INVALID + ERROR_LOG_CONTAINER_STATE_INVALID + + + + No documentation. + + + ERROR_LOG_STATE_INVALID + ERROR_LOG_STATE_INVALID + + + + No documentation. + + + ERROR_LOG_PINNED + ERROR_LOG_PINNED + + + + No documentation. + + + ERROR_LOG_METADATA_FLUSH_FAILED + ERROR_LOG_METADATA_FLUSH_FAILED + + + + No documentation. + + + ERROR_LOG_INCONSISTENT_SECURITY + ERROR_LOG_INCONSISTENT_SECURITY + + + + No documentation. + + + ERROR_LOG_APPENDED_FLUSH_FAILED + ERROR_LOG_APPENDED_FLUSH_FAILED + + + + No documentation. + + + ERROR_LOG_PINNED_RESERVATION + ERROR_LOG_PINNED_RESERVATION + + + + No documentation. + + + ERROR_INVALID_TRANSACTION + ERROR_INVALID_TRANSACTION + + + + No documentation. + + + ERROR_TRANSACTION_NOT_ACTIVE + ERROR_TRANSACTION_NOT_ACTIVE + + + + No documentation. + + + ERROR_TRANSACTION_REQUEST_NOT_VALID + ERROR_TRANSACTION_REQUEST_NOT_VALID + + + + No documentation. + + + ERROR_TRANSACTION_NOT_REQUESTED + ERROR_TRANSACTION_NOT_REQUESTED + + + + No documentation. + + + ERROR_TRANSACTION_ALREADY_ABORTED + ERROR_TRANSACTION_ALREADY_ABORTED + + + + No documentation. + + + ERROR_TRANSACTION_ALREADY_COMMITTED + ERROR_TRANSACTION_ALREADY_COMMITTED + + + + No documentation. + + + ERROR_TM_INITIALIZATION_FAILED + ERROR_TM_INITIALIZATION_FAILED + + + + No documentation. + + + ERROR_RESOURCEMANAGER_READ_ONLY + ERROR_RESOURCEMANAGER_READ_ONLY + + + + No documentation. + + + ERROR_TRANSACTION_NOT_JOINED + ERROR_TRANSACTION_NOT_JOINED + + + + No documentation. + + + ERROR_TRANSACTION_SUPERIOR_EXISTS + ERROR_TRANSACTION_SUPERIOR_EXISTS + + + + No documentation. + + + ERROR_CRM_PROTOCOL_ALREADY_EXISTS + ERROR_CRM_PROTOCOL_ALREADY_EXISTS + + + + No documentation. + + + ERROR_TRANSACTION_PROPAGATION_FAILED + ERROR_TRANSACTION_PROPAGATION_FAILED + + + + No documentation. + + + ERROR_CRM_PROTOCOL_NOT_FOUND + ERROR_CRM_PROTOCOL_NOT_FOUND + + + + No documentation. + + + ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER + ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER + + + + No documentation. + + + ERROR_CURRENT_TRANSACTION_NOT_VALID + ERROR_CURRENT_TRANSACTION_NOT_VALID + + + + No documentation. + + + ERROR_TRANSACTION_NOT_FOUND + ERROR_TRANSACTION_NOT_FOUND + + + + No documentation. + + + ERROR_RESOURCEMANAGER_NOT_FOUND + ERROR_RESOURCEMANAGER_NOT_FOUND + + + + No documentation. + + + ERROR_ENLISTMENT_NOT_FOUND + ERROR_ENLISTMENT_NOT_FOUND + + + + No documentation. + + + ERROR_TRANSACTIONMANAGER_NOT_FOUND + ERROR_TRANSACTIONMANAGER_NOT_FOUND + + + + No documentation. + + + ERROR_TRANSACTIONMANAGER_NOT_ONLINE + ERROR_TRANSACTIONMANAGER_NOT_ONLINE + + + + No documentation. + + + ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION + ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION + + + + No documentation. + + + ERROR_TRANSACTION_NOT_ROOT + ERROR_TRANSACTION_NOT_ROOT + + + + No documentation. + + + ERROR_TRANSACTION_OBJECT_EXPIRED + ERROR_TRANSACTION_OBJECT_EXPIRED + + + + No documentation. + + + ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED + ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED + + + + No documentation. + + + ERROR_TRANSACTION_RECORD_TOO_LONG + ERROR_TRANSACTION_RECORD_TOO_LONG + + + + No documentation. + + + ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED + ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED + + + + No documentation. + + + ERROR_TRANSACTION_INTEGRITY_VIOLATED + ERROR_TRANSACTION_INTEGRITY_VIOLATED + + + + No documentation. + + + ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH + ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH + + + + No documentation. + + + ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT + ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT + + + + No documentation. + + + ERROR_TRANSACTION_MUST_WRITETHROUGH + ERROR_TRANSACTION_MUST_WRITETHROUGH + + + + No documentation. + + + ERROR_TRANSACTION_NO_SUPERIOR + ERROR_TRANSACTION_NO_SUPERIOR + + + + No documentation. + + + ERROR_HEURISTIC_DAMAGE_POSSIBLE + ERROR_HEURISTIC_DAMAGE_POSSIBLE + + + + No documentation. + + + ERROR_TRANSACTIONAL_CONFLICT + ERROR_TRANSACTIONAL_CONFLICT + + + + No documentation. + + + ERROR_RM_NOT_ACTIVE + ERROR_RM_NOT_ACTIVE + + + + No documentation. + + + ERROR_RM_METADATA_CORRUPT + ERROR_RM_METADATA_CORRUPT + + + + No documentation. + + + ERROR_DIRECTORY_NOT_RM + ERROR_DIRECTORY_NOT_RM + + + + No documentation. + + + ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE + ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE + + + + No documentation. + + + ERROR_LOG_RESIZE_INVALID_SIZE + ERROR_LOG_RESIZE_INVALID_SIZE + + + + No documentation. + + + ERROR_OBJECT_NO_LONGER_EXISTS + ERROR_OBJECT_NO_LONGER_EXISTS + + + + No documentation. + + + ERROR_STREAM_MINIVERSION_NOT_FOUND + ERROR_STREAM_MINIVERSION_NOT_FOUND + + + + No documentation. + + + ERROR_STREAM_MINIVERSION_NOT_VALID + ERROR_STREAM_MINIVERSION_NOT_VALID + + + + No documentation. + + + ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION + ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION + + + + No documentation. + + + ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT + ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT + + + + No documentation. + + + ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS + ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS + + + + No documentation. + + + ERROR_REMOTE_FILE_VERSION_MISMATCH + ERROR_REMOTE_FILE_VERSION_MISMATCH + + + + No documentation. + + + ERROR_HANDLE_NO_LONGER_VALID + ERROR_HANDLE_NO_LONGER_VALID + + + + No documentation. + + + ERROR_NO_TXF_METADATA + ERROR_NO_TXF_METADATA + + + + No documentation. + + + ERROR_LOG_CORRUPTION_DETECTED + ERROR_LOG_CORRUPTION_DETECTED + + + + No documentation. + + + ERROR_CANT_RECOVER_WITH_HANDLE_OPEN + ERROR_CANT_RECOVER_WITH_HANDLE_OPEN + + + + No documentation. + + + ERROR_RM_DISCONNECTED + ERROR_RM_DISCONNECTED + + + + No documentation. + + + ERROR_ENLISTMENT_NOT_SUPERIOR + ERROR_ENLISTMENT_NOT_SUPERIOR + + + + No documentation. + + + ERROR_RECOVERY_NOT_NEEDED + ERROR_RECOVERY_NOT_NEEDED + + + + No documentation. + + + ERROR_RM_ALREADY_STARTED + ERROR_RM_ALREADY_STARTED + + + + No documentation. + + + ERROR_FILE_IDENTITY_NOT_PERSISTENT + ERROR_FILE_IDENTITY_NOT_PERSISTENT + + + + No documentation. + + + ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY + ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY + + + + No documentation. + + + ERROR_CANT_CROSS_RM_BOUNDARY + ERROR_CANT_CROSS_RM_BOUNDARY + + + + No documentation. + + + ERROR_TXF_DIR_NOT_EMPTY + ERROR_TXF_DIR_NOT_EMPTY + + + + No documentation. + + + ERROR_INDOUBT_TRANSACTIONS_EXIST + ERROR_INDOUBT_TRANSACTIONS_EXIST + + + + No documentation. + + + ERROR_TM_VOLATILE + ERROR_TM_VOLATILE + + + + No documentation. + + + ERROR_ROLLBACK_TIMER_EXPIRED + ERROR_ROLLBACK_TIMER_EXPIRED + + + + No documentation. + + + ERROR_TXF_ATTRIBUTE_CORRUPT + ERROR_TXF_ATTRIBUTE_CORRUPT + + + + No documentation. + + + ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION + ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION + + + + No documentation. + + + ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED + ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED + + + + No documentation. + + + ERROR_LOG_GROWTH_FAILED + ERROR_LOG_GROWTH_FAILED + + + + No documentation. + + + ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE + ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE + + + + No documentation. + + + ERROR_TXF_METADATA_ALREADY_PRESENT + ERROR_TXF_METADATA_ALREADY_PRESENT + + + + No documentation. + + + ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET + ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET + + + + No documentation. + + + ERROR_TRANSACTION_REQUIRED_PROMOTION + ERROR_TRANSACTION_REQUIRED_PROMOTION + + + + No documentation. + + + ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION + ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION + + + + No documentation. + + + ERROR_TRANSACTIONS_NOT_FROZEN + ERROR_TRANSACTIONS_NOT_FROZEN + + + + No documentation. + + + ERROR_TRANSACTION_FREEZE_IN_PROGRESS + ERROR_TRANSACTION_FREEZE_IN_PROGRESS + + + + No documentation. + + + ERROR_NOT_SNAPSHOT_VOLUME + ERROR_NOT_SNAPSHOT_VOLUME + + + + No documentation. + + + ERROR_NO_SAVEPOINT_WITH_OPEN_FILES + ERROR_NO_SAVEPOINT_WITH_OPEN_FILES + + + + No documentation. + + + ERROR_DATA_LOST_REPAIR + ERROR_DATA_LOST_REPAIR + + + + No documentation. + + + ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION + ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION + + + + No documentation. + + + ERROR_TM_IDENTITY_MISMATCH + ERROR_TM_IDENTITY_MISMATCH + + + + No documentation. + + + ERROR_FLOATED_SECTION + ERROR_FLOATED_SECTION + + + + No documentation. + + + ERROR_CANNOT_ACCEPT_TRANSACTED_WORK + ERROR_CANNOT_ACCEPT_TRANSACTED_WORK + + + + No documentation. + + + ERROR_CANNOT_ABORT_TRANSACTIONS + ERROR_CANNOT_ABORT_TRANSACTIONS + + + + No documentation. + + + ERROR_BAD_CLUSTERS + ERROR_BAD_CLUSTERS + + + + No documentation. + + + ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION + ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION + + + + No documentation. + + + ERROR_VOLUME_DIRTY + ERROR_VOLUME_DIRTY + + + + No documentation. + + + ERROR_NO_LINK_TRACKING_IN_TRANSACTION + ERROR_NO_LINK_TRACKING_IN_TRANSACTION + + + + No documentation. + + + ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION + ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION + + + + No documentation. + + + ERROR_EXPIRED_HANDLE + ERROR_EXPIRED_HANDLE + + + + No documentation. + + + ERROR_TRANSACTION_NOT_ENLISTED + ERROR_TRANSACTION_NOT_ENLISTED + + + + No documentation. + + + ERROR_CTX_WINSTATION_NAME_INVALID + ERROR_CTX_WINSTATION_NAME_INVALID + + + + No documentation. + + + ERROR_CTX_INVALID_PD + ERROR_CTX_INVALID_PD + + + + No documentation. + + + ERROR_CTX_PD_NOT_FOUND + ERROR_CTX_PD_NOT_FOUND + + + + No documentation. + + + ERROR_CTX_WD_NOT_FOUND + ERROR_CTX_WD_NOT_FOUND + + + + No documentation. + + + ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY + ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY + + + + No documentation. + + + ERROR_CTX_SERVICE_NAME_COLLISION + ERROR_CTX_SERVICE_NAME_COLLISION + + + + No documentation. + + + ERROR_CTX_CLOSE_PENDING + ERROR_CTX_CLOSE_PENDING + + + + No documentation. + + + ERROR_CTX_NO_OUTBUF + ERROR_CTX_NO_OUTBUF + + + + No documentation. + + + ERROR_CTX_MODEM_INF_NOT_FOUND + ERROR_CTX_MODEM_INF_NOT_FOUND + + + + No documentation. + + + ERROR_CTX_INVALID_MODEMNAME + ERROR_CTX_INVALID_MODEMNAME + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_ERROR + ERROR_CTX_MODEM_RESPONSE_ERROR + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_TIMEOUT + ERROR_CTX_MODEM_RESPONSE_TIMEOUT + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_NO_CARRIER + ERROR_CTX_MODEM_RESPONSE_NO_CARRIER + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE + ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_BUSY + ERROR_CTX_MODEM_RESPONSE_BUSY + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_VOICE + ERROR_CTX_MODEM_RESPONSE_VOICE + + + + No documentation. + + + ERROR_CTX_TD_ERROR + ERROR_CTX_TD_ERROR + + + + No documentation. + + + ERROR_CTX_WINSTATION_NOT_FOUND + ERROR_CTX_WINSTATION_NOT_FOUND + + + + No documentation. + + + ERROR_CTX_WINSTATION_ALREADY_EXISTS + ERROR_CTX_WINSTATION_ALREADY_EXISTS + + + + No documentation. + + + ERROR_CTX_WINSTATION_BUSY + ERROR_CTX_WINSTATION_BUSY + + + + No documentation. + + + ERROR_CTX_BAD_VIDEO_MODE + ERROR_CTX_BAD_VIDEO_MODE + + + + No documentation. + + + ERROR_CTX_GRAPHICS_INVALID + ERROR_CTX_GRAPHICS_INVALID + + + + No documentation. + + + ERROR_CTX_LOGON_DISABLED + ERROR_CTX_LOGON_DISABLED + + + + No documentation. + + + ERROR_CTX_NOT_CONSOLE + ERROR_CTX_NOT_CONSOLE + + + + No documentation. + + + ERROR_CTX_CLIENT_QUERY_TIMEOUT + ERROR_CTX_CLIENT_QUERY_TIMEOUT + + + + No documentation. + + + ERROR_CTX_CONSOLE_DISCONNECT + ERROR_CTX_CONSOLE_DISCONNECT + + + + No documentation. + + + ERROR_CTX_CONSOLE_CONNECT + ERROR_CTX_CONSOLE_CONNECT + + + + No documentation. + + + ERROR_CTX_SHADOW_DENIED + ERROR_CTX_SHADOW_DENIED + + + + No documentation. + + + ERROR_CTX_WINSTATION_ACCESS_DENIED + ERROR_CTX_WINSTATION_ACCESS_DENIED + + + + No documentation. + + + ERROR_CTX_INVALID_WD + ERROR_CTX_INVALID_WD + + + + No documentation. + + + ERROR_CTX_SHADOW_INVALID + ERROR_CTX_SHADOW_INVALID + + + + No documentation. + + + ERROR_CTX_SHADOW_DISABLED + ERROR_CTX_SHADOW_DISABLED + + + + No documentation. + + + ERROR_CTX_CLIENT_LICENSE_IN_USE + ERROR_CTX_CLIENT_LICENSE_IN_USE + + + + No documentation. + + + ERROR_CTX_CLIENT_LICENSE_NOT_SET + ERROR_CTX_CLIENT_LICENSE_NOT_SET + + + + No documentation. + + + ERROR_CTX_LICENSE_NOT_AVAILABLE + ERROR_CTX_LICENSE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_CTX_LICENSE_CLIENT_INVALID + ERROR_CTX_LICENSE_CLIENT_INVALID + + + + No documentation. + + + ERROR_CTX_LICENSE_EXPIRED + ERROR_CTX_LICENSE_EXPIRED + + + + No documentation. + + + ERROR_CTX_SHADOW_NOT_RUNNING + ERROR_CTX_SHADOW_NOT_RUNNING + + + + No documentation. + + + ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE + ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE + + + + No documentation. + + + ERROR_ACTIVATION_COUNT_EXCEEDED + ERROR_ACTIVATION_COUNT_EXCEEDED + + + + No documentation. + + + ERROR_CTX_WINSTATIONS_DISABLED + ERROR_CTX_WINSTATIONS_DISABLED + + + + No documentation. + + + ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED + ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED + + + + No documentation. + + + ERROR_CTX_SESSION_IN_USE + ERROR_CTX_SESSION_IN_USE + + + + No documentation. + + + ERROR_CTX_NO_FORCE_LOGOFF + ERROR_CTX_NO_FORCE_LOGOFF + + + + No documentation. + + + ERROR_CTX_ACCOUNT_RESTRICTION + ERROR_CTX_ACCOUNT_RESTRICTION + + + + No documentation. + + + ERROR_RDP_PROTOCOL_ERROR + ERROR_RDP_PROTOCOL_ERROR + + + + No documentation. + + + ERROR_CTX_CDM_CONNECT + ERROR_CTX_CDM_CONNECT + + + + No documentation. + + + ERROR_CTX_CDM_DISCONNECT + ERROR_CTX_CDM_DISCONNECT + + + + No documentation. + + + ERROR_CTX_SECURITY_LAYER_ERROR + ERROR_CTX_SECURITY_LAYER_ERROR + + + + No documentation. + + + ERROR_TS_INCOMPATIBLE_SESSIONS + ERROR_TS_INCOMPATIBLE_SESSIONS + + + + No documentation. + + + ERROR_TS_VIDEO_SUBSYSTEM_ERROR + ERROR_TS_VIDEO_SUBSYSTEM_ERROR + + + + No documentation. + + + ERROR_DS_NOT_INSTALLED + ERROR_DS_NOT_INSTALLED + + + + No documentation. + + + ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY + ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY + + + + No documentation. + + + ERROR_DS_NO_ATTRIBUTE_OR_VALUE + ERROR_DS_NO_ATTRIBUTE_OR_VALUE + + + + No documentation. + + + ERROR_DS_INVALID_ATTRIBUTE_SYNTAX + ERROR_DS_INVALID_ATTRIBUTE_SYNTAX + + + + No documentation. + + + ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED + ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED + + + + No documentation. + + + ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS + ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS + + + + No documentation. + + + ERROR_DS_BUSY + ERROR_DS_BUSY + + + + No documentation. + + + ERROR_DS_UNAVAILABLE + ERROR_DS_UNAVAILABLE + + + + No documentation. + + + ERROR_DS_NO_RIDS_ALLOCATED + ERROR_DS_NO_RIDS_ALLOCATED + + + + No documentation. + + + ERROR_DS_NO_MORE_RIDS + ERROR_DS_NO_MORE_RIDS + + + + No documentation. + + + ERROR_DS_INCORRECT_ROLE_OWNER + ERROR_DS_INCORRECT_ROLE_OWNER + + + + No documentation. + + + ERROR_DS_RIDMGR_INIT_ERROR + ERROR_DS_RIDMGR_INIT_ERROR + + + + No documentation. + + + ERROR_DS_OBJ_CLASS_VIOLATION + ERROR_DS_OBJ_CLASS_VIOLATION + + + + No documentation. + + + ERROR_DS_CANT_ON_NON_LEAF + ERROR_DS_CANT_ON_NON_LEAF + + + + No documentation. + + + ERROR_DS_CANT_ON_RDN + ERROR_DS_CANT_ON_RDN + + + + No documentation. + + + ERROR_DS_CANT_MOD_OBJ_CLASS + ERROR_DS_CANT_MOD_OBJ_CLASS + + + + No documentation. + + + ERROR_DS_CROSS_DOM_MOVE_ERROR + ERROR_DS_CROSS_DOM_MOVE_ERROR + + + + No documentation. + + + ERROR_DS_GC_NOT_AVAILABLE + ERROR_DS_GC_NOT_AVAILABLE + + + + No documentation. + + + ERROR_SHARED_POLICY + ERROR_SHARED_POLICY + + + + No documentation. + + + ERROR_POLICY_OBJECT_NOT_FOUND + ERROR_POLICY_OBJECT_NOT_FOUND + + + + No documentation. + + + ERROR_POLICY_ONLY_IN_DS + ERROR_POLICY_ONLY_IN_DS + + + + No documentation. + + + ERROR_PROMOTION_ACTIVE + ERROR_PROMOTION_ACTIVE + + + + No documentation. + + + ERROR_NO_PROMOTION_ACTIVE + ERROR_NO_PROMOTION_ACTIVE + + + + No documentation. + + + ERROR_DS_OPERATIONS_ERROR + ERROR_DS_OPERATIONS_ERROR + + + + No documentation. + + + ERROR_DS_PROTOCOL_ERROR + ERROR_DS_PROTOCOL_ERROR + + + + No documentation. + + + ERROR_DS_TIMELIMIT_EXCEEDED + ERROR_DS_TIMELIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_SIZELIMIT_EXCEEDED + ERROR_DS_SIZELIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_ADMIN_LIMIT_EXCEEDED + ERROR_DS_ADMIN_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_COMPARE_FALSE + ERROR_DS_COMPARE_FALSE + + + + No documentation. + + + ERROR_DS_COMPARE_TRUE + ERROR_DS_COMPARE_TRUE + + + + No documentation. + + + ERROR_DS_AUTH_METHOD_NOT_SUPPORTED + ERROR_DS_AUTH_METHOD_NOT_SUPPORTED + + + + No documentation. + + + ERROR_DS_STRONG_AUTH_REQUIRED + ERROR_DS_STRONG_AUTH_REQUIRED + + + + No documentation. + + + ERROR_DS_INAPPROPRIATE_AUTH + ERROR_DS_INAPPROPRIATE_AUTH + + + + No documentation. + + + ERROR_DS_AUTH_UNKNOWN + ERROR_DS_AUTH_UNKNOWN + + + + No documentation. + + + ERROR_DS_REFERRAL + ERROR_DS_REFERRAL + + + + No documentation. + + + ERROR_DS_UNAVAILABLE_CRIT_EXTENSION + ERROR_DS_UNAVAILABLE_CRIT_EXTENSION + + + + No documentation. + + + ERROR_DS_CONFIDENTIALITY_REQUIRED + ERROR_DS_CONFIDENTIALITY_REQUIRED + + + + No documentation. + + + ERROR_DS_INAPPROPRIATE_MATCHING + ERROR_DS_INAPPROPRIATE_MATCHING + + + + No documentation. + + + ERROR_DS_CONSTRAINT_VIOLATION + ERROR_DS_CONSTRAINT_VIOLATION + + + + No documentation. + + + ERROR_DS_NO_SUCH_OBJECT + ERROR_DS_NO_SUCH_OBJECT + + + + No documentation. + + + ERROR_DS_ALIAS_PROBLEM + ERROR_DS_ALIAS_PROBLEM + + + + No documentation. + + + ERROR_DS_INVALID_DN_SYNTAX + ERROR_DS_INVALID_DN_SYNTAX + + + + No documentation. + + + ERROR_DS_IS_LEAF + ERROR_DS_IS_LEAF + + + + No documentation. + + + ERROR_DS_ALIAS_DEREF_PROBLEM + ERROR_DS_ALIAS_DEREF_PROBLEM + + + + No documentation. + + + ERROR_DS_UNWILLING_TO_PERFORM + ERROR_DS_UNWILLING_TO_PERFORM + + + + No documentation. + + + ERROR_DS_LOOP_DETECT + ERROR_DS_LOOP_DETECT + + + + No documentation. + + + ERROR_DS_NAMING_VIOLATION + ERROR_DS_NAMING_VIOLATION + + + + No documentation. + + + ERROR_DS_OBJECT_RESULTS_TOO_LARGE + ERROR_DS_OBJECT_RESULTS_TOO_LARGE + + + + No documentation. + + + ERROR_DS_AFFECTS_MULTIPLE_DSAS + ERROR_DS_AFFECTS_MULTIPLE_DSAS + + + + No documentation. + + + ERROR_DS_SERVER_DOWN + ERROR_DS_SERVER_DOWN + + + + No documentation. + + + ERROR_DS_LOCAL_ERROR + ERROR_DS_LOCAL_ERROR + + + + No documentation. + + + ERROR_DS_ENCODING_ERROR + ERROR_DS_ENCODING_ERROR + + + + No documentation. + + + ERROR_DS_DECODING_ERROR + ERROR_DS_DECODING_ERROR + + + + No documentation. + + + ERROR_DS_FILTER_UNKNOWN + ERROR_DS_FILTER_UNKNOWN + + + + No documentation. + + + ERROR_DS_PARAM_ERROR + ERROR_DS_PARAM_ERROR + + + + No documentation. + + + ERROR_DS_NOT_SUPPORTED + ERROR_DS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_DS_NO_RESULTS_RETURNED + ERROR_DS_NO_RESULTS_RETURNED + + + + No documentation. + + + ERROR_DS_CONTROL_NOT_FOUND + ERROR_DS_CONTROL_NOT_FOUND + + + + No documentation. + + + ERROR_DS_CLIENT_LOOP + ERROR_DS_CLIENT_LOOP + + + + No documentation. + + + ERROR_DS_REFERRAL_LIMIT_EXCEEDED + ERROR_DS_REFERRAL_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_SORT_CONTROL_MISSING + ERROR_DS_SORT_CONTROL_MISSING + + + + No documentation. + + + ERROR_DS_OFFSET_RANGE_ERROR + ERROR_DS_OFFSET_RANGE_ERROR + + + + No documentation. + + + ERROR_DS_ROOT_MUST_BE_NC + ERROR_DS_ROOT_MUST_BE_NC + + + + No documentation. + + + ERROR_DS_ADD_REPLICA_INHIBITED + ERROR_DS_ADD_REPLICA_INHIBITED + + + + No documentation. + + + ERROR_DS_ATT_NOT_DEF_IN_SCHEMA + ERROR_DS_ATT_NOT_DEF_IN_SCHEMA + + + + No documentation. + + + ERROR_DS_MAX_OBJ_SIZE_EXCEEDED + ERROR_DS_MAX_OBJ_SIZE_EXCEEDED + + + + No documentation. + + + ERROR_DS_OBJ_STRING_NAME_EXISTS + ERROR_DS_OBJ_STRING_NAME_EXISTS + + + + No documentation. + + + ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA + ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA + + + + No documentation. + + + ERROR_DS_RDN_DOESNT_MATCH_SCHEMA + ERROR_DS_RDN_DOESNT_MATCH_SCHEMA + + + + No documentation. + + + ERROR_DS_NO_REQUESTED_ATTS_FOUND + ERROR_DS_NO_REQUESTED_ATTS_FOUND + + + + No documentation. + + + ERROR_DS_USER_BUFFER_TO_SMALL + ERROR_DS_USER_BUFFER_TO_SMALL + + + + No documentation. + + + ERROR_DS_ATT_IS_NOT_ON_OBJ + ERROR_DS_ATT_IS_NOT_ON_OBJ + + + + No documentation. + + + ERROR_DS_ILLEGAL_MOD_OPERATION + ERROR_DS_ILLEGAL_MOD_OPERATION + + + + No documentation. + + + ERROR_DS_OBJ_TOO_LARGE + ERROR_DS_OBJ_TOO_LARGE + + + + No documentation. + + + ERROR_DS_BAD_INSTANCE_TYPE + ERROR_DS_BAD_INSTANCE_TYPE + + + + No documentation. + + + ERROR_DS_MASTERDSA_REQUIRED + ERROR_DS_MASTERDSA_REQUIRED + + + + No documentation. + + + ERROR_DS_OBJECT_CLASS_REQUIRED + ERROR_DS_OBJECT_CLASS_REQUIRED + + + + No documentation. + + + ERROR_DS_MISSING_REQUIRED_ATT + ERROR_DS_MISSING_REQUIRED_ATT + + + + No documentation. + + + ERROR_DS_ATT_NOT_DEF_FOR_CLASS + ERROR_DS_ATT_NOT_DEF_FOR_CLASS + + + + No documentation. + + + ERROR_DS_ATT_ALREADY_EXISTS + ERROR_DS_ATT_ALREADY_EXISTS + + + + No documentation. + + + ERROR_DS_CANT_ADD_ATT_VALUES + ERROR_DS_CANT_ADD_ATT_VALUES + + + + No documentation. + + + ERROR_DS_SINGLE_VALUE_CONSTRAINT + ERROR_DS_SINGLE_VALUE_CONSTRAINT + + + + No documentation. + + + ERROR_DS_RANGE_CONSTRAINT + ERROR_DS_RANGE_CONSTRAINT + + + + No documentation. + + + ERROR_DS_ATT_VAL_ALREADY_EXISTS + ERROR_DS_ATT_VAL_ALREADY_EXISTS + + + + No documentation. + + + ERROR_DS_CANT_REM_MISSING_ATT + ERROR_DS_CANT_REM_MISSING_ATT + + + + No documentation. + + + ERROR_DS_CANT_REM_MISSING_ATT_VAL + ERROR_DS_CANT_REM_MISSING_ATT_VAL + + + + No documentation. + + + ERROR_DS_ROOT_CANT_BE_SUBREF + ERROR_DS_ROOT_CANT_BE_SUBREF + + + + No documentation. + + + ERROR_DS_NO_CHAINING + ERROR_DS_NO_CHAINING + + + + No documentation. + + + ERROR_DS_NO_CHAINED_EVAL + ERROR_DS_NO_CHAINED_EVAL + + + + No documentation. + + + ERROR_DS_NO_PARENT_OBJECT + ERROR_DS_NO_PARENT_OBJECT + + + + No documentation. + + + ERROR_DS_PARENT_IS_AN_ALIAS + ERROR_DS_PARENT_IS_AN_ALIAS + + + + No documentation. + + + ERROR_DS_CANT_MIX_MASTER_AND_REPS + ERROR_DS_CANT_MIX_MASTER_AND_REPS + + + + No documentation. + + + ERROR_DS_CHILDREN_EXIST + ERROR_DS_CHILDREN_EXIST + + + + No documentation. + + + ERROR_DS_OBJ_NOT_FOUND + ERROR_DS_OBJ_NOT_FOUND + + + + No documentation. + + + ERROR_DS_ALIASED_OBJ_MISSING + ERROR_DS_ALIASED_OBJ_MISSING + + + + No documentation. + + + ERROR_DS_BAD_NAME_SYNTAX + ERROR_DS_BAD_NAME_SYNTAX + + + + No documentation. + + + ERROR_DS_ALIAS_POINTS_TO_ALIAS + ERROR_DS_ALIAS_POINTS_TO_ALIAS + + + + No documentation. + + + ERROR_DS_CANT_DEREF_ALIAS + ERROR_DS_CANT_DEREF_ALIAS + + + + No documentation. + + + ERROR_DS_OUT_OF_SCOPE + ERROR_DS_OUT_OF_SCOPE + + + + No documentation. + + + ERROR_DS_OBJECT_BEING_REMOVED + ERROR_DS_OBJECT_BEING_REMOVED + + + + No documentation. + + + ERROR_DS_CANT_DELETE_DSA_OBJ + ERROR_DS_CANT_DELETE_DSA_OBJ + + + + No documentation. + + + ERROR_DS_GENERIC_ERROR + ERROR_DS_GENERIC_ERROR + + + + No documentation. + + + ERROR_DS_DSA_MUST_BE_INT_MASTER + ERROR_DS_DSA_MUST_BE_INT_MASTER + + + + No documentation. + + + ERROR_DS_CLASS_NOT_DSA + ERROR_DS_CLASS_NOT_DSA + + + + No documentation. + + + ERROR_DS_INSUFF_ACCESS_RIGHTS + ERROR_DS_INSUFF_ACCESS_RIGHTS + + + + No documentation. + + + ERROR_DS_ILLEGAL_SUPERIOR + ERROR_DS_ILLEGAL_SUPERIOR + + + + No documentation. + + + ERROR_DS_ATTRIBUTE_OWNED_BY_SAM + ERROR_DS_ATTRIBUTE_OWNED_BY_SAM + + + + No documentation. + + + ERROR_DS_NAME_TOO_MANY_PARTS + ERROR_DS_NAME_TOO_MANY_PARTS + + + + No documentation. + + + ERROR_DS_NAME_TOO_LONG + ERROR_DS_NAME_TOO_LONG + + + + No documentation. + + + ERROR_DS_NAME_VALUE_TOO_LONG + ERROR_DS_NAME_VALUE_TOO_LONG + + + + No documentation. + + + ERROR_DS_NAME_UNPARSEABLE + ERROR_DS_NAME_UNPARSEABLE + + + + No documentation. + + + ERROR_DS_NAME_TYPE_UNKNOWN + ERROR_DS_NAME_TYPE_UNKNOWN + + + + No documentation. + + + ERROR_DS_NOT_AN_OBJECT + ERROR_DS_NOT_AN_OBJECT + + + + No documentation. + + + ERROR_DS_SEC_DESC_TOO_SHORT + ERROR_DS_SEC_DESC_TOO_SHORT + + + + No documentation. + + + ERROR_DS_SEC_DESC_INVALID + ERROR_DS_SEC_DESC_INVALID + + + + No documentation. + + + ERROR_DS_NO_DELETED_NAME + ERROR_DS_NO_DELETED_NAME + + + + No documentation. + + + ERROR_DS_SUBREF_MUST_HAVE_PARENT + ERROR_DS_SUBREF_MUST_HAVE_PARENT + + + + No documentation. + + + ERROR_DS_NCNAME_MUST_BE_NC + ERROR_DS_NCNAME_MUST_BE_NC + + + + No documentation. + + + ERROR_DS_CANT_ADD_SYSTEM_ONLY + ERROR_DS_CANT_ADD_SYSTEM_ONLY + + + + No documentation. + + + ERROR_DS_CLASS_MUST_BE_CONCRETE + ERROR_DS_CLASS_MUST_BE_CONCRETE + + + + No documentation. + + + ERROR_DS_INVALID_DMD + ERROR_DS_INVALID_DMD + + + + No documentation. + + + ERROR_DS_OBJ_GUID_EXISTS + ERROR_DS_OBJ_GUID_EXISTS + + + + No documentation. + + + ERROR_DS_NOT_ON_BACKLINK + ERROR_DS_NOT_ON_BACKLINK + + + + No documentation. + + + ERROR_DS_NO_CROSSREF_FOR_NC + ERROR_DS_NO_CROSSREF_FOR_NC + + + + No documentation. + + + ERROR_DS_SHUTTING_DOWN + ERROR_DS_SHUTTING_DOWN + + + + No documentation. + + + ERROR_DS_UNKNOWN_OPERATION + ERROR_DS_UNKNOWN_OPERATION + + + + No documentation. + + + ERROR_DS_INVALID_ROLE_OWNER + ERROR_DS_INVALID_ROLE_OWNER + + + + No documentation. + + + ERROR_DS_COULDNT_CONTACT_FSMO + ERROR_DS_COULDNT_CONTACT_FSMO + + + + No documentation. + + + ERROR_DS_CROSS_NC_DN_RENAME + ERROR_DS_CROSS_NC_DN_RENAME + + + + No documentation. + + + ERROR_DS_CANT_MOD_SYSTEM_ONLY + ERROR_DS_CANT_MOD_SYSTEM_ONLY + + + + No documentation. + + + ERROR_DS_REPLICATOR_ONLY + ERROR_DS_REPLICATOR_ONLY + + + + No documentation. + + + ERROR_DS_OBJ_CLASS_NOT_DEFINED + ERROR_DS_OBJ_CLASS_NOT_DEFINED + + + + No documentation. + + + ERROR_DS_OBJ_CLASS_NOT_SUBCLASS + ERROR_DS_OBJ_CLASS_NOT_SUBCLASS + + + + No documentation. + + + ERROR_DS_NAME_REFERENCE_INVALID + ERROR_DS_NAME_REFERENCE_INVALID + + + + No documentation. + + + ERROR_DS_CROSS_REF_EXISTS + ERROR_DS_CROSS_REF_EXISTS + + + + No documentation. + + + ERROR_DS_CANT_DEL_MASTER_CROSSREF + ERROR_DS_CANT_DEL_MASTER_CROSSREF + + + + No documentation. + + + ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD + ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD + + + + No documentation. + + + ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX + ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX + + + + No documentation. + + + ERROR_DS_DUP_RDN + ERROR_DS_DUP_RDN + + + + No documentation. + + + ERROR_DS_DUP_OID + ERROR_DS_DUP_OID + + + + No documentation. + + + ERROR_DS_DUP_MAPI_ID + ERROR_DS_DUP_MAPI_ID + + + + No documentation. + + + ERROR_DS_DUP_SCHEMA_ID_GUID + ERROR_DS_DUP_SCHEMA_ID_GUID + + + + No documentation. + + + ERROR_DS_DUP_LDAP_DISPLAY_NAME + ERROR_DS_DUP_LDAP_DISPLAY_NAME + + + + No documentation. + + + ERROR_DS_SEMANTIC_ATT_TEST + ERROR_DS_SEMANTIC_ATT_TEST + + + + No documentation. + + + ERROR_DS_SYNTAX_MISMATCH + ERROR_DS_SYNTAX_MISMATCH + + + + No documentation. + + + ERROR_DS_EXISTS_IN_MUST_HAVE + ERROR_DS_EXISTS_IN_MUST_HAVE + + + + No documentation. + + + ERROR_DS_EXISTS_IN_MAY_HAVE + ERROR_DS_EXISTS_IN_MAY_HAVE + + + + No documentation. + + + ERROR_DS_NONEXISTENT_MAY_HAVE + ERROR_DS_NONEXISTENT_MAY_HAVE + + + + No documentation. + + + ERROR_DS_NONEXISTENT_MUST_HAVE + ERROR_DS_NONEXISTENT_MUST_HAVE + + + + No documentation. + + + ERROR_DS_AUX_CLS_TEST_FAIL + ERROR_DS_AUX_CLS_TEST_FAIL + + + + No documentation. + + + ERROR_DS_NONEXISTENT_POSS_SUP + ERROR_DS_NONEXISTENT_POSS_SUP + + + + No documentation. + + + ERROR_DS_SUB_CLS_TEST_FAIL + ERROR_DS_SUB_CLS_TEST_FAIL + + + + No documentation. + + + ERROR_DS_BAD_RDN_ATT_ID_SYNTAX + ERROR_DS_BAD_RDN_ATT_ID_SYNTAX + + + + No documentation. + + + ERROR_DS_EXISTS_IN_AUX_CLS + ERROR_DS_EXISTS_IN_AUX_CLS + + + + No documentation. + + + ERROR_DS_EXISTS_IN_SUB_CLS + ERROR_DS_EXISTS_IN_SUB_CLS + + + + No documentation. + + + ERROR_DS_EXISTS_IN_POSS_SUP + ERROR_DS_EXISTS_IN_POSS_SUP + + + + No documentation. + + + ERROR_DS_RECALCSCHEMA_FAILED + ERROR_DS_RECALCSCHEMA_FAILED + + + + No documentation. + + + ERROR_DS_TREE_DELETE_NOT_FINISHED + ERROR_DS_TREE_DELETE_NOT_FINISHED + + + + No documentation. + + + ERROR_DS_CANT_DELETE + ERROR_DS_CANT_DELETE + + + + No documentation. + + + ERROR_DS_ATT_SCHEMA_REQ_ID + ERROR_DS_ATT_SCHEMA_REQ_ID + + + + No documentation. + + + ERROR_DS_BAD_ATT_SCHEMA_SYNTAX + ERROR_DS_BAD_ATT_SCHEMA_SYNTAX + + + + No documentation. + + + ERROR_DS_CANT_CACHE_ATT + ERROR_DS_CANT_CACHE_ATT + + + + No documentation. + + + ERROR_DS_CANT_CACHE_CLASS + ERROR_DS_CANT_CACHE_CLASS + + + + No documentation. + + + ERROR_DS_CANT_REMOVE_ATT_CACHE + ERROR_DS_CANT_REMOVE_ATT_CACHE + + + + No documentation. + + + ERROR_DS_CANT_REMOVE_CLASS_CACHE + ERROR_DS_CANT_REMOVE_CLASS_CACHE + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_DN + ERROR_DS_CANT_RETRIEVE_DN + + + + No documentation. + + + ERROR_DS_MISSING_SUPREF + ERROR_DS_MISSING_SUPREF + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_INSTANCE + ERROR_DS_CANT_RETRIEVE_INSTANCE + + + + No documentation. + + + ERROR_DS_CODE_INCONSISTENCY + ERROR_DS_CODE_INCONSISTENCY + + + + No documentation. + + + ERROR_DS_DATABASE_ERROR + ERROR_DS_DATABASE_ERROR + + + + No documentation. + + + ERROR_DS_GOVERNSID_MISSING + ERROR_DS_GOVERNSID_MISSING + + + + No documentation. + + + ERROR_DS_MISSING_EXPECTED_ATT + ERROR_DS_MISSING_EXPECTED_ATT + + + + No documentation. + + + ERROR_DS_NCNAME_MISSING_CR_REF + ERROR_DS_NCNAME_MISSING_CR_REF + + + + No documentation. + + + ERROR_DS_SECURITY_CHECKING_ERROR + ERROR_DS_SECURITY_CHECKING_ERROR + + + + No documentation. + + + ERROR_DS_SCHEMA_NOT_LOADED + ERROR_DS_SCHEMA_NOT_LOADED + + + + No documentation. + + + ERROR_DS_SCHEMA_ALLOC_FAILED + ERROR_DS_SCHEMA_ALLOC_FAILED + + + + No documentation. + + + ERROR_DS_ATT_SCHEMA_REQ_SYNTAX + ERROR_DS_ATT_SCHEMA_REQ_SYNTAX + + + + No documentation. + + + ERROR_DS_GCVERIFY_ERROR + ERROR_DS_GCVERIFY_ERROR + + + + No documentation. + + + ERROR_DS_DRA_SCHEMA_MISMATCH + ERROR_DS_DRA_SCHEMA_MISMATCH + + + + No documentation. + + + ERROR_DS_CANT_FIND_DSA_OBJ + ERROR_DS_CANT_FIND_DSA_OBJ + + + + No documentation. + + + ERROR_DS_CANT_FIND_EXPECTED_NC + ERROR_DS_CANT_FIND_EXPECTED_NC + + + + No documentation. + + + ERROR_DS_CANT_FIND_NC_IN_CACHE + ERROR_DS_CANT_FIND_NC_IN_CACHE + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_CHILD + ERROR_DS_CANT_RETRIEVE_CHILD + + + + No documentation. + + + ERROR_DS_SECURITY_ILLEGAL_MODIFY + ERROR_DS_SECURITY_ILLEGAL_MODIFY + + + + No documentation. + + + ERROR_DS_CANT_REPLACE_HIDDEN_REC + ERROR_DS_CANT_REPLACE_HIDDEN_REC + + + + No documentation. + + + ERROR_DS_BAD_HIERARCHY_FILE + ERROR_DS_BAD_HIERARCHY_FILE + + + + No documentation. + + + ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED + ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED + + + + No documentation. + + + ERROR_DS_CONFIG_PARAM_MISSING + ERROR_DS_CONFIG_PARAM_MISSING + + + + No documentation. + + + ERROR_DS_COUNTING_AB_INDICES_FAILED + ERROR_DS_COUNTING_AB_INDICES_FAILED + + + + No documentation. + + + ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED + ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED + + + + No documentation. + + + ERROR_DS_INTERNAL_FAILURE + ERROR_DS_INTERNAL_FAILURE + + + + No documentation. + + + ERROR_DS_UNKNOWN_ERROR + ERROR_DS_UNKNOWN_ERROR + + + + No documentation. + + + ERROR_DS_ROOT_REQUIRES_CLASS_TOP + ERROR_DS_ROOT_REQUIRES_CLASS_TOP + + + + No documentation. + + + ERROR_DS_REFUSING_FSMO_ROLES + ERROR_DS_REFUSING_FSMO_ROLES + + + + No documentation. + + + ERROR_DS_MISSING_FSMO_SETTINGS + ERROR_DS_MISSING_FSMO_SETTINGS + + + + No documentation. + + + ERROR_DS_UNABLE_TO_SURRENDER_ROLES + ERROR_DS_UNABLE_TO_SURRENDER_ROLES + + + + No documentation. + + + ERROR_DS_DRA_GENERIC + ERROR_DS_DRA_GENERIC + + + + No documentation. + + + ERROR_DS_DRA_INVALID_PARAMETER + ERROR_DS_DRA_INVALID_PARAMETER + + + + No documentation. + + + ERROR_DS_DRA_BUSY + ERROR_DS_DRA_BUSY + + + + No documentation. + + + ERROR_DS_DRA_BAD_DN + ERROR_DS_DRA_BAD_DN + + + + No documentation. + + + ERROR_DS_DRA_BAD_NC + ERROR_DS_DRA_BAD_NC + + + + No documentation. + + + ERROR_DS_DRA_DN_EXISTS + ERROR_DS_DRA_DN_EXISTS + + + + No documentation. + + + ERROR_DS_DRA_INTERNAL_ERROR + ERROR_DS_DRA_INTERNAL_ERROR + + + + No documentation. + + + ERROR_DS_DRA_INCONSISTENT_DIT + ERROR_DS_DRA_INCONSISTENT_DIT + + + + No documentation. + + + ERROR_DS_DRA_CONNECTION_FAILED + ERROR_DS_DRA_CONNECTION_FAILED + + + + No documentation. + + + ERROR_DS_DRA_BAD_INSTANCE_TYPE + ERROR_DS_DRA_BAD_INSTANCE_TYPE + + + + No documentation. + + + ERROR_DS_DRA_OUT_OF_MEM + ERROR_DS_DRA_OUT_OF_MEM + + + + No documentation. + + + ERROR_DS_DRA_MAIL_PROBLEM + ERROR_DS_DRA_MAIL_PROBLEM + + + + No documentation. + + + ERROR_DS_DRA_REF_ALREADY_EXISTS + ERROR_DS_DRA_REF_ALREADY_EXISTS + + + + No documentation. + + + ERROR_DS_DRA_REF_NOT_FOUND + ERROR_DS_DRA_REF_NOT_FOUND + + + + No documentation. + + + ERROR_DS_DRA_OBJ_IS_REP_SOURCE + ERROR_DS_DRA_OBJ_IS_REP_SOURCE + + + + No documentation. + + + ERROR_DS_DRA_DB_ERROR + ERROR_DS_DRA_DB_ERROR + + + + No documentation. + + + ERROR_DS_DRA_NO_REPLICA + ERROR_DS_DRA_NO_REPLICA + + + + No documentation. + + + ERROR_DS_DRA_ACCESS_DENIED + ERROR_DS_DRA_ACCESS_DENIED + + + + No documentation. + + + ERROR_DS_DRA_NOT_SUPPORTED + ERROR_DS_DRA_NOT_SUPPORTED + + + + No documentation. + + + ERROR_DS_DRA_RPC_CANCELLED + ERROR_DS_DRA_RPC_CANCELLED + + + + No documentation. + + + ERROR_DS_DRA_SOURCE_DISABLED + ERROR_DS_DRA_SOURCE_DISABLED + + + + No documentation. + + + ERROR_DS_DRA_SINK_DISABLED + ERROR_DS_DRA_SINK_DISABLED + + + + No documentation. + + + ERROR_DS_DRA_NAME_COLLISION + ERROR_DS_DRA_NAME_COLLISION + + + + No documentation. + + + ERROR_DS_DRA_SOURCE_REINSTALLED + ERROR_DS_DRA_SOURCE_REINSTALLED + + + + No documentation. + + + ERROR_DS_DRA_MISSING_PARENT + ERROR_DS_DRA_MISSING_PARENT + + + + No documentation. + + + ERROR_DS_DRA_PREEMPTED + ERROR_DS_DRA_PREEMPTED + + + + No documentation. + + + ERROR_DS_DRA_ABANDON_SYNC + ERROR_DS_DRA_ABANDON_SYNC + + + + No documentation. + + + ERROR_DS_DRA_SHUTDOWN + ERROR_DS_DRA_SHUTDOWN + + + + No documentation. + + + ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET + ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET + + + + No documentation. + + + ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA + ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA + + + + No documentation. + + + ERROR_DS_DRA_EXTN_CONNECTION_FAILED + ERROR_DS_DRA_EXTN_CONNECTION_FAILED + + + + No documentation. + + + ERROR_DS_INSTALL_SCHEMA_MISMATCH + ERROR_DS_INSTALL_SCHEMA_MISMATCH + + + + No documentation. + + + ERROR_DS_DUP_LINK_ID + ERROR_DS_DUP_LINK_ID + + + + No documentation. + + + ERROR_DS_NAME_ERROR_RESOLVING + ERROR_DS_NAME_ERROR_RESOLVING + + + + No documentation. + + + ERROR_DS_NAME_ERROR_NOT_FOUND + ERROR_DS_NAME_ERROR_NOT_FOUND + + + + No documentation. + + + ERROR_DS_NAME_ERROR_NOT_UNIQUE + ERROR_DS_NAME_ERROR_NOT_UNIQUE + + + + No documentation. + + + ERROR_DS_NAME_ERROR_NO_MAPPING + ERROR_DS_NAME_ERROR_NO_MAPPING + + + + No documentation. + + + ERROR_DS_NAME_ERROR_DOMAIN_ONLY + ERROR_DS_NAME_ERROR_DOMAIN_ONLY + + + + No documentation. + + + ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING + ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING + + + + No documentation. + + + ERROR_DS_CONSTRUCTED_ATT_MOD + ERROR_DS_CONSTRUCTED_ATT_MOD + + + + No documentation. + + + ERROR_DS_WRONG_OM_OBJ_CLASS + ERROR_DS_WRONG_OM_OBJ_CLASS + + + + No documentation. + + + ERROR_DS_DRA_REPL_PENDING + ERROR_DS_DRA_REPL_PENDING + + + + No documentation. + + + ERROR_DS_DS_REQUIRED + ERROR_DS_DS_REQUIRED + + + + No documentation. + + + ERROR_DS_INVALID_LDAP_DISPLAY_NAME + ERROR_DS_INVALID_LDAP_DISPLAY_NAME + + + + No documentation. + + + ERROR_DS_NON_BASE_SEARCH + ERROR_DS_NON_BASE_SEARCH + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_ATTS + ERROR_DS_CANT_RETRIEVE_ATTS + + + + No documentation. + + + ERROR_DS_BACKLINK_WITHOUT_LINK + ERROR_DS_BACKLINK_WITHOUT_LINK + + + + No documentation. + + + ERROR_DS_EPOCH_MISMATCH + ERROR_DS_EPOCH_MISMATCH + + + + No documentation. + + + ERROR_DS_SRC_NAME_MISMATCH + ERROR_DS_SRC_NAME_MISMATCH + + + + No documentation. + + + ERROR_DS_SRC_AND_DST_NC_IDENTICAL + ERROR_DS_SRC_AND_DST_NC_IDENTICAL + + + + No documentation. + + + ERROR_DS_DST_NC_MISMATCH + ERROR_DS_DST_NC_MISMATCH + + + + No documentation. + + + ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC + ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC + + + + No documentation. + + + ERROR_DS_SRC_GUID_MISMATCH + ERROR_DS_SRC_GUID_MISMATCH + + + + No documentation. + + + ERROR_DS_CANT_MOVE_DELETED_OBJECT + ERROR_DS_CANT_MOVE_DELETED_OBJECT + + + + No documentation. + + + ERROR_DS_PDC_OPERATION_IN_PROGRESS + ERROR_DS_PDC_OPERATION_IN_PROGRESS + + + + No documentation. + + + ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD + ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD + + + + No documentation. + + + ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION + ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION + + + + No documentation. + + + ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS + ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS + + + + No documentation. + + + ERROR_DS_NC_MUST_HAVE_NC_PARENT + ERROR_DS_NC_MUST_HAVE_NC_PARENT + + + + No documentation. + + + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE + + + + No documentation. + + + ERROR_DS_DST_DOMAIN_NOT_NATIVE + ERROR_DS_DST_DOMAIN_NOT_NATIVE + + + + No documentation. + + + ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER + ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER + + + + No documentation. + + + ERROR_DS_CANT_MOVE_ACCOUNT_GROUP + ERROR_DS_CANT_MOVE_ACCOUNT_GROUP + + + + No documentation. + + + ERROR_DS_CANT_MOVE_RESOURCE_GROUP + ERROR_DS_CANT_MOVE_RESOURCE_GROUP + + + + No documentation. + + + ERROR_DS_INVALID_SEARCH_FLAG + ERROR_DS_INVALID_SEARCH_FLAG + + + + No documentation. + + + ERROR_DS_NO_TREE_DELETE_ABOVE_NC + ERROR_DS_NO_TREE_DELETE_ABOVE_NC + + + + No documentation. + + + ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE + ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE + + + + No documentation. + + + ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE + ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE + + + + No documentation. + + + ERROR_DS_SAM_INIT_FAILURE + ERROR_DS_SAM_INIT_FAILURE + + + + No documentation. + + + ERROR_DS_SENSITIVE_GROUP_VIOLATION + ERROR_DS_SENSITIVE_GROUP_VIOLATION + + + + No documentation. + + + ERROR_DS_CANT_MOD_PRIMARYGROUPID + ERROR_DS_CANT_MOD_PRIMARYGROUPID + + + + No documentation. + + + ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD + ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD + + + + No documentation. + + + ERROR_DS_NONSAFE_SCHEMA_CHANGE + ERROR_DS_NONSAFE_SCHEMA_CHANGE + + + + No documentation. + + + ERROR_DS_SCHEMA_UPDATE_DISALLOWED + ERROR_DS_SCHEMA_UPDATE_DISALLOWED + + + + No documentation. + + + ERROR_DS_CANT_CREATE_UNDER_SCHEMA + ERROR_DS_CANT_CREATE_UNDER_SCHEMA + + + + No documentation. + + + ERROR_DS_INSTALL_NO_SRC_SCH_VERSION + ERROR_DS_INSTALL_NO_SRC_SCH_VERSION + + + + No documentation. + + + ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE + ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE + + + + No documentation. + + + ERROR_DS_INVALID_GROUP_TYPE + ERROR_DS_INVALID_GROUP_TYPE + + + + No documentation. + + + ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN + ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN + + + + No documentation. + + + ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN + ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN + + + + No documentation. + + + ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER + ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER + + + + No documentation. + + + ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER + ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER + + + + No documentation. + + + ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER + ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER + + + + No documentation. + + + ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER + ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER + + + + No documentation. + + + ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER + ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER + + + + No documentation. + + + ERROR_DS_HAVE_PRIMARY_MEMBERS + ERROR_DS_HAVE_PRIMARY_MEMBERS + + + + No documentation. + + + ERROR_DS_STRING_SD_CONVERSION_FAILED + ERROR_DS_STRING_SD_CONVERSION_FAILED + + + + No documentation. + + + ERROR_DS_NAMING_MASTER_GC + ERROR_DS_NAMING_MASTER_GC + + + + No documentation. + + + ERROR_DS_DNS_LOOKUP_FAILURE + ERROR_DS_DNS_LOOKUP_FAILURE + + + + No documentation. + + + ERROR_DS_COULDNT_UPDATE_SPNS + ERROR_DS_COULDNT_UPDATE_SPNS + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_SD + ERROR_DS_CANT_RETRIEVE_SD + + + + No documentation. + + + ERROR_DS_KEY_NOT_UNIQUE + ERROR_DS_KEY_NOT_UNIQUE + + + + No documentation. + + + ERROR_DS_WRONG_LINKED_ATT_SYNTAX + ERROR_DS_WRONG_LINKED_ATT_SYNTAX + + + + No documentation. + + + ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD + ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD + + + + No documentation. + + + ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY + ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY + + + + No documentation. + + + ERROR_DS_CANT_START + ERROR_DS_CANT_START + + + + No documentation. + + + ERROR_DS_INIT_FAILURE + ERROR_DS_INIT_FAILURE + + + + No documentation. + + + ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION + ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION + + + + No documentation. + + + ERROR_DS_SOURCE_DOMAIN_IN_FOREST + ERROR_DS_SOURCE_DOMAIN_IN_FOREST + + + + No documentation. + + + ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST + ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST + + + + No documentation. + + + ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED + ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED + + + + No documentation. + + + ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN + ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN + + + + No documentation. + + + ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER + ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER + + + + No documentation. + + + ERROR_DS_SRC_SID_EXISTS_IN_FOREST + ERROR_DS_SRC_SID_EXISTS_IN_FOREST + + + + No documentation. + + + ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH + ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH + + + + No documentation. + + + ERROR_SAM_INIT_FAILURE + ERROR_SAM_INIT_FAILURE + + + + No documentation. + + + ERROR_DS_DRA_SCHEMA_INFO_SHIP + ERROR_DS_DRA_SCHEMA_INFO_SHIP + + + + No documentation. + + + ERROR_DS_DRA_SCHEMA_CONFLICT + ERROR_DS_DRA_SCHEMA_CONFLICT + + + + No documentation. + + + ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT + ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT + + + + No documentation. + + + ERROR_DS_DRA_OBJ_NC_MISMATCH + ERROR_DS_DRA_OBJ_NC_MISMATCH + + + + No documentation. + + + ERROR_DS_NC_STILL_HAS_DSAS + ERROR_DS_NC_STILL_HAS_DSAS + + + + No documentation. + + + ERROR_DS_GC_REQUIRED + ERROR_DS_GC_REQUIRED + + + + No documentation. + + + ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY + ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY + + + + No documentation. + + + ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS + ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS + + + + No documentation. + + + ERROR_DS_CANT_ADD_TO_GC + ERROR_DS_CANT_ADD_TO_GC + + + + No documentation. + + + ERROR_DS_NO_CHECKPOINT_WITH_PDC + ERROR_DS_NO_CHECKPOINT_WITH_PDC + + + + No documentation. + + + ERROR_DS_SOURCE_AUDITING_NOT_ENABLED + ERROR_DS_SOURCE_AUDITING_NOT_ENABLED + + + + No documentation. + + + ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC + ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC + + + + No documentation. + + + ERROR_DS_INVALID_NAME_FOR_SPN + ERROR_DS_INVALID_NAME_FOR_SPN + + + + No documentation. + + + ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS + ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS + + + + No documentation. + + + ERROR_DS_UNICODEPWD_NOT_IN_QUOTES + ERROR_DS_UNICODEPWD_NOT_IN_QUOTES + + + + No documentation. + + + ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED + ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_DS_MUST_BE_RUN_ON_DST_DC + ERROR_DS_MUST_BE_RUN_ON_DST_DC + + + + No documentation. + + + ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER + ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER + + + + No documentation. + + + ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ + ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ + + + + No documentation. + + + ERROR_DS_INIT_FAILURE_CONSOLE + ERROR_DS_INIT_FAILURE_CONSOLE + + + + No documentation. + + + ERROR_DS_SAM_INIT_FAILURE_CONSOLE + ERROR_DS_SAM_INIT_FAILURE_CONSOLE + + + + No documentation. + + + ERROR_DS_FOREST_VERSION_TOO_HIGH + ERROR_DS_FOREST_VERSION_TOO_HIGH + + + + No documentation. + + + ERROR_DS_DOMAIN_VERSION_TOO_HIGH + ERROR_DS_DOMAIN_VERSION_TOO_HIGH + + + + No documentation. + + + ERROR_DS_FOREST_VERSION_TOO_LOW + ERROR_DS_FOREST_VERSION_TOO_LOW + + + + No documentation. + + + ERROR_DS_DOMAIN_VERSION_TOO_LOW + ERROR_DS_DOMAIN_VERSION_TOO_LOW + + + + No documentation. + + + ERROR_DS_INCOMPATIBLE_VERSION + ERROR_DS_INCOMPATIBLE_VERSION + + + + No documentation. + + + ERROR_DS_LOW_DSA_VERSION + ERROR_DS_LOW_DSA_VERSION + + + + No documentation. + + + ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN + ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN + + + + No documentation. + + + ERROR_DS_NOT_SUPPORTED_SORT_ORDER + ERROR_DS_NOT_SUPPORTED_SORT_ORDER + + + + No documentation. + + + ERROR_DS_NAME_NOT_UNIQUE + ERROR_DS_NAME_NOT_UNIQUE + + + + No documentation. + + + ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 + ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 + + + + No documentation. + + + ERROR_DS_OUT_OF_VERSION_STORE + ERROR_DS_OUT_OF_VERSION_STORE + + + + No documentation. + + + ERROR_DS_INCOMPATIBLE_CONTROLS_USED + ERROR_DS_INCOMPATIBLE_CONTROLS_USED + + + + No documentation. + + + ERROR_DS_NO_REF_DOMAIN + ERROR_DS_NO_REF_DOMAIN + + + + No documentation. + + + ERROR_DS_RESERVED_LINK_ID + ERROR_DS_RESERVED_LINK_ID + + + + No documentation. + + + ERROR_DS_LINK_ID_NOT_AVAILABLE + ERROR_DS_LINK_ID_NOT_AVAILABLE + + + + No documentation. + + + ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER + ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER + + + + No documentation. + + + ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE + ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE + + + + No documentation. + + + ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC + ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC + + + + No documentation. + + + ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG + ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG + + + + No documentation. + + + ERROR_DS_MODIFYDN_WRONG_GRANDPARENT + ERROR_DS_MODIFYDN_WRONG_GRANDPARENT + + + + No documentation. + + + ERROR_DS_NAME_ERROR_TRUST_REFERRAL + ERROR_DS_NAME_ERROR_TRUST_REFERRAL + + + + No documentation. + + + ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER + ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER + + + + No documentation. + + + ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD + ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD + + + + No documentation. + + + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 + + + + No documentation. + + + ERROR_DS_THREAD_LIMIT_EXCEEDED + ERROR_DS_THREAD_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_NOT_CLOSEST + ERROR_DS_NOT_CLOSEST + + + + No documentation. + + + ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF + ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF + + + + No documentation. + + + ERROR_DS_SINGLE_USER_MODE_FAILED + ERROR_DS_SINGLE_USER_MODE_FAILED + + + + No documentation. + + + ERROR_DS_NTDSCRIPT_SYNTAX_ERROR + ERROR_DS_NTDSCRIPT_SYNTAX_ERROR + + + + No documentation. + + + ERROR_DS_NTDSCRIPT_PROCESS_ERROR + ERROR_DS_NTDSCRIPT_PROCESS_ERROR + + + + No documentation. + + + ERROR_DS_DIFFERENT_REPL_EPOCHS + ERROR_DS_DIFFERENT_REPL_EPOCHS + + + + No documentation. + + + ERROR_DS_DRS_EXTENSIONS_CHANGED + ERROR_DS_DRS_EXTENSIONS_CHANGED + + + + No documentation. + + + ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR + ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR + + + + No documentation. + + + ERROR_DS_NO_MSDS_INTID + ERROR_DS_NO_MSDS_INTID + + + + No documentation. + + + ERROR_DS_DUP_MSDS_INTID + ERROR_DS_DUP_MSDS_INTID + + + + No documentation. + + + ERROR_DS_EXISTS_IN_RDNATTID + ERROR_DS_EXISTS_IN_RDNATTID + + + + No documentation. + + + ERROR_DS_AUTHORIZATION_FAILED + ERROR_DS_AUTHORIZATION_FAILED + + + + No documentation. + + + ERROR_DS_INVALID_SCRIPT + ERROR_DS_INVALID_SCRIPT + + + + No documentation. + + + ERROR_DS_REMOTE_CROSSREF_OP_FAILED + ERROR_DS_REMOTE_CROSSREF_OP_FAILED + + + + No documentation. + + + ERROR_DS_CROSS_REF_BUSY + ERROR_DS_CROSS_REF_BUSY + + + + No documentation. + + + ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN + ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN + + + + No documentation. + + + ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC + ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC + + + + No documentation. + + + ERROR_DS_DUPLICATE_ID_FOUND + ERROR_DS_DUPLICATE_ID_FOUND + + + + No documentation. + + + ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT + ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT + + + + No documentation. + + + ERROR_DS_GROUP_CONVERSION_ERROR + ERROR_DS_GROUP_CONVERSION_ERROR + + + + No documentation. + + + ERROR_DS_CANT_MOVE_APP_BASIC_GROUP + ERROR_DS_CANT_MOVE_APP_BASIC_GROUP + + + + No documentation. + + + ERROR_DS_CANT_MOVE_APP_QUERY_GROUP + ERROR_DS_CANT_MOVE_APP_QUERY_GROUP + + + + No documentation. + + + ERROR_DS_ROLE_NOT_VERIFIED + ERROR_DS_ROLE_NOT_VERIFIED + + + + No documentation. + + + ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL + ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL + + + + No documentation. + + + ERROR_DS_DOMAIN_RENAME_IN_PROGRESS + ERROR_DS_DOMAIN_RENAME_IN_PROGRESS + + + + No documentation. + + + ERROR_DS_EXISTING_AD_CHILD_NC + ERROR_DS_EXISTING_AD_CHILD_NC + + + + No documentation. + + + ERROR_DS_REPL_LIFETIME_EXCEEDED + ERROR_DS_REPL_LIFETIME_EXCEEDED + + + + No documentation. + + + ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER + ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER + + + + No documentation. + + + ERROR_DS_LDAP_SEND_QUEUE_FULL + ERROR_DS_LDAP_SEND_QUEUE_FULL + + + + No documentation. + + + ERROR_DS_DRA_OUT_SCHEDULE_WINDOW + ERROR_DS_DRA_OUT_SCHEDULE_WINDOW + + + + No documentation. + + + ERROR_DS_POLICY_NOT_KNOWN + ERROR_DS_POLICY_NOT_KNOWN + + + + No documentation. + + + ERROR_NO_SITE_SETTINGS_OBJECT + ERROR_NO_SITE_SETTINGS_OBJECT + + + + No documentation. + + + ERROR_NO_SECRETS + ERROR_NO_SECRETS + + + + No documentation. + + + ERROR_NO_WRITABLE_DC_FOUND + ERROR_NO_WRITABLE_DC_FOUND + + + + No documentation. + + + ERROR_DS_NO_SERVER_OBJECT + ERROR_DS_NO_SERVER_OBJECT + + + + No documentation. + + + ERROR_DS_NO_NTDSA_OBJECT + ERROR_DS_NO_NTDSA_OBJECT + + + + No documentation. + + + ERROR_DS_NON_ASQ_SEARCH + ERROR_DS_NON_ASQ_SEARCH + + + + No documentation. + + + ERROR_DS_AUDIT_FAILURE + ERROR_DS_AUDIT_FAILURE + + + + No documentation. + + + ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE + ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE + + + + No documentation. + + + ERROR_DS_INVALID_SEARCH_FLAG_TUPLE + ERROR_DS_INVALID_SEARCH_FLAG_TUPLE + + + + No documentation. + + + ERROR_DS_HIERARCHY_TABLE_TOO_DEEP + ERROR_DS_HIERARCHY_TABLE_TOO_DEEP + + + + No documentation. + + + ERROR_DS_DRA_CORRUPT_UTD_VECTOR + ERROR_DS_DRA_CORRUPT_UTD_VECTOR + + + + No documentation. + + + ERROR_DS_DRA_SECRETS_DENIED + ERROR_DS_DRA_SECRETS_DENIED + + + + No documentation. + + + ERROR_DS_RESERVED_MAPI_ID + ERROR_DS_RESERVED_MAPI_ID + + + + No documentation. + + + ERROR_DS_MAPI_ID_NOT_AVAILABLE + ERROR_DS_MAPI_ID_NOT_AVAILABLE + + + + No documentation. + + + ERROR_DS_DRA_MISSING_KRBTGT_SECRET + ERROR_DS_DRA_MISSING_KRBTGT_SECRET + + + + No documentation. + + + ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST + ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST + + + + No documentation. + + + ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST + ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST + + + + No documentation. + + + ERROR_INVALID_USER_PRINCIPAL_NAME + ERROR_INVALID_USER_PRINCIPAL_NAME + + + + No documentation. + + + ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS + ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS + + + + No documentation. + + + ERROR_DS_OID_NOT_FOUND + ERROR_DS_OID_NOT_FOUND + + + + No documentation. + + + ERROR_DS_DRA_RECYCLED_TARGET + ERROR_DS_DRA_RECYCLED_TARGET + + + + No documentation. + + + ERROR_IPSEC_QM_POLICY_EXISTS + ERROR_IPSEC_QM_POLICY_EXISTS + + + + No documentation. + + + ERROR_IPSEC_QM_POLICY_NOT_FOUND + ERROR_IPSEC_QM_POLICY_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_QM_POLICY_IN_USE + ERROR_IPSEC_QM_POLICY_IN_USE + + + + No documentation. + + + ERROR_IPSEC_MM_POLICY_EXISTS + ERROR_IPSEC_MM_POLICY_EXISTS + + + + No documentation. + + + ERROR_IPSEC_MM_POLICY_NOT_FOUND + ERROR_IPSEC_MM_POLICY_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_MM_POLICY_IN_USE + ERROR_IPSEC_MM_POLICY_IN_USE + + + + No documentation. + + + ERROR_IPSEC_MM_FILTER_EXISTS + ERROR_IPSEC_MM_FILTER_EXISTS + + + + No documentation. + + + ERROR_IPSEC_MM_FILTER_NOT_FOUND + ERROR_IPSEC_MM_FILTER_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_TRANSPORT_FILTER_EXISTS + ERROR_IPSEC_TRANSPORT_FILTER_EXISTS + + + + No documentation. + + + ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND + ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_MM_AUTH_EXISTS + ERROR_IPSEC_MM_AUTH_EXISTS + + + + No documentation. + + + ERROR_IPSEC_MM_AUTH_NOT_FOUND + ERROR_IPSEC_MM_AUTH_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_MM_AUTH_IN_USE + ERROR_IPSEC_MM_AUTH_IN_USE + + + + No documentation. + + + ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND + ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND + ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND + ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_TUNNEL_FILTER_EXISTS + ERROR_IPSEC_TUNNEL_FILTER_EXISTS + + + + No documentation. + + + ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND + ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_MM_FILTER_PENDING_DELETION + ERROR_IPSEC_MM_FILTER_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION + ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION + ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_MM_POLICY_PENDING_DELETION + ERROR_IPSEC_MM_POLICY_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_MM_AUTH_PENDING_DELETION + ERROR_IPSEC_MM_AUTH_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_QM_POLICY_PENDING_DELETION + ERROR_IPSEC_QM_POLICY_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_IKE_NEG_STATUS_BEGIN + ERROR_IPSEC_IKE_NEG_STATUS_BEGIN + + + + No documentation. + + + ERROR_IPSEC_IKE_AUTH_FAIL + ERROR_IPSEC_IKE_AUTH_FAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_ATTRIB_FAIL + ERROR_IPSEC_IKE_ATTRIB_FAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_NEGOTIATION_PENDING + ERROR_IPSEC_IKE_NEGOTIATION_PENDING + + + + No documentation. + + + ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR + ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR + + + + No documentation. + + + ERROR_IPSEC_IKE_TIMED_OUT + ERROR_IPSEC_IKE_TIMED_OUT + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_CERT + ERROR_IPSEC_IKE_NO_CERT + + + + No documentation. + + + ERROR_IPSEC_IKE_SA_DELETED + ERROR_IPSEC_IKE_SA_DELETED + + + + No documentation. + + + ERROR_IPSEC_IKE_SA_REAPED + ERROR_IPSEC_IKE_SA_REAPED + + + + No documentation. + + + ERROR_IPSEC_IKE_MM_ACQUIRE_DROP + ERROR_IPSEC_IKE_MM_ACQUIRE_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_QM_ACQUIRE_DROP + ERROR_IPSEC_IKE_QM_ACQUIRE_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_QUEUE_DROP_MM + ERROR_IPSEC_IKE_QUEUE_DROP_MM + + + + No documentation. + + + ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM + ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM + + + + No documentation. + + + ERROR_IPSEC_IKE_DROP_NO_RESPONSE + ERROR_IPSEC_IKE_DROP_NO_RESPONSE + + + + No documentation. + + + ERROR_IPSEC_IKE_MM_DELAY_DROP + ERROR_IPSEC_IKE_MM_DELAY_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_QM_DELAY_DROP + ERROR_IPSEC_IKE_QM_DELAY_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_ERROR + ERROR_IPSEC_IKE_ERROR + + + + No documentation. + + + ERROR_IPSEC_IKE_CRL_FAILED + ERROR_IPSEC_IKE_CRL_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_KEY_USAGE + ERROR_IPSEC_IKE_INVALID_KEY_USAGE + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_CERT_TYPE + ERROR_IPSEC_IKE_INVALID_CERT_TYPE + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_PRIVATE_KEY + ERROR_IPSEC_IKE_NO_PRIVATE_KEY + + + + No documentation. + + + ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY + ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY + + + + No documentation. + + + ERROR_IPSEC_IKE_DH_FAIL + ERROR_IPSEC_IKE_DH_FAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED + ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_HEADER + ERROR_IPSEC_IKE_INVALID_HEADER + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_POLICY + ERROR_IPSEC_IKE_NO_POLICY + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_SIGNATURE + ERROR_IPSEC_IKE_INVALID_SIGNATURE + + + + No documentation. + + + ERROR_IPSEC_IKE_KERBEROS_ERROR + ERROR_IPSEC_IKE_KERBEROS_ERROR + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_PUBLIC_KEY + ERROR_IPSEC_IKE_NO_PUBLIC_KEY + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR + ERROR_IPSEC_IKE_PROCESS_ERR + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_SA + ERROR_IPSEC_IKE_PROCESS_ERR_SA + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_PROP + ERROR_IPSEC_IKE_PROCESS_ERR_PROP + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_TRANS + ERROR_IPSEC_IKE_PROCESS_ERR_TRANS + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_KE + ERROR_IPSEC_IKE_PROCESS_ERR_KE + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_ID + ERROR_IPSEC_IKE_PROCESS_ERR_ID + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_CERT + ERROR_IPSEC_IKE_PROCESS_ERR_CERT + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ + ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_HASH + ERROR_IPSEC_IKE_PROCESS_ERR_HASH + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_SIG + ERROR_IPSEC_IKE_PROCESS_ERR_SIG + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_NONCE + ERROR_IPSEC_IKE_PROCESS_ERR_NONCE + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY + ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_DELETE + ERROR_IPSEC_IKE_PROCESS_ERR_DELETE + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR + ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_PAYLOAD + ERROR_IPSEC_IKE_INVALID_PAYLOAD + + + + No documentation. + + + ERROR_IPSEC_IKE_LOAD_SOFT_SA + ERROR_IPSEC_IKE_LOAD_SOFT_SA + + + + No documentation. + + + ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN + ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_COOKIE + ERROR_IPSEC_IKE_INVALID_COOKIE + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_PEER_CERT + ERROR_IPSEC_IKE_NO_PEER_CERT + + + + No documentation. + + + ERROR_IPSEC_IKE_PEER_CRL_FAILED + ERROR_IPSEC_IKE_PEER_CRL_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_POLICY_CHANGE + ERROR_IPSEC_IKE_POLICY_CHANGE + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_MM_POLICY + ERROR_IPSEC_IKE_NO_MM_POLICY + + + + No documentation. + + + ERROR_IPSEC_IKE_NOTCBPRIV + ERROR_IPSEC_IKE_NOTCBPRIV + + + + No documentation. + + + ERROR_IPSEC_IKE_SECLOADFAIL + ERROR_IPSEC_IKE_SECLOADFAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_FAILSSPINIT + ERROR_IPSEC_IKE_FAILSSPINIT + + + + No documentation. + + + ERROR_IPSEC_IKE_FAILQUERYSSP + ERROR_IPSEC_IKE_FAILQUERYSSP + + + + No documentation. + + + ERROR_IPSEC_IKE_SRVACQFAIL + ERROR_IPSEC_IKE_SRVACQFAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_SRVQUERYCRED + ERROR_IPSEC_IKE_SRVQUERYCRED + + + + No documentation. + + + ERROR_IPSEC_IKE_GETSPIFAIL + ERROR_IPSEC_IKE_GETSPIFAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_FILTER + ERROR_IPSEC_IKE_INVALID_FILTER + + + + No documentation. + + + ERROR_IPSEC_IKE_OUT_OF_MEMORY + ERROR_IPSEC_IKE_OUT_OF_MEMORY + + + + No documentation. + + + ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED + ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_POLICY + ERROR_IPSEC_IKE_INVALID_POLICY + + + + No documentation. + + + ERROR_IPSEC_IKE_UNKNOWN_DOI + ERROR_IPSEC_IKE_UNKNOWN_DOI + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_SITUATION + ERROR_IPSEC_IKE_INVALID_SITUATION + + + + No documentation. + + + ERROR_IPSEC_IKE_DH_FAILURE + ERROR_IPSEC_IKE_DH_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_GROUP + ERROR_IPSEC_IKE_INVALID_GROUP + + + + No documentation. + + + ERROR_IPSEC_IKE_ENCRYPT + ERROR_IPSEC_IKE_ENCRYPT + + + + No documentation. + + + ERROR_IPSEC_IKE_DECRYPT + ERROR_IPSEC_IKE_DECRYPT + + + + No documentation. + + + ERROR_IPSEC_IKE_POLICY_MATCH + ERROR_IPSEC_IKE_POLICY_MATCH + + + + No documentation. + + + ERROR_IPSEC_IKE_UNSUPPORTED_ID + ERROR_IPSEC_IKE_UNSUPPORTED_ID + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_HASH + ERROR_IPSEC_IKE_INVALID_HASH + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_HASH_ALG + ERROR_IPSEC_IKE_INVALID_HASH_ALG + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_HASH_SIZE + ERROR_IPSEC_IKE_INVALID_HASH_SIZE + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG + ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_AUTH_ALG + ERROR_IPSEC_IKE_INVALID_AUTH_ALG + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_SIG + ERROR_IPSEC_IKE_INVALID_SIG + + + + No documentation. + + + ERROR_IPSEC_IKE_LOAD_FAILED + ERROR_IPSEC_IKE_LOAD_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_RPC_DELETE + ERROR_IPSEC_IKE_RPC_DELETE + + + + No documentation. + + + ERROR_IPSEC_IKE_BENIGN_REINIT + ERROR_IPSEC_IKE_BENIGN_REINIT + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY + ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION + ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN + ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN + + + + No documentation. + + + ERROR_IPSEC_IKE_MM_LIMIT + ERROR_IPSEC_IKE_MM_LIMIT + + + + No documentation. + + + ERROR_IPSEC_IKE_NEGOTIATION_DISABLED + ERROR_IPSEC_IKE_NEGOTIATION_DISABLED + + + + No documentation. + + + ERROR_IPSEC_IKE_QM_LIMIT + ERROR_IPSEC_IKE_QM_LIMIT + + + + No documentation. + + + ERROR_IPSEC_IKE_MM_EXPIRED + ERROR_IPSEC_IKE_MM_EXPIRED + + + + No documentation. + + + ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID + ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID + + + + No documentation. + + + ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH + ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH + + + + No documentation. + + + ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID + ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD + ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD + + + + No documentation. + + + ERROR_IPSEC_IKE_DOS_COOKIE_SENT + ERROR_IPSEC_IKE_DOS_COOKIE_SENT + + + + No documentation. + + + ERROR_IPSEC_IKE_SHUTTING_DOWN + ERROR_IPSEC_IKE_SHUTTING_DOWN + + + + No documentation. + + + ERROR_IPSEC_IKE_CGA_AUTH_FAILED + ERROR_IPSEC_IKE_CGA_AUTH_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_NATOA + ERROR_IPSEC_IKE_PROCESS_ERR_NATOA + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_MM_FOR_QM + ERROR_IPSEC_IKE_INVALID_MM_FOR_QM + + + + No documentation. + + + ERROR_IPSEC_IKE_QM_EXPIRED + ERROR_IPSEC_IKE_QM_EXPIRED + + + + No documentation. + + + ERROR_IPSEC_IKE_TOO_MANY_FILTERS + ERROR_IPSEC_IKE_TOO_MANY_FILTERS + + + + No documentation. + + + ERROR_IPSEC_IKE_NEG_STATUS_END + ERROR_IPSEC_IKE_NEG_STATUS_END + + + + No documentation. + + + ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL + ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL + + + + No documentation. + + + ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE + ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING + ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING + + + + No documentation. + + + ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING + ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING + + + + No documentation. + + + ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS + ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS + + + + No documentation. + + + ERROR_IPSEC_IKE_RATELIMIT_DROP + ERROR_IPSEC_IKE_RATELIMIT_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE + ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE + + + + No documentation. + + + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY + + + + No documentation. + + + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END + ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END + + + + No documentation. + + + ERROR_IPSEC_BAD_SPI + ERROR_IPSEC_BAD_SPI + + + + No documentation. + + + ERROR_IPSEC_SA_LIFETIME_EXPIRED + ERROR_IPSEC_SA_LIFETIME_EXPIRED + + + + No documentation. + + + ERROR_IPSEC_WRONG_SA + ERROR_IPSEC_WRONG_SA + + + + No documentation. + + + ERROR_IPSEC_REPLAY_CHECK_FAILED + ERROR_IPSEC_REPLAY_CHECK_FAILED + + + + No documentation. + + + ERROR_IPSEC_INVALID_PACKET + ERROR_IPSEC_INVALID_PACKET + + + + No documentation. + + + ERROR_IPSEC_INTEGRITY_CHECK_FAILED + ERROR_IPSEC_INTEGRITY_CHECK_FAILED + + + + No documentation. + + + ERROR_IPSEC_CLEAR_TEXT_DROP + ERROR_IPSEC_CLEAR_TEXT_DROP + + + + No documentation. + + + ERROR_IPSEC_AUTH_FIREWALL_DROP + ERROR_IPSEC_AUTH_FIREWALL_DROP + + + + No documentation. + + + ERROR_IPSEC_THROTTLE_DROP + ERROR_IPSEC_THROTTLE_DROP + + + + No documentation. + + + ERROR_IPSEC_DOSP_BLOCK + ERROR_IPSEC_DOSP_BLOCK + + + + No documentation. + + + ERROR_IPSEC_DOSP_RECEIVED_MULTICAST + ERROR_IPSEC_DOSP_RECEIVED_MULTICAST + + + + No documentation. + + + ERROR_IPSEC_DOSP_INVALID_PACKET + ERROR_IPSEC_DOSP_INVALID_PACKET + + + + No documentation. + + + ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED + ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED + + + + No documentation. + + + ERROR_IPSEC_DOSP_MAX_ENTRIES + ERROR_IPSEC_DOSP_MAX_ENTRIES + + + + No documentation. + + + ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED + ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED + + + + No documentation. + + + ERROR_IPSEC_DOSP_NOT_INSTALLED + ERROR_IPSEC_DOSP_NOT_INSTALLED + + + + No documentation. + + + ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES + ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES + + + + No documentation. + + + ERROR_SXS_SECTION_NOT_FOUND + ERROR_SXS_SECTION_NOT_FOUND + + + + No documentation. + + + ERROR_SXS_CANT_GEN_ACTCTX + ERROR_SXS_CANT_GEN_ACTCTX + + + + No documentation. + + + ERROR_SXS_INVALID_ACTCTXDATA_FORMAT + ERROR_SXS_INVALID_ACTCTXDATA_FORMAT + + + + No documentation. + + + ERROR_SXS_ASSEMBLY_NOT_FOUND + ERROR_SXS_ASSEMBLY_NOT_FOUND + + + + No documentation. + + + ERROR_SXS_MANIFEST_FORMAT_ERROR + ERROR_SXS_MANIFEST_FORMAT_ERROR + + + + No documentation. + + + ERROR_SXS_MANIFEST_PARSE_ERROR + ERROR_SXS_MANIFEST_PARSE_ERROR + + + + No documentation. + + + ERROR_SXS_ACTIVATION_CONTEXT_DISABLED + ERROR_SXS_ACTIVATION_CONTEXT_DISABLED + + + + No documentation. + + + ERROR_SXS_KEY_NOT_FOUND + ERROR_SXS_KEY_NOT_FOUND + + + + No documentation. + + + ERROR_SXS_VERSION_CONFLICT + ERROR_SXS_VERSION_CONFLICT + + + + No documentation. + + + ERROR_SXS_WRONG_SECTION_TYPE + ERROR_SXS_WRONG_SECTION_TYPE + + + + No documentation. + + + ERROR_SXS_THREAD_QUERIES_DISABLED + ERROR_SXS_THREAD_QUERIES_DISABLED + + + + No documentation. + + + ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET + ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET + + + + No documentation. + + + ERROR_SXS_UNKNOWN_ENCODING_GROUP + ERROR_SXS_UNKNOWN_ENCODING_GROUP + + + + No documentation. + + + ERROR_SXS_UNKNOWN_ENCODING + ERROR_SXS_UNKNOWN_ENCODING + + + + No documentation. + + + ERROR_SXS_INVALID_XML_NAMESPACE_URI + ERROR_SXS_INVALID_XML_NAMESPACE_URI + + + + No documentation. + + + ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED + ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED + + + + No documentation. + + + ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED + ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED + + + + No documentation. + + + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE + + + + No documentation. + + + ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE + ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE + + + + No documentation. + + + ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE + ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE + + + + No documentation. + + + ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT + ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT + + + + No documentation. + + + ERROR_SXS_DUPLICATE_DLL_NAME + ERROR_SXS_DUPLICATE_DLL_NAME + + + + No documentation. + + + ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME + ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME + + + + No documentation. + + + ERROR_SXS_DUPLICATE_CLSID + ERROR_SXS_DUPLICATE_CLSID + + + + No documentation. + + + ERROR_SXS_DUPLICATE_IID + ERROR_SXS_DUPLICATE_IID + + + + No documentation. + + + ERROR_SXS_DUPLICATE_TLBID + ERROR_SXS_DUPLICATE_TLBID + + + + No documentation. + + + ERROR_SXS_DUPLICATE_PROGID + ERROR_SXS_DUPLICATE_PROGID + + + + No documentation. + + + ERROR_SXS_DUPLICATE_ASSEMBLY_NAME + ERROR_SXS_DUPLICATE_ASSEMBLY_NAME + + + + No documentation. + + + ERROR_SXS_FILE_HASH_MISMATCH + ERROR_SXS_FILE_HASH_MISMATCH + + + + No documentation. + + + ERROR_SXS_POLICY_PARSE_ERROR + ERROR_SXS_POLICY_PARSE_ERROR + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGQUOTE + ERROR_SXS_XML_E_MISSINGQUOTE + + + + No documentation. + + + ERROR_SXS_XML_E_COMMENTSYNTAX + ERROR_SXS_XML_E_COMMENTSYNTAX + + + + No documentation. + + + ERROR_SXS_XML_E_BADSTARTNAMECHAR + ERROR_SXS_XML_E_BADSTARTNAMECHAR + + + + No documentation. + + + ERROR_SXS_XML_E_BADNAMECHAR + ERROR_SXS_XML_E_BADNAMECHAR + + + + No documentation. + + + ERROR_SXS_XML_E_BADCHARINSTRING + ERROR_SXS_XML_E_BADCHARINSTRING + + + + No documentation. + + + ERROR_SXS_XML_E_XMLDECLSYNTAX + ERROR_SXS_XML_E_XMLDECLSYNTAX + + + + No documentation. + + + ERROR_SXS_XML_E_BADCHARDATA + ERROR_SXS_XML_E_BADCHARDATA + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGWHITESPACE + ERROR_SXS_XML_E_MISSINGWHITESPACE + + + + No documentation. + + + ERROR_SXS_XML_E_EXPECTINGTAGEND + ERROR_SXS_XML_E_EXPECTINGTAGEND + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGSEMICOLON + ERROR_SXS_XML_E_MISSINGSEMICOLON + + + + No documentation. + + + ERROR_SXS_XML_E_UNBALANCEDPAREN + ERROR_SXS_XML_E_UNBALANCEDPAREN + + + + No documentation. + + + ERROR_SXS_XML_E_INTERNALERROR + ERROR_SXS_XML_E_INTERNALERROR + + + + No documentation. + + + ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE + ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE + + + + No documentation. + + + ERROR_SXS_XML_E_INCOMPLETE_ENCODING + ERROR_SXS_XML_E_INCOMPLETE_ENCODING + + + + No documentation. + + + ERROR_SXS_XML_E_MISSING_PAREN + ERROR_SXS_XML_E_MISSING_PAREN + + + + No documentation. + + + ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE + ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE + + + + No documentation. + + + ERROR_SXS_XML_E_MULTIPLE_COLONS + ERROR_SXS_XML_E_MULTIPLE_COLONS + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_DECIMAL + ERROR_SXS_XML_E_INVALID_DECIMAL + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_HEXIDECIMAL + ERROR_SXS_XML_E_INVALID_HEXIDECIMAL + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_UNICODE + ERROR_SXS_XML_E_INVALID_UNICODE + + + + No documentation. + + + ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK + ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK + + + + No documentation. + + + ERROR_SXS_XML_E_UNEXPECTEDENDTAG + ERROR_SXS_XML_E_UNEXPECTEDENDTAG + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDTAG + ERROR_SXS_XML_E_UNCLOSEDTAG + + + + No documentation. + + + ERROR_SXS_XML_E_DUPLICATEATTRIBUTE + ERROR_SXS_XML_E_DUPLICATEATTRIBUTE + + + + No documentation. + + + ERROR_SXS_XML_E_MULTIPLEROOTS + ERROR_SXS_XML_E_MULTIPLEROOTS + + + + No documentation. + + + ERROR_SXS_XML_E_INVALIDATROOTLEVEL + ERROR_SXS_XML_E_INVALIDATROOTLEVEL + + + + No documentation. + + + ERROR_SXS_XML_E_BADXMLDECL + ERROR_SXS_XML_E_BADXMLDECL + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGROOT + ERROR_SXS_XML_E_MISSINGROOT + + + + No documentation. + + + ERROR_SXS_XML_E_UNEXPECTEDEOF + ERROR_SXS_XML_E_UNEXPECTEDEOF + + + + No documentation. + + + ERROR_SXS_XML_E_BADPEREFINSUBSET + ERROR_SXS_XML_E_BADPEREFINSUBSET + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDSTARTTAG + ERROR_SXS_XML_E_UNCLOSEDSTARTTAG + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDENDTAG + ERROR_SXS_XML_E_UNCLOSEDENDTAG + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDSTRING + ERROR_SXS_XML_E_UNCLOSEDSTRING + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDCOMMENT + ERROR_SXS_XML_E_UNCLOSEDCOMMENT + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDDECL + ERROR_SXS_XML_E_UNCLOSEDDECL + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDCDATA + ERROR_SXS_XML_E_UNCLOSEDCDATA + + + + No documentation. + + + ERROR_SXS_XML_E_RESERVEDNAMESPACE + ERROR_SXS_XML_E_RESERVEDNAMESPACE + + + + No documentation. + + + ERROR_SXS_XML_E_INVALIDENCODING + ERROR_SXS_XML_E_INVALIDENCODING + + + + No documentation. + + + ERROR_SXS_XML_E_INVALIDSWITCH + ERROR_SXS_XML_E_INVALIDSWITCH + + + + No documentation. + + + ERROR_SXS_XML_E_BADXMLCASE + ERROR_SXS_XML_E_BADXMLCASE + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_STANDALONE + ERROR_SXS_XML_E_INVALID_STANDALONE + + + + No documentation. + + + ERROR_SXS_XML_E_UNEXPECTED_STANDALONE + ERROR_SXS_XML_E_UNEXPECTED_STANDALONE + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_VERSION + ERROR_SXS_XML_E_INVALID_VERSION + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGEQUALS + ERROR_SXS_XML_E_MISSINGEQUALS + + + + No documentation. + + + ERROR_SXS_PROTECTION_RECOVERY_FAILED + ERROR_SXS_PROTECTION_RECOVERY_FAILED + + + + No documentation. + + + ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT + ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT + + + + No documentation. + + + ERROR_SXS_PROTECTION_CATALOG_NOT_VALID + ERROR_SXS_PROTECTION_CATALOG_NOT_VALID + + + + No documentation. + + + ERROR_SXS_UNTRANSLATABLE_HRESULT + ERROR_SXS_UNTRANSLATABLE_HRESULT + + + + No documentation. + + + ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING + ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING + + + + No documentation. + + + ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE + ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE + + + + No documentation. + + + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME + + + + No documentation. + + + ERROR_SXS_ASSEMBLY_MISSING + ERROR_SXS_ASSEMBLY_MISSING + + + + No documentation. + + + ERROR_SXS_CORRUPT_ACTIVATION_STACK + ERROR_SXS_CORRUPT_ACTIVATION_STACK + + + + No documentation. + + + ERROR_SXS_CORRUPTION + ERROR_SXS_CORRUPTION + + + + No documentation. + + + ERROR_SXS_EARLY_DEACTIVATION + ERROR_SXS_EARLY_DEACTIVATION + + + + No documentation. + + + ERROR_SXS_INVALID_DEACTIVATION + ERROR_SXS_INVALID_DEACTIVATION + + + + No documentation. + + + ERROR_SXS_MULTIPLE_DEACTIVATION + ERROR_SXS_MULTIPLE_DEACTIVATION + + + + No documentation. + + + ERROR_SXS_PROCESS_TERMINATION_REQUESTED + ERROR_SXS_PROCESS_TERMINATION_REQUESTED + + + + No documentation. + + + ERROR_SXS_RELEASE_ACTIVATION_CONTEXT + ERROR_SXS_RELEASE_ACTIVATION_CONTEXT + + + + No documentation. + + + ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY + ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY + + + + No documentation. + + + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE + + + + No documentation. + + + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME + + + + No documentation. + + + ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE + ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE + + + + No documentation. + + + ERROR_SXS_IDENTITY_PARSE_ERROR + ERROR_SXS_IDENTITY_PARSE_ERROR + + + + No documentation. + + + ERROR_MALFORMED_SUBSTITUTION_STRING + ERROR_MALFORMED_SUBSTITUTION_STRING + + + + No documentation. + + + ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN + ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN + + + + No documentation. + + + ERROR_UNMAPPED_SUBSTITUTION_STRING + ERROR_UNMAPPED_SUBSTITUTION_STRING + + + + No documentation. + + + ERROR_SXS_ASSEMBLY_NOT_LOCKED + ERROR_SXS_ASSEMBLY_NOT_LOCKED + + + + No documentation. + + + ERROR_SXS_COMPONENT_STORE_CORRUPT + ERROR_SXS_COMPONENT_STORE_CORRUPT + + + + No documentation. + + + ERROR_ADVANCED_INSTALLER_FAILED + ERROR_ADVANCED_INSTALLER_FAILED + + + + No documentation. + + + ERROR_XML_ENCODING_MISMATCH + ERROR_XML_ENCODING_MISMATCH + + + + No documentation. + + + ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT + ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT + + + + No documentation. + + + ERROR_SXS_IDENTITIES_DIFFERENT + ERROR_SXS_IDENTITIES_DIFFERENT + + + + No documentation. + + + ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT + ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT + + + + No documentation. + + + ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY + ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY + + + + No documentation. + + + ERROR_SXS_MANIFEST_TOO_BIG + ERROR_SXS_MANIFEST_TOO_BIG + + + + No documentation. + + + ERROR_SXS_SETTING_NOT_REGISTERED + ERROR_SXS_SETTING_NOT_REGISTERED + + + + No documentation. + + + ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE + ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE + + + + No documentation. + + + ERROR_SMI_PRIMITIVE_INSTALLER_FAILED + ERROR_SMI_PRIMITIVE_INSTALLER_FAILED + + + + No documentation. + + + ERROR_GENERIC_COMMAND_FAILED + ERROR_GENERIC_COMMAND_FAILED + + + + No documentation. + + + ERROR_SXS_FILE_HASH_MISSING + ERROR_SXS_FILE_HASH_MISSING + + + + No documentation. + + + ERROR_EVT_INVALID_CHANNEL_PATH + ERROR_EVT_INVALID_CHANNEL_PATH + + + + No documentation. + + + ERROR_EVT_INVALID_QUERY + ERROR_EVT_INVALID_QUERY + + + + No documentation. + + + ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND + ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND + ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_INVALID_PUBLISHER_NAME + ERROR_EVT_INVALID_PUBLISHER_NAME + + + + No documentation. + + + ERROR_EVT_INVALID_EVENT_DATA + ERROR_EVT_INVALID_EVENT_DATA + + + + No documentation. + + + ERROR_EVT_CHANNEL_NOT_FOUND + ERROR_EVT_CHANNEL_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_MALFORMED_XML_TEXT + ERROR_EVT_MALFORMED_XML_TEXT + + + + No documentation. + + + ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL + ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL + + + + No documentation. + + + ERROR_EVT_CONFIGURATION_ERROR + ERROR_EVT_CONFIGURATION_ERROR + + + + No documentation. + + + ERROR_EVT_QUERY_RESULT_STALE + ERROR_EVT_QUERY_RESULT_STALE + + + + No documentation. + + + ERROR_EVT_QUERY_RESULT_INVALID_POSITION + ERROR_EVT_QUERY_RESULT_INVALID_POSITION + + + + No documentation. + + + ERROR_EVT_NON_VALIDATING_MSXML + ERROR_EVT_NON_VALIDATING_MSXML + + + + No documentation. + + + ERROR_EVT_FILTER_ALREADYSCOPED + ERROR_EVT_FILTER_ALREADYSCOPED + + + + No documentation. + + + ERROR_EVT_FILTER_NOTELTSET + ERROR_EVT_FILTER_NOTELTSET + + + + No documentation. + + + ERROR_EVT_FILTER_INVARG + ERROR_EVT_FILTER_INVARG + + + + No documentation. + + + ERROR_EVT_FILTER_INVTEST + ERROR_EVT_FILTER_INVTEST + + + + No documentation. + + + ERROR_EVT_FILTER_INVTYPE + ERROR_EVT_FILTER_INVTYPE + + + + No documentation. + + + ERROR_EVT_FILTER_PARSEERR + ERROR_EVT_FILTER_PARSEERR + + + + No documentation. + + + ERROR_EVT_FILTER_UNSUPPORTEDOP + ERROR_EVT_FILTER_UNSUPPORTEDOP + + + + No documentation. + + + ERROR_EVT_FILTER_UNEXPECTEDTOKEN + ERROR_EVT_FILTER_UNEXPECTEDTOKEN + + + + No documentation. + + + ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL + ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL + + + + No documentation. + + + ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE + ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE + + + + No documentation. + + + ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE + ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE + + + + No documentation. + + + ERROR_EVT_CHANNEL_CANNOT_ACTIVATE + ERROR_EVT_CHANNEL_CANNOT_ACTIVATE + + + + No documentation. + + + ERROR_EVT_FILTER_TOO_COMPLEX + ERROR_EVT_FILTER_TOO_COMPLEX + + + + No documentation. + + + ERROR_EVT_MESSAGE_NOT_FOUND + ERROR_EVT_MESSAGE_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_MESSAGE_ID_NOT_FOUND + ERROR_EVT_MESSAGE_ID_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_UNRESOLVED_VALUE_INSERT + ERROR_EVT_UNRESOLVED_VALUE_INSERT + + + + No documentation. + + + ERROR_EVT_UNRESOLVED_PARAMETER_INSERT + ERROR_EVT_UNRESOLVED_PARAMETER_INSERT + + + + No documentation. + + + ERROR_EVT_MAX_INSERTS_REACHED + ERROR_EVT_MAX_INSERTS_REACHED + + + + No documentation. + + + ERROR_EVT_EVENT_DEFINITION_NOT_FOUND + ERROR_EVT_EVENT_DEFINITION_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND + ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_VERSION_TOO_OLD + ERROR_EVT_VERSION_TOO_OLD + + + + No documentation. + + + ERROR_EVT_VERSION_TOO_NEW + ERROR_EVT_VERSION_TOO_NEW + + + + No documentation. + + + ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY + ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY + + + + No documentation. + + + ERROR_EVT_PUBLISHER_DISABLED + ERROR_EVT_PUBLISHER_DISABLED + + + + No documentation. + + + ERROR_EVT_FILTER_OUT_OF_RANGE + ERROR_EVT_FILTER_OUT_OF_RANGE + + + + No documentation. + + + ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE + ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE + + + + No documentation. + + + ERROR_EC_LOG_DISABLED + ERROR_EC_LOG_DISABLED + + + + No documentation. + + + ERROR_EC_CIRCULAR_FORWARDING + ERROR_EC_CIRCULAR_FORWARDING + + + + No documentation. + + + ERROR_EC_CREDSTORE_FULL + ERROR_EC_CREDSTORE_FULL + + + + No documentation. + + + ERROR_EC_CRED_NOT_FOUND + ERROR_EC_CRED_NOT_FOUND + + + + No documentation. + + + ERROR_EC_NO_ACTIVE_CHANNEL + ERROR_EC_NO_ACTIVE_CHANNEL + + + + No documentation. + + + ERROR_MUI_FILE_NOT_FOUND + ERROR_MUI_FILE_NOT_FOUND + + + + No documentation. + + + ERROR_MUI_INVALID_FILE + ERROR_MUI_INVALID_FILE + + + + No documentation. + + + ERROR_MUI_INVALID_RC_CONFIG + ERROR_MUI_INVALID_RC_CONFIG + + + + No documentation. + + + ERROR_MUI_INVALID_LOCALE_NAME + ERROR_MUI_INVALID_LOCALE_NAME + + + + No documentation. + + + ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME + ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME + + + + No documentation. + + + ERROR_MUI_FILE_NOT_LOADED + ERROR_MUI_FILE_NOT_LOADED + + + + No documentation. + + + ERROR_RESOURCE_ENUM_USER_STOP + ERROR_RESOURCE_ENUM_USER_STOP + + + + No documentation. + + + ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED + ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED + + + + No documentation. + + + ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME + ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME + + + + No documentation. + + + ERROR_MCA_INVALID_CAPABILITIES_STRING + ERROR_MCA_INVALID_CAPABILITIES_STRING + + + + No documentation. + + + ERROR_MCA_INVALID_VCP_VERSION + ERROR_MCA_INVALID_VCP_VERSION + + + + No documentation. + + + ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION + ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION + + + + No documentation. + + + ERROR_MCA_MCCS_VERSION_MISMATCH + ERROR_MCA_MCCS_VERSION_MISMATCH + + + + No documentation. + + + ERROR_MCA_UNSUPPORTED_MCCS_VERSION + ERROR_MCA_UNSUPPORTED_MCCS_VERSION + + + + No documentation. + + + ERROR_MCA_INTERNAL_ERROR + ERROR_MCA_INTERNAL_ERROR + + + + No documentation. + + + ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED + ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED + + + + No documentation. + + + ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE + ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE + + + + No documentation. + + + ERROR_AMBIGUOUS_SYSTEM_DEVICE + ERROR_AMBIGUOUS_SYSTEM_DEVICE + + + + No documentation. + + + ERROR_SYSTEM_DEVICE_NOT_FOUND + ERROR_SYSTEM_DEVICE_NOT_FOUND + + + + No documentation. + + + ERROR_HASH_NOT_SUPPORTED + ERROR_HASH_NOT_SUPPORTED + + + + No documentation. + + + ERROR_HASH_NOT_PRESENT + ERROR_HASH_NOT_PRESENT + + + + No documentation. + + + ERROR_AUDITING_DISABLED + ERROR_AUDITING_DISABLED + + + + No documentation. + + + ERROR_ALL_SIDS_FILTERED + ERROR_ALL_SIDS_FILTERED + + + + No documentation. + + + ERROR_BIZRULES_NOT_ENABLED + ERROR_BIZRULES_NOT_ENABLED + + + + No documentation. + + + ERROR_CRED_REQUIRES_CONFIRMATION + ERROR_CRED_REQUIRES_CONFIRMATION + + + + No documentation. + + + ERROR_FLT_IO_COMPLETE + ERROR_FLT_IO_COMPLETE + + + + No documentation. + + + ERROR_FLT_NO_HANDLER_DEFINED + ERROR_FLT_NO_HANDLER_DEFINED + + + + No documentation. + + + ERROR_FLT_CONTEXT_ALREADY_DEFINED + ERROR_FLT_CONTEXT_ALREADY_DEFINED + + + + No documentation. + + + ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST + ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST + + + + No documentation. + + + ERROR_FLT_DISALLOW_FAST_IO + ERROR_FLT_DISALLOW_FAST_IO + + + + No documentation. + + + ERROR_FLT_INVALID_NAME_REQUEST + ERROR_FLT_INVALID_NAME_REQUEST + + + + No documentation. + + + ERROR_FLT_NOT_SAFE_TO_POST_OPERATION + ERROR_FLT_NOT_SAFE_TO_POST_OPERATION + + + + No documentation. + + + ERROR_FLT_NOT_INITIALIZED + ERROR_FLT_NOT_INITIALIZED + + + + No documentation. + + + ERROR_FLT_FILTER_NOT_READY + ERROR_FLT_FILTER_NOT_READY + + + + No documentation. + + + ERROR_FLT_POST_OPERATION_CLEANUP + ERROR_FLT_POST_OPERATION_CLEANUP + + + + No documentation. + + + ERROR_FLT_INTERNAL_ERROR + ERROR_FLT_INTERNAL_ERROR + + + + No documentation. + + + ERROR_FLT_DELETING_OBJECT + ERROR_FLT_DELETING_OBJECT + + + + No documentation. + + + ERROR_FLT_MUST_BE_NONPAGED_POOL + ERROR_FLT_MUST_BE_NONPAGED_POOL + + + + No documentation. + + + ERROR_FLT_DUPLICATE_ENTRY + ERROR_FLT_DUPLICATE_ENTRY + + + + No documentation. + + + ERROR_FLT_CBDQ_DISABLED + ERROR_FLT_CBDQ_DISABLED + + + + No documentation. + + + ERROR_FLT_DO_NOT_ATTACH + ERROR_FLT_DO_NOT_ATTACH + + + + No documentation. + + + ERROR_FLT_DO_NOT_DETACH + ERROR_FLT_DO_NOT_DETACH + + + + No documentation. + + + ERROR_FLT_INSTANCE_ALTITUDE_COLLISION + ERROR_FLT_INSTANCE_ALTITUDE_COLLISION + + + + No documentation. + + + ERROR_FLT_INSTANCE_NAME_COLLISION + ERROR_FLT_INSTANCE_NAME_COLLISION + + + + No documentation. + + + ERROR_FLT_FILTER_NOT_FOUND + ERROR_FLT_FILTER_NOT_FOUND + + + + No documentation. + + + ERROR_FLT_VOLUME_NOT_FOUND + ERROR_FLT_VOLUME_NOT_FOUND + + + + No documentation. + + + ERROR_FLT_INSTANCE_NOT_FOUND + ERROR_FLT_INSTANCE_NOT_FOUND + + + + No documentation. + + + ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND + ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND + + + + No documentation. + + + ERROR_FLT_INVALID_CONTEXT_REGISTRATION + ERROR_FLT_INVALID_CONTEXT_REGISTRATION + + + + No documentation. + + + ERROR_FLT_NAME_CACHE_MISS + ERROR_FLT_NAME_CACHE_MISS + + + + No documentation. + + + ERROR_FLT_NO_DEVICE_OBJECT + ERROR_FLT_NO_DEVICE_OBJECT + + + + No documentation. + + + ERROR_FLT_VOLUME_ALREADY_MOUNTED + ERROR_FLT_VOLUME_ALREADY_MOUNTED + + + + No documentation. + + + ERROR_FLT_ALREADY_ENLISTED + ERROR_FLT_ALREADY_ENLISTED + + + + No documentation. + + + ERROR_FLT_CONTEXT_ALREADY_LINKED + ERROR_FLT_CONTEXT_ALREADY_LINKED + + + + No documentation. + + + ERROR_FLT_NO_WAITER_FOR_REPLY + ERROR_FLT_NO_WAITER_FOR_REPLY + + + + No documentation. + + + ERROR_HUNG_DISPLAY_DRIVER_THREAD + ERROR_HUNG_DISPLAY_DRIVER_THREAD + + + + No documentation. + + + ERROR_MONITOR_NO_DESCRIPTOR + ERROR_MONITOR_NO_DESCRIPTOR + + + + No documentation. + + + ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT + ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT + + + + No documentation. + + + ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM + ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM + + + + No documentation. + + + ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK + ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK + + + + No documentation. + + + ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED + ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED + + + + No documentation. + + + ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK + ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK + + + + No documentation. + + + ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK + ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK + + + + No documentation. + + + ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA + ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA + + + + No documentation. + + + ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK + ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK + + + + No documentation. + + + ERROR_MONITOR_INVALID_MANUFACTURE_DATE + ERROR_MONITOR_INVALID_MANUFACTURE_DATE + + + + No documentation. + + + ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER + ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER + + + + No documentation. + + + ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER + ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER + ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_WAS_RESET + ERROR_GRAPHICS_ADAPTER_WAS_RESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_DRIVER_MODEL + ERROR_GRAPHICS_INVALID_DRIVER_MODEL + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_MODE_CHANGED + ERROR_GRAPHICS_PRESENT_MODE_CHANGED + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_OCCLUDED + ERROR_GRAPHICS_PRESENT_OCCLUDED + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_DENIED + ERROR_GRAPHICS_PRESENT_DENIED + + + + No documentation. + + + ERROR_GRAPHICS_CANNOTCOLORCONVERT + ERROR_GRAPHICS_CANNOTCOLORCONVERT + + + + No documentation. + + + ERROR_GRAPHICS_DRIVER_MISMATCH + ERROR_GRAPHICS_DRIVER_MISMATCH + + + + No documentation. + + + ERROR_GRAPHICS_PARTIAL_DATA_POPULATED + ERROR_GRAPHICS_PARTIAL_DATA_POPULATED + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED + ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_UNOCCLUDED + ERROR_GRAPHICS_PRESENT_UNOCCLUDED + + + + No documentation. + + + ERROR_GRAPHICS_NO_VIDEO_MEMORY + ERROR_GRAPHICS_NO_VIDEO_MEMORY + + + + No documentation. + + + ERROR_GRAPHICS_CANT_LOCK_MEMORY + ERROR_GRAPHICS_CANT_LOCK_MEMORY + + + + No documentation. + + + ERROR_GRAPHICS_ALLOCATION_BUSY + ERROR_GRAPHICS_ALLOCATION_BUSY + + + + No documentation. + + + ERROR_GRAPHICS_TOO_MANY_REFERENCES + ERROR_GRAPHICS_TOO_MANY_REFERENCES + + + + No documentation. + + + ERROR_GRAPHICS_TRY_AGAIN_LATER + ERROR_GRAPHICS_TRY_AGAIN_LATER + + + + No documentation. + + + ERROR_GRAPHICS_TRY_AGAIN_NOW + ERROR_GRAPHICS_TRY_AGAIN_NOW + + + + No documentation. + + + ERROR_GRAPHICS_ALLOCATION_INVALID + ERROR_GRAPHICS_ALLOCATION_INVALID + + + + No documentation. + + + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE + + + + No documentation. + + + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION + ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE + ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE + + + + No documentation. + + + ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION + ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION + + + + No documentation. + + + ERROR_GRAPHICS_ALLOCATION_CLOSED + ERROR_GRAPHICS_ALLOCATION_CLOSED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE + ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE + ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE + + + + No documentation. + + + ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE + ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE + + + + No documentation. + + + ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST + ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST + + + + No documentation. + + + ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE + ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED + ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED + ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN + ERROR_GRAPHICS_INVALID_VIDPN + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET + + + + No documentation. + + + ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED + ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_MODE_NOT_PINNED + ERROR_GRAPHICS_MODE_NOT_PINNED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET + ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET + ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_FREQUENCY + ERROR_GRAPHICS_INVALID_FREQUENCY + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_ACTIVE_REGION + ERROR_GRAPHICS_INVALID_ACTIVE_REGION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_TOTAL_REGION + ERROR_GRAPHICS_INVALID_TOTAL_REGION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE + + + + No documentation. + + + ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET + ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY + ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET + ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET + ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET + ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET + + + + No documentation. + + + ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET + ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_TARGET_ALREADY_IN_SET + ERROR_GRAPHICS_TARGET_ALREADY_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH + ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH + + + + No documentation. + + + ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY + ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE + + + + No documentation. + + + ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET + ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_NO_PREFERRED_MODE + ERROR_GRAPHICS_NO_PREFERRED_MODE + + + + No documentation. + + + ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET + ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_STALE_MODESET + ERROR_GRAPHICS_STALE_MODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET + ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE + ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE + + + + No documentation. + + + ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN + ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN + + + + No documentation. + + + ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE + ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE + + + + No documentation. + + + ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION + ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION + + + + No documentation. + + + ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES + ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES + + + + No documentation. + + + ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY + ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR + + + + No documentation. + + + ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET + ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET + ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE + ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE + ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE + + + + No documentation. + + + ERROR_GRAPHICS_RESOURCES_NOT_RELATED + ERROR_GRAPHICS_RESOURCES_NOT_RELATED + + + + No documentation. + + + ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE + ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE + + + + No documentation. + + + ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE + ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE + + + + No documentation. + + + ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET + ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET + + + + No documentation. + + + ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER + ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER + + + + No documentation. + + + ERROR_GRAPHICS_NO_VIDPNMGR + ERROR_GRAPHICS_NO_VIDPNMGR + + + + No documentation. + + + ERROR_GRAPHICS_NO_ACTIVE_VIDPN + ERROR_GRAPHICS_NO_ACTIVE_VIDPN + + + + No documentation. + + + ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY + ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_MONITOR_NOT_CONNECTED + ERROR_GRAPHICS_MONITOR_NOT_CONNECTED + + + + No documentation. + + + ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY + ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE + ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE + ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_STRIDE + ERROR_GRAPHICS_INVALID_STRIDE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PIXELFORMAT + ERROR_GRAPHICS_INVALID_PIXELFORMAT + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_COLORBASIS + ERROR_GRAPHICS_INVALID_COLORBASIS + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE + ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE + + + + No documentation. + + + ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY + ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT + ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT + + + + No documentation. + + + ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE + ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE + + + + No documentation. + + + ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN + ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL + ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION + ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION + + + + No documentation. + + + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_GAMMA_RAMP + ERROR_GRAPHICS_INVALID_GAMMA_RAMP + + + + No documentation. + + + ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED + ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED + ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_MODE_NOT_IN_MODESET + ERROR_GRAPHICS_MODE_NOT_IN_MODESET + + + + No documentation. + + + ERROR_GRAPHICS_DATASET_IS_EMPTY + ERROR_GRAPHICS_DATASET_IS_EMPTY + + + + No documentation. + + + ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET + ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE + ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE + ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE + + + + No documentation. + + + ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS + ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS + + + + No documentation. + + + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING + ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING + + + + No documentation. + + + ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED + ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED + + + + No documentation. + + + ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS + ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS + + + + No documentation. + + + ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT + ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM + ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN + ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT + + + + No documentation. + + + ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED + ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED + + + + No documentation. + + + ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION + ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_CLIENT_TYPE + ERROR_GRAPHICS_INVALID_CLIENT_TYPE + + + + No documentation. + + + ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET + ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET + + + + No documentation. + + + ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED + ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED + + + + No documentation. + + + ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED + ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS + ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS + + + + No documentation. + + + ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER + ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER + + + + No documentation. + + + ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED + ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED + + + + No documentation. + + + ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED + ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY + ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY + + + + No documentation. + + + ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED + ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED + + + + No documentation. + + + ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON + ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON + + + + No documentation. + + + ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE + ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE + + + + No documentation. + + + ERROR_GRAPHICS_LEADLINK_START_DEFERRED + ERROR_GRAPHICS_LEADLINK_START_DEFERRED + + + + No documentation. + + + ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER + ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER + + + + No documentation. + + + ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY + ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY + + + + No documentation. + + + ERROR_GRAPHICS_START_DEFERRED + ERROR_GRAPHICS_START_DEFERRED + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED + ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_NOT_SUPPORTED + ERROR_GRAPHICS_OPM_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_COPP_NOT_SUPPORTED + ERROR_GRAPHICS_COPP_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_UAB_NOT_SUPPORTED + ERROR_GRAPHICS_UAB_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS + ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST + ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INTERNAL_ERROR + ERROR_GRAPHICS_OPM_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_HANDLE + ERROR_GRAPHICS_OPM_INVALID_HANDLE + + + + No documentation. + + + ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH + ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH + + + + No documentation. + + + ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED + ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED + ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED + + + + No documentation. + + + ERROR_GRAPHICS_PVP_HFS_FAILED + ERROR_GRAPHICS_PVP_HFS_FAILED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_SRM + ERROR_GRAPHICS_OPM_INVALID_SRM + + + + No documentation. + + + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP + + + + No documentation. + + + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP + + + + No documentation. + + + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA + + + + No documentation. + + + ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET + ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET + + + + No documentation. + + + ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH + ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH + + + + No documentation. + + + ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE + ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE + + + + No documentation. + + + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS + ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST + ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST + + + + No documentation. + + + ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR + ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED + ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST + ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST + + + + No documentation. + + + ERROR_GRAPHICS_I2C_NOT_SUPPORTED + ERROR_GRAPHICS_I2C_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST + ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA + ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA + + + + No documentation. + + + ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA + ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED + ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_INVALID_DATA + ERROR_GRAPHICS_DDCCI_INVALID_DATA + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE + ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE + + + + No documentation. + + + ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING + ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING + + + + No documentation. + + + ERROR_GRAPHICS_MCA_INTERNAL_ERROR + ERROR_GRAPHICS_MCA_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE + ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE + + + + No documentation. + + + ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS + ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE + ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE + + + + No documentation. + + + ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION + ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION + + + + No documentation. + + + ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION + ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION + + + + No documentation. + + + ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH + ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH + + + + No documentation. + + + ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION + ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION + + + + No documentation. + + + ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED + ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED + + + + No documentation. + + + ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE + ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE + + + + No documentation. + + + ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED + ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME + ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME + + + + No documentation. + + + ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP + ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP + + + + No documentation. + + + ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED + ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_POINTER + ERROR_GRAPHICS_INVALID_POINTER + + + + No documentation. + + + ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE + ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE + + + + No documentation. + + + ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL + ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL + + + + No documentation. + + + ERROR_GRAPHICS_INTERNAL_ERROR + ERROR_GRAPHICS_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS + ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS + + + + No documentation. + + + ERROR_NDIS_INTERFACE_CLOSING + ERROR_NDIS_INTERFACE_CLOSING + + + + No documentation. + + + ERROR_NDIS_BAD_VERSION + ERROR_NDIS_BAD_VERSION + + + + No documentation. + + + ERROR_NDIS_BAD_CHARACTERISTICS + ERROR_NDIS_BAD_CHARACTERISTICS + + + + No documentation. + + + ERROR_NDIS_ADAPTER_NOT_FOUND + ERROR_NDIS_ADAPTER_NOT_FOUND + + + + No documentation. + + + ERROR_NDIS_OPEN_FAILED + ERROR_NDIS_OPEN_FAILED + + + + No documentation. + + + ERROR_NDIS_DEVICE_FAILED + ERROR_NDIS_DEVICE_FAILED + + + + No documentation. + + + ERROR_NDIS_MULTICAST_FULL + ERROR_NDIS_MULTICAST_FULL + + + + No documentation. + + + ERROR_NDIS_MULTICAST_EXISTS + ERROR_NDIS_MULTICAST_EXISTS + + + + No documentation. + + + ERROR_NDIS_MULTICAST_NOT_FOUND + ERROR_NDIS_MULTICAST_NOT_FOUND + + + + No documentation. + + + ERROR_NDIS_REQUEST_ABORTED + ERROR_NDIS_REQUEST_ABORTED + + + + No documentation. + + + ERROR_NDIS_RESET_IN_PROGRESS + ERROR_NDIS_RESET_IN_PROGRESS + + + + No documentation. + + + ERROR_NDIS_NOT_SUPPORTED + ERROR_NDIS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_NDIS_INVALID_PACKET + ERROR_NDIS_INVALID_PACKET + + + + No documentation. + + + ERROR_NDIS_ADAPTER_NOT_READY + ERROR_NDIS_ADAPTER_NOT_READY + + + + No documentation. + + + ERROR_NDIS_INVALID_LENGTH + ERROR_NDIS_INVALID_LENGTH + + + + No documentation. + + + ERROR_NDIS_INVALID_DATA + ERROR_NDIS_INVALID_DATA + + + + No documentation. + + + ERROR_NDIS_BUFFER_TOO_SHORT + ERROR_NDIS_BUFFER_TOO_SHORT + + + + No documentation. + + + ERROR_NDIS_INVALID_OID + ERROR_NDIS_INVALID_OID + + + + No documentation. + + + ERROR_NDIS_ADAPTER_REMOVED + ERROR_NDIS_ADAPTER_REMOVED + + + + No documentation. + + + ERROR_NDIS_UNSUPPORTED_MEDIA + ERROR_NDIS_UNSUPPORTED_MEDIA + + + + No documentation. + + + ERROR_NDIS_GROUP_ADDRESS_IN_USE + ERROR_NDIS_GROUP_ADDRESS_IN_USE + + + + No documentation. + + + ERROR_NDIS_FILE_NOT_FOUND + ERROR_NDIS_FILE_NOT_FOUND + + + + No documentation. + + + ERROR_NDIS_ERROR_READING_FILE + ERROR_NDIS_ERROR_READING_FILE + + + + No documentation. + + + ERROR_NDIS_ALREADY_MAPPED + ERROR_NDIS_ALREADY_MAPPED + + + + No documentation. + + + ERROR_NDIS_RESOURCE_CONFLICT + ERROR_NDIS_RESOURCE_CONFLICT + + + + No documentation. + + + ERROR_NDIS_MEDIA_DISCONNECTED + ERROR_NDIS_MEDIA_DISCONNECTED + + + + No documentation. + + + ERROR_NDIS_INVALID_ADDRESS + ERROR_NDIS_INVALID_ADDRESS + + + + No documentation. + + + ERROR_NDIS_INVALID_DEVICE_REQUEST + ERROR_NDIS_INVALID_DEVICE_REQUEST + + + + No documentation. + + + ERROR_NDIS_PAUSED + ERROR_NDIS_PAUSED + + + + No documentation. + + + ERROR_NDIS_INTERFACE_NOT_FOUND + ERROR_NDIS_INTERFACE_NOT_FOUND + + + + No documentation. + + + ERROR_NDIS_UNSUPPORTED_REVISION + ERROR_NDIS_UNSUPPORTED_REVISION + + + + No documentation. + + + ERROR_NDIS_INVALID_PORT + ERROR_NDIS_INVALID_PORT + + + + No documentation. + + + ERROR_NDIS_INVALID_PORT_STATE + ERROR_NDIS_INVALID_PORT_STATE + + + + No documentation. + + + ERROR_NDIS_LOW_POWER_STATE + ERROR_NDIS_LOW_POWER_STATE + + + + No documentation. + + + ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED + ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED + + + + No documentation. + + + ERROR_NDIS_DOT11_MEDIA_IN_USE + ERROR_NDIS_DOT11_MEDIA_IN_USE + + + + No documentation. + + + ERROR_NDIS_DOT11_POWER_STATE_INVALID + ERROR_NDIS_DOT11_POWER_STATE_INVALID + + + + No documentation. + + + ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL + ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL + + + + No documentation. + + + ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL + ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL + + + + No documentation. + + + ERROR_NDIS_INDICATION_REQUIRED + ERROR_NDIS_INDICATION_REQUIRED + + + + No documentation. + + + ERROR_NDIS_OFFLOAD_POLICY + ERROR_NDIS_OFFLOAD_POLICY + + + + No documentation. + + + ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED + ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED + + + + No documentation. + + + ERROR_NDIS_OFFLOAD_PATH_REJECTED + ERROR_NDIS_OFFLOAD_PATH_REJECTED + + + + No documentation. + + + ERROR_HV_INVALID_HYPERCALL_CODE + ERROR_HV_INVALID_HYPERCALL_CODE + + + + No documentation. + + + ERROR_HV_INVALID_HYPERCALL_INPUT + ERROR_HV_INVALID_HYPERCALL_INPUT + + + + No documentation. + + + ERROR_HV_INVALID_ALIGNMENT + ERROR_HV_INVALID_ALIGNMENT + + + + No documentation. + + + ERROR_HV_INVALID_PARAMETER + ERROR_HV_INVALID_PARAMETER + + + + No documentation. + + + ERROR_HV_ACCESS_DENIED + ERROR_HV_ACCESS_DENIED + + + + No documentation. + + + ERROR_HV_INVALID_PARTITION_STATE + ERROR_HV_INVALID_PARTITION_STATE + + + + No documentation. + + + ERROR_HV_OPERATION_DENIED + ERROR_HV_OPERATION_DENIED + + + + No documentation. + + + ERROR_HV_UNKNOWN_PROPERTY + ERROR_HV_UNKNOWN_PROPERTY + + + + No documentation. + + + ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE + ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE + + + + No documentation. + + + ERROR_HV_INSUFFICIENT_MEMORY + ERROR_HV_INSUFFICIENT_MEMORY + + + + No documentation. + + + ERROR_HV_PARTITION_TOO_DEEP + ERROR_HV_PARTITION_TOO_DEEP + + + + No documentation. + + + ERROR_HV_INVALID_PARTITION_ID + ERROR_HV_INVALID_PARTITION_ID + + + + No documentation. + + + ERROR_HV_INVALID_VP_INDEX + ERROR_HV_INVALID_VP_INDEX + + + + No documentation. + + + ERROR_HV_INVALID_PORT_ID + ERROR_HV_INVALID_PORT_ID + + + + No documentation. + + + ERROR_HV_INVALID_CONNECTION_ID + ERROR_HV_INVALID_CONNECTION_ID + + + + No documentation. + + + ERROR_HV_INSUFFICIENT_BUFFERS + ERROR_HV_INSUFFICIENT_BUFFERS + + + + No documentation. + + + ERROR_HV_NOT_ACKNOWLEDGED + ERROR_HV_NOT_ACKNOWLEDGED + + + + No documentation. + + + ERROR_HV_ACKNOWLEDGED + ERROR_HV_ACKNOWLEDGED + + + + No documentation. + + + ERROR_HV_INVALID_SAVE_RESTORE_STATE + ERROR_HV_INVALID_SAVE_RESTORE_STATE + + + + No documentation. + + + ERROR_HV_INVALID_SYNIC_STATE + ERROR_HV_INVALID_SYNIC_STATE + + + + No documentation. + + + ERROR_HV_OBJECT_IN_USE + ERROR_HV_OBJECT_IN_USE + + + + No documentation. + + + ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO + ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO + + + + No documentation. + + + ERROR_HV_NO_DATA + ERROR_HV_NO_DATA + + + + No documentation. + + + ERROR_HV_INACTIVE + ERROR_HV_INACTIVE + + + + No documentation. + + + ERROR_HV_NO_RESOURCES + ERROR_HV_NO_RESOURCES + + + + No documentation. + + + ERROR_HV_FEATURE_UNAVAILABLE + ERROR_HV_FEATURE_UNAVAILABLE + + + + No documentation. + + + ERROR_HV_NOT_PRESENT + ERROR_HV_NOT_PRESENT + + + + No documentation. + + + ERROR_VID_DUPLICATE_HANDLER + ERROR_VID_DUPLICATE_HANDLER + + + + No documentation. + + + ERROR_VID_TOO_MANY_HANDLERS + ERROR_VID_TOO_MANY_HANDLERS + + + + No documentation. + + + ERROR_VID_QUEUE_FULL + ERROR_VID_QUEUE_FULL + + + + No documentation. + + + ERROR_VID_HANDLER_NOT_PRESENT + ERROR_VID_HANDLER_NOT_PRESENT + + + + No documentation. + + + ERROR_VID_INVALID_OBJECT_NAME + ERROR_VID_INVALID_OBJECT_NAME + + + + No documentation. + + + ERROR_VID_PARTITION_NAME_TOO_LONG + ERROR_VID_PARTITION_NAME_TOO_LONG + + + + No documentation. + + + ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG + ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG + + + + No documentation. + + + ERROR_VID_PARTITION_ALREADY_EXISTS + ERROR_VID_PARTITION_ALREADY_EXISTS + + + + No documentation. + + + ERROR_VID_PARTITION_DOES_NOT_EXIST + ERROR_VID_PARTITION_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_VID_PARTITION_NAME_NOT_FOUND + ERROR_VID_PARTITION_NAME_NOT_FOUND + + + + No documentation. + + + ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS + ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS + + + + No documentation. + + + ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT + ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT + + + + No documentation. + + + ERROR_VID_MB_STILL_REFERENCED + ERROR_VID_MB_STILL_REFERENCED + + + + No documentation. + + + ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED + ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED + + + + No documentation. + + + ERROR_VID_INVALID_NUMA_SETTINGS + ERROR_VID_INVALID_NUMA_SETTINGS + + + + No documentation. + + + ERROR_VID_INVALID_NUMA_NODE_INDEX + ERROR_VID_INVALID_NUMA_NODE_INDEX + + + + No documentation. + + + ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED + ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED + + + + No documentation. + + + ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE + ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE + + + + No documentation. + + + ERROR_VID_PAGE_RANGE_OVERFLOW + ERROR_VID_PAGE_RANGE_OVERFLOW + + + + No documentation. + + + ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE + ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE + + + + No documentation. + + + ERROR_VID_INVALID_GPA_RANGE_HANDLE + ERROR_VID_INVALID_GPA_RANGE_HANDLE + + + + No documentation. + + + ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE + ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE + + + + No documentation. + + + ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED + ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED + + + + No documentation. + + + ERROR_VID_INVALID_PPM_HANDLE + ERROR_VID_INVALID_PPM_HANDLE + + + + No documentation. + + + ERROR_VID_MBPS_ARE_LOCKED + ERROR_VID_MBPS_ARE_LOCKED + + + + No documentation. + + + ERROR_VID_MESSAGE_QUEUE_CLOSED + ERROR_VID_MESSAGE_QUEUE_CLOSED + + + + No documentation. + + + ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED + ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_VID_STOP_PENDING + ERROR_VID_STOP_PENDING + + + + No documentation. + + + ERROR_VID_INVALID_PROCESSOR_STATE + ERROR_VID_INVALID_PROCESSOR_STATE + + + + No documentation. + + + ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT + ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT + + + + No documentation. + + + ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED + ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED + + + + No documentation. + + + ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET + ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET + + + + No documentation. + + + ERROR_VID_MMIO_RANGE_DESTROYED + ERROR_VID_MMIO_RANGE_DESTROYED + + + + No documentation. + + + ERROR_VID_INVALID_CHILD_GPA_PAGE_SET + ERROR_VID_INVALID_CHILD_GPA_PAGE_SET + + + + No documentation. + + + ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED + ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED + + + + No documentation. + + + ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL + ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL + + + + No documentation. + + + ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE + ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE + + + + No documentation. + + + ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT + ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT + + + + No documentation. + + + ERROR_VID_SAVED_STATE_CORRUPT + ERROR_VID_SAVED_STATE_CORRUPT + + + + No documentation. + + + ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM + ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM + + + + No documentation. + + + ERROR_VID_SAVED_STATE_INCOMPATIBLE + ERROR_VID_SAVED_STATE_INCOMPATIBLE + + + + No documentation. + + + ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED + ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED + + + + No documentation. + + + ERROR_VOLMGR_INCOMPLETE_REGENERATION + ERROR_VOLMGR_INCOMPLETE_REGENERATION + + + + No documentation. + + + ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION + ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION + + + + No documentation. + + + ERROR_VOLMGR_DATABASE_FULL + ERROR_VOLMGR_DATABASE_FULL + + + + No documentation. + + + ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED + ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED + + + + No documentation. + + + ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC + ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC + + + + No documentation. + + + ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED + ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED + + + + No documentation. + + + ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME + ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME + + + + No documentation. + + + ERROR_VOLMGR_DISK_DUPLICATE + ERROR_VOLMGR_DISK_DUPLICATE + + + + No documentation. + + + ERROR_VOLMGR_DISK_DYNAMIC + ERROR_VOLMGR_DISK_DYNAMIC + + + + No documentation. + + + ERROR_VOLMGR_DISK_ID_INVALID + ERROR_VOLMGR_DISK_ID_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DISK_INVALID + ERROR_VOLMGR_DISK_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAST_VOTER + ERROR_VOLMGR_DISK_LAST_VOTER + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_INVALID + ERROR_VOLMGR_DISK_LAYOUT_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS + ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED + ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL + ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS + ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS + ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS + + + + No documentation. + + + ERROR_VOLMGR_DISK_MISSING + ERROR_VOLMGR_DISK_MISSING + + + + No documentation. + + + ERROR_VOLMGR_DISK_NOT_EMPTY + ERROR_VOLMGR_DISK_NOT_EMPTY + + + + No documentation. + + + ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE + ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE + + + + No documentation. + + + ERROR_VOLMGR_DISK_REVECTORING_FAILED + ERROR_VOLMGR_DISK_REVECTORING_FAILED + + + + No documentation. + + + ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID + ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DISK_SET_NOT_CONTAINED + ERROR_VOLMGR_DISK_SET_NOT_CONTAINED + + + + No documentation. + + + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS + + + + No documentation. + + + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES + + + + No documentation. + + + ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED + ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_ALREADY_USED + ERROR_VOLMGR_EXTENT_ALREADY_USED + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS + ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION + ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED + ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION + ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH + ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH + + + + No documentation. + + + ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED + ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED + + + + No documentation. + + + ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID + ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID + + + + No documentation. + + + ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS + ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_IN_SYNC + ERROR_VOLMGR_MEMBER_IN_SYNC + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE + ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_INDEX_INVALID + ERROR_VOLMGR_MEMBER_INDEX_INVALID + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_MISSING + ERROR_VOLMGR_MEMBER_MISSING + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_NOT_DETACHED + ERROR_VOLMGR_MEMBER_NOT_DETACHED + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_REGENERATING + ERROR_VOLMGR_MEMBER_REGENERATING + + + + No documentation. + + + ERROR_VOLMGR_ALL_DISKS_FAILED + ERROR_VOLMGR_ALL_DISKS_FAILED + + + + No documentation. + + + ERROR_VOLMGR_NO_REGISTERED_USERS + ERROR_VOLMGR_NO_REGISTERED_USERS + + + + No documentation. + + + ERROR_VOLMGR_NO_SUCH_USER + ERROR_VOLMGR_NO_SUCH_USER + + + + No documentation. + + + ERROR_VOLMGR_NOTIFICATION_RESET + ERROR_VOLMGR_NOTIFICATION_RESET + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID + ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID + ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PACK_DUPLICATE + ERROR_VOLMGR_PACK_DUPLICATE + + + + No documentation. + + + ERROR_VOLMGR_PACK_ID_INVALID + ERROR_VOLMGR_PACK_ID_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PACK_INVALID + ERROR_VOLMGR_PACK_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PACK_NAME_INVALID + ERROR_VOLMGR_PACK_NAME_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PACK_OFFLINE + ERROR_VOLMGR_PACK_OFFLINE + + + + No documentation. + + + ERROR_VOLMGR_PACK_HAS_QUORUM + ERROR_VOLMGR_PACK_HAS_QUORUM + + + + No documentation. + + + ERROR_VOLMGR_PACK_WITHOUT_QUORUM + ERROR_VOLMGR_PACK_WITHOUT_QUORUM + + + + No documentation. + + + ERROR_VOLMGR_PARTITION_STYLE_INVALID + ERROR_VOLMGR_PARTITION_STYLE_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PARTITION_UPDATE_FAILED + ERROR_VOLMGR_PARTITION_UPDATE_FAILED + + + + No documentation. + + + ERROR_VOLMGR_PLEX_IN_SYNC + ERROR_VOLMGR_PLEX_IN_SYNC + + + + No documentation. + + + ERROR_VOLMGR_PLEX_INDEX_DUPLICATE + ERROR_VOLMGR_PLEX_INDEX_DUPLICATE + + + + No documentation. + + + ERROR_VOLMGR_PLEX_INDEX_INVALID + ERROR_VOLMGR_PLEX_INDEX_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PLEX_LAST_ACTIVE + ERROR_VOLMGR_PLEX_LAST_ACTIVE + + + + No documentation. + + + ERROR_VOLMGR_PLEX_MISSING + ERROR_VOLMGR_PLEX_MISSING + + + + No documentation. + + + ERROR_VOLMGR_PLEX_REGENERATING + ERROR_VOLMGR_PLEX_REGENERATING + + + + No documentation. + + + ERROR_VOLMGR_PLEX_TYPE_INVALID + ERROR_VOLMGR_PLEX_TYPE_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PLEX_NOT_RAID5 + ERROR_VOLMGR_PLEX_NOT_RAID5 + + + + No documentation. + + + ERROR_VOLMGR_PLEX_NOT_SIMPLE + ERROR_VOLMGR_PLEX_NOT_SIMPLE + + + + No documentation. + + + ERROR_VOLMGR_STRUCTURE_SIZE_INVALID + ERROR_VOLMGR_STRUCTURE_SIZE_INVALID + + + + No documentation. + + + ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS + ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS + + + + No documentation. + + + ERROR_VOLMGR_TRANSACTION_IN_PROGRESS + ERROR_VOLMGR_TRANSACTION_IN_PROGRESS + + + + No documentation. + + + ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE + ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK + ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_ID_INVALID + ERROR_VOLMGR_VOLUME_ID_INVALID + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_LENGTH_INVALID + ERROR_VOLMGR_VOLUME_LENGTH_INVALID + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE + ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_NOT_MIRRORED + ERROR_VOLMGR_VOLUME_NOT_MIRRORED + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_NOT_RETAINED + ERROR_VOLMGR_VOLUME_NOT_RETAINED + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_OFFLINE + ERROR_VOLMGR_VOLUME_OFFLINE + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_RETAINED + ERROR_VOLMGR_VOLUME_RETAINED + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID + ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE + ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE + + + + No documentation. + + + ERROR_VOLMGR_BAD_BOOT_DISK + ERROR_VOLMGR_BAD_BOOT_DISK + + + + No documentation. + + + ERROR_VOLMGR_PACK_CONFIG_OFFLINE + ERROR_VOLMGR_PACK_CONFIG_OFFLINE + + + + No documentation. + + + ERROR_VOLMGR_PACK_CONFIG_ONLINE + ERROR_VOLMGR_PACK_CONFIG_ONLINE + + + + No documentation. + + + ERROR_VOLMGR_NOT_PRIMARY_PACK + ERROR_VOLMGR_NOT_PRIMARY_PACK + + + + No documentation. + + + ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED + ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_MIRRORED + ERROR_VOLMGR_VOLUME_MIRRORED + + + + No documentation. + + + ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED + ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED + + + + No documentation. + + + ERROR_VOLMGR_NO_VALID_LOG_COPIES + ERROR_VOLMGR_NO_VALID_LOG_COPIES + + + + No documentation. + + + ERROR_VOLMGR_PRIMARY_PACK_PRESENT + ERROR_VOLMGR_PRIMARY_PACK_PRESENT + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID + ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID + + + + No documentation. + + + ERROR_VOLMGR_MIRROR_NOT_SUPPORTED + ERROR_VOLMGR_MIRROR_NOT_SUPPORTED + + + + No documentation. + + + ERROR_VOLMGR_RAID5_NOT_SUPPORTED + ERROR_VOLMGR_RAID5_NOT_SUPPORTED + + + + No documentation. + + + ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED + ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED + + + + No documentation. + + + ERROR_BCD_TOO_MANY_ELEMENTS + ERROR_BCD_TOO_MANY_ELEMENTS + + + + No documentation. + + + ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED + ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED + + + + No documentation. + + + ERROR_VHD_DRIVE_FOOTER_MISSING + ERROR_VHD_DRIVE_FOOTER_MISSING + + + + No documentation. + + + ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH + ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH + + + + No documentation. + + + ERROR_VHD_DRIVE_FOOTER_CORRUPT + ERROR_VHD_DRIVE_FOOTER_CORRUPT + + + + No documentation. + + + ERROR_VHD_FORMAT_UNKNOWN + ERROR_VHD_FORMAT_UNKNOWN + + + + No documentation. + + + ERROR_VHD_FORMAT_UNSUPPORTED_VERSION + ERROR_VHD_FORMAT_UNSUPPORTED_VERSION + + + + No documentation. + + + ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH + ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH + + + + No documentation. + + + ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION + ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION + + + + No documentation. + + + ERROR_VHD_SPARSE_HEADER_CORRUPT + ERROR_VHD_SPARSE_HEADER_CORRUPT + + + + No documentation. + + + ERROR_VHD_BLOCK_ALLOCATION_FAILURE + ERROR_VHD_BLOCK_ALLOCATION_FAILURE + + + + No documentation. + + + ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT + ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT + + + + No documentation. + + + ERROR_VHD_INVALID_BLOCK_SIZE + ERROR_VHD_INVALID_BLOCK_SIZE + + + + No documentation. + + + ERROR_VHD_BITMAP_MISMATCH + ERROR_VHD_BITMAP_MISMATCH + + + + No documentation. + + + ERROR_VHD_PARENT_VHD_NOT_FOUND + ERROR_VHD_PARENT_VHD_NOT_FOUND + + + + No documentation. + + + ERROR_VHD_CHILD_PARENT_ID_MISMATCH + ERROR_VHD_CHILD_PARENT_ID_MISMATCH + + + + No documentation. + + + ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH + ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH + + + + No documentation. + + + ERROR_VHD_METADATA_READ_FAILURE + ERROR_VHD_METADATA_READ_FAILURE + + + + No documentation. + + + ERROR_VHD_METADATA_WRITE_FAILURE + ERROR_VHD_METADATA_WRITE_FAILURE + + + + No documentation. + + + ERROR_VHD_INVALID_SIZE + ERROR_VHD_INVALID_SIZE + + + + No documentation. + + + ERROR_VHD_INVALID_FILE_SIZE + ERROR_VHD_INVALID_FILE_SIZE + + + + No documentation. + + + ERROR_VIRTDISK_PROVIDER_NOT_FOUND + ERROR_VIRTDISK_PROVIDER_NOT_FOUND + + + + No documentation. + + + ERROR_VIRTDISK_NOT_VIRTUAL_DISK + ERROR_VIRTDISK_NOT_VIRTUAL_DISK + + + + No documentation. + + + ERROR_VHD_PARENT_VHD_ACCESS_DENIED + ERROR_VHD_PARENT_VHD_ACCESS_DENIED + + + + No documentation. + + + ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH + ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH + + + + No documentation. + + + ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED + ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED + + + + No documentation. + + + ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT + ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT + + + + No documentation. + + + ERROR_VIRTUAL_DISK_LIMITATION + ERROR_VIRTUAL_DISK_LIMITATION + + + + No documentation. + + + ERROR_VHD_INVALID_TYPE + ERROR_VHD_INVALID_TYPE + + + + No documentation. + + + ERROR_VHD_INVALID_STATE + ERROR_VHD_INVALID_STATE + + + + No documentation. + + + ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE + ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE + + + + No documentation. + + + ERROR_QUERY_STORAGE_ERROR + ERROR_QUERY_STORAGE_ERROR + + + +

The + enumeration values indicate the type of locking requested for the specified range of bytes. The values are used in the + ILockBytes::LockRegion and + methods.

+
+ + aa380048 + LOCKTYPE + LOCKTYPE +
+ + + No documentation. + + + LOCK_WRITE + LOCK_WRITE + + + + No documentation. + + + LOCK_EXCLUSIVE + LOCK_EXCLUSIVE + + + + No documentation. + + + LOCK_ONLYONCE + LOCK_ONLYONCE + + + +

The + enumeration values indicate whether the method should try to return a name in the pwcsName member of the + structure. The values are used in the + ILockBytes::Stat, + IStorage::Stat, and + methods to save memory when the pwcsName member is not required.

+
+ + aa380316 + STATFLAG + STATFLAG +
+ + + No documentation. + + + STATFLAG_DEFAULT + STATFLAG_DEFAULT + + + + No documentation. + + + STATFLAG_NONAME + STATFLAG_NONAME + + + + None. + + + None + None + + + +

The + interface lets you read and write data to stream objects. Stream objects contain the data in a structured storage object, where storages provide the structure. Simple data can be written directly to a stream but, most frequently, streams are elements nested within a storage object. They are similar to standard files.

The + interface defines methods similar to the MS-DOS FAT file functions. For example, each stream object has its own access rights and a seek reference. The main difference between a DOS file and a stream object is that in the latter case, streams are opened using an + interface reference rather than a file handle.

The methods in this interface present your object's data as a contiguous sequence of bytes that you can read or write. There are also methods for committing and reverting changes on streams that are open in transacted mode and methods for restricting access to a range of bytes in the stream.

Streams can remain open for long periods of time without consuming file-system resources. The IUnknown::Release method is similar to a close function on a file. Once released, the stream object is no longer valid and cannot be used.

Clients of asynchronous monikers can choose between a data-pull or data-push model for driving an asynchronous + IMoniker::BindToStorage operation and for receiving asynchronous notifications. See + URL Monikers for more information. The following table compares the behavior of asynchronous + and + calls returned in IBindStatusCallback::OnDataAvailable in these two download models:

+
+ + aa380034 + IStream + IStream +
+ + +

The + interface supports simplified sequential access to stream objects. The + interface inherits its + Read and + Write methods from + .

+
+ + aa380010 + ISequentialStream + ISequentialStream +
+ + +

The + interface supports simplified sequential access to stream objects. The + interface inherits its + Read and + Write methods from + .

+
+ + aa380010 + ISequentialStream + ISequentialStream +
+ + + Reads a specified number of bytes from the stream object into memory starting at the current seek pointer. + + The read buffer. + The number of bytes to read. + The actual number of bytes read from the stream object. + + + + Writes a specified number of bytes into the stream object starting at the current seek pointer. + + The buffer. + The number of bytes to read. + The actual number of bytes written to the stream object + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

The Read method reads a specified number of bytes from the stream object into memory, starting at the current seek reference.

+
+

A reference to the buffer which the stream data is read into.

+

The number of bytes of data to read from the stream object.

+

A reference to a ULONG variable that receives the actual number of bytes read from the stream object.

Note??The number of bytes read may be zero.

+ +

This method reads bytes from this stream object into memory. The stream object must be opened in STGM_READ mode. This method adjusts the seek reference by the actual number of bytes read.

The number of bytes actually read is also returned in the pcbRead parameter.

Notes to Callers

The actual number of bytes read can be less than the number of bytes requested if an error occurs or if the end of the stream is reached during the read operation. The number of bytes returned should always be compared to the number of bytes requested. If the number of bytes returned is less than the number of bytes requested, it usually means the Read method attempted to read past the end of the stream.

The application should handle both a returned error and return values on end-of-stream read operations.

+
+ + aa380011 + HRESULT ISequentialStream::Read([Out, Buffer] void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbRead) + ISequentialStream::Read +
+ + +

The Write method writes a specified number of bytes into the stream object starting at the current seek reference.

+
+

A reference to the buffer that contains the data that is to be written to the stream. A valid reference must be provided for this parameter even when cb is zero.

+

The number of bytes of data to attempt to write into the stream. This value can be zero.

+

A reference to a ULONG variable where this method writes the actual number of bytes written to the stream object. The caller can set this reference to null, in which case this method does not provide the actual number of bytes written.

+ +

writes the specified data to a stream object. The seek reference is adjusted for the number of bytes actually written. The number of bytes actually written is returned in the pcbWritten parameter. If the byte count is zero bytes, the write operation has no effect.

If the seek reference is currently past the end of the stream and the byte count is nonzero, this method increases the size of the stream to the seek reference and writes the specified bytes starting at the seek reference. The fill bytes written to the stream are not initialized to any particular value. This is the same as the end-of-file behavior in the MS-DOS FAT file system.

With a zero byte count and a seek reference past the end of the stream, this method does not create the fill bytes to increase the stream to the seek reference. In this case, you must call the + method to increase the size of the stream and write the fill bytes.

The pcbWritten parameter can have a value even if an error occurs.

In the COM-provided implementation, stream objects are not sparse. Any fill bytes are eventually allocated on the disk and assigned to the stream.

+
+ + aa380014 + HRESULT ISequentialStream::Write([In, Buffer] const void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbWritten) + ISequentialStream::Write +
+ + +

The + interface lets you read and write data to stream objects. Stream objects contain the data in a structured storage object, where storages provide the structure. Simple data can be written directly to a stream but, most frequently, streams are elements nested within a storage object. They are similar to standard files.

The + interface defines methods similar to the MS-DOS FAT file functions. For example, each stream object has its own access rights and a seek reference. The main difference between a DOS file and a stream object is that in the latter case, streams are opened using an + interface reference rather than a file handle.

The methods in this interface present your object's data as a contiguous sequence of bytes that you can read or write. There are also methods for committing and reverting changes on streams that are open in transacted mode and methods for restricting access to a range of bytes in the stream.

Streams can remain open for long periods of time without consuming file-system resources. The IUnknown::Release method is similar to a close function on a file. Once released, the stream object is no longer valid and cannot be used.

Clients of asynchronous monikers can choose between a data-pull or data-push model for driving an asynchronous + IMoniker::BindToStorage operation and for receiving asynchronous notifications. See + URL Monikers for more information. The following table compares the behavior of asynchronous + and + calls returned in IBindStatusCallback::OnDataAvailable in these two download models:

+
+ + aa380034 + IStream + IStream +
+ + + Changes the seek pointer to a new location relative to the beginning of the stream, to the end of the stream, or to the current seek pointer. + + The offset. + The origin. + The offset of the seek pointer from the beginning of the stream. + + + + Changes the size of the stream object. + + The new size. + + + + Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream. + + The stream destination. + The number of bytes to copy. + The number of bytes written. + The number of bytes read + + + + Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, Commit has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode. + + The GRF commit flags. + + + + Discards all changes that have been made to a transacted stream since the last call. + + + + + Restricts access to a specified range of bytes in the stream. + + The offset. + The number of bytes to lock. + Type of the dw lock. + + + + Unlocks access to a specified range of bytes in the stream. + + The offset. + The number of bytes to lock. + Type of the dw lock. + + + + Gets the statistics. + + The storage statistics flags. + + + + + Clones this instance. + + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

The Seek method changes the seek reference 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 reference.

+
+

The displacement to be added to the location indicated by the dwOrigin parameter. If dwOrigin is STREAM_SEEK_SET, this is interpreted as an unsigned value rather than a signed value.

+

The origin for the displacement specified in dlibMove. The origin can be the beginning of the file (STREAM_SEEK_SET), the current seek reference (STREAM_SEEK_CUR), or the end of the file (STREAM_SEEK_END). For more information about values, see the STREAM_SEEK enumeration.

+

A reference to the location where this method writes the value of the new seek reference from the beginning of the stream.

You can set this reference to null. In this case, this method does not provide the new seek reference.

+ +

changes the seek reference so that subsequent read and write operations can be performed at a different location in the stream object. It is an error to seek before the beginning of the stream. It is not, however, an error to seek past the end of the stream. Seeking past the end of the stream is useful for subsequent write operations, as the stream byte range will be extended to the new seek position immediately before the write is complete.

You can also use this method to obtain the current value of the seek reference by calling this method with the dwOrigin parameter set to STREAM_SEEK_CUR and the dlibMove parameter set to 0 so that the seek reference is not changed. The current seek reference is returned in the plibNewPosition parameter.

+
+ + aa380043 + HRESULT IStream::Seek([In] LARGE_INTEGER dlibMove,[In] SHARPDX_SEEKORIGIN dwOrigin,[Out, Optional] ULARGE_INTEGER* plibNewPosition) + IStream::Seek +
+ + +

The SetSize method changes the size of the stream object.

+
+

Specifies the new size of the stream as a number of bytes.

+

This method can return one of the following values.

The size of the stream object was successfully changed.

E_PENDING

Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.

STG_E_MEDIUMFULL

The stream size is not changed because there is no space left on the storage device.

STG_E_INVALIDFUNCTION

The value of the libNewSize parameter is not valid. Since streams cannot be greater than 232 bytes in the COM-provided implementation, the high DWORD data type of libNewSize must be 0. If it is nonzero, this parameter is not valid.

STG_E_REVERTED

The object has been invalidated by a revert operation above it in the transaction tree.

+ +

changes the size of the stream object. Call this method to preallocate space for the stream. If the libNewSize parameter is larger than the current stream size, the stream is extended to the indicated size by filling the intervening space with bytes of undefined value. This operation is similar to the + method if the seek reference is past the current end of stream.

If the libNewSize parameter is smaller than the current stream, the stream is truncated to the indicated size.

The seek reference is not affected by the change in stream size.

Calling can be an effective way to obtain a large chunk of contiguous space.

+
+ + aa380044 + HRESULT IStream::SetSize([In] ULARGE_INTEGER libNewSize) + IStream::SetSize +
+ + +

The CopyTo method copies a specified number of bytes from the current seek reference in the stream to the current seek reference in another stream.

+
+

A reference to the destination stream. The stream pointed to by pstm can be a new stream or a clone of the source stream.

+

The number of bytes to copy from the source stream.

+

A reference to the location where this method writes the actual number of bytes written to the destination. You can set this reference to null. In this case, this method does not provide the actual number of bytes written.

+

A reference to the location where this method writes the actual number of bytes read from the source. You can set this reference to null. In this case, this method does not provide the actual number of bytes read.

+ +

The CopyTo method copies the specified bytes from one stream to another. It can also be used to copy a stream to itself. The seek reference in each stream instance is adjusted for the number of bytes read or written. This method is equivalent to reading cb bytes into memory using + and then immediately writing them to the destination stream using + , although will be more efficient.

The destination stream can be a clone of the source stream created by calling the + method.

If returns an error, you cannot assume that the seek references are valid for either the source or destination. Additionally, the values of pcbRead and pcbWritten are not meaningful even though they are returned.

If returns successfully, the actual number of bytes read and written are the same.

To copy the remainder of the source from the current seek reference, specify the maximum large integer value for the cb parameter. If the seek reference is the beginning of the stream, this operation copies the entire stream.

+
+ + aa380038 + HRESULT IStream::CopyTo([In] IStream* pstm,[In] ULARGE_INTEGER cb,[Out] ULARGE_INTEGER* pcbRead,[Out] ULARGE_INTEGER* pcbWritten) + IStream::CopyTo +
+ + +

The Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.

+
+

Controls how the changes for the stream object are committed. See the enumeration for a definition of these values.

+

This method can return one of the following values.

Changes to the stream object were successfully committed to the parent level.

E_PENDING

Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.

STG_E_MEDIUMFULL

The commit operation failed due to lack of space on the storage device.

STG_E_REVERTED

The object has been invalidated by a revert operation above it in the transaction tree.

+ +

The Commit method ensures that changes to a stream object opened in transacted mode are reflected in the parent storage. Changes that have been made to the stream since it was opened or last committed are reflected to the parent storage object. If the parent is opened in transacted mode, the parent may revert at a later time, rolling back the changes to this stream object. The compound file implementation does not support the opening of streams in transacted mode, so this method has very little effect other than to flush memory buffers. For more information, see + - Compound File Implementation.

If the stream is open in direct mode, this method ensures that any memory buffers have been flushed out to the underlying storage object. This is much like a flush in traditional file systems.

The method is useful on a direct mode stream when the implementation of the + interface is a wrapper for underlying file system APIs. In this case, would be connected to the file system's flush call.

+
+ + aa380036 + HRESULT IStream::Commit([In] STGC grfCommitFlags) + IStream::Commit +
+ + +

The Revert method discards all changes that have been made to a transacted stream since the last + call. On streams open in direct mode and streams using the COM compound file implementation of , this method has no effect.

+
+

This method can return one of the following values.

The stream was successfully reverted to its previous version.

E_PENDING

Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.

+ +

The Revert method discards changes made to a transacted stream since the last commit operation.

+
+ + aa380042 + HRESULT IStream::Revert() + IStream::Revert +
+ + +

The LockRegion method restricts access to a specified range of bytes in the stream. Supporting this functionality is optional since some file systems do not provide it.

+
+

Integer that specifies the byte offset for the beginning of the range.

+

Integer that specifies the length of the range, in bytes, to be restricted.

+

Specifies the restrictions being requested on accessing the range.

+

This method can return one of the following values.

The specified range of bytes was locked.

E_PENDING

Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information, see IFillLockBytes and Asynchronous Storage.

STG_E_INVALIDFUNCTION

Locking is not supported at all or the specific type of lock requested is not supported.

STG_E_LOCKVIOLATION

Requested lock is supported, but cannot be granted because of an existing lock.

STG_E_REVERTED

The object has been invalidated by a revert operation above it in the transaction tree.

+ +

The byte range of the stream can be extended. Locking an extended range for the stream is useful as a method of communication between different instances of the stream without changing data that is actually part of the stream.

Three types of locking can be supported: locking to exclude other writers, locking to exclude other readers or writers, and locking that allows only one requester to obtain a lock on the given range, which is usually an alias for one of the other two lock types. A given stream instance might support either of the first two types, or both. The lock type is specified by dwLockType, using a value from the + enumeration.

Any region locked with must later be explicitly unlocked by calling + with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.

Notes to Callers

Since the type of locking supported is optional and can vary in different implementations of + , you must provide code to deal with the STG_E_INVALIDFUNCTION error.

The LockRegion method has no effect in the compound file implementation, because the implementation does not support range locking.

Notes to Implementers

Support for this method is optional for implementations of stream objects since it may not be supported by the underlying file system. The type of locking supported is also optional. The STG_E_INVALIDFUNCTION error is returned if the requested type of locking is not supported.

+
+ + aa380039 + HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType) + IStream::LockRegion +
+ + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + + HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType) + IStream::UnlockRegion + + + +

The Stat method retrieves the + structure for this stream.

+
+ No documentation. + No documentation. + +

retrieves a reference to the + structure that contains information about this open stream. When this stream is within a structured storage and + IStorage::EnumElements is called, it creates an enumerator object with the + IEnumSTATSTG interface on it, which can be called to enumerate the storages and streams through the + structures associated with each of them.

+
+ + aa380045 + HRESULT IStream::Stat([Out] STATSTG* pstatstg,[In] STATFLAG grfStatFlag) + IStream::Stat +
+ + +

The Clone method creates a new stream object with its own seek reference that references the same bytes as the original stream.

+
+

When successful, reference to the location of an reference to the new stream object. If an error occurs, this parameter is null.

+ +

The Clone method creates a new stream object for accessing the same bytes but using a separate seek reference. The new stream object sees the same data as the source-stream object. Changes written to one object are immediately visible in the other. Range locking is shared between the stream objects.

The initial setting of the seek reference in the cloned stream instance is the same as the current setting of the seek reference in the original stream at the time of the clone operation.

+
+ + aa380035 + HRESULT IStream::Clone([Out] IStream** ppstm) + IStream::Clone +
+ + + Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream. + + The stream destination. + The number of bytes to copy. + The bytes written. + The number of bytes read from this instance + + + + Gets a com pointer to the underlying object. + + The stream. + A Com pointer + + + +

The + structure contains statistical data about an open storage, stream, or byte-array object. This structure is used in the + IEnumSTATSTG, + ILockBytes, + IStorage, and + interfaces.

+
+ + aa380319 + STATSTG + STATSTG +
+ + + No documentation. + + + wchar_t* pwcsName + wchar_t pwcsName + + + + No documentation. + + + unsigned int type + unsigned int type + + + + No documentation. + + + ULARGE_INTEGER cbSize + ULARGE_INTEGER cbSize + + + + No documentation. + + + FILETIME mtime + FILETIME mtime + + + + No documentation. + + + FILETIME ctime + FILETIME ctime + + + + No documentation. + + + FILETIME atime + FILETIME atime + + + + No documentation. + + + unsigned int grfMode + unsigned int grfMode + + + + No documentation. + + + unsigned int grfLocksSupported + unsigned int grfLocksSupported + + + + No documentation. + + + GUID clsid + GUID clsid + + + + No documentation. + + + unsigned int grfStateBits + unsigned int grfStateBits + + + + No documentation. + + + unsigned int reserved + unsigned int reserved + + + + A half precision (16 bit) floating point value. + + + + + Number of decimal digits of precision. + + + + + Number of bits in the mantissa. + + + + + Maximum decimal exponent. + + + + + Maximum binary exponent. + + + + + Minimum decimal exponent. + + + + + Minimum binary exponent. + + + + + Exponent radix. + + + + + Additional rounding. + + + + + Smallest such that 1.0 + epsilon != 1.0 + + + + + Maximum value of the number. + + + + + Minimum value of the number. + + + + + Initializes a new instance of the structure. + + The floating point value that should be stored in 16 bit format. + + + + Converts an array of half precision values into full precision values. + + The values to be converted. + An array of converted values. + + + + Converts an array of full precision values into half precision values. + + The values to be converted. + An array of converted values. + + + + Performs an explicit conversion from to . + + The value to be converted. + The converted value. + + + + Performs an implicit conversion from to . + + The value to be converted. + The converted value. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + + Converts the value of the object to its equivalent string representation. + + The string representation of the value of this instance. + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + + + + Determines whether the specified object instances are considered equal. + + + + + true if is the same instance as or + if both are null references or if value1.Equals(value2) returns true; otherwise, false. + + + + Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Gets or sets the raw 16 bit value used to back this half-float. + + + + + Defines a two component vector, using half precision floating point coordinates. + + + + + Gets or sets the X component of the vector. + + The X component of the vector. + + + + Gets or sets the Y component of the vector. + + The Y component of the vector. + + + + Initializes a new instance of the structure. + + The X component. + The Y component. + + + + Initializes a new instance of the structure. + + The value to set for both the X and Y components. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + + + + Determines whether the specified object instances are considered equal. + + + + + true if is the same instance as or + if both are null references or if value1.Equals(value2) returns true; otherwise, false. + + + + Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Defines a three component vector, using half precision floating point coordinates. + + + + + Gets or sets the X component of the vector. + + The X component of the vector. + + + + Gets or sets the Y component of the vector. + + The Y component of the vector. + + + + Gets or sets the Z component of the vector. + + The Z component of the vector. + + + + Initializes a new instance of the structure. + + The X component. + The Y component. + The Z component. + + + + Initializes a new instance of the structure. + + The value to set for the X, Y, and Z components. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + + + + Determines whether the specified object instances are considered equal. + + + + + true if is the same instance as or + if both are null references or if value1.Equals(value2) returns true; otherwise, false. + + + + Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Defines a four component vector, using half precision floating point coordinates. + + + + + Gets or sets the X component of the vector. + + The X component of the vector. + + + + Gets or sets the Y component of the vector. + + The Y component of the vector. + + + + Gets or sets the Z component of the vector. + + The Z component of the vector. + + + + Gets or sets the W component of the vector. + + The W component of the vector. + + + + Initializes a new instance of the structure. + + The X component. + The Y component. + The Z component. + The W component. + + + + Initializes a new instance of the structure. + + The value to set for the X, Y, Z, and W components. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + + + + Determines whether the specified object instances are considered equal. + + + + + true if is the same instance as or + if both are null references or if value1.Equals(value2) returns true; otherwise, false. + + + + Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Helper class to perform Half/Float conversion. + Code extract from paper : www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf by Jeroen van der Zijp + + + + + Unpacks the specified h. + + The h. + + + + + Packs the specified f. + + The f. + + + + + Represents a four dimensional mathematical vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0, 0, 0). + + + + + The Y unit (0, 1, 0, 0). + + + + + The Z unit (0, 0, 1, 0). + + + + + The W unit (0, 0, 0, 1). + + + + + A with all of its components set to one. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Creates an array containing the elements of the vector. + + A four-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Performs an implicit conversion from array to . + + The input. + The result of the conversion. + + + + Performs an implicit conversion from to array. + + The input. + The result of the conversion. + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + The implementation of this class is filled by InteropBuilder post-building-event. + + + + + Provides a fixed statement working with generics. + + + The data. + A fixed pointer to the referenced structure + + This is the only function in this class that is inlined in order to inline the fixed statement correctly. + + + + + The value for which all absolute numbers smaller than are considered equal to zero. + + + + + A value specifying the approximation of π which is 180 degrees. + + + + + A value specifying the approximation of 2π which is 360 degrees. + + + + + A value specifying the approximation of π/2 which is 90 degrees. + + + + + A value specifying the approximation of π/4 which is 45 degrees. + + + + + Checks if a - b are almost equals within a float . + + The left value to compare. + The right value to compare. + true if a almost equal to b within a float epsilon, false otherwise + + + + Checks if a - b are almost equals within a float epsilon. + + The left value to compare. + The right value to compare. + Epsilon value + true if a almost equal to b within a float epsilon, false otherwise + + + + Does something with arrays. + + Most likely the type of elements in the array. + Who knows what this is for. + Probably the length of the array. + An array of who knows what. + + + + Converts revolutions to degrees. + + The value to convert. + The converted value. + + + + Converts revolutions to radians. + + The value to convert. + The converted value. + + + + Converts revolutions to gradians. + + The value to convert. + The converted value. + + + + Converts degrees to revolutions. + + The value to convert. + The converted value. + + + + Converts degrees to radians. + + The value to convert. + The converted value. + + + + Converts radians to revolutions. + + The value to convert. + The converted value. + + + + Converts radians to gradians. + + The value to convert. + The converted value. + + + + Converts gradians to revolutions. + + The value to convert. + The converted value. + + + + Converts gradians to degrees. + + The value to convert. + The converted value. + + + + Converts gradians to radians. + + The value to convert. + The converted value. + + + + Converts radians to degrees. + + The value to convert. + The converted value. + + + + Clamps the specified value. + + The value. + The min. + The max. + The result of clamping a value between min and max + + + + Clamps the specified value. + + The value. + The min. + The max. + The result of clamping a value between min and max + + + + Interpolates between two values using a linear function by a given amount. + + + See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and + http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/ + + Value to interpolate from. + Value to interpolate to. + Interpolation amount. + The result of linear interpolation of values based on the amount. + + + + Interpolates between two values using a linear function by a given amount. + + + See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and + http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/ + + Value to interpolate from. + Value to interpolate to. + Interpolation amount. + The result of linear interpolation of values based on the amount. + + + + Interpolates between two values using a linear function by a given amount. + + + See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and + http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/ + + Value to interpolate from. + Value to interpolate to. + Interpolation amount. + The result of linear interpolation of values based on the amount. + + + + Calculates the modulo of the specified value. + + The value. + The modulo. + The result of the modulo applied to value + + + + Calculates the modulo 2*PI of the specified value. + + The value. + The result of the modulo applied to value + + + + Wraps the specified value into a range [min, max] + + The value to wrap. + The min. + The max. + Result of the wrapping. + Is thrown when is greater than . + + + + Wraps the specified value into a range [min, max[ + + The value. + The min. + The max. + Result of the wrapping. + Is thrown when is greater than . + + + + Gauss function. + + Curve amplitude. + Position X. + Position Y + Radius X. + Radius Y. + Curve sigma X. + Curve sigma Y. + The result of Gaussian function. + + + + Gauss function. + + Curve amplitude. + Position X. + Position Y + Radius X. + Radius Y. + Curve sigma X. + Curve sigma Y. + The result of Gaussian function. + + + + Gets random float number within range. + + Current . + Minimum. + Maximum. + Random float number. + + + + Gets random double number within range. + + Current . + Minimum. + Maximum. + Random double number. + + + + Gets random long number. + + Current . + Random long number. + + + + Gets random long number within range. + + Current . + Minimum. + Maximum. + Random long number. + + + + Gets random within range. + + Current . + Minimum. + Maximum. + Random . + + + + Gets random within range. + + Current . + Minimum. + Maximum. + Random . + + + + Gets random within range. + + Current . + Minimum. + Maximum. + Random . + + + + Gets random opaque . + + Current . + Random . + + + + Gets random opaque . + + Current . + Minimum brightness. + Maximum brightness + Random . + + + + Gets random . + + Current . + Minimum brightness. + Maximum brightness + Alpha value. + Random . + + + + Gets random . + + Current . + Minimum brightness. + Maximum brightness + Minimum alpha. + Maximum alpha. + Random . + + + + Gets random . + + Current . + Minimum. + Maximum. + Random . + + + + Gets random . + + Current . + Minimum. + Maximum. + Random . + + + + Gets random . + + Current . + Minimum. + Maximum. + Random . + + + + Represents a 4x4 mathematical matrix. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The identity . + + + + + Value at row 1 column 1 of the matrix. + + + + + Value at row 1 column 2 of the matrix. + + + + + Value at row 1 column 3 of the matrix. + + + + + Value at row 1 column 4 of the matrix. + + + + + Value at row 2 column 1 of the matrix. + + + + + Value at row 2 column 2 of the matrix. + + + + + Value at row 2 column 3 of the matrix. + + + + + Value at row 2 column 4 of the matrix. + + + + + Value at row 3 column 1 of the matrix. + + + + + Value at row 3 column 2 of the matrix. + + + + + Value at row 3 column 3 of the matrix. + + + + + Value at row 3 column 4 of the matrix. + + + + + Value at row 4 column 1 of the matrix. + + + + + Value at row 4 column 2 of the matrix. + + + + + Value at row 4 column 3 of the matrix. + + + + + Value at row 4 column 4 of the matrix. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value to assign at row 1 column 1 of the matrix. + The value to assign at row 1 column 2 of the matrix. + The value to assign at row 1 column 3 of the matrix. + The value to assign at row 1 column 4 of the matrix. + The value to assign at row 2 column 1 of the matrix. + The value to assign at row 2 column 2 of the matrix. + The value to assign at row 2 column 3 of the matrix. + The value to assign at row 2 column 4 of the matrix. + The value to assign at row 3 column 1 of the matrix. + The value to assign at row 3 column 2 of the matrix. + The value to assign at row 3 column 3 of the matrix. + The value to assign at row 3 column 4 of the matrix. + The value to assign at row 4 column 1 of the matrix. + The value to assign at row 4 column 2 of the matrix. + The value to assign at row 4 column 3 of the matrix. + The value to assign at row 4 column 4 of the matrix. + + + + Initializes a new instance of the struct. + + The values to assign to the components of the matrix. This must be an array with sixteen elements. + Thrown when is null. + Thrown when contains more or less than sixteen elements. + + + + Calculates the determinant of the matrix. + + The determinant of the matrix. + + + + Inverts the matrix. + + + + + Transposes the matrix. + + + + + Orthogonalizes the specified matrix. + + + Orthogonalization is the process of making all rows orthogonal to each other. This + means that any given row in the matrix will be orthogonal to any other given row in the + matrix. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Orthonormalizes the specified matrix. + + + Orthonormalization is the process of making all rows and columns orthogonal to each + other and making all rows and columns of unit length. This means that any given row will + be orthogonal to any other given row and any given column will be orthogonal to any other + given column. Any given row will not be orthogonal to any given column. Every row and every + column will be of unit length. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Decomposes a matrix into an orthonormalized matrix Q and a right triangular matrix R. + + When the method completes, contains the orthonormalized matrix of the decomposition. + When the method completes, contains the right triangular matrix of the decomposition. + + + + Decomposes a matrix into a lower triangular matrix L and an orthonormalized matrix Q. + + When the method completes, contains the lower triangular matrix of the decomposition. + When the method completes, contains the orthonormalized matrix of the decomposition. + + + + Decomposes a matrix into a scale, rotation, and translation. + + When the method completes, contains the scaling component of the decomposed matrix. + When the method completes, contains the rotation component of the decomposed matrix. + When the method completes, contains the translation component of the decomposed matrix. + + This method is designed to decompose an SRT transformation matrix only. + + + + + Exchanges two rows in the matrix. + + The first row to exchange. This is an index of the row starting at zero. + The second row to exchange. This is an index of the row starting at zero. + + + + Exchanges two columns in the matrix. + + The first column to exchange. This is an index of the column starting at zero. + The second column to exchange. This is an index of the column starting at zero. + + + + Creates an array containing the elements of the matrix. + + A sixteen-element array containing the components of the matrix. + + + + Determines the sum of two matrices. + + The first matrix to add. + The second matrix to add. + When the method completes, contains the sum of the two matrices. + + + + Determines the sum of two matrices. + + The first matrix to add. + The second matrix to add. + The sum of the two matrices. + + + + Determines the difference between two matrices. + + The first matrix to subtract. + The second matrix to subtract. + When the method completes, contains the difference between the two matrices. + + + + Determines the difference between two matrices. + + The first matrix to subtract. + The second matrix to subtract. + The difference between the two matrices. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + When the method completes, contains the scaled matrix. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Determines the product of two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Determines the product of two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + When the method completes, contains the scaled matrix. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Determines the quotient of two matrices. + + The first matrix to divide. + The second matrix to divide. + When the method completes, contains the quotient of the two matrices. + + + + Determines the quotient of two matrices. + + The first matrix to divide. + The second matrix to divide. + The quotient of the two matrices. + + + + Performs the exponential operation on a matrix. + + The matrix to perform the operation on. + The exponent to raise the matrix to. + When the method completes, contains the exponential matrix. + Thrown when the is negative. + + + + Performs the exponential operation on a matrix. + + The matrix to perform the operation on. + The exponent to raise the matrix to. + The exponential matrix. + Thrown when the is negative. + + + + Negates a matrix. + + The matrix to be negated. + When the method completes, contains the negated matrix. + + + + Negates a matrix. + + The matrix to be negated. + The negated matrix. + + + + Performs a linear interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two matrices. + + + + Performs a cubic interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two matrices. + + + + Calculates the transpose of the specified matrix. + + The matrix whose transpose is to be calculated. + When the method completes, contains the transpose of the specified matrix. + + + + Calculates the transpose of the specified matrix. + + The matrix whose transpose is to be calculated. + When the method completes, contains the transpose of the specified matrix. + + + + Calculates the transpose of the specified matrix. + + The matrix whose transpose is to be calculated. + The transpose of the specified matrix. + + + + Calculates the inverse of the specified matrix. + + The matrix whose inverse is to be calculated. + When the method completes, contains the inverse of the specified matrix. + + + + Calculates the inverse of the specified matrix. + + The matrix whose inverse is to be calculated. + The inverse of the specified matrix. + + + + Orthogonalizes the specified matrix. + + The matrix to orthogonalize. + When the method completes, contains the orthogonalized matrix. + + Orthogonalization is the process of making all rows orthogonal to each other. This + means that any given row in the matrix will be orthogonal to any other given row in the + matrix. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Orthogonalizes the specified matrix. + + The matrix to orthogonalize. + The orthogonalized matrix. + + Orthogonalization is the process of making all rows orthogonal to each other. This + means that any given row in the matrix will be orthogonal to any other given row in the + matrix. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Orthonormalizes the specified matrix. + + The matrix to orthonormalize. + When the method completes, contains the orthonormalized matrix. + + Orthonormalization is the process of making all rows and columns orthogonal to each + other and making all rows and columns of unit length. This means that any given row will + be orthogonal to any other given row and any given column will be orthogonal to any other + given column. Any given row will not be orthogonal to any given column. Every row and every + column will be of unit length. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Orthonormalizes the specified matrix. + + The matrix to orthonormalize. + The orthonormalized matrix. + + Orthonormalization is the process of making all rows and columns orthogonal to each + other and making all rows and columns of unit length. This means that any given row will + be orthogonal to any other given row and any given column will be orthogonal to any other + given column. Any given row will not be orthogonal to any given column. Every row and every + column will be of unit length. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Brings the matrix into upper triangular form using elementary row operations. + + The matrix to put into upper triangular form. + When the method completes, contains the upper triangular matrix. + + If the matrix is not invertible (i.e. its determinant is zero) than the result of this + method may produce Single.Nan and Single.Inf values. When the matrix represents a system + of linear equations, than this often means that either no solution exists or an infinite + number of solutions exist. + + + + + Brings the matrix into upper triangular form using elementary row operations. + + The matrix to put into upper triangular form. + The upper triangular matrix. + + If the matrix is not invertible (i.e. its determinant is zero) than the result of this + method may produce Single.Nan and Single.Inf values. When the matrix represents a system + of linear equations, than this often means that either no solution exists or an infinite + number of solutions exist. + + + + + Brings the matrix into lower triangular form using elementary row operations. + + The matrix to put into lower triangular form. + When the method completes, contains the lower triangular matrix. + + If the matrix is not invertible (i.e. its determinant is zero) than the result of this + method may produce Single.Nan and Single.Inf values. When the matrix represents a system + of linear equations, than this often means that either no solution exists or an infinite + number of solutions exist. + + + + + Brings the matrix into lower triangular form using elementary row operations. + + The matrix to put into lower triangular form. + The lower triangular matrix. + + If the matrix is not invertible (i.e. its determinant is zero) than the result of this + method may produce Single.Nan and Single.Inf values. When the matrix represents a system + of linear equations, than this often means that either no solution exists or an infinite + number of solutions exist. + + + + + Brings the matrix into row echelon form using elementary row operations; + + The matrix to put into row echelon form. + When the method completes, contains the row echelon form of the matrix. + + + + Brings the matrix into row echelon form using elementary row operations; + + The matrix to put into row echelon form. + When the method completes, contains the row echelon form of the matrix. + + + + Brings the matrix into reduced row echelon form using elementary row operations. + + The matrix to put into reduced row echelon form. + The fifth column of the matrix. + When the method completes, contains the resultant matrix after the operation. + When the method completes, contains the resultant fifth column of the matrix. + + The fifth column is often called the augmented part of the matrix. This is because the fifth + column is really just an extension of the matrix so that there is a place to put all of the + non-zero components after the operation is complete. + Often times the resultant matrix will the identity matrix or a matrix similar to the identity + matrix. Sometimes, however, that is not possible and numbers other than zero and one may appear. + This method can be used to solve systems of linear equations. Upon completion of this method, + the will contain the solution for the system. It is up to the user + to analyze both the input and the result to determine if a solution really exists. + + + + + Creates a spherical billboard that rotates around a specified object position. + + The position of the object around which the billboard will rotate. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + When the method completes, contains the created billboard matrix. + + + + Creates a spherical billboard that rotates around a specified object position. + + The position of the object around which the billboard will rotate. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard matrix. + + + + Creates a left-handed, look-at matrix. + + The position of the viewer's eye. + The camera look-at target. + The camera's up vector. + When the method completes, contains the created look-at matrix. + + + + Creates a left-handed, look-at matrix. + + The position of the viewer's eye. + The camera look-at target. + The camera's up vector. + The created look-at matrix. + + + + Creates a right-handed, look-at matrix. + + The position of the viewer's eye. + The camera look-at target. + The camera's up vector. + When the method completes, contains the created look-at matrix. + + + + Creates a right-handed, look-at matrix. + + The position of the viewer's eye. + The camera look-at target. + The camera's up vector. + The created look-at matrix. + + + + Creates a left-handed, orthographic projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, orthographic projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, orthographic projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, orthographic projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a left-handed, customized orthographic projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, customized orthographic projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, customized orthographic projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, customized orthographic projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a left-handed, perspective projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, perspective projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, perspective projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, perspective projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a left-handed, perspective projection matrix based on a field of view. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, perspective projection matrix based on a field of view. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, perspective projection matrix based on a field of view. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, perspective projection matrix based on a field of view. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a left-handed, customized perspective projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, customized perspective projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, customized perspective projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, customized perspective projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Builds a matrix that can be used to reflect vectors about a plane. + + The plane for which the reflection occurs. This parameter is assumed to be normalized. + When the method completes, contains the reflection matrix. + + + + Builds a matrix that can be used to reflect vectors about a plane. + + The plane for which the reflection occurs. This parameter is assumed to be normalized. + The reflection matrix. + + + + Creates a matrix that flattens geometry into a shadow. + + The light direction. If the W component is 0, the light is directional light; if the + W component is 1, the light is a point light. + The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized. + When the method completes, contains the shadow matrix. + + + + Creates a matrix that flattens geometry into a shadow. + + The light direction. If the W component is 0, the light is directional light; if the + W component is 1, the light is a point light. + The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized. + The shadow matrix. + + + + Creates a matrix that scales along the x-axis, y-axis, and y-axis. + + Scaling factor for all three axes. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that scales along the x-axis, y-axis, and y-axis. + + Scaling factor for all three axes. + The created scaling matrix. + + + + Creates a matrix that scales along the x-axis, y-axis, and y-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Scaling factor that is applied along the z-axis. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that scales along the x-axis, y-axis, and y-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Scaling factor that is applied along the z-axis. + The created scaling matrix. + + + + Creates a matrix that uniformly scales along all three axis. + + The uniform scale that is applied along all axis. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that uniformly scales along all three axis. + + The uniform scale that is applied along all axis. + The created scaling matrix. + + + + Creates a matrix that rotates around the x-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates around the x-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + The created rotation matrix. + + + + Creates a matrix that rotates around the y-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates around the y-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + The created rotation matrix. + + + + Creates a matrix that rotates around the z-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates around the z-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + The created rotation matrix. + + + + Creates a matrix that rotates around an arbitrary axis. + + The axis around which to rotate. This parameter is assumed to be normalized. + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates around an arbitrary axis. + + The axis around which to rotate. This parameter is assumed to be normalized. + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + The created rotation matrix. + + + + Creates a rotation matrix from a quaternion. + + The quaternion to use to build the matrix. + The created rotation matrix. + + + + Creates a rotation matrix from a quaternion. + + The quaternion to use to build the matrix. + The created rotation matrix. + + + + Creates a rotation matrix with a specified yaw, pitch, and roll. + + Yaw around the y-axis, in radians. + Pitch around the x-axis, in radians. + Roll around the z-axis, in radians. + When the method completes, contains the created rotation matrix. + + + + Creates a rotation matrix with a specified yaw, pitch, and roll. + + Yaw around the y-axis, in radians. + Pitch around the x-axis, in radians. + Roll around the z-axis, in radians. + The created rotation matrix. + + + + Creates a translation matrix using the specified offsets. + + The offset for all three coordinate planes. + When the method completes, contains the created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + The offset for all three coordinate planes. + The created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + Z-coordinate offset. + When the method completes, contains the created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + Z-coordinate offset. + The created translation matrix. + + + + Creates a skew/shear matrix by means of a translation vector, a rotation vector, and a rotation angle. + shearing is performed in the direction of translation vector, where translation vector and rotation vector define the shearing plane. + The effect is such that the skewed rotation vector has the specified angle with rotation itself. + + The rotation angle. + The rotation vector + The translation vector + Contains the created skew/shear matrix. + + + + Creates a 3D affine transformation matrix. + + Scaling factor. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created affine transformation matrix. + + + + Creates a 3D affine transformation matrix. + + Scaling factor. + The rotation of the transformation. + The translation factor of the transformation. + The created affine transformation matrix. + + + + Creates a 3D affine transformation matrix. + + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created affine transformation matrix. + + + + Creates a 3D affine transformation matrix. + + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + The created affine transformation matrix. + + + + Creates a 2D affine transformation matrix. + + Scaling factor. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created affine transformation matrix. + + + + Creates a 2D affine transformation matrix. + + Scaling factor. + The rotation of the transformation. + The translation factor of the transformation. + The created affine transformation matrix. + + + + Creates a 2D affine transformation matrix. + + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created affine transformation matrix. + + + + Creates a 2D affine transformation matrix. + + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + The created affine transformation matrix. + + + + Creates a transformation matrix. + + Center point of the scaling operation. + Scaling rotation amount. + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created transformation matrix. + + + + Creates a transformation matrix. + + Center point of the scaling operation. + Scaling rotation amount. + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + The created transformation matrix. + + + + Creates a 2D transformation matrix. + + Center point of the scaling operation. + Scaling rotation amount. + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created transformation matrix. + + + + Creates a 2D transformation matrix. + + Center point of the scaling operation. + Scaling rotation amount. + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + The created transformation matrix. + + + + Adds two matrices. + + The first matrix to add. + The second matrix to add. + The sum of the two matrices. + + + + Assert a matrix (return it unchanged). + + The matrix to assert (unchanged). + The asserted (unchanged) matrix. + + + + Subtracts two matrices. + + The first matrix to subtract. + The second matrix to subtract. + The difference between the two matrices. + + + + Negates a matrix. + + The matrix to negate. + The negated matrix. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Multiplies two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Divides two matrices. + + The first matrix to divide. + The second matrix to divide. + The quotient of the two matrices. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets or sets the up of the matrix; that is M21, M22, and M23. + + + + + Gets or sets the down of the matrix; that is -M21, -M22, and -M23. + + + + + Gets or sets the right of the matrix; that is M11, M12, and M13. + + + + + Gets or sets the left of the matrix; that is -M11, -M12, and -M13. + + + + + Gets or sets the forward of the matrix; that is -M31, -M32, and -M33. + + + + + Gets or sets the backward of the matrix; that is M31, M32, and M33. + + + + + Gets or sets the first row in the matrix; that is M11, M12, M13, and M14. + + + + + Gets or sets the second row in the matrix; that is M21, M22, M23, and M24. + + + + + Gets or sets the third row in the matrix; that is M31, M32, M33, and M34. + + + + + Gets or sets the fourth row in the matrix; that is M41, M42, M43, and M44. + + + + + Gets or sets the first column in the matrix; that is M11, M21, M31, and M41. + + + + + Gets or sets the second column in the matrix; that is M12, M22, M32, and M42. + + + + + Gets or sets the third column in the matrix; that is M13, M23, M33, and M43. + + + + + Gets or sets the fourth column in the matrix; that is M14, M24, M34, and M44. + + + + + Gets or sets the translation of the matrix; that is M41, M42, and M43. + + + + + Gets or sets the scale of the matrix; that is M11, M22, and M33. + + + + + Gets a value indicating whether this instance is an identity matrix. + + + true if this instance is an identity matrix; otherwise, false. + + + + + Gets or sets the component at the specified index. + + The value of the matrix component, depending on the index. + The zero-based index of the component to access. + The value of the component at the specified index. + Thrown when the is out of the range [0, 15]. + + + + Gets or sets the component at the specified index. + + The value of the matrix component, depending on the index. + The row of the matrix to access. + The column of the matrix to access. + The value of the component at the specified index. + Thrown when the or is out of the range [0, 3]. + + + + Generic sound input stream supporting WAV (Pcm,Float), ADPCM, xWMA sound file formats. + + + + + Initializes a new instance of the class. + + The sound stream. + + + + Initializes the specified stream. + + The stream. + + + + Converts this stream to a DataStream by loading all the data from the source stream. + + + + + + Performs an implicit conversion from to . + + The stream. + + The result of the conversion. + + + + + When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. + + + An I/O error occurs. + + + + + When overridden in a derived class, sets the position within the current stream. + + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + + The new position within the current stream. + + + An I/O error occurs. + + + + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + + + + Methods were called after the stream was closed. + + + + + When overridden in a derived class, sets the length of the current stream. + + The desired length of the current stream in bytes. + + An I/O error occurs. + + + + The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. + + + + Methods were called after the stream was closed. + + + + + When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + + + The sum of and is larger than the buffer length. + + + + is null. + + + + or is negative. + + + + An I/O error occurs. + + + + The stream does not support reading. + + + + Methods were called after the stream was closed. + + + + + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + The sum of and is greater than the buffer length. + + + + is null. + + + + or is negative. + + + + An I/O error occurs. + + + + The stream does not support writing. + + + + Methods were called after the stream was closed. + + + + + Gets the decoded packets info. + + + This property is only valid for XWMA stream. + + + + Gets the wave format of this instance. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports reading. + + true if the stream supports reading; otherwise, false. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports seeking. + + true if the stream supports seeking; otherwise, false. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports writing. + + true if the stream supports writing; otherwise, false. + + + + + When overridden in a derived class, gets or sets the position within the current stream. + + + The current position within the stream. + + + + An I/O error occurs. + + + + The stream does not support seeking. + + + + Methods were called after the stream was closed. + + + + + When overridden in a derived class, gets the length in bytes of the stream. + + + A long value representing the length of the stream in bytes. + + + + A class derived from Stream does not support seeking. + + + + Methods were called after the stream was closed. + + + + + WaveFormatAdpcm + http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.xaudio2.adpcmwaveformat%28v=vs.85%29.aspx + Additional documentation: http://icculus.org/SDL_sound/downloads/external_documentation/wavecomp.htm + + WAVEFORMATADPCM + + + + Represents a Wave file format + + WAVEFORMATEX + + + format type + + + number of channels + + + sample rate + + + for buffer estimation + + + block size of data + + + number of bits per sample of mono data + + + number of following bytes + + + + Creates a new PCM 44.1Khz stereo 16 bit format + + + + + Creates a new 16 bit wave format with the specified sample + rate and channel count + + Sample Rate + Number of channels + + + + Gets the size of a wave buffer equivalent to the latency in milliseconds. + + The milliseconds. + + + + + Creates a WaveFormat with custom members + + The encoding + Sample Rate + Number of channels + Average Bytes Per Second + Block Align + Bits Per Sample + + + + + Creates an A-law wave format + + Sample Rate + Number of Channels + Wave Format + + + + Creates a Mu-law wave format + + Sample Rate + Number of Channels + Wave Format + + + + Creates a new PCM format with the specified sample rate, bit depth and channels + + + + + Creates a new 32 bit IEEE floating point wave format + + sample rate + number of channels + + + + Helper function to retrieve a WaveFormat structure from a pointer + + Buffer to the WaveFormat rawdata + WaveFormat structure + + + + Helper function to retrieve a WaveFormat structure from a pointer + + Pointer to the WaveFormat rawdata + WaveFormat structure + + + + Helper function to marshal WaveFormat to an IntPtr + + WaveFormat + IntPtr to WaveFormat structure (needs to be freed by callee) + + + + Reads a new WaveFormat object from a stream + + A binary reader that wraps the stream + + + + Reports this WaveFormat as a string + + String describing the wave format + + + + Compares with another WaveFormat object + + Object to compare to + True if the objects are the same + + + + Provides a hash code for this WaveFormat + + A hash code + + + + Reads or writes data from/to the given binary serializer. + + The binary serializer. + + + + Returns the encoding type used + + + + + Returns the number of channels (1=mono,2=stereo etc) + + + + + Returns the sample rate (samples per second) + + + + + Returns the average number of bytes used per second + + + + + Returns the block alignment + + + + + Returns the number of bits per sample (usually 16 or 32, sometimes 24 or 8) + Can be 0 for some codecs + + + + + Returns the number of extra bytes used by this waveformat. Often 0, + except for compressed formats which store extra data after the WAVEFORMATEX header + + + + number of following bytes + + + format type + + + number of channels + + + sample rate + + + for buffer estimation + + + block size of data + + + number of bits per sample of mono data + + + + Parameterless constructor for marshalling + + + + + Creates a new WaveFormatAdpcm for MicrosoftADPCM + + The rate. + The channels. + The block align. If 0, then 256 for [0, 11KHz], 512 for ]11KHz, 22Khz], 1024 for ]22Khz, +inf] + + + + Gets or sets the samples per block. + + + The samples per block. + + + + + Gets or sets the coefficients. + + + The coefficients. + + + + + Gets or sets the coefficients. + + + The coefficients. + + + + + A FourCC descriptor. + + + + + Empty FourCC. + + + + + Initializes a new instance of the struct. + + The fourCC value as a string . + + + + Initializes a new instance of the struct. + + The byte1. + The byte2. + The byte3. + The byte4. + + + + Initializes a new instance of the struct. + + The fourCC value as an uint. + + + + Initializes a new instance of the struct. + + The fourCC value as an int. + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + A chunk of a Riff stream. + + + + + Initializes a new instance of the class. + + The stream holding this chunk + The type. + The size. + The data offset. + if set to true [is list]. + if set to true [is header]. + + + + Gets the raw data contained in this chunk. + + + + + + Gets structured data contained in this chunk. + + The type of the data to return + + A structure filled with the chunk data + + + + + Gets structured data contained in this chunk. + + The type of the data to return + A structure filled with the chunk data + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the type. + + + + + Gets the of this chunk. + + + + + Gets the size of the data embedded by this chunk. + + + + + Gets the position of the data embedded by this chunk relative to the stream. + + + + + Gets or sets a value indicating whether this instance is a list chunk. + + + true if this instance is list; otherwise, false. + + + + + Gets a value indicating whether this instance is a header chunk. + + + true if this instance is a header; otherwise, false. + + + + + Riff chunk enumerator. + + + + + Initializes a new instance of the class. + + The input. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Advances the enumerator to the next element of the collection. + + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + The collection was modified after the enumerator was created. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + The collection was modified after the enumerator was created. + + + + + Ascends to the outer chunk. + + + + + Descends to the current chunk. + + + + + Gets all chunks. + + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the current stack of chunks. + + + + + Gets the element in the collection at the current position of the enumerator. + + + The element in the collection at the current position of the enumerator. + + + + + Helper class for Speaker mask. + + + + + Counts the channels from a speaker mask. + + The speakers mask. + + + + + WaveFormatExtensible + http://www.microsoft.com/whdc/device/audio/multichaud.mspx + + WAVEFORMATEXTENSIBLE + + + + Guid of the subformat. + + + + + Speaker configuration + + + + + Parameterless constructor for marshalling + + + + + Creates a new WaveFormatExtensible for PCM or IEEE + + + + + String representation + + + + + The namespace contains fundamental classes used by SharpDX. + + + + + A general purpose tag attribute. + + + + + Initializes a new instance of class. + + + + + + Gets the value. + + + + + Overrides in order to provide for Win8 Modern App. + + + + + Provides a basic implementation to replace (not available on Win8 Modern App). + + + + + The namespace provides missing ASCIIEncoding for Win8 Modern platform. + + + + + This provides timing information similar to but an update occurring only on a method. + + + + + Initializes a new instance of the class. + + + + + Resets this instance. is set to zero. + + + + + Resumes this instance, only if a call to has been already issued. + + + + + Update the and , + + + This method must be called on a regular basis at every *tick*. + + + + + Pauses this instance. + + + + + Converts a raw time to a . + + The delta. + The . + + + + Gets the total time elapsed since the last reset or when this timer was created. + + + + + Gets the elapsed adjusted time since the previous call to taking into account time. + + + + + Gets the elapsed time since the previous call to . + + + + + Gets a value indicating whether this instance is paused. + + true if this instance is paused; otherwise, false. + + + + Defines the viewport dimensions. + + + + + Position of the pixel coordinate of the upper-left corner of the viewport. + + + + + Position of the pixel coordinate of the upper-left corner of the viewport. + + + + + Width dimension of the viewport. + + + + + Height dimension of the viewport. + + + + + Gets or sets the minimum depth of the clip volume. + + + + + Gets or sets the maximum depth of the clip volume. + + + + + Initializes a new instance of the struct. + + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + + + + Initializes a new instance of the struct. + + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + The minimum depth of the clip volume. + The maximum depth of the clip volume. + + + + Initializes a new instance of the struct. + + A bounding box that defines the location and size of the viewport in a render target. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified object is equal to this instance. + + The object to compare with this instance. + + true if the specified object is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Retrieves a string representation of this object. + + A that represents this instance. + + + + Projects a 3D vector from object space into screen space. + + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + Vector3. + + + + Converts a screen space point into a corresponding point in world space. + + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + Vector3. + + + + Gets the size of this resource. + + The bounds. + + + + Gets the aspect ratio used by the viewport. + + The aspect ratio. + + + + Internal class to interact with Native Message + + + + + Represents a plane in three dimensional space. + + + + + The normal vector of the plane. + + + + + The distance of the plane along its normal from the origin. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + + Initializes a new instance of the class. + + Any point that lies along the plane. + The normal vector to the plane. + + + + Initializes a new instance of the struct. + + The normal of the plane. + The distance of the plane along its normal from the origin + + + + Initializes a new instance of the struct. + + First point of a triangle defining the plane. + Second point of a triangle defining the plane. + Third point of a triangle defining the plane. + + + + Initializes a new instance of the struct. + + The values to assign to the A, B, C, and D components of the plane. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Changes the coefficients of the normal vector of the plane to make it of unit length. + + + + + Creates an array containing the elements of the plane. + + A four-element array containing the components of the plane. + + + + Determines if there is an intersection between the current object and a point. + + The point to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + When the method completes, contains the line of intersection + as a , or a zero ray if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Scales the plane by the given scaling factor. + + The plane to scale. + The amount by which to scale the plane. + When the method completes, contains the scaled plane. + + + + Scales the plane by the given scaling factor. + + The plane to scale. + The amount by which to scale the plane. + The scaled plane. + + + + Calculates the dot product of the specified vector and plane. + + The source plane. + The source vector. + When the method completes, contains the dot product of the specified plane and vector. + + + + Calculates the dot product of the specified vector and plane. + + The source plane. + The source vector. + The dot product of the specified plane and vector. + + + + Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane. + + The source plane. + The source vector. + When the method completes, contains the dot product of a specified vector and the normal of the Plane plus the distance value of the plane. + + + + Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane. + + The source plane. + The source vector. + The dot product of a specified vector and the normal of the Plane plus the distance value of the plane. + + + + Calculates the dot product of the specified vector and the normal of the plane. + + The source plane. + The source vector. + When the method completes, contains the dot product of the specified vector and the normal of the plane. + + + + Calculates the dot product of the specified vector and the normal of the plane. + + The source plane. + The source vector. + The dot product of the specified vector and the normal of the plane. + + + + Changes the coefficients of the normal vector of the plane to make it of unit length. + + The source plane. + When the method completes, contains the normalized plane. + + + + Changes the coefficients of the normal vector of the plane to make it of unit length. + + The source plane. + The normalized plane. + + + + Transforms a normalized plane by a quaternion rotation. + + The normalized source plane. + The quaternion rotation. + When the method completes, contains the transformed plane. + + + + Transforms a normalized plane by a quaternion rotation. + + The normalized source plane. + The quaternion rotation. + The transformed plane. + + + + Transforms an array of normalized planes by a quaternion rotation. + + The array of normalized planes to transform. + The quaternion rotation. + Thrown when is null. + + + + Transforms a normalized plane by a matrix. + + The normalized source plane. + The transformation matrix. + When the method completes, contains the transformed plane. + + + + Transforms a normalized plane by a matrix. + + The normalized source plane. + The transformation matrix. + When the method completes, contains the transformed plane. + + + + Transforms an array of normalized planes by a matrix. + + The array of normalized planes to transform. + The transformation matrix. + Thrown when is null. + + + + Scales a plane by the given value. + + The amount by which to scale the plane. + The plane to scale. + The scaled plane. + + + + Scales a plane by the given value. + + The plane to scale. + The amount by which to scale the plane. + The scaled plane. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the component at the specified index. + + The value of the A, B, C, or D component, depending on the index. + The index of the component to access. Use 0 for the A component, 1 for the B component, 2 for the C component, and 3 for the D component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Represents a four dimensional mathematical quaternion. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + A with all of its components set to one. + + + + + The identity (0, 0, 0, 1). + + + + + The X component of the quaternion. + + + + + The Y component of the quaternion. + + + + + The Z component of the quaternion. + + + + + The W component of the quaternion. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the components. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X, Y, and Z components. + Initial value for the W component of the quaternion. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X and Y components. + Initial value for the Z component of the quaternion. + Initial value for the W component of the quaternion. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the quaternion. + Initial value for the Y component of the quaternion. + Initial value for the Z component of the quaternion. + Initial value for the W component of the quaternion. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the quaternion. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Conjugates the quaternion. + + + + + Conjugates and renormalizes the quaternion. + + + + + Calculates the length of the quaternion. + + The length of the quaternion. + + may be preferred when only the relative length is needed + and speed is of the essence. + + + + + Calculates the squared length of the quaternion. + + The squared length of the quaternion. + + This method may be preferred to when only a relative length is needed + and speed is of the essence. + + + + + Converts the quaternion into a unit quaternion. + + + + + Creates an array containing the elements of the quaternion. + + A four-element array containing the components of the quaternion. + + + + Adds two quaternions. + + The first quaternion to add. + The second quaternion to add. + When the method completes, contains the sum of the two quaternions. + + + + Adds two quaternions. + + The first quaternion to add. + The second quaternion to add. + The sum of the two quaternions. + + + + Subtracts two quaternions. + + The first quaternion to subtract. + The second quaternion to subtract. + When the method completes, contains the difference of the two quaternions. + + + + Subtracts two quaternions. + + The first quaternion to subtract. + The second quaternion to subtract. + The difference of the two quaternions. + + + + Scales a quaternion by the given value. + + The quaternion to scale. + The amount by which to scale the quaternion. + When the method completes, contains the scaled quaternion. + + + + Scales a quaternion by the given value. + + The quaternion to scale. + The amount by which to scale the quaternion. + The scaled quaternion. + + + + Modulates a quaternion by another. + + The first quaternion to modulate. + The second quaternion to modulate. + When the method completes, contains the modulated quaternion. + + + + Modulates a quaternion by another. + + The first quaternion to modulate. + The second quaternion to modulate. + The modulated quaternion. + + + + Reverses the direction of a given quaternion. + + The quaternion to negate. + When the method completes, contains a quaternion facing in the opposite direction. + + + + Reverses the direction of a given quaternion. + + The quaternion to negate. + A quaternion facing in the opposite direction. + + + + Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains a new containing the 4D Cartesian coordinates of the specified point. + + + + Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 4D Cartesian coordinates of the specified point. + + + + Conjugates a quaternion. + + The quaternion to conjugate. + When the method completes, contains the conjugated quaternion. + + + + Conjugates a quaternion. + + The quaternion to conjugate. + The conjugated quaternion. + + + + Calculates the dot product of two quaternions. + + First source quaternion. + Second source quaternion. + When the method completes, contains the dot product of the two quaternions. + + + + Calculates the dot product of two quaternions. + + First source quaternion. + Second source quaternion. + The dot product of the two quaternions. + + + + Exponentiates a quaternion. + + The quaternion to exponentiate. + When the method completes, contains the exponentiated quaternion. + + + + Exponentiates a quaternion. + + The quaternion to exponentiate. + The exponentiated quaternion. + + + + Conjugates and renormalizes the quaternion. + + The quaternion to conjugate and renormalize. + When the method completes, contains the conjugated and renormalized quaternion. + + + + Conjugates and renormalizes the quaternion. + + The quaternion to conjugate and renormalize. + The conjugated and renormalized quaternion. + + + + Performs a linear interpolation between two quaternions. + + Start quaternion. + End quaternion. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two quaternions. + + This method performs the linear interpolation based on the following formula. + start + (end - start) * amount + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two quaternion. + + Start quaternion. + End quaternion. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two quaternions. + + This method performs the linear interpolation based on the following formula. + start + (end - start) * amount + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Calculates the natural logarithm of the specified quaternion. + + The quaternion whose logarithm will be calculated. + When the method completes, contains the natural logarithm of the quaternion. + + + + Calculates the natural logarithm of the specified quaternion. + + The quaternion whose logarithm will be calculated. + The natural logarithm of the quaternion. + + + + Converts the quaternion into a unit quaternion. + + The quaternion to normalize. + When the method completes, contains the normalized quaternion. + + + + Converts the quaternion into a unit quaternion. + + The quaternion to normalize. + The normalized quaternion. + + + + Creates a quaternion given a rotation and an axis. + + The axis of rotation. + The angle of rotation. + When the method completes, contains the newly created quaternion. + + + + Creates a quaternion given a rotation and an axis. + + The axis of rotation. + The angle of rotation. + The newly created quaternion. + + + + Creates a quaternion given a rotation matrix. + + The rotation matrix. + When the method completes, contains the newly created quaternion. + + + + Creates a quaternion given a rotation matrix. + + The rotation matrix. + The newly created quaternion. + + + + Creates a quaternion given a yaw, pitch, and roll value. + + The yaw of rotation. + The pitch of rotation. + The roll of rotation. + When the method completes, contains the newly created quaternion. + + + + Creates a quaternion given a yaw, pitch, and roll value. + + The yaw of rotation. + The pitch of rotation. + The roll of rotation. + The newly created quaternion. + + + + Interpolates between two quaternions, using spherical linear interpolation. + + Start quaternion. + End quaternion. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the spherical linear interpolation of the two quaternions. + + + + Interpolates between two quaternions, using spherical linear interpolation. + + Start quaternion. + End quaternion. + Value between 0 and 1 indicating the weight of . + The spherical linear interpolation of the two quaternions. + + + + Interpolates between quaternions, using spherical quadrangle interpolation. + + First source quaternion. + Second source quaternion. + Third source quaternion. + Fourth source quaternion. + Value between 0 and 1 indicating the weight of interpolation. + When the method completes, contains the spherical quadrangle interpolation of the quaternions. + + + + Interpolates between quaternions, using spherical quadrangle interpolation. + + First source quaternion. + Second source quaternion. + Third source quaternion. + Fourth source quaternion. + Value between 0 and 1 indicating the weight of interpolation. + The spherical quadrangle interpolation of the quaternions. + + + + Sets up control points for spherical quadrangle interpolation. + + First source quaternion. + Second source quaternion. + Third source quaternion. + Fourth source quaternion. + An array of three quaternions that represent control points for spherical quadrangle interpolation. + + + + Adds two quaternions. + + The first quaternion to add. + The second quaternion to add. + The sum of the two quaternions. + + + + Subtracts two quaternions. + + The first quaternion to subtract. + The second quaternion to subtract. + The difference of the two quaternions. + + + + Reverses the direction of a given quaternion. + + The quaternion to negate. + A quaternion facing in the opposite direction. + + + + Scales a quaternion by the given value. + + The quaternion to scale. + The amount by which to scale the quaternion. + The scaled quaternion. + + + + Scales a quaternion by the given value. + + The quaternion to scale. + The amount by which to scale the quaternion. + The scaled quaternion. + + + + Multiplies a quaternion by another. + + The first quaternion to multiply. + The second quaternion to multiply. + The multiplied quaternion. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets a value indicating whether this instance is equivalent to the identity quaternion. + + + true if this instance is an identity quaternion; otherwise, false. + + + + + Gets a value indicting whether this instance is normalized. + + + + + Gets the angle of the quaternion. + + The quaternion's angle. + + + + Gets the axis components of the quaternion. + + The axis components of the quaternion. + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Represents a three dimensional line based on a point in space and a direction. + + + + + The position in three dimensional space where the ray starts. + + + + + The normalized direction in which the ray points. + + + + + Initializes a new instance of the struct. + + The position in three dimensional space of the origin of the ray. + The normalized direction of the ray. + + + + Determines if there is an intersection between the current object and a point. + + The point to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Calculates a world space from 2d screen coordinates. + + X coordinate on 2d screen. + Y coordinate on 2d screen. + . + Transformation . + Resulting . + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Define a Rectangle. This structure is slightly different from System.Drawing.Rectangle as It is + internally storing Left,Top,Right,Bottom instead of Left,Top,Width,Height. + Although automatic casting from a to System.Drawing.Rectangle is provided by this class. + + + + + An empty rectangle. + + + + + Initializes a new instance of the struct. + + The left. + The top. + The width. + The height. + + + Changes the position of the Rectangle. + The values to adjust the position of the Rectangle by. + + + Changes the position of the Rectangle. + Change in the x-position. + Change in the y-position. + + + Pushes the edges of the Rectangle out by the horizontal and vertical values specified. + Value to push the sides out by. + Value to push the top and bottom out by. + + + Determines whether this Rectangle contains a specified point represented by its x- and y-coordinates. + The x-coordinate of the specified point. + The y-coordinate of the specified point. + + + Determines whether this Rectangle contains a specified Point. + The Point to evaluate. + + + Determines whether this Rectangle contains a specified Point. + The Point to evaluate. + [OutAttribute] true if the specified Point is contained within this Rectangle; false otherwise. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + [OutAttribute] On exit, is true if this Rectangle entirely contains the specified Rectangle, or false if not. + + + + Checks, if specified point is inside . + + X point coordinate. + Y point coordinate. + true if point is inside , otherwise false. + + + + Checks, if specified is inside . + + Coordinate . + true if is inside , otherwise false. + + + Determines whether a specified Rectangle intersects with this Rectangle. + The Rectangle to evaluate. + + + + Determines whether a specified Rectangle intersects with this Rectangle. + + The Rectangle to evaluate + [OutAttribute] true if the specified Rectangle intersects with this one; false otherwise. + + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + + The first Rectangle to compare. + The second Rectangle to compare. + Rectangle. + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + The first Rectangle to compare. + The second Rectangle to compare. + [OutAttribute] The area where the two first parameters overlap. + + + + Creates a new Rectangle that exactly contains two other rectangles. + + The first Rectangle to contain. + The second Rectangle to contain. + Rectangle. + + + + Creates a new Rectangle that exactly contains two other rectangles. + + The first Rectangle to contain. + The second Rectangle to contain. + [OutAttribute] The Rectangle that must be the union of the first two rectangles. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + + + + Gets or sets the left. + + The left. + + + + Gets or sets the top. + + The top. + + + + Gets or sets the right. + + The right. + + + + Gets or sets the bottom. + + The bottom. + + + + Gets the left position. + + The left position. + + + + Gets the top position. + + The top position. + + + + Gets the width. + + The width. + + + + Gets the height. + + The height. + + + Gets or sets the upper-left value of the Rectangle. + + + Gets the Point that specifies the center of the rectangle. + + + Gets a value that indicates whether the Rectangle is empty. + + + + Gets or sets the size of the rectangle. + + The size of the rectangle. + + + + Gets the position of the top-left corner of the rectangle. + + The top-left corner of the rectangle. + + + + Gets the position of the top-right corner of the rectangle. + + The top-right corner of the rectangle. + + + + Gets the position of the bottom-left corner of the rectangle. + + The bottom-left corner of the rectangle. + + + + Gets the position of the bottom-right corner of the rectangle. + + The bottom-right corner of the rectangle. + + + + Define a RectangleF. This structure is slightly different from System.Drawing.RectangleF as It is + internally storing Left,Top,Right,Bottom instead of Left,Top,Width,Height. + Although automatic casting from a to System.Drawing.Rectangle is provided by this class. + + + + + An empty rectangle + + + + + Initializes a new instance of the struct. + + The left. + The top. + The width. + The height. + + + Changes the position of the Rectangle. + The values to adjust the position of the Rectangle by. + + + Changes the position of the Rectangle. + The values to adjust the position of the Rectangle by. + + + Changes the position of the Rectangle. + Change in the x-position. + Change in the y-position. + + + Pushes the edges of the Rectangle out by the horizontal and vertical values specified. + Value to push the sides out by. + Value to push the top and bottom out by. + + + Determines whether this Rectangle contains a specified Point. + The Point to evaluate. + [OutAttribute] true if the specified Point is contained within this Rectangle; false otherwise. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + [OutAttribute] On exit, is true if this Rectangle entirely contains the specified Rectangle, or false if not. + + + + Checks, if specified point is inside . + + X point coordinate. + Y point coordinate. + true if point is inside , otherwise false. + + + + Checks, if specified is inside . + + Coordinate . + true if is inside , otherwise false. + + + + Checks, if specified is inside . + + Coordinate . + true if is inside , otherwise false. + + + Determines whether a specified Rectangle intersects with this Rectangle. + The Rectangle to evaluate. + + + + Determines whether a specified Rectangle intersects with this Rectangle. + + The Rectangle to evaluate + [OutAttribute] true if the specified Rectangle intersects with this one; false otherwise. + + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + + The first Rectangle to compare. + The second Rectangle to compare. + Rectangle. + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + The first Rectangle to compare. + The second Rectangle to compare. + [OutAttribute] The area where the two first parameters overlap. + + + + Creates a new Rectangle that exactly contains two other rectangles. + + The first Rectangle to contain. + The second Rectangle to contain. + Rectangle. + + + + Creates a new Rectangle that exactly contains two other rectangles. + + The first Rectangle to contain. + The second Rectangle to contain. + [OutAttribute] The Rectangle that must be the union of the first two rectangles. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + + + + Gets or sets the left. + + The left. + + + + Gets or sets the top. + + The top. + + + + Gets or sets the right. + + The right. + + + + Gets or sets the bottom. + + The bottom. + + + + Gets the left position. + + The left position. + + + + Gets the top position. + + The top position. + + + + Gets the width. + + The width. + + + + Gets the height. + + The height. + + + Gets or sets the upper-left value of the Rectangle. + + + Gets the Point that specifies the center of the rectangle. + + + Gets a value that indicates whether the Rectangle is empty. + + + + Gets or sets the size of the rectangle. + + The size of the rectangle. + + + + Gets the position of the top-left corner of the rectangle. + + The top-left corner of the rectangle. + + + + Gets the position of the top-right corner of the rectangle. + + The top-right corner of the rectangle. + + + + Gets the position of the bottom-left corner of the rectangle. + + The bottom-left corner of the rectangle. + + + + Gets the position of the bottom-right corner of the rectangle. + + The bottom-right corner of the rectangle. + + + + Result structure for COM methods. + + + + + Initializes a new instance of the struct. + + The HRESULT error code. + + + + Initializes a new instance of the struct. + + The HRESULT error code. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Checks the error. + + + + + Gets a from an . + + The exception + The associated result code + + + + Gets the result from win32 error. + + The win32Error. + A HRESULT. + + + + Result code Ok + + S_OK + + + + Result code False + + S_FALSE + + + + Result code Abort + + E_ABORT + + + + Result code AccessDenied + + E_ACCESSDENIED + + + + Result code Fail + + E_FAIL + + + + Result code Handle + + E_HANDLE + + + + Result code invalid argument + + E_INVALIDARG + + + + Result code no interface + + E_NOINTERFACE + + + + Result code not implemented + + E_NOTIMPL + + + + Result code out of memory + + E_OUTOFMEMORY + + + + Result code Invalid pointer + + E_POINTER + + + + Unexpected failure + + E_UNEXPECTED + + + + Result of a wait abandonned. + + WAIT_ABANDONED + + + + Result of a wait timeout. + + WAIT_TIMEOUT + + + + Gets the HRESULT error code. + + The HRESULT error code. + + + + Gets a value indicating whether this is success. + + true if success; otherwise, false. + + + + Gets a value indicating whether this is failure. + + true if failure; otherwise, false. + + + + The maximum number of bytes to which a pointer can point. Use for a count that must span the full range of a pointer. + Equivalent to Windows type SIZE_T. + + + + + Initializes a new instance of the struct. + + The size. + + + + Default constructor. + + value to set + + + + Default constructor. + + value to set + + + + Default constructor. + + value to set + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Adds two sizes. + + The first size to add. + The second size to add. + The sum of the two sizes. + + + + Assert a size (return it unchanged). + + The size to assert (unchanged). + The asserted (unchanged) size. + + + + Subtracts two sizes. + + The first size to subtract. + The second size to subtract. + The difference of the two sizes. + + + + Reverses the direction of a given size. + + The size to negate. + A size facing in the opposite direction. + + + + Scales a size by the given value. + + The size to scale. + The amount by which to scale the size. + The scaled size. + + + + Scales a size by the given value. + + The size to scale. + The amount by which to scale the size. + The scaled size. + + + + Scales a size by the given value. + + The size to scale. + The amount by which to scale the size. + The scaled size. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from void* to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to void*. + + The value. + The result of the conversion. + + + + A Delegate to get a property value from an object. + + Type of the getter. + The obj to get the property from. + The value to get. + + + + A Delegate to set a property value to an object. + + Type of the setter. + The obj to set the property from. + The value to set. + + + + Utility class. + + + + + Native memcpy. + + The destination memory location. + The source memory location. + The byte count. + + + + Compares two block of memory. + + The pointer to compare from. + The pointer to compare against. + The size in bytes to compare. + true if the buffers are equivalent; otherwise, false. + + + + Clears the memory. + + The dest. + The value. + The size in bytes to clear. + + + + Return the sizeof a struct from a CLR. Equivalent to sizeof operator but works on generics too. + + A struct to evaluate. + Size of this struct. + + + + Return the sizeof an array of struct. Equivalent to sizeof operator but works on generics too. + + A struct. + The array of struct to evaluate. + Size in bytes of this array of struct. + + + + Pins the specified source and call an action with the pinned pointer. + + The type of the structure to pin. + The source. + The pin action to perform on the pinned pointer. + + + + Pins the specified source and call an action with the pinned pointer. + + The type of the structure to pin. + The source array. + The pin action to perform on the pinned pointer. + + + + Converts a structured array to an equivalent byte array. + + The type of source array. + The source array. + Converted byte array. + + + + Swaps the value between two references. + + Type of a data to swap. + The left value. + The right value. + + + + Reads the specified T data from a memory location. + + Type of a data to read. + Memory location to read from. + The data read from the memory location. + + + + Reads the specified T data from a memory location. + + Type of a data to read. + Memory location to read from. + The data write to. + source pointer + sizeof(T). + + + + Reads the specified T data from a memory location. + + Type of a data to read. + Memory location to read from. + The data write to. + source pointer + sizeof(T). + + + + Reads the specified T data from a memory location. + + Type of a data to read. + Memory location to read from. + The data write to. + source pointer + sizeof(T). + + + + Reads the specified array T[] data from a memory location. + + Type of a data to read. + Memory location to read from. + The data write to. + The offset in the array to write to. + The number of T element to read from the memory location. + source pointer + sizeof(T) * count. + + + + Writes the specified T data to a memory location. + + Type of a data to write. + Memory location to write to. + The data to write. + destination pointer + sizeof(T). + + + + Writes the specified T data to a memory location. + + Type of a data to write. + Memory location to write to. + The data to write. + destination pointer + sizeof(T). + + + + Writes the specified array T[] data to a memory location. + + Type of a data to write. + Memory location to write to. + The array of T data to write. + The offset in the array to read from. + The number of T element to write to the memory location. + destination pointer + sizeof(T) * count. + + + + Converts bool array to integer pointers array. + + The bool array. + The destination array of int pointers. + + + + Converts bool array to array. + + The bool array. + Converted array of . + + + + Converts integer pointer array to bool array. + + The array of integer pointers. + Array size. + Converted array of bool. + + + + Converts array to bool array. + + The array. + Converted array of bool. + + + + Gets the from a type. + + The type. + The guid associated with this type. + + + + Allocate an aligned memory buffer. + + Size of the buffer to allocate. + Alignment, 16 bytes by default. + A pointer to a buffer aligned. + + To free this buffer, call . + + + + + Allocate an aligned memory buffer and clear it with a specified value (0 by default). + + Size of the buffer to allocate. + Default value used to clear the buffer. + Alignment, 16 bytes by default. + A pointer to a buffer aligned. + + To free this buffer, call . + + + + + Determines whether the specified memory pointer is aligned in memory. + + The memory pointer. + The align. + true if the specified memory pointer is aligned in memory; otherwise, false. + + + + Allocate an aligned memory buffer. + + A pointer to a buffer aligned. + + The buffer must have been allocated with . + + + + + Converts a pointer to a null-terminating string up to maxLength characters to a .Net string. + + The pointer to an ANSI null string. + Maximum length of the string. + The converted string. + + + + Converts a pointer to a null-terminating string up to maxLength characters to a .Net string. + + The pointer to an Unicode null string. + Maximum length of the string. + The converted string. + + + + Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies. + + A managed string to be copied. + The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null. + + + + Copies the contents of a managed String into unmanaged memory. + + A managed string to be copied. + The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null. + + + + Copies the contents of a managed String into unmanaged memory using + + A managed string to be copied. + The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null. + + + + Gets the IUnknown from object. Similar to but accept null object + by returning an IntPtr.Zero IUnknown pointer. + + The managed object. + An IUnknown pointer to a managed object. + + + + Gets an object from an IUnknown pointer. Similar to but accept IntPtr.Zero + by returning a null object. + + an IUnknown pointer to a managed object. + The managed object. + + + + String helper join method to display an array of object as a single string. + + The separator. + The array. + A string with array elements separated by the separator. + + + + String helper join method to display an enumerable of object as a single string. + + The separator. + The enumerable. + A string with array elements separated by the separator. + + + + String helper join method to display an enumerable of object as a single string. + + The separator. + The enumerable. + A string with array elements separated by the separator. + + + + Converts a blob to a string. + + A blob. + A string extracted from a blob. + + + + Equivalent to IntPtr.Add method from 3.5+ .NET Framework. + Adds an offset to the value of a pointer. + + A native pointer. + The offset to add (number of bytes). + A new pointer that reflects the addition of offset to pointer. + + + + Read stream to a byte[] buffer. + + Input stream. + A byte[] buffer. + + + + Read stream to a byte[] buffer. + + Input stream. + Length to read. + A byte[] buffer. + + + + Compares two collection, element by elements. + + A "from" enumerator. + A "to" enumerator. + true if lists are identical, false otherwise. + + + + Compares two collection, element by elements. + + A "from" enumerator. + A "to" enumerator. + true if lists are identical; otherwise, false. + + + + Compares two collection, element by elements. + + The collection to compare from. + The collection to compare to. + true if lists are identical (but not necessarily of the same time); otherwise , false. + + + + Gets the custom attribute. + + Type of the custom attribute. + The member info. + if set to true [inherited]. + The custom attribute or null if not found. + + + + Gets the custom attributes. + + Type of the custom attribute. + The member info. + if set to true [inherited]. + The custom attribute or null if not found. + + + + Determines whether fromType can be assigned to toType. + + To type. + From type. + + true if [is assignable from] [the specified to type]; otherwise, false. + + + + + Determines whether the specified type to test is an enum. + + The type to test. + + true if the specified type to test is an enum; otherwise, false. + + + + + Determines whether the specified type to test is a value type. + + The type to test. + + true if the specified type to test is a value type; otherwise, false. + + + + + Builds a fast property getter from a type and a property info. + + Type of the getter. + Type of the custom effect. + The property info to get the value from. + A compiled delegate. + + + + Builds a fast property setter from a type and a property info. + + Type of the setter. + Type of the custom effect. + The property info to set the value to. + A compiled delegate. + + + + Suspends the current thread of a . + + The duration to sleep in milliseconds. + + + + Finds an explicit conversion between a source type and a target type. + + Type of the source. + Type of the target. + The method to perform the conversion. null if not found. + + + + Loads a native library. + + Name of the DLL. + If DLL was not found. + Handle to the module. + + + + Gets the proc address of a DLL. + + The handle. + The DLL function to import. + If the function was not found. + Pointer to address of the exported function or variable. + + + + Compute a FNV1-modified Hash from Fowler/Noll/Vo Hash improved version. + + Data to compute the hash from. + A hash value. + + + + Safely dispose a reference if not null, and set it to null after dispose. + + The type of COM interface to dispose. + Object to dispose. + + The reference will be set to null after dispose. + + + + + Transforms an to an array of T. + + Type of the element + The enumerable source. + an array of T + + + + Test if there is an element in this enumeration. + + Type of the element + The enumerable source. + true if there is an element in this enumeration, false otherwise + + + + Select elements from an enumeration. + + The type of the T source. + The type of the T result. + The source. + The selector. + A enumeration of selected values + + + + Selects distinct elements from an enumeration. + + The type of the T source. + The source. + The comparer. + A enumeration of selected values + + + Determines the concurrency model used for incoming calls to objects created by this thread. This concurrency model can be either apartment-threaded or multi-threaded. + + + + Initializes the thread for apartment-threaded object concurrency. + + + + + Initializes the thread for multi-threaded object concurrency. + + + + + Disables DDE for OLE1 support. + + + + + Trade memory for speed. + + + + + Represents a two dimensional mathematical vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0). + + + + + The Y unit (0, 1). + + + + + A with all of its components set to one. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X and Y components of the vector. This must be an array with two elements. + Thrown when is null. + Thrown when contains more or less than two elements. + + + + Calculates the length of the vector. + + The length of the vector. + + may be preferred when only the relative length is needed + and speed is of the essence. + + + + + Calculates the squared length of the vector. + + The squared length of the vector. + + This method may be preferred to when only a relative length is needed + and speed is of the essence. + + + + + Converts the vector into a unit vector. + + + + + Creates an array containing the elements of the vector. + + A two-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 2D Cartesian coordinates of vertex 1 of the triangle. + A containing the 2D Cartesian coordinates of vertex 2 of the triangle. + A containing the 2D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains the 2D Cartesian coordinates of the specified point. + + + + Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 2D Cartesian coordinates of vertex 1 of the triangle. + A containing the 2D Cartesian coordinates of vertex 2 of the triangle. + A containing the 2D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 2D Cartesian coordinates of the specified point. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Saturates this instance in the range [0,1] + + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + The distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector + When the method completes, contains the squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + The squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + When the method completes, contains the dot product of the two vectors. + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + The dot product of the two vectors. + + + + Converts the vector into a unit vector. + + The vector to normalize. + When the method completes, contains the normalized vector. + + + + Converts the vector into a unit vector. + + The vector to normalize. + The normalized vector. + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two vectors. + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two vectors. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + When the method completes, contains the result of the Hermite spline interpolation. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + The result of the Hermite spline interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + When the method completes, contains the result of the Catmull-Rom interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + A vector that is the result of the Catmull-Rom interpolation. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + Normal of the surface. + When the method completes, contains the reflected vector. + Reflect only gives the direction of a reflection off a surface, it does not determine + whether the original vector was close enough to the surface to hit it. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + Normal of the surface. + The reflected vector. + Reflect only gives the direction of a reflection off a surface, it does not determine + whether the original vector was close enough to the surface to hit it. + + + + Orthogonalizes a list of vectors. + + The list of orthogonalized vectors. + The list of vectors to orthogonalize. + + Orthogonalization is the process of making all vectors orthogonal to each other. This + means that any given vector in the list will be orthogonal to any other given vector in the + list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Orthonormalizes a list of vectors. + + The list of orthonormalized vectors. + The list of vectors to orthonormalize. + + Orthonormalization is the process of making all vectors orthogonal to each + other and making all vectors of unit length. This means that any given vector will + be orthogonal to any other given vector in the list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 2D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + When the method completes, contains the transformed . + + + + Transforms a 2D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + The transformed . + + + + Transforms an array of vectors by the given rotation. + + The array of vectors to transform. + The rotation to apply. + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 2D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + + Transforms a 2D vector by the given . + + The source vector. + The transformation . + The transformed . + + + + Transforms an array of 2D vectors by the given . + + The array of vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + Thrown when or is null. + Thrown when is shorter in length than . + + + + Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + When the method completes, contains the transformed coordinates. + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + The transformed coordinates. + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a coordinate transformation on an array of vectors using the given . + + The array of coordinate vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + When the method completes, contains the transformed normal. + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + The transformed normal. + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Performs a normal transformation on an array of vectors using the given . + + The array of normal vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Modulates a vector with another by performing component-wise multiplication equivalent to . + + The first vector to multiply. + The second vector to multiply. + The multiplication of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets a value indicting whether this instance is normalized. + + + + + Gets or sets the component at the specified index. + + The value of the X or Y component, depending on the index. + The index of the component to access. Use 0 for the X component and 1 for the Y component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 1]. + + + + Represents a three dimensional mathematical vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0, 0). + + + + + The Y unit (0, 1, 0). + + + + + The Z unit (0, 0, 1). + + + + + A with all of its components set to one. + + + + + A unit designating up (0, 1, 0). + + + + + A unit designating down (0, -1, 0). + + + + + A unit designating left (-1, 0, 0). + + + + + A unit designating right (1, 0, 0). + + + + + A unit designating forward in a right-handed coordinate system (0, 0, -1). + + + + + A unit designating forward in a left-handed coordinate system (0, 0, 1). + + + + + A unit designating backward in a right-handed coordinate system (0, 0, 1). + + + + + A unit designating backward in a left-handed coordinate system (0, 0, -1). + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X and Y components. + Initial value for the Z component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements. + Thrown when is null. + Thrown when contains more or less than three elements. + + + + Calculates the length of the vector. + + The length of the vector. + + may be preferred when only the relative length is needed + and speed is of the essence. + + + + + Calculates the squared length of the vector. + + The squared length of the vector. + + This method may be preferred to when only a relative length is needed + and speed is of the essence. + + + + + Converts the vector into a unit vector. + + + + + Creates an array containing the elements of the vector. + + A three-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle. + + A containing the 3D Cartesian coordinates of vertex 1 of the triangle. + A containing the 3D Cartesian coordinates of vertex 2 of the triangle. + A containing the 3D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains the 3D Cartesian coordinates of the specified point. + + + + Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle. + + A containing the 3D Cartesian coordinates of vertex 1 of the triangle. + A containing the 3D Cartesian coordinates of vertex 2 of the triangle. + A containing the 3D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 3D Cartesian coordinates of the specified point. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Calculates the cross product of two vectors. + + First source vector. + Second source vector. + When the method completes, contains he cross product of the two vectors. + + + + Calculates the cross product of two vectors. + + First source vector. + Second source vector. + The cross product of the two vectors. + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + The distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + The squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Tests whether one 3D vector is near another 3D vector. + + The left vector. + The right vector. + The epsilon. + true if left and right are near another 3D, false otherwise + + + + Tests whether one 3D vector is near another 3D vector. + + The left vector. + The right vector. + The epsilon. + true if left and right are near another 3D, false otherwise + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + When the method completes, contains the dot product of the two vectors. + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + The dot product of the two vectors. + + + + Converts the vector into a unit vector. + + The vector to normalize. + When the method completes, contains the normalized vector. + + + + Converts the vector into a unit vector. + + The vector to normalize. + The normalized vector. + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two vectors. + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two vectors. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + When the method completes, contains the result of the Hermite spline interpolation. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + The result of the Hermite spline interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + When the method completes, contains the result of the Catmull-Rom interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + A vector that is the result of the Catmull-Rom interpolation. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Projects a 3D vector from object space into screen space. + + The vector to project. + The X position of the viewport. + The Y position of the viewport. + The width of the viewport. + The height of the viewport. + The minimum depth of the viewport. + The maximum depth of the viewport. + The combined world-view-projection matrix. + When the method completes, contains the vector in screen space. + + + + Projects a 3D vector from object space into screen space. + + The vector to project. + The X position of the viewport. + The Y position of the viewport. + The width of the viewport. + The height of the viewport. + The minimum depth of the viewport. + The maximum depth of the viewport. + The combined world-view-projection matrix. + The vector in screen space. + + + + Projects a 3D vector from screen space into object space. + + The vector to project. + The X position of the viewport. + The Y position of the viewport. + The width of the viewport. + The height of the viewport. + The minimum depth of the viewport. + The maximum depth of the viewport. + The combined world-view-projection matrix. + When the method completes, contains the vector in object space. + + + + Projects a 3D vector from screen space into object space. + + The vector to project. + The X position of the viewport. + The Y position of the viewport. + The width of the viewport. + The height of the viewport. + The minimum depth of the viewport. + The maximum depth of the viewport. + The combined world-view-projection matrix. + The vector in object space. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + Normal of the surface. + When the method completes, contains the reflected vector. + Reflect only gives the direction of a reflection off a surface, it does not determine + whether the original vector was close enough to the surface to hit it. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + Normal of the surface. + The reflected vector. + Reflect only gives the direction of a reflection off a surface, it does not determine + whether the original vector was close enough to the surface to hit it. + + + + Orthogonalizes a list of vectors. + + The list of orthogonalized vectors. + The list of vectors to orthogonalize. + + Orthogonalization is the process of making all vectors orthogonal to each other. This + means that any given vector in the list will be orthogonal to any other given vector in the + list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Orthonormalizes a list of vectors. + + The list of orthonormalized vectors. + The list of vectors to orthonormalize. + + Orthonormalization is the process of making all vectors orthogonal to each + other and making all vectors of unit length. This means that any given vector will + be orthogonal to any other given vector in the list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 3D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + When the method completes, contains the transformed . + + + + Transforms a 3D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + The transformed . + + + + Transforms an array of vectors by the given rotation. + + The array of vectors to transform. + The rotation to apply. + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 3D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + + Transforms a 3D vector by the given . + + The source vector. + The transformation . + The transformed . + + + + Transforms an array of 3D vectors by the given . + + The array of vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + Thrown when or is null. + Thrown when is shorter in length than . + + + + Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + When the method completes, contains the transformed coordinates. + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + The transformed coordinates. + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a coordinate transformation on an array of vectors using the given . + + The array of coordinate vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + When the method completes, contains the transformed normal. + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + The transformed normal. + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Performs a normal transformation on an array of vectors using the given . + + The array of normal vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Modulates a vector with another by performing component-wise multiplication equivalent to . + + The first vector to multiply. + The second vector to multiply. + The multiplication of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets a value indicting whether this instance is normalized. + + + + + Gets or sets the component at the specified index. + + The value of the X, Y, or Z component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 2]. + + + + Represents a four dimensional mathematical vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0, 0, 0). + + + + + The Y unit (0, 1, 0, 0). + + + + + The Z unit (0, 0, 1, 0). + + + + + The W unit (0, 0, 0, 1). + + + + + A with all of its components set to one. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X, Y, and Z components. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X and Y components. + Initial value for the Z component of the vector. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Calculates the length of the vector. + + The length of the vector. + + may be preferred when only the relative length is needed + and speed is of the essence. + + + + + Calculates the squared length of the vector. + + The squared length of the vector. + + This method may be preferred to when only a relative length is needed + and speed is of the essence. + + + + + Converts the vector into a unit vector. + + + + + Creates an array containing the elements of the vector. + + A four-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle. + + A containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains the 4D Cartesian coordinates of the specified point. + + + + Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle. + + A containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 4D Cartesian coordinates of the specified point. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + The distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + The squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the dot product of two vectors. + + First source vector + Second source vector. + When the method completes, contains the dot product of the two vectors. + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + The dot product of the two vectors. + + + + Converts the vector into a unit vector. + + The vector to normalize. + When the method completes, contains the normalized vector. + + + + Converts the vector into a unit vector. + + The vector to normalize. + The normalized vector. + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two vectors. + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two vectors. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + When the method completes, contains the result of the Hermite spline interpolation. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + The result of the Hermite spline interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + When the method completes, contains the result of the Catmull-Rom interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + A vector that is the result of the Catmull-Rom interpolation. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Orthogonalizes a list of vectors. + + The list of orthogonalized vectors. + The list of vectors to orthogonalize. + + Orthogonalization is the process of making all vectors orthogonal to each other. This + means that any given vector in the list will be orthogonal to any other given vector in the + list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Orthonormalizes a list of vectors. + + The list of orthonormalized vectors. + The list of vectors to orthonormalize. + + Orthonormalization is the process of making all vectors orthogonal to each + other and making all vectors of unit length. This means that any given vector will + be orthogonal to any other given vector in the list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 4D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + When the method completes, contains the transformed . + + + + Transforms a 4D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + The transformed . + + + + Transforms an array of vectors by the given rotation. + + The array of vectors to transform. + The rotation to apply. + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 4D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + + Transforms a 4D vector by the given . + + The source vector. + The transformation . + The transformed . + + + + Transforms a 4D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + + Transforms a 4D vector by the given . + + The source vector. + The transformation . + The transformed . + + + + Transforms an array of 4D vectors by the given . + + The array of vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Modulates a vector with another by performing component-wise multiplication equivalent to . + + The first vector to multiply. + The second vector to multiply. + The multiplication of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets a value indicting whether this instance is normalized. + + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Internal FontFileEnumerator callback + + + + + Internal FontFileEnumerator Callback + + + + HRESULT ISequentialStream::Read([Out, Buffer] void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbRead) + + + HRESULT ISequentialStream::Write([In, Buffer] const void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbWritten) + + + + Callbacks to pointer. + + The stream. + + + + HRESULT IStream::Seek([In] LARGE_INTEGER dlibMove,[In] SHARPDX_SEEKORIGIN dwOrigin,[Out, Optional] ULARGE_INTEGER* plibNewPosition) + + + HRESULT IStream::SetSize([In] ULARGE_INTEGER libNewSize) + + + HRESULT IStream::CopyTo([In] IStream* pstm,[In] ULARGE_INTEGER cb,[Out, Optional] ULARGE_INTEGER* pcbRead,[Out, Optional] ULARGE_INTEGER* pcbWritten) + + + HRESULT IStream::Commit([In] STGC grfCommitFlags) + + + HRESULT IStream::Revert() + + + HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType) + + + HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType) + + + HRESULT IStream::Stat([Out] STATSTG* pstatstg,[In] STATFLAG grfStatFlag) + + + HRESULT IStream::Clone([Out] IStream** ppstm) + + + + Converts a win32 error code to a . + + The error code. + A HRESULT code + + + + Converts a win32 error code to a . + + The error code. + A HRESULT code + + + + Provides a hook to WndProc of an existing window handle using . + + + + + Initializes a new instance of the class. + + The HWND. + + + + Adds a message filter to a window. + + The handle of the window. + The message filter. + + + + Removes a message filter associated with a window. + + The handle of the window. + The message filter. + + + + The namespace contains common enumerations, structures and helper classes for Win32 low-level API. + + + + + Implementation of OLE IPropertyBag2. + + IPropertyBag2 + + + + Initializes a new instance of the class. + + The property bag pointer. + + + + Gets the value of the property with this name. + + The name. + Value of the property + + + + Gets the value of the property by using a + + The public type of this property. + The marshaling type of this property. + The property key. + Value of the property + + + + Sets the value of the property with this name + + The name. + The value. + + + + Sets the value of the property by using a + + The public type of this property. + The marshaling type of this property. + The property key. + The value. + + + + Gets the number of properties. + + + + + Gets the keys. + + + + + Identifies a typed property in a . + + The public type of this property. + The marshaling type of this property. + + + + Initializes a new instance of the class. + + The name. + + + + Gets the name. + + + + + An enumerator using internally a . + + + + + Initializes a new instance of the class. + + The PTR to I enum string. + + + + Security attributes. + + SECURITY_ATTRIBUTES + + + + Length. + + + + + Descriptor. + + + + + Gets or sets a value indicating whether [inherit handle]. + + + true if [inherit handle]; otherwise, false. + + + + + Variant COM. + + PROPVARIANT + + + + Gets the type of the element. + + + The type of the element. + + + + + Gets the type. + + + + + Gets or sets the value. + + + The value. + + + + + Type of a simple variant value. + + + + + Type of a variant + + + + + Simple value + + + + + Vector value. + + + + + Array value. + + + + + By reference. + + + + + Reserved value. + + + + + The namespace contains basic controls used to render DirectX content. + + + + + RenderLoop provides a rendering loop infrastructure. + + + + + Runs the specified main loop in the specified context. + + + + + Runs the specified main loop for the specified windows form. + + The form. + The rendering callback. + + + + Gets a value indicating whether this instance is application idle. + + + true if this instance is application idle; otherwise, false. + + + + + Gets or sets a value indicating whether the render loop should use a custom windows event handler (default false). + + + true if the render loop should use a custom windows event handler (default false); otherwise, false. + + + By default, RenderLoop is using to process windows event message. Set this parameter to true to use a custom event handler that could + lead to better performance. Note that using a custom windows event message handler is not compatible with or any other features + that are part of . + + + + + Delegate for the rendering loop. + + + + + ProxyNativeWindow, used only to detect if the original window is destroyed + + + + + Initializes a new instance of the class. + + + + + Private rendering loop + + + + + A Renderable UserControl. + + + + + Initializes a new instance of the class. + + + + + Paints the background of the control. + + A that contains the event data. + + + + Raises the event. + + A that contains the event data. + + + + Default Rendering Form. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The text. + + + + Raises the event. + + A that contains the event data. + + + + Raises the event. + + A that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Paints the background of the control. + + A that contains the event data. + + + + Raises the Pause Rendering event. + + The instance containing the event data. + + + + Raises the Resume Rendering event. + + The instance containing the event data. + + + + Raises the User resized event. + + The instance containing the event data. + + + + Raises the On App Activated event. + + The instance containing the event data. + + + + Raises the App Deactivated event + + The instance containing the event data. + + + + Raises the System Suspend event + + The instance containing the event data. + + + + Raises the System Resume event + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Override windows message loop handling. + + The Windows to process. + + + + Updates the screen. + + + + + Occurs when [app activated]. + + + + + Occurs when [app deactivated]. + + + + + Occurs when [monitor changed]. + + + + + Occurs when [pause rendering]. + + + + + Occurs when [resume rendering]. + + + + + Occurs when [screensaver]. + + + + + Occurs when [system resume]. + + + + + Occurs when [system suspend]. + + + + + Occurs when [user resized]. + + + + + Gets or sets a value indicating whether this form can be resized by the user. + + true if this form can be resized by the user (by default); otherwise, false. + +
+
diff --git a/packages/SharpDX.2.5.0/lib/win8/SharpDX.dll b/packages/SharpDX.2.5.0/lib/win8/SharpDX.dll new file mode 100644 index 00000000000..9deb9b945a4 Binary files /dev/null and b/packages/SharpDX.2.5.0/lib/win8/SharpDX.dll differ diff --git a/packages/SharpDX.2.5.0/lib/win8/SharpDX.xml b/packages/SharpDX.2.5.0/lib/win8/SharpDX.xml new file mode 100644 index 00000000000..a01312895a1 --- /dev/null +++ b/packages/SharpDX.2.5.0/lib/win8/SharpDX.xml @@ -0,0 +1,47123 @@ + + + + SharpDX + + + + + Represents a unit independent angle using a single-precision floating-point + internal representation. + + + + + Implement this interface to serialize datas with . + + + + + Reads or writes datas from/to the given binary serializer. + + The binary serializer. + + + + A value that specifies the size of a single degree. + + + + + A value that specifies the size of a single minute. + + + + + A value that specifies the size of a single second. + + + + + A value that specifies the size of a single radian. + + + + + A value that specifies the size of a single milliradian. + + + + + A value that specifies the size of a single gradian. + + + + + The internal representation of the angle. + + + + + Initializes a new instance of the SharpDX.AngleSingle structure with the + given unit dependant angle and unit type. + + A unit dependant measure of the angle. + The type of unit the angle argument is. + + + + Initializes a new instance of the SharpDX.AngleSingle structure using the + arc length formula (θ = s/r). + + The measure of the arc. + The radius of the circle. + + + + Wraps this SharpDX.AngleSingle to be in the range [π, -π]. + + + + + Wraps this SharpDX.AngleSingle to be in the range [0, 2π). + + + + + Wraps the SharpDX.AngleSingle given in the value argument to be in the range [π, -π]. + + A SharpDX.AngleSingle to wrap. + The SharpDX.AngleSingle that is wrapped. + + + + Wraps the SharpDX.AngleSingle given in the value argument to be in the range [0, 2π). + + A SharpDX.AngleSingle to wrap. + The SharpDX.AngleSingle that is wrapped. + + + + Compares two SharpDX.AngleSingle instances and returns the smaller angle. + + The first SharpDX.AngleSingle instance to compare. + The second SharpDX.AngleSingle instance to compare. + The smaller of the two given SharpDX.AngleSingle instances. + + + + Compares two SharpDX.AngleSingle instances and returns the greater angle. + + The first SharpDX.AngleSingle instance to compare. + The second SharpDX.AngleSingle instance to compare. + The greater of the two given SharpDX.AngleSingle instances. + + + + Adds two SharpDX.AngleSingle objects and returns the result. + + The first object to add. + The second object to add. + The value of the two objects added together. + + + + Subtracts two SharpDX.AngleSingle objects and returns the result. + + The first object to subtract. + The second object to subtract. + The value of the two objects subtracted. + + + + Multiplies two SharpDX.AngleSingle objects and returns the result. + + The first object to multiply. + The second object to multiply. + The value of the two objects multiplied together. + + + + Divides two SharpDX.AngleSingle objects and returns the result. + + The numerator object. + The denominator object. + The value of the two objects divided. + + + + Returns a System.Boolean that indicates whether the values of two SharpDX.Angle + objects are equal. + + The first object to compare. + The second object to compare. + True if the left and right parameters have the same value; otherwise, false. + + + + Returns a System.Boolean that indicates whether the values of two SharpDX.Angle + objects are not equal. + + The first object to compare. + The second object to compare. + True if the left and right parameters do not have the same value; otherwise, false. + + + + Returns a System.Boolean that indicates whether a SharpDX.Angle + object is less than another SharpDX.AngleSingle object. + + The first object to compare. + The second object to compare. + True if left is less than right; otherwise, false. + + + + Returns a System.Boolean that indicates whether a SharpDX.Angle + object is greater than another SharpDX.AngleSingle object. + + The first object to compare. + The second object to compare. + True if left is greater than right; otherwise, false. + + + + Returns a System.Boolean that indicates whether a SharpDX.Angle + object is less than or equal to another SharpDX.AngleSingle object. + + The first object to compare. + The second object to compare. + True if left is less than or equal to right; otherwise, false. + + + + Returns a System.Boolean that indicates whether a SharpDX.Angle + object is greater than or equal to another SharpDX.AngleSingle object. + + The first object to compare. + The second object to compare. + True if left is greater than or equal to right; otherwise, false. + + + + Returns the value of the SharpDX.AngleSingle operand. (The sign of + the operand is unchanged.) + + A SharpDX.AngleSingle object. + The value of the value parameter. + + + + Returns the the negated value of the SharpDX.AngleSingle operand. + + A SharpDX.AngleSingle object. + The negated value of the value parameter. + + + + Adds two SharpDX.AngleSingle objects and returns the result. + + The first object to add. + The second object to add. + The value of the two objects added together. + + + + Subtracts two SharpDX.AngleSingle objects and returns the result. + + The first object to subtract + The second object to subtract. + The value of the two objects subtracted. + + + + Multiplies two SharpDX.AngleSingle objects and returns the result. + + The first object to multiply. + The second object to multiply. + The value of the two objects multiplied together. + + + + Divides two SharpDX.AngleSingle objects and returns the result. + + The numerator object. + The denominator object. + The value of the two objects divided. + + + + Compares this instance to a specified object and returns an integer that + indicates whether the value of this instance is less than, equal to, or greater + than the value of the specified object. + + The object to compare. + + A signed integer that indicates the relationship of the current instance + to the obj parameter. If the value is less than zero, the current instance + is less than the other. If the value is zero, the current instance is equal + to the other. If the value is greater than zero, the current instance is + greater than the other. + + + + + Compares this instance to a second SharpDX.AngleSingle and returns + an integer that indicates whether the value of this instance is less than, + equal to, or greater than the value of the specified object. + + The object to compare. + + A signed integer that indicates the relationship of the current instance + to the obj parameter. If the value is less than zero, the current instance + is less than the other. If the value is zero, the current instance is equal + to the other. If the value is greater than zero, the current instance is + greater than the other. + + + + + Returns a value that indicates whether the current instance and a specified + SharpDX.AngleSingle object have the same value. + + The object to compare. + + Returns true if this SharpDX.AngleSingle object and another have the same value; + otherwise, false. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this SharpDX.AngleSingle instance. + + A 32-bit signed integer hash code. + + + + Returns a value that indicates whether the current instance and a specified + object have the same value. + + The object to compare. + + Returns true if the obj parameter is a SharpDX.AngleSingle object or a type + capable of implicit conversion to a SharpDX.AngleSingle value, and + its value is equal to the value of the current SharpDX.Angle + object; otherwise, false. + + + + + + + + Gets or sets the total number of revolutions this SharpDX.AngleSingle represents. + + + + + Gets or sets the total number of degrees this SharpDX.AngleSingle represents. + + + + + Gets or sets the minutes component of the degrees this SharpDX.AngleSingle represents. + When setting the minutes, if the value is in the range (-60, 60) the whole degrees are + not changed; otherwise, the whole degrees may be changed. Fractional values may set + the seconds component. + + + + + Gets or sets the seconds of the degrees this SharpDX.AngleSingle represents. + When setting the seconds, if the value is in the range (-60, 60) the whole minutes + or whole degrees are not changed; otherwise, the whole minutes or whole degrees + may be changed. + + + + + Gets or sets the total number of radians this SharpDX.AngleSingle represents. + + + + + Gets or sets the total number of milliradians this SharpDX.AngleSingle represents. + One milliradian is equal to 1/(2000π). + + + + + Gets or sets the total number of gradians this SharpDX.AngleSingle represents. + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is a right angle (i.e. 90° or π/2). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is a straight angle (i.e. 180° or π). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is a full rotation angle (i.e. 360° or 2π). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is an oblique angle (i.e. is not 90° or a multiple of 90°). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is an acute angle (i.e. less than 90° but greater than 0°). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is an obtuse angle (i.e. greater than 90° but less than 180°). + + + + + Gets a System.Boolean that determines whether this SharpDX.Angle + is a reflex angle (i.e. greater than 180° but less than 360°). + + + + + Gets a SharpDX.AngleSingle instance that complements this angle (i.e. the two angles add to 90°). + + + + + Gets a SharpDX.AngleSingle instance that supplements this angle (i.e. the two angles add to 180°). + + + + + Gets a new SharpDX.AngleSingle instance that represents the zero angle (i.e. 0°). + + + + + Gets a new SharpDX.AngleSingle instance that represents the right angle (i.e. 90° or π/2). + + + + + Gets a new SharpDX.AngleSingle instance that represents the straight angle (i.e. 180° or π). + + + + + Gets a new SharpDX.AngleSingle instance that represents the full rotation angle (i.e. 360° or 2π). + + + + + A boolean value stored on 4 bytes (instead of 1 in .NET). + + + + + Initializes a new instance of the class. + + if set to true [bool value]. + + + + Indicates whether this instance and a specified object are equal. + + The other. + true if and this instance are the same type and represent the same value; otherwise, false. + + + + Implements the ==. + + The left. + The right. + The result of the operator. + + + + Implements the !=. + + The left. + The right. + The result of the operator. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + + + + Represents an axis-aligned bounding box in three dimensional space. + + + + + The minimum point of the box. + + + + + The maximum point of the box. + + + + + Initializes a new instance of the struct. + + The minimum vertex of the bounding box. + The maximum vertex of the bounding box. + + + + Retrieves the eight corners of the bounding box. + + An array of points representing the eight corners of the bounding box. + + + + Retrieves the eight corners of the bounding box. + + An array of points representing the eight corners of the bounding box. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines whether the current objects contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The box to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The box to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The sphere to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The sphere to test. + The type of containment the two objects have. + + + + Constructs a that fully contains the given points. + + The points that will be contained by the box. + When the method completes, contains the newly constructed bounding box. + Thrown when is null. + + + + Constructs a that fully contains the given points. + + The points that will be contained by the box. + The newly constructed bounding box. + Thrown when is null. + + + + Constructs a from a given sphere. + + The sphere that will designate the extents of the box. + When the method completes, contains the newly constructed bounding box. + + + + Constructs a from a given sphere. + + The sphere that will designate the extents of the box. + The newly constructed bounding box. + + + + Constructs a that is as large as the total combined area of the two specified boxes. + + The first box to merge. + The second box to merge. + When the method completes, contains the newly constructed bounding box. + + + + Constructs a that is as large as the total combined area of the two specified boxes. + + The first box to merge. + The second box to merge. + The newly constructed bounding box. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Defines a frustum which can be used in frustum culling, zoom to Extents (zoom to fit) operations, + (matrix, frustum, camera) interchange, and many kind of intersection testing. + + + + + Creates a new instance of BoundingFrustum. + + Combined matrix that usually takes view × projection matrix. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + + Returns one of the 6 planes related to this frustum. + + Plane index where 0 fro Left, 1 for Right, 2 for Top, 3 for Bottom, 4 for Near, 5 for Far + + + + + Creates a new frustum relaying on perspective camera parameters + + The camera pos. + The look dir. + Up dir. + The fov. + The znear. + The zfar. + The aspect. + The bounding frustum calculated from perspective camera + + + + Creates a new frustum relaying on perspective camera parameters + + The camera params. + The bounding frustum from camera params + + + + Returns the 8 corners of the frustum, element0 is Near1 (near right down corner) + , element1 is Near2 (near right top corner) + , element2 is Near3 (near Left top corner) + , element3 is Near4 (near Left down corner) + , element4 is Far1 (far right down corner) + , element5 is Far2 (far right top corner) + , element6 is Far3 (far left top corner) + , element7 is Far4 (far left down corner) + + The 8 corners of the frustum + + + + Returns the 8 corners of the frustum, element0 is Near1 (near right down corner) + , element1 is Near2 (near right top corner) + , element2 is Near3 (near Left top corner) + , element3 is Near4 (near Left down corner) + , element4 is Far1 (far right down corner) + , element5 is Far2 (far right top corner) + , element6 is Far3 (far left top corner) + , element7 is Far4 (far left down corner) + + The 8 corners of the frustum + + + + Extracts perspective camera parameters from the frustum, doesn't work with orthographic frustums. + + Perspective camera parameters from the frustum + + + + Checks whether a point lay inside, intersects or lay outside the frustum. + + The point. + Type of the containment + + + + Checks whether a point lay inside, intersects or lay outside the frustum. + + The point. + Type of the containment + + + + Checks whether a group of points lay totally inside the frustum (Contains), or lay partially inside the frustum (Intersects), or lay outside the frustum (Disjoint). + + The points. + Type of the containment + + + + Checks whether a group of points lay totally inside the frustum (Contains), or lay partially inside the frustum (Intersects), or lay outside the frustum (Disjoint). + + The points. + Type of the containment. + + + + Determines the intersection relationship between the frustum and a bounding box. + + The box. + Type of the containment + + + + Determines the intersection relationship between the frustum and a bounding box. + + The box. + Type of the containment + + + + Determines the intersection relationship between the frustum and a bounding box. + + The box. + Type of the containment. + + + + Determines the intersection relationship between the frustum and a bounding sphere. + + The sphere. + Type of the containment + + + + Determines the intersection relationship between the frustum and a bounding sphere. + + The sphere. + Type of the containment + + + + Determines the intersection relationship between the frustum and a bounding sphere. + + The sphere. + Type of the containment. + + + + Determines the intersection relationship between the frustum and another bounding frustum. + + The frustum. + Type of the containment + + + + Determines the intersection relationship between the frustum and another bounding frustum. + + The frustum. + Type of the containment + + + + Determines the intersection relationship between the frustum and another bounding frustum. + + The frustum. + Type of the containment. + + + + Checks whether the current BoundingFrustum intersects a BoundingSphere. + + The sphere. + Type of the containment + + + + Checks whether the current BoundingFrustum intersects a BoundingSphere. + + The sphere. + Set to true if the current BoundingFrustum intersects a BoundingSphere. + + + + Checks whether the current BoundingFrustum intersects a BoundingBox. + + The box. + true if the current BoundingFrustum intersects a BoundingSphere. + + + + Checks whether the current BoundingFrustum intersects a BoundingBox. + + The box. + true if the current BoundingFrustum intersects a BoundingSphere. + + + + Checks whether the current BoundingFrustum intersects the specified Plane. + + The plane. + Plane intersection type. + + + + Checks whether the current BoundingFrustum intersects the specified Plane. + + The plane. + Plane intersection type. + + + + Get the width of the frustum at specified depth. + + the depth at which to calculate frustum width. + With of the frustum at the specified depth + + + + Get the height of the frustum at specified depth. + + the depth at which to calculate frustum height. + Height of the frustum at the specified depth + + + + Checks whether the current BoundingFrustum intersects the specified Ray. + + The ray. + true if the current BoundingFrustum intersects the specified Ray. + + + + Checks whether the current BoundingFrustum intersects the specified Ray. + + The Ray to check for intersection with. + The distance at which the ray enters the frustum if there is an intersection and the ray starts outside the frustum. + The distance at which the ray exits the frustum if there is an intersection. + true if the current BoundingFrustum intersects the specified Ray. + + + + Get the distance which when added to camera position along the lookat direction will do the effect of zoom to extents (zoom to fit) operation, + so all the passed points will fit in the current view. + if the returned value is positive, the camera will move toward the lookat direction (ZoomIn). + if the returned value is negative, the camera will move in the reverse direction of the lookat direction (ZoomOut). + + The points. + The zoom to fit distance + + + + Get the distance which when added to camera position along the lookat direction will do the effect of zoom to extents (zoom to fit) operation, + so all the passed points will fit in the current view. + if the returned value is positive, the camera will move toward the lookat direction (ZoomIn). + if the returned value is negative, the camera will move in the reverse direction of the lookat direction (ZoomOut). + + The bounding box. + The zoom to fit distance + + + + Get the vector shift which when added to camera position will do the effect of zoom to extents (zoom to fit) operation, + so all the passed points will fit in the current view. + + The points. + The zoom to fit vector + + + + Get the vector shift which when added to camera position will do the effect of zoom to extents (zoom to fit) operation, + so all the passed points will fit in the current view. + + The bounding box. + The zoom to fit vector + + + + + + + Gets or sets the Matrix that describes this bounding frustum. + + + + + Gets the near plane of the BoundingFrustum. + + + + + Gets the far plane of the BoundingFrustum. + + + + + Gets the left plane of the BoundingFrustum. + + + + + Gets the right plane of the BoundingFrustum. + + + + + Gets the top plane of the BoundingFrustum. + + + + + Gets the bottom plane of the BoundingFrustum. + + + + + Indicate whether the current BoundingFrustrum is Orthographic. + + + true if the current BoundingFrustrum is Orthographic; otherwise, false. + + + + + Represents a bounding sphere in three dimensional space. + + + + + The center of the sphere in three dimensional space. + + + + + The radius of the sphere. + + + + + Initializes a new instance of the struct. + + The center of the sphere in three dimensional space. + The radius of the sphere. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines whether the current objects contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The box to test. + The type of containment the two objects have. + + + + Determines whether the current objects contains a . + + The sphere to test. + The type of containment the two objects have. + + + + Constructs a that fully contains the given points. + + The points that will be contained by the sphere. + The start index from points array to start compute the bounding sphere. + The count of points to process to compute the bounding sphere. + When the method completes, contains the newly constructed bounding sphere. + points + + start + or + count + + + + + Constructs a that fully contains the given points. + + The points that will be contained by the sphere. + When the method completes, contains the newly constructed bounding sphere. + + + + Constructs a that fully contains the given points. + + The points that will be contained by the sphere. + The newly constructed bounding sphere. + + + + Constructs a from a given box. + + The box that will designate the extents of the sphere. + When the method completes, the newly constructed bounding sphere. + + + + Constructs a from a given box. + + The box that will designate the extents of the sphere. + The newly constructed bounding sphere. + + + + Constructs a that is the as large as the total combined area of the two specified spheres. + + The first sphere to merge. + The second sphere to merge. + When the method completes, contains the newly constructed bounding sphere. + + + + Constructs a that is the as large as the total combined area of the two specified spheres. + + The first sphere to merge. + The second sphere to merge. + The newly constructed bounding sphere. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Callback base implementation of . + + + + + Base class for a class. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Occurs when this instance is starting to be disposed. + + + + + Occurs when this instance is fully disposed. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Use this interface to tag a class that is called by an unmanaged + object. A class must dispose the + on dispose. + + + + + Gets or sets the unmanaged shadow callback. + + The unmanaged shadow callback. + + This property is set whenever this instance has an unmanaged shadow callback + registered. This callback must be disposed when disposing this instance. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Provides for default value types. + + + + + A default for . + + + + + An observable collection. + + Type of a collection item + + + + Raised when an item is added to this instance. + + + + + + Raised when a item is removed from this instance. + + + + + + An event providing the item changed in a collection (inserted or removed). + + Type of a collection item + + + + Initializes a new instance of the class. + + The item from the collection. + + + + Gets the item from the collection that was inserted or removed. + + The collection item. + + + + A generic collection for effect framework. + + Type of the collection + + + + Adds the specified item. + + The item. + + + + Determines whether this collection contains an element with the specified name. + + The name. + true if [contains] an element with the specified name; otherwise, false. + + + + Gets the number of objects in the collection. + + + + Gets a specific element in the collection by using an index value. + Index of the EffectTechnique to get. + + + Gets a specific element in the collection by using a name. + Name of the EffectTechnique to get. + + + + Internal class used to initialize this assembly. + + + + + Initializes this assembly. + + + This method is called when the assembly is loaded. + + + + + OrientedBoundingBox (OBB) is a rectangular block, much like an AABB (BoundingBox) but with an arbitrary orientation. + + + + + Half lengths of the box along each axis. + + + + + The matrix which aligns and scales the box, and its translation vector represents the center of the box. + + + + + Creates an from a BoundingBox. + + The BoundingBox to create from. + + Initially, the OBB is axis-aligned box, but it can be rotated and transformed later. + + + + + Creates an which contained between two minimum and maximum points. + + The minimum vertex of the bounding box. + The maximum vertex of the bounding box. + + Initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later. + + + + + Creates an that fully contains the given points. + + The points that will be contained by the box. + + This method is not for computing the best tight-fitting OrientedBoundingBox. + And initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later. + + + + + Retrieves the eight corners of the bounding box. + + An array of points representing the eight corners of the bounding box. + + + + Transforms this box using a transformation matrix. + + The transformation matrix. + + While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which + scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy. + + + + + Transforms this box using a transformation matrix. + + The transformation matrix. + + While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which + scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy. + + + + + Scales the by scaling its Extents without affecting the Transformation matrix, + By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate. + + + + + + Scales the by scaling its Extents without affecting the Transformation matrix, + By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate. + + + + + + Scales the by scaling its Extents without affecting the Transformation matrix, + By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate. + + + + + + Translates the to a new position using a translation vector; + + the translation vector. + + + + Translates the to a new position using a translation vector; + + the translation vector. + + + + Returns the size of the taking into consideration the scaling applied to the transformation matrix. + + The size of the consideration + + This method is computationally expensive, so if no scale is applied to the transformation matrix + use property instead. + + + + + Returns the square size of the taking into consideration the scaling applied to the transformation matrix. + + The size of the consideration + + + + Determines whether a contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether a contains a point. + + The point to test. + The type of containment the two objects have. + + + + Determines whether a contains an array of points>. + + The points array to test. + The type of containment. + + + + Determines whether a contains a . + + The sphere to test. + Optimize the check operation by assuming that has no scaling applied + The type of containment the two objects have. + + This method is not designed for which has a non-uniform scaling applied to its transformation matrix. + But any type of scaling applied using Scale method will keep this method accurate. + + + + + Check the intersection between two + + The OrientedBoundingBoxs to test. + The type of containment the two objects have. + + For accuracy, The transformation matrix for both must not have any scaling applied to it. + Anyway, scaling using Scale method will keep this method accurate. + + + + + Check the intersection between an and a line defined by two points + + The first point in the line. + The second point in the line. + The type of containment the two objects have. + + For accuracy, The transformation matrix for the must not have any scaling applied to it. + Anyway, scaling using Scale method will keep this method accurate. + + + + + Check the intersection between an and + + The BoundingBox to test. + The type of containment the two objects have. + + For accuracy, The transformation matrix for the must not have any scaling applied to it. + Anyway, scaling using Scale method will keep this method accurate. + + + + + Determines whether there is an intersection between a and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + Whether the two objects intersected. + + + + Get the axis-aligned which contains all corners. + + The axis-aligned BoundingBox of this OrientedBoundingBox. + + + + Calculates the matrix required to transfer any point from one local coordinates to another. + + The source OrientedBoundingBox. + The target OrientedBoundingBox. + + If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox. + + + + + + Merge an OrientedBoundingBox B into another OrientedBoundingBox A, by expanding A to contain B and keeping A orientation. + + The to merge into it. + The to be merged + + If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox. + + + Unlike merging axis aligned boxes, The operation is not interchangeable, because it keeps A orientation and merge B into it. + + + + + Merge this OrientedBoundingBox into another OrientedBoundingBox, keeping the other OrientedBoundingBox orientation. + + The other to merge into. + + If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox. + + + + + Merge another OrientedBoundingBox into this OrientedBoundingBox. + + The other to merge into this OrientedBoundingBox. + + If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + + + + The size of the if no scaling is applied to the transformation matrix. + + + The property will return the actual size even if the scaling is applied using Scale method, + but if the scaling is applied to transformation matrix, use GetSize Function instead. + + + + + Returns the center of the . + + + + + Task utility for threading. + + + + + Runs the specified action in a thread. + + The action. + Name of the task. + + + + Defines the viewport dimensions using float coordinates for (X,Y,Width,Height). + + + + + Position of the pixel coordinate of the upper-left corner of the viewport. + + + + + Position of the pixel coordinate of the upper-left corner of the viewport. + + + + + Width dimension of the viewport. + + + + + Height dimension of the viewport. + + + + + Gets or sets the minimum depth of the clip volume. + + + + + Gets or sets the maximum depth of the clip volume. + + + + + Initializes a new instance of the struct. + + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + + + + Initializes a new instance of the struct. + + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + The minimum depth of the clip volume. + The maximum depth of the clip volume. + + + + Initializes a new instance of the struct. + + A bounding box that defines the location and size of the viewport in a render target. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified object is equal to this instance. + + The object to compare with this instance. + + true if the specified object is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Retrieves a string representation of this object. + + A that represents this instance. + + + + Projects a 3D vector from object space into screen space. + + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + Vector3. + + + + Converts a screen space point into a corresponding point in world space. + + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + Vector3. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Gets the size of this resource. + + The bounds. + + + + Gets the aspect ratio used by the viewport. + + The aspect ratio. + + + + A fast method to pass array of to SharpDX methods. + + + + + Initializes a new instance of the class. + + The array. + + + + Initializes a new instance of the class. + + The size. + + + + Gets an object at the specified index. + + The index. + A + + + + Sets an object at the specified index. + + The index. + The value. + + + + + + + Gets the pointer to the native array associated to this instance. + + + + + Gets the length. + + + + + A typed version of + + Type of the + + + + Initializes a new instance of the class. + + The array. + + + + Initializes a new instance of the class. + + The size. + + + + Gets or sets the with the specified i. + + + + + Generic class to hold a shader compilation results. + + Type of the class containing the generated bytecode. + + + + Initializes a new instance of the class. + + The bytecode. + Result code from compilation. + The message. + + + + + + + Gets the Shader bytecode. + + + + + Gets the result code from the compilation. + + + + + Gets a value indicating whether this instance has errors. + + + true if this instance has errors; otherwise, false. + + + + + Gets the message. + + + Message are warning or error messages. + + + + + Represents a four dimensional mathematical vector of bool (32 bits per bool value). + + + + + The size of the type, in bytes. + + + + + A with all of its components set to false. + + + + + The X unit (true, 0, 0, 0). + + + + + The Y unit (0, true, 0, 0). + + + + + The Z unit (0, 0, true, 0). + + + + + The W unit (0, 0, 0, true). + + + + + A with all of its components set to true. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Creates an array containing the elements of the vector. + + A four-element array containing the components of the vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Performs an implicit conversion from array to . + + The input. + The result of the conversion. + + + + Performs an implicit conversion from to array. + + The input. + The result of the conversion. + + + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + The assembly is the core assembly providing infrastructure for all managed DirectX API. + + + + + Represents a 32-bit color (4 bytes) in the form of RGBA (in byte order: R, G, B, A). + + + List of predefined . + + + + + The red component of the color. + + + + + The green component of the color. + + + + + The blue component of the color. + + + + + The alpha component of the color. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. Alpha is set to 255. + + The red component of the color. + The green component of the color. + The blue component of the color. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. Alpha is set to 255. + + The red component of the color. + The green component of the color. + The blue component of the color. + + + + Initializes a new instance of the struct. + + The red, green, blue, and alpha components of the color. + + + + Initializes a new instance of the struct. + + The red, green, and blue components of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. Alpha is set to 255. + + The red, green, and blue components of the color. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in RGBA order. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in RGBA order. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Initializes a new instance of the struct. + + The values to assign to the alpha, red, green, and blue components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a three component vector. + + A three component vector containing the red, green, and blue components of the color. + + + + Converts the color into a three component color. + + A three component color containing the red, green, and blue components of the color. + + + + Converts the color into a four component vector. + + A four component vector containing all four color components. + + + + Creates an array containing the elements of the color. + + A four-element array containing the components of the color in RGBA order. + + + + Gets the brightness. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Gets the hue. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Gets the saturation. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Adds two colors. + + The first color to add. + The second color to add. + When the method completes, completes the sum of the two colors. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + WHen the method completes, contains the difference of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract + The difference of the two colors. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + When the method completes, contains the modulated color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + When the method completes, contains the scaled color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + The scaled color. + + + + Negates a color. + + The color to negate. + When the method completes, contains the negated color. + + + + Negates a color. + + The color to negate. + The negated color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in BGRA order + A color. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in BGRA order + A color. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in RGBA order + A color. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in RGBA order + A color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two colors. + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the largest components of the source colors. + + + + Returns a color containing the largest components of the specified colorss. + + The first source color. + The second source color. + A color containing the largest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the smallest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + A color containing the smallest components of the source colors. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + When the method completes, contains the adjusted color. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + The adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + When the method completes, contains the adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + The adjusted color. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Assert a color (return it unchanged). + + The color to assert (unchanged). + The asserted (unchanged) color. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + The difference of the two colors. + + + + Negates a color. + + The color to negate. + A negated color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Convert this instance to a + + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel element (byte). + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel element (byte). + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Zero color. + + + + + Transparent color. + + + + + AliceBlue color. + + + + + AntiqueWhite color. + + + + + Aqua color. + + + + + Aquamarine color. + + + + + Azure color. + + + + + Beige color. + + + + + Bisque color. + + + + + Black color. + + + + + BlanchedAlmond color. + + + + + Blue color. + + + + + BlueViolet color. + + + + + Brown color. + + + + + BurlyWood color. + + + + + CadetBlue color. + + + + + Chartreuse color. + + + + + Chocolate color. + + + + + Coral color. + + + + + CornflowerBlue color. + + + + + Cornsilk color. + + + + + Crimson color. + + + + + Cyan color. + + + + + DarkBlue color. + + + + + DarkCyan color. + + + + + DarkGoldenrod color. + + + + + DarkGray color. + + + + + DarkGreen color. + + + + + DarkKhaki color. + + + + + DarkMagenta color. + + + + + DarkOliveGreen color. + + + + + DarkOrange color. + + + + + DarkOrchid color. + + + + + DarkRed color. + + + + + DarkSalmon color. + + + + + DarkSeaGreen color. + + + + + DarkSlateBlue color. + + + + + DarkSlateGray color. + + + + + DarkTurquoise color. + + + + + DarkViolet color. + + + + + DeepPink color. + + + + + DeepSkyBlue color. + + + + + DimGray color. + + + + + DodgerBlue color. + + + + + Firebrick color. + + + + + FloralWhite color. + + + + + ForestGreen color. + + + + + Fuchsia color. + + + + + Gainsboro color. + + + + + GhostWhite color. + + + + + Gold color. + + + + + Goldenrod color. + + + + + Gray color. + + + + + Green color. + + + + + GreenYellow color. + + + + + Honeydew color. + + + + + HotPink color. + + + + + IndianRed color. + + + + + Indigo color. + + + + + Ivory color. + + + + + Khaki color. + + + + + Lavender color. + + + + + LavenderBlush color. + + + + + LawnGreen color. + + + + + LemonChiffon color. + + + + + LightBlue color. + + + + + LightCoral color. + + + + + LightCyan color. + + + + + LightGoldenrodYellow color. + + + + + LightGray color. + + + + + LightGreen color. + + + + + LightPink color. + + + + + LightSalmon color. + + + + + LightSeaGreen color. + + + + + LightSkyBlue color. + + + + + LightSlateGray color. + + + + + LightSteelBlue color. + + + + + LightYellow color. + + + + + Lime color. + + + + + LimeGreen color. + + + + + Linen color. + + + + + Magenta color. + + + + + Maroon color. + + + + + MediumAquamarine color. + + + + + MediumBlue color. + + + + + MediumOrchid color. + + + + + MediumPurple color. + + + + + MediumSeaGreen color. + + + + + MediumSlateBlue color. + + + + + MediumSpringGreen color. + + + + + MediumTurquoise color. + + + + + MediumVioletRed color. + + + + + MidnightBlue color. + + + + + MintCream color. + + + + + MistyRose color. + + + + + Moccasin color. + + + + + NavajoWhite color. + + + + + Navy color. + + + + + OldLace color. + + + + + Olive color. + + + + + OliveDrab color. + + + + + Orange color. + + + + + OrangeRed color. + + + + + Orchid color. + + + + + PaleGoldenrod color. + + + + + PaleGreen color. + + + + + PaleTurquoise color. + + + + + PaleVioletRed color. + + + + + PapayaWhip color. + + + + + PeachPuff color. + + + + + Peru color. + + + + + Pink color. + + + + + Plum color. + + + + + PowderBlue color. + + + + + Purple color. + + + + + Red color. + + + + + RosyBrown color. + + + + + RoyalBlue color. + + + + + SaddleBrown color. + + + + + Salmon color. + + + + + SandyBrown color. + + + + + SeaGreen color. + + + + + SeaShell color. + + + + + Sienna color. + + + + + Silver color. + + + + + SkyBlue color. + + + + + SlateBlue color. + + + + + SlateGray color. + + + + + Snow color. + + + + + SpringGreen color. + + + + + SteelBlue color. + + + + + Tan color. + + + + + Teal color. + + + + + Thistle color. + + + + + Tomato color. + + + + + Turquoise color. + + + + + Violet color. + + + + + Wheat color. + + + + + White color. + + + + + WhiteSmoke color. + + + + + Yellow color. + + + + + YellowGreen color. + + + + + Gets or sets the component at the specified index. + + The value of the alpha, red, green, or blue component, depending on the index. + The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Represents a 32-bit color (4 bytes) in the form of BGRA (in byte order: B, G, B, A). + + + + + The blue component of the color. + + + + + The green component of the color. + + + + + The red component of the color. + + + + + The alpha component of the color. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + The red, green, blue, and alpha components of the color. + + + + Initializes a new instance of the struct. + + The red, green, and blue components of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in BGRA order. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in BGRA. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a three component vector. + + A three component vector containing the red, green, and blue components of the color. + + + + Converts the color into a three component color. + + A three component color containing the red, green, and blue components of the color. + + + + Converts the color into a four component vector. + + A four component vector containing all four color components. + + + + Creates an array containing the elements of the color. + + A four-element array containing the components of the color in BGRA order. + + + + Gets the brightness. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Gets the hue. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Gets the saturation. + + The Hue-Saturation-Brightness (HSB) saturation for this + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in BGRA order + A color. + + + + Converts the color from a packed BGRA integer. + + A packed integer containing all four color components in BGRA order + A color. + + + + Converts the color from a packed RGBA integer. + + A packed integer containing all four color components in RGBA order + A color. + + + + Converts the color from a packed RGBA integer. + + A packed integer containing all four color components in RGBA order + A color. + + + + Adds two colors. + + The first color to add. + The second color to add. + When the method completes, completes the sum of the two colors. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + WHen the method completes, contains the difference of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract + The difference of the two colors. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + When the method completes, contains the modulated color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + When the method completes, contains the scaled color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + The scaled color. + + + + Negates a color. + + The color to negate. + When the method completes, contains the negated color. + + + + Negates a color. + + The color to negate. + The negated color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two colors. + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two colors. + + + + Returns a color containing the smallest components of the specified colorss. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the largest components of the source colorss. + + + + Returns a color containing the largest components of the specified colorss. + + The first source color. + The second source color. + A color containing the largest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the smallest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + A color containing the smallest components of the source colors. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + When the method completes, contains the adjusted color. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + The adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + When the method completes, contains the adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + The adjusted color. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Assert a color (return it unchanged). + + The color to assert (unchange). + The asserted (unchanged) color. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + The difference of the two colors. + + + + Negates a color. + + The color to negate. + A negated color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel (byte). + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel (byte). + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the component at the specified index. + + The value of the alpha, red, green, or blue component, depending on the index. + The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Base interface for a component base. + + + + + Gets the name of this component. + + The name. + + + + A service registry is a that provides methods to register and unregister services. + + + + + Adds a service to this service provider. + + The type of service to add. + The instance of the service provider to add. + Service type cannot be null + Service is already registered + + + + Removes the object providing a specified service. + + The type of service. + + + + Occurs when a new service is added. + + + + + Occurs when when a service is removed. + + + + + Path utility methods. + + + + + Transform a path by replacing '/' by '\' and transforming relative '..' or current path '.' to an absolute path. See remarks. + + A path string + A normalized path. + + Unlike , this doesn't make a path absolute to the actual file system. + + + + + IInspectable used for a C# callback object exposed as WinRT Component. + + br205821 + IInspectable + IInspectable + + + + Internal IInspectable Callback + + + + + A COM Interface Callback + + + + + An Interface shadow callback + + + + + Root class for all Cpp interop object. + + + + + The native pointer + + + + + Default constructor. + + Pointer to Cpp Object + + + + Initializes a new instance of the class. + + + + + Performs an explicit conversion from to . + + The CPP object. + + The result of the conversion. + + + + + Initializes this instance with a pointer from a temporary object and set the pointer of the temporary + object to IntPtr.Zero. + + The instance to get the NativePointer. + + + + Initializes this instance with a pointer from a temporary object and set the pointer of the temporary + object to IntPtr.Zero. + + The instance to get the NativePointer. + + + + Method called when is going to be update. + + + + + Method called when the is updated. + + + + + Instantiate a ComObject from a native pointer. + + The ComObject class that will be returned + The native pointer to a com object. + An instance of T binded to the native pointer + + + + Return the unmanaged C++ pointer from a instance. + + The type of the callback. + The callback. + A pointer to the unmanaged C++ object of the callback + + + + Gets or sets a custom user tag object to associate with this instance.. + + The tag object. + + + + Get a pointer to the underlying Cpp Object + + + + + Initializes the specified shadow instance from a vtbl and a callback. + + The callback. + + + + Gets the callback. + + + + + Gets the VTBL associated with this shadow instance. + + + + + Default Constructor. + + number of methods to allocate in the VTBL + + + + Add a method supported by this interface. This method is typically called from inherited constructor. + + the managed delegate method + + + + Gets the pointer to the vtbl. + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + * [out] */ __RPC__out ULONG *iidCount, + * [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids) = 0; + + + HRESULT ID2D1InspectableProvider::SetComputeInfo([In] ID2D1ComputeInfo* computeInfo) + + + + Specify the size used for encoding length for array while using a , just before an array is encoded. + + + + + Use variable length 7Bit Encoding that will output from 1 byte to 5 byte depending on the range of length value. + + + + + Output a length as a byte. The length must not be greater than 255. + + + + + Output a length as an ushort. The length must not be greater than 65535. + + + + + Output a length as an int. The length must not be greater than 2^31 - 1. + + + + + The namespace contains a serialization API. + + + + + Flags used when serializing a value with a . + + + + + Normal serialize (not dynamic, not nullable). + + + + + Serialize a value as a dynamic value (the output stream will contain a magic-code for each encoded object). + + + + + Serialize a value that can be null. + + + + + A singleton string is a string that has a unique instance in memory, See remarks for usage scenarios. + + + This class should mostly be used internally for performance reasons, in scenarios where equals/hashcode + could be invoked frequently, and the set of strings is limited. Internally, + string is using the method and also is precaching the hashcode of the string. + + + + + Initializes a new instance of the struct. + + The text. + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + A lightweight Component base class. + + + + + Occurs while this component is disposing and before it is disposed. + + + + + Gets or sets a value indicating whether the name of this instance is immutable. + + true if this instance is name immutable; otherwise, false. + + + + Initializes a new instance of the class with a mutable name. + + + + + Initializes a new instance of the class with an immutable name. + + The name. + + + + Gets the name of this component. + + The name. + + + + Gets or sets the tag associated to this object. + + The tag. + + + + Pointer to a native buffer with a specific size. + + + + + Gets an Empty Data Pointer. + + + + + Initializes a new instance of the struct. + + The pointer. + The size. + + + + Initializes a new instance of the struct. + + The pointer. + The size. + + + + Pointer to the buffer. + + + + + Size in bytes of the buffer. + + + + + Implements the ==. + + The left. + The right. + The result of the operator. + + + + Implements the !=. + + The left. + The right. + The result of the operator. + + + + The namespace contains design-time converters for all vectors structures. + + + + + The namespace contains classes to help to diagnostic of COM object lifecycles Dispose and Release methods. + + + + + The namespace contains enumerations and structures shared by , and assemblies. + + + + + A class to dispose instances and allocated unmanaged memory. + + + + + Disposes all object collected by this class and clear the list. The collector can still be used for collecting. + + + To completely dispose this instance and avoid further dispose, use method instead. + + + + + Disposes of object resources. + + If true, managed resources should be + disposed of in addition to unmanaged resources. + + + + Adds a object or a allocated using to the list of the objects to dispose. + + To dispose. + If toDispose argument is not IDisposable or a valid memory pointer allocated by + + + + Dispose a disposable object and set the reference to null. Removes this object from this instance.. + + Object to dispose. + + + + Removes a disposable object to the list of the objects to dispose. + + + To dispose. + + + + Gets the number of elements to dispose. + + The number of elements to dispose. + + + + Frustum camera parameters. + + + + + Position of the camera. + + + + + Looking at direction of the camera. + + + + + Up direction. + + + + + Field of view. + + + + + Z near distance. + + + + + Z far distance. + + + + + Aspect ratio. + + + + + Equality comparer using the identify of the object. + + Type of the parameter + + From http://stackoverflow.com/questions/8946790/how-to-use-an-objects-identity-as-key-for-dictionaryk-v. + + + + + Represents a three dimensional mathematical int vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0, 0). + + + + + The Y unit (0, 1, 0). + + + + + The Z unit (0, 0, 1). + + + + + A with all of its components set to one. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Creates an array containing the elements of the vector. + + A four-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Performs an implicit conversion from array to . + + The input. + The result of the conversion. + + + + Performs an implicit conversion from to array. + + The input. + The result of the conversion. + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + The namespace contains helper classes in replacement of some classes in useful under Windows 8 Metro. + + + + + This enumeration defines constants that indicate the role that the system has assigned to an audio endpoint device. + + dd370842 + ERole + ERole + + + + Games, system notification sounds, and voice commands + + + + + Music, movies, narration, and live music recording. + + + + + Voice communications (talking to another person). + + + + + The namespace contains common structures and helper classes for audio/video processing. + + + + + Use this attribute to specify the id of a dynamic type with . + + + + + Initializes a new instance of the class. + + The id to register as a dynamic type. + + + + Initializes a new instance of the class. + + The id to register as a dynamic type. + + + + Gets the id. + + The id. + + + + Exceptions thrown when an invalid chunk is decoded. + + + + + Initializes a new instance of the class with a specified error message. + + The chunk id. + The expected chunk id. + + + + Gets the chunk id. + + The chunk id. + + + + Gets the expected chunk id. + + The expected chunk id. + + + + Serializer action. + + The value to read or write. + The serializer. + + + + This class provides serialization methods for types implementing the . + + + BinarySerializer is a basic binary serializer with the following features: +
    +
  • 10x times faster and smaller than default System Serialization and Xml Serialization.
  • +
  • Supports for all primitive types, array/List<T>/Dictionary of primitive types, custom data via (struct or class) and array/List/Dictionary of custom data.
  • +
  • Optimized binary format, data serialized to the strict minimum.
  • +
  • Should be compatible with Win8/WinRT, Desktop.
  • +
  • Not reflection based serializer, but fully compile time serializer.
  • +
  • Format could be read back from C/C++.
  • + +
+
+
+ + + A disposable component base class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with an immutable name. + + The name. + + + + Releases unmanaged and - optionally - managed resources + + + + + Disposes of object resources. + + If true, managed resources should be + disposed of in addition to unmanaged resources. + + + + Adds a disposable object to the list of the objects to dispose. + + To dispose. + + + + Dispose a disposable object and set the reference to null. Removes this object from the ToDispose list. + + Object to dispose. + + + + Removes a disposable object to the list of the objects to dispose. + + + To dispose. + + + + Gets or sets the disposables. + + The disposables. + + + + Gets or sets a value indicating whether this instance is attached to a collector. + + + true if this instance is attached to a collector; otherwise, false. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Occurs when when Dispose is called. + + + + + Gets the reader and throws an exception if this serializer is in Write mode. + + The context object that requires a Reader. + A BinaryReader. + context + If this reader is not in read mode + + + + Initializes a new instance of the class. + + The stream to read or write to. + The read or write mode. + + + + Initializes a new instance of the class. + + The stream to read or write to. + The read or write mode. + Default encoding used for strings. This parameter can be overriden later using Encoding property. + + + + Gets a tag value with the specified key. + + The tag key. + A tag value associated to a key + + + + Determines whether a tag with a specified key is already stored. + + The key. + true if a tag with a specified key is already stored; otherwise, false. + + + + Removes a tag with the specified key. + + The key. + + + + Sets a tag value with the specified key. + + The key. + The value. + + + + + Register a dynamic serializer for a particular type implementing the interface and having the . + + Type of the element to serialize. + + + + Register a dynamic serializer for a particular type implementing the interface. + + Type of the element to serialize. + The id to use for serializing T. + + + + Register a dynamic array serializer for a particular type implementing the interface. + + Type of the element in the array. + The id to use for serializing T[]. + + + + Register a dynamic List<T> serializer for a particular type implementing the interface. + + Type of the element in the List<T>. + The id to use for serializing List<T>. + + + + Register a dynamic serializer using an external action. + + Type of the element to serialize. + The id to use for serializing T. + The serializer. + + + + Begin to serialize a a new chunk. + + The chunk id. + If the chuck to read is not the expecting chunk. + + A Chunk is an identifiable portion of data that will serialized. Chunk are useful to encapsulate a variable + data (and check for the presence of the chunk Id). Chunk are storing a 4 bytes identifier and the length of + the chunk before reading/writing actual data. + + + + + Ends a chunk. + + If there EndChunk is called without a previous BeginChunk. + If the size of data read from the chunk is different from chunk size. + + + + Deserialize a data from the underlying stream. + + Type of the data to load. + An instance of the loaded data. + + + + Serializes the specified value to the underlying stream. + + Type of the data to save. + The value to save. + + + + Flush the underlying + + + + + Serializes a dynamic value that can be nullable. + + Known type of the value to serialize. The known type is not the runtime type that will be actually serialized. + The value to serialize based on its runtime type. + + + + Serializes a dynamic value. + + Known type of the value to serialize. The known type is not the runtime type that will be actually serialized. + The value to serialize based on its runtime type. + Type of serialization, see . + + + + Serializes a static value implementing the interface. + + Type of the data to serialize. + The value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a static value implementing the interface. Unlike , + this method doesn't allocate a new instance when reading but use the reference value. + + Type of the data to serialize. + The value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes an enum value. + + Type of the enum to serialize. + The value to serialize + If type T is not an enum. + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes an array of primitives using serialization methods implemented by this instance for each item in the array. + + Type of the primitive data to serialize. + An array of primitive value to serialize + The serializer to user to serialize the T values. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes count elements in an array of primitives using serialization methods implemented by this instance for each item in the array. + + Type of the primitive data to serialize. + An array of primitive value to serialize + Count elements to serialize. See remarks. + The serializer to user to serialize the T values. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes an array of static values that are implementing the interface. + + Type of the data to serialize. + An array of value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes an array of static values that are implementing the interface. + + Type of the data to serialize. + An array of value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes count elements in an array of static values that are implementing the interface. + + Type of the data to serialize. + An array of value to serialize + Count elements to serialize. See remarks. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes an array of bytes. + + An array of bytes to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes an array of bytes. + + An array of bytes to serialize + Count elements to serialize. See remarks. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes a list of static values that are implementing the interface. + + Type of the data to serialize. + A list of value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a list of static values that are implementing the interface. + + Type of the data to serialize. + A list of value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a list of primitive values using a specific serializer method from this instance. + + Type of the data to serialize. + A list of value to serialize + A method of this instance to serialize the primitive T type + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes count elements from a list of static values that are implementing the interface. + + Type of the data to serialize. + A list of value to serialize + Count elements to serialize. See remarks. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes count elements from a list of primitive values using a specific serializer method from this instance. + + Type of the data to serialize. + A list of value to serialize + A method of this instance to serialize the primitive T type + Count elements to serialize. See remarks. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful + when we want to serialize the count of an array separately from the array. +
+
+ + + Serializes a dictionary of key/values that are both implementing the interface. + + Type of key to serialize. + Type of value to serialize. + A dictionary to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a dictionary of key/values. + + Type of key to serialize that is implementing the interface. + Type of primitive value with its associated serializer. + A dictionary to serialize + Serializer used for the TValue. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a dictionary of key/values. + + Type of primitive value with its associated serializer. + Type of value to serialize that is implementing the interface. + A dictionary to serialize + Serializer used for the TKey. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a dictionary of key/values. + + Type of primitive key with its associated serializer. + Type of primitive value with its associated serializer. + A dictionary to serialize + Serializer used for the TKey. + Serializer used for the TValue. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single string value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + This string is serialized with the current set on this instance. + + + + + Serializes a single string value. + + The value to serialize + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + This string is serialized with the current set on this instance. + + + + + Serializes a single string value. + + The value to serialize + Write a null byte at the end of the string. + Type of serialization, see . + + Note that depending on the serialization , this method reads or writes the value. + This string is serialized with the current set on this instance. + + + + + Serializes a single fixed length string value. + + The value to serialize + Read/write a specific number of characters. + + Note that depending on the serialization , this method reads or writes the value. + This string is serialized with the current set on this instance. + + + + + Serializes a single boolean value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single byte value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single sbyte value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single short value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single ushort value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single int value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single int as a packed value (from 1 byte to 5 byte. if value < 128, then 1 byte...etc.) + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a memory region. + + The pointer to an unmanaged memory region. For read operation, this pointer must be allocated by the caller. + If the end of stream was reached before reading all the bytes. + Note that depending on the serialization , this method reads or writes the value. + This method doesn't serialize the sizeInBytes of the region, so the size must be serialized separately. + + + + + Serializes a memory region. + + The data pointer. For read operation, this pointer must be allocated by the caller. + The size in bytes. See remarks. + If the end of stream was reached before reading all the bytes. + Note that depending on the serialization , this method reads or writes the value. + This method doesn't serialize the sizeInBytes of the region, so the size must be serialized separately. + + + + + Serializes a single uint value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single long value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single ulong value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single char value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single float value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single double value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single DateTime value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Serializes a single Guid value. + + The value to serialize + + Note that depending on the serialization , this method reads or writes the value. + + + + + Underlying stream this instance is reading/writing to. + + + + + Reader used to directly read from the underlying stream. + + + + + Writer used to directly write to the underlying stream. + + + + + Gets or sets the serialization mode. + + The serialization mode. + + + + Gets or sets the encoding used to serialized strings. + + The encoding. + When setting a null encoding + + + + Enables to serialize an object only once using object reference. Default is false. + + true if [allow null]; otherwise, false. + If an invalid matching pair of true/false is detected. + + + + Serialization mode used by . + + + + + Reads the data from the stream. + + + + + Writes the data to the stream. + + + + + Shadow attribute used to associate a COM callbackable interface to its Shadow implementation. + + + + + Initializes a new instance of class. + + Type of the associated shadow + + + + Get ShadowAttribute from type. + + Type to get shadow attribute + The associated shadow attribute or null if no shadow attribute were found + + + + Gets the value. + + + + + Represents a 4x4 mathematical Matrix5x4. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The identity . + + + + + Value at row 1 column 1 of the Matrix5x4. + + + + + Value at row 1 column 2 of the Matrix5x4. + + + + + Value at row 1 column 3 of the Matrix5x4. + + + + + Value at row 1 column 4 of the Matrix5x4. + + + + + Value at row 2 column 1 of the Matrix5x4. + + + + + Value at row 2 column 2 of the Matrix5x4. + + + + + Value at row 2 column 3 of the Matrix5x4. + + + + + Value at row 2 column 4 of the Matrix5x4. + + + + + Value at row 3 column 1 of the Matrix5x4. + + + + + Value at row 3 column 2 of the Matrix5x4. + + + + + Value at row 3 column 3 of the Matrix5x4. + + + + + Value at row 3 column 4 of the Matrix5x4. + + + + + Value at row 4 column 1 of the Matrix5x4. + + + + + Value at row 4 column 2 of the Matrix5x4. + + + + + Value at row 4 column 3 of the Matrix5x4. + + + + + Value at row 4 column 4 of the Matrix5x4. + + + + + Value at row 5 column 1 of the Matrix5x4. + + + + + Value at row 5 column 2 of the Matrix5x4. + + + + + Value at row 5 column 3 of the Matrix5x4. + + + + + Value at row 5 column 4 of the Matrix5x4. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value to assign at row 1 column 1 of the Matrix5x4. + The value to assign at row 1 column 2 of the Matrix5x4. + The value to assign at row 1 column 3 of the Matrix5x4. + The value to assign at row 1 column 4 of the Matrix5x4. + The value to assign at row 2 column 1 of the Matrix5x4. + The value to assign at row 2 column 2 of the Matrix5x4. + The value to assign at row 2 column 3 of the Matrix5x4. + The value to assign at row 2 column 4 of the Matrix5x4. + The value to assign at row 3 column 1 of the Matrix5x4. + The value to assign at row 3 column 2 of the Matrix5x4. + The value to assign at row 3 column 3 of the Matrix5x4. + The value to assign at row 3 column 4 of the Matrix5x4. + The value to assign at row 4 column 1 of the Matrix5x4. + The value to assign at row 4 column 2 of the Matrix5x4. + The value to assign at row 4 column 3 of the Matrix5x4. + The value to assign at row 4 column 4 of the Matrix5x4. + The value to assign at row 5 column 1 of the Matrix5x4. + The value to assign at row 5 column 2 of the Matrix5x4. + The value to assign at row 5 column 3 of the Matrix5x4. + The value to assign at row 5 column 4 of the Matrix5x4. + + + + Initializes a new instance of the struct. + + The values to assign to the components of the Matrix5x4. This must be an array with sixteen elements. + Thrown when is null. + Thrown when contains more or less than sixteen elements. + + + + Determines the sum of two matrices. + + The first Matrix5x4 to add. + The second Matrix5x4 to add. + When the method completes, contains the sum of the two matrices. + + + + Determines the sum of two matrices. + + The first Matrix5x4 to add. + The second Matrix5x4 to add. + The sum of the two matrices. + + + + Determines the difference between two matrices. + + The first Matrix5x4 to subtract. + The second Matrix5x4 to subtract. + When the method completes, contains the difference between the two matrices. + + + + Determines the difference between two matrices. + + The first Matrix5x4 to subtract. + The second Matrix5x4 to subtract. + The difference between the two matrices. + + + + Scales a Matrix5x4 by the given value. + + The Matrix5x4 to scale. + The amount by which to scale. + When the method completes, contains the scaled Matrix5x4. + + + + Scales a Matrix5x4 by the given value. + + The Matrix5x4 to scale. + The amount by which to scale. + When the method completes, contains the scaled Matrix5x4. + + + + Negates a Matrix5x4. + + The Matrix5x4 to be negated. + When the method completes, contains the negated Matrix5x4. + + + + Negates a Matrix5x4. + + The Matrix5x4 to be negated. + The negated Matrix5x4. + + + + Performs a linear interpolation between two matrices. + + Start Matrix5x4. + End Matrix5x4. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two matrices. + + Start Matrix5x4. + End Matrix5x4. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two matrices. + + Start Matrix5x4. + End Matrix5x4. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two matrices. + + + + Performs a cubic interpolation between two matrices. + + Start Matrix5x4. + End Matrix5x4. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two matrices. + + + + Creates a Matrix5x4 that scales along the x-axis, y-axis, y-axis and w-axis + + Scaling factor for all three axes. + When the method completes, contains the created scaling Matrix5x4. + + + + Creates a Matrix5x4 that scales along the x-axis, y-axis, and y-axis. + + Scaling factor for all three axes. + The created scaling Matrix5x4. + + + + Creates a Matrix5x4 that scales along the x-axis, y-axis, z-axis and w-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Scaling factor that is applied along the z-axis. + Scaling factor that is applied along the w-axis. + When the method completes, contains the created scaling Matrix5x4. + + + + Creates a Matrix5x4 that scales along the x-axis, y-axis, z-axis and w-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Scaling factor that is applied along the z-axis. + Scaling factor that is applied along the w-axis. + The created scaling Matrix5x4. + + + + Creates a Matrix5x4 that uniformly scales along all three axis. + + The uniform scale that is applied along all axis. + When the method completes, contains the created scaling Matrix5x4. + + + + Creates a Matrix5x4 that uniformly scales along all three axis. + + The uniform scale that is applied along all axis. + The created scaling Matrix5x4. + + + + Creates a translation Matrix5x4 using the specified offsets. + + The offset for all three coordinate planes. + When the method completes, contains the created translation Matrix5x4. + + + + Creates a translation Matrix5x4 using the specified offsets. + + The offset for all three coordinate planes. + The created translation Matrix5x4. + + + + Creates a translation Matrix5x4 using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + Z-coordinate offset. + W-coordinate offset. + When the method completes, contains the created translation Matrix5x4. + + + + Creates a translation Matrix5x4 using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + Z-coordinate offset. + W-coordinate offset. + The created translation Matrix5x4. + + + + Adds two matrices. + + The first Matrix5x4 to add. + The second Matrix5x4 to add. + The sum of the two matrices. + + + + Assert a Matrix5x4 (return it unchanged). + + The Matrix5x4 to assert (unchanged). + The asserted (unchanged) Matrix5x4. + + + + Subtracts two matrices. + + The first Matrix5x4 to subtract. + The second Matrix5x4 to subtract. + The difference between the two matrices. + + + + Negates a Matrix5x4. + + The Matrix5x4 to negate. + The negated Matrix5x4. + + + + Scales a Matrix5x4 by a given value. + + The Matrix5x4 to scale. + The amount by which to scale. + The scaled Matrix5x4. + + + + Scales a Matrix5x4 by a given value. + + The Matrix5x4 to scale. + The amount by which to scale. + The scaled Matrix5x4. + + + + Scales a Matrix5x4 by a given value. + + The Matrix5x4 to scale. + The amount by which to scale. + The scaled Matrix5x4. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the first row in the Matrix5x4; that is M11, M12, M13, and M14. + + + + + Gets or sets the second row in the Matrix5x4; that is M21, M22, M23, and M24. + + + + + Gets or sets the third row in the Matrix5x4; that is M31, M32, M33, and M34. + + + + + Gets or sets the fourth row in the Matrix5x4; that is M41, M42, M43, and M44. + + + + + Gets or sets the fifth row in the Matrix5x4; that is M51, M52, M53, and M54. + + + + + Gets or sets the translation of the Matrix5x4; that is M41, M42, and M43. + + + + + Gets or sets the scale of the Matrix5x4; that is M11, M22, and M33. + + + + + Gets a value indicating whether this instance is an identity Matrix5x4. + + + true if this instance is an identity Matrix5x4; otherwise, false. + + + + + Gets or sets the component at the specified index. + + The value of the Matrix5x4 component, depending on the index. + The zero-based index of the component to access. + The value of the component at the specified index. + Thrown when the is out of the range [0, 15]. + + + + Gets or sets the component at the specified index. + + The value of the Matrix5x4 component, depending on the index. + The row of the Matrix5x4 to access. + The column of the Matrix5x4 to access. + The value of the component at the specified index. + Thrown when the or is out of the range [0, 3]. + + + + Descriptor used to provide detailed message for a particular . + + + + + Initializes a new instance of the class. + + The HRESULT error code. + The module (ex: SharpDX.Direct2D1). + The API code (ex: D2D1_ERR_...). + The description of the result code if any. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Performs an implicit conversion from to . + + The result. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Registers a provider. + + Type of the descriptors provider. + + Providers are usually registered at module init when SharpDX assemblies are loaded. + + + + + Finds the specified result descriptor. + + The result code. + A descriptor for the specified result + + + + Gets the result. + + + + + Gets the HRESULT error code. + + The HRESULT error code. + + + + Gets the module (ex: SharpDX.Direct2D1) + + + + + Gets the native API code (ex: D2D1_ERR_ ...) + + + + + Gets the API code (ex: DemiceRemoved ...) + + + + + Gets the description of the result code if any. + + + + + Structure using the same layout than . + + + + + Initializes a new instance of the struct. + + The x. + The y. + + + + Width. + + + + + Height. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + + + + + Structure using the same layout than . + + + + + Initializes a new instance of the struct. + + The x. + The y. + + + + Width. + + + + + Height. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + + + + + Structure using the same layout than . + + + + + Initializes a new instance of the struct. + + The x. + The y. + + + + Left coordinate. + + + + + Top coordinate. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + + + + Windows File Helper. + + + + + Checks if the specified file path exists. + + The file path. + true if the specified file path exists, false otherwise + + + + Opens a binary file, reads the contents of the file into a byte array, and then closes the file. + + The file to open for reading. + A byte array containing the contents of the file. + + + + Opens a text file, reads all lines of the file, and then closes the file. + + The file to open for reading. + A string containing all lines of the file. + + + + Opens a text file, reads all lines of the file, and then closes the file. + + The file to open for reading. + The encoding. + The sharing. + A string containing all lines of the file. + + + + Gets the size of the file. + + The handle. + Size of the file. + + GetFileSizeEx + + + + Gets the last write time access for the specified path. + + The path. + The last write time access + + + + Reads to a file. + + The file handle. + The buffer. + The number of bytes to read. + The number of bytes read. + The overlapped. + A Result + ReadFile + + + + Writes to a file. + + The file handle. + The buffer. + The number of bytes to read. + The number of bytes read. + The overlapped. + A Result + WriteFile + + + + Sets the file pointer. + + The handle. + The distance to move. + The distance to move high. + The seek origin. + + SetFilePointerEx + + + + Sets the end of file. + + The handle. + + SetEndOfFile + + + + Creates the file. + + Name of the file. + The desired access. + The share mode. + The creation disposition. + The extended parameters. + A handle to the created file. IntPtr.Zero if failed. + CreateFile2 + + + + Windows File Helper. + + + + + Initializes a new instance of the class. + + Name of the file. + The file mode. + The access mode. + The share mode. + + + + + + + + + + + + + + + + Reads a block of bytes from the stream and writes the data in a given buffer. + + When this method returns, contains the specified buffer with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. + The byte offset in array at which the read bytes will be placed. + The maximum number of bytes to read. + array is null. + The total number of bytes read into the buffer. This might be less than the number of bytes requested if that number of bytes are not currently available, or zero if the end of the stream is reached. + + + + + + + Writes a block of bytes to this stream using data from a buffer. + + The buffer containing data to write to the stream. + The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + + + + + + + + + + + + + + + + + + Native File access flags. + + + + + Read access. + + + + + Write access. + + + + + Read/Write Access, + + + + + Execute access. + + + + + All access + + + + + Native file attributes. + + + + + None attribute. + + + + + Read only attribute. + + + + + Hidden attribute. + + + + + System attribute. + + + + + Directory attribute. + + + + + Archive attribute. + + + + + Device attribute. + + + + + Normal attribute. + + + + + Temporary attribute. + + + + + Sparse file attribute. + + + + + ReparsePoint attribute. + + + + + Compressed attribute. + + + + + Offline attribute. + + + + + Not content indexed attribute. + + + + + Encrypted attribute. + + + + + Write through attribute. + + + + + Overlapped attribute. + + + + + No buffering attribute. + + + + + Random access attribute. + + + + + Sequential scan attribute. + + + + + Delete on close attribute. + + + + + Backup semantics attribute. + + + + + Post semantics attribute. + + + + + Open reparse point attribute. + + + + + Open no recall attribute. + + + + + First pipe instance attribute. + + + + + Native file creation disposition. + + + + + Creates a new file. The function fails if a specified file exists. + + + + + Creates a new file, always. + If a file exists, the function overwrites the file, clears the existing attributes, combines the specified file attributes, + and flags with FILE_ATTRIBUTE_ARCHIVE, but does not set the security descriptor that the SECURITY_ATTRIBUTES structure specifies. + + + + + Opens a file. The function fails if the file does not exist. + + + + + Opens a file, always. + If a file does not exist, the function creates a file as if dwCreationDisposition is CREATE_NEW. + + + + + Opens a file and truncates it so that its size is 0 (zero) bytes. The function fails if the file does not exist. + The calling process must open the file with the GENERIC_WRITE access right. + + + + + Native file share. + + + + + None flag. + + + + + Enables subsequent open operations on an object to request read access. + Otherwise, other processes cannot open the object if they request read access. + If this flag is not specified, but the object has been opened for read access, the function fails. + + + + + Enables subsequent open operations on an object to request write access. + Otherwise, other processes cannot open the object if they request write access. + If this flag is not specified, but the object has been opened for write access, the function fails. + + + + + Read and Write flags. + + + + + Enables subsequent open operations on an object to request delete access. + Otherwise, other processes cannot open the object if they request delete access. + If this flag is not specified, but the object has been opened for delete access, the function fails. + + + + + Direct2D Matrix3x2. Supports implicit cast from . + + + + + Gets the identity matrix. + + The identity matrix. + + + + Element (1,1) + + + + + Element (1,2) + + + + + Element (2,1) + + + + + Element (2,2) + + + + + Element (3,1) + + + + + Element (3,2) + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value to assign at row 1 column 1 of the matrix. + The value to assign at row 1 column 2 of the matrix. + The value to assign at row 2 column 1 of the matrix. + The value to assign at row 2 column 2 of the matrix. + The value to assign at row 3 column 1 of the matrix. + The value to assign at row 3 column 2 of the matrix. + + + + Initializes a new instance of the struct. + + The values to assign to the components of the matrix. This must be an array with six elements. + Thrown when is null. + Thrown when contains more or less than six elements. + + + + Creates an array containing the elements of the matrix. + + A sixteen-element array containing the components of the matrix. + + + + Determines the sum of two matrices. + + The first matrix to add. + The second matrix to add. + When the method completes, contains the sum of the two matrices. + + + + Determines the sum of two matrices. + + The first matrix to add. + The second matrix to add. + The sum of the two matrices. + + + + Determines the difference between two matrices. + + The first matrix to subtract. + The second matrix to subtract. + When the method completes, contains the difference between the two matrices. + + + + Determines the difference between two matrices. + + The first matrix to subtract. + The second matrix to subtract. + The difference between the two matrices. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + When the method completes, contains the scaled matrix. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Determines the product of two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Determines the product of two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + When the method completes, contains the scaled matrix. + + + + Determines the quotient of two matrices. + + The first matrix to divide. + The second matrix to divide. + When the method completes, contains the quotient of the two matrices. + + + + Negates a matrix. + + The matrix to be negated. + When the method completes, contains the negated matrix. + + + + Negates a matrix. + + The matrix to be negated. + The negated matrix. + + + + Performs a linear interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two matrices. + + + + Performs a cubic interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two matrices. + + + + Creates a matrix that scales along the x-axis and y-axis. + + Scaling factor for both axes. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that scales along the x-axis and y-axis. + + Scaling factor for both axes. + The created scaling matrix. + + + + Creates a matrix that scales along the x-axis and y-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that scales along the x-axis and y-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + The created scaling matrix. + + + + Creates a matrix that uniformly scales along both axes. + + The uniform scale that is applied along both axes. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that uniformly scales along both axes. + + The uniform scale that is applied along both axes. + The created scaling matrix. + + + + Creates a matrix that is scaling from a specified center. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + The center of the scaling. + The created scaling matrix. + + + + Creates a matrix that is scaling from a specified center. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + The center of the scaling. + The created scaling matrix. + + + + Calculates the determinant of this matrix. + + Result of the determinant. + + + + Creates a matrix that rotates. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + The created rotation matrix. + + + + Creates a matrix that rotates about a specified center. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + The center of the rotation. + The created rotation matrix. + + + + Creates a matrix that rotates about a specified center. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + The center of the rotation. + When the method completes, contains the created rotation matrix. + + + + Creates a transformation matrix. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis. + X-coordinate offset. + Y-coordinate offset. + When the method completes, contains the created transformation matrix. + + + + Creates a transformation matrix. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Angle of rotation in radians. + X-coordinate offset. + Y-coordinate offset. + The created transformation matrix. + + + + Creates a translation matrix using the specified offsets. + + The offset for both coordinate planes. + When the method completes, contains the created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + The offset for both coordinate planes. + The created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + When the method completes, contains the created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + The created translation matrix. + + + + Transforms a vector by this matrix. + + The matrix to use as a transformation matrix. + The original vector to apply the transformation. + The result of the transformation for the input vector. + + + + Transforms a vector by this matrix. + + The matrix to use as a transformation matrix. + The original vector to apply the transformation. + The result of the transformation for the input vector. + + + + + Calculates the inverse of this matrix instance. + + + + + Calculates the inverse of the specified matrix. + + The matrix whose inverse is to be calculated. + the inverse of the specified matrix. + + + + Calculates the inverse of the specified matrix. + + The matrix whose inverse is to be calculated. + When the method completes, contains the inverse of the specified matrix. + + + + Adds two matrices. + + The first matrix to add. + The second matrix to add. + The sum of the two matrices. + + + + Assert a matrix (return it unchanged). + + The matrix to assert (unchanged). + The asserted (unchanged) matrix. + + + + Subtracts two matrices. + + The first matrix to subtract. + The second matrix to subtract. + The difference between the two matrices. + + + + Negates a matrix. + + The matrix to negate. + The negated matrix. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Multiplies two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Divides two matrices. + + The first matrix to divide. + The second matrix to divide. + The quotient of the two matrices. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Performs an implicit conversion from to . + + The matrix. + The result of the conversion. + + + + Gets or sets the first row in the matrix; that is M11 and M12. + + + + + Gets or sets the second row in the matrix; that is M21 and M22. + + + + + Gets or sets the third row in the matrix; that is M31 and M32. + + + + + Gets or sets the first column in the matrix; that is M11, M21, and M31. + + + + + Gets or sets the second column in the matrix; that is M12, M22, and M32. + + + + + Gets or sets the translation of the matrix; that is M31 and M32. + + + + + Gets or sets the scale of the matrix; that is M11 and M22. + + + + + Gets a value indicating whether this instance is an identity matrix. + + + true if this instance is an identity matrix; otherwise, false. + + + + + Gets or sets the component at the specified index. + + The value of the matrix component, depending on the index. + The zero-based index of the component to access. + The value of the component at the specified index. + Thrown when the is out of the range [0, 5]. + + + + Gets or sets the component at the specified index. + + The value of the matrix component, depending on the index. + The row of the matrix to access. + The column of the matrix to access. + The value of the component at the specified index. + Thrown when the or is out of the range [0, 3]. + + + + The ShadowContainer is the main container used internally to keep references to all native COM/C++ callbacks. + It is stored in the property . + + + + + Contains static methods to help in determining intersections, containment, etc. + + + + + Determines the closest point between a point and a triangle. + + The point to test. + The first vertex to test. + The second vertex to test. + The third vertex to test. + When the method completes, contains the closest point between the two objects. + + + + Determines the closest point between a and a point. + + The plane to test. + The point to test. + When the method completes, contains the closest point between the two objects. + + + + Determines the closest point between a and a point. + + The box to test. + The point to test. + When the method completes, contains the closest point between the two objects. + + + + Determines the closest point between a and a point. + + + The point to test. + When the method completes, contains the closest point between the two objects; + or, if the point is directly in the center of the sphere, contains . + + + + Determines the closest point between a and a . + + The first sphere to test. + The second sphere to test. + When the method completes, contains the closest point between the two objects; + or, if the point is directly in the center of the sphere, contains . + + If the two spheres are overlapping, but not directly on top of each other, the closest point + is the 'closest' point of intersection. This can also be considered is the deepest point of + intersection. + + + + + Determines the distance between a and a point. + + The plane to test. + The point to test. + The distance between the two objects. + + + + Determines the distance between a and a point. + + The box to test. + The point to test. + The distance between the two objects. + + + + Determines the distance between a and a . + + The first box to test. + The second box to test. + The distance between the two objects. + + + + Determines the distance between a and a point. + + The sphere to test. + The point to test. + The distance between the two objects. + + + + Determines the distance between a and a . + + The first sphere to test. + The second sphere to test. + The distance between the two objects. + + + + Determines whether there is an intersection between a and a point. + + The ray to test. + The point to test. + Whether the two objects intersect. + + + + Determines whether there is an intersection between a and a . + + The first ray to test. + The second ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersect. + + This method performs a ray vs ray intersection test based on the following formula + from Goldman. + s = det([o_2 - o_1, d_2, d_1 x d_2]) / ||d_1 x d_2||^2 + t = det([o_2 - o_1, d_1, d_1 x d_2]) / ||d_1 x d_2||^2 + Where o_1 is the position of the first ray, o_2 is the position of the second ray, + d_1 is the normalized direction of the first ray, d_2 is the normalized direction + of the second ray, det denotes the determinant of a matrix, x denotes the cross + product, [ ] denotes a matrix, and || || denotes the length or magnitude of a vector. + + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The plane to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersect. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The plane to test + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a triangle. + + The ray to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + This method tests if the ray intersects either the front or back of the triangle. + If the ray is parallel to the triangle's plane, no intersection is assumed to have + happened. If the intersection of the ray and the triangle is behind the origin of + the ray, no intersection is assumed to have happened. In both cases of assumptions, + this method returns false. + + + + + Determines whether there is an intersection between a and a triangle. + + The ray to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The box to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The box to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The sphere to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The ray to test. + The sphere to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a point. + + The plane to test. + The point to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The first plane to test. + The second plane to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The first plane to test. + The second plane to test. + When the method completes, contains the line of intersection + as a , or a zero ray if there was no intersection. + Whether the two objects intersected. + + Although a ray is set to have an origin, the ray returned by this method is really + a line in three dimensions which has no real origin. The ray is considered valid when + both the positive direction is used and when the negative direction is used. + + + + + Determines whether there is an intersection between a and a triangle. + + The plane to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The plane to test. + The box to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The plane to test. + The sphere to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The first box to test. + The second box to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + The box to test. + The sphere to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a triangle. + + The sphere to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines whether there is an intersection between a and a . + + First sphere to test. + Second sphere to test. + Whether the two objects intersected. + + + + Determines whether a contains a point. + + The box to test. + The point to test. + The type of containment the two objects have. + + + + Determines whether a contains a . + + The first box to test. + The second box to test. + The type of containment the two objects have. + + + + Determines whether a contains a . + + The box to test. + The sphere to test. + The type of containment the two objects have. + + + + Determines whether a contains a point. + + The sphere to test. + The point to test. + The type of containment the two objects have. + + + + Determines whether a contains a triangle. + + The sphere to test. + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + The type of containment the two objects have. + + + + Determines whether a contains a . + + The sphere to test. + The box to test. + The type of containment the two objects have. + + + + Determines whether a contains a . + + The first sphere to test. + The second sphere to test. + The type of containment the two objects have. + + + + Represents a color in the form of rgb. + + + + + The Black color (0, 0, 0). + + + + + The White color (1, 1, 1, 1). + + + + + The red component of the color. + + + + + The green component of the color. + + + + + The blue component of the color. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + + + + Initializes a new instance of the struct. + + The red, green, and blue components of the color. + + + + Initializes a new instance of the struct. + + A packed integer containing all three color components in RGB order. + The alpha component is ignored. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, and blue components of the color. This must be an array with three elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Converts the color into a packed integer. + + A packed integer containing all three color components. + The alpha channel is set to 255. + + + + Converts the color into a packed integer. + + A packed integer containing all three color components. + The alpha channel is set to 255. + + + + Converts the color into a three component vector. + + A three component vector containing the red, green, and blue components of the color. + + + + Creates an array containing the elements of the color. + + A three-element array containing the components of the color. + + + + Adds two colors. + + The first color to add. + The second color to add. + When the method completes, completes the sum of the two colors. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + WHen the method completes, contains the difference of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract + The difference of the two colors. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + When the method completes, contains the modulated color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + When the method completes, contains the scaled color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + The scaled color. + + + + Negates a color. + + The color to negate. + When the method completes, contains the negated color. + + + + Negates a color. + + The color to negate. + The negated color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two colors. + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the largest components of the source colors. + + + + Returns a color containing the largest components of the specified colors. + + The first source color. + The second source color. + A color containing the largest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the smallest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + A color containing the smallest components of the source colors. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + When the method completes, contains the adjusted color. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + The adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + When the method completes, contains the adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + The adjusted color. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Assert a color (return it unchanged). + + The color to assert (unchanged). + The asserted (unchanged) color. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + The difference of the two colors. + + + + Negates a color. + + The color to negate. + A negated color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel element (float) + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel element (float). + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the component at the specified index. + + The value of the red, green, or blue component, depending on the index. + The index of the component to access. Use 0 for the red component, 1 for the green component, and 2 for the blue component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 2]. + + + + Represents a color in the form of rgba. + + + + + The Black color (0, 0, 0, 1). + + + + + The White color (1, 1, 1, 1). + + + + + The red component of the color. + + + + + The green component of the color. + + + + + The blue component of the color. + + + + + The alpha component of the color. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The red component of the color. + The green component of the color. + The blue component of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + The red, green, blue, and alpha components of the color. + + + + Initializes a new instance of the struct. + + The red, green, and blue components of the color. + The alpha component of the color. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in RGBA order. + + + + Initializes a new instance of the struct. + + A packed integer containing all four color components in RGBA order. + + + + Initializes a new instance of the struct. + + The values to assign to the red, green, blue, and alpha components of the color. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Initializes a new instance of the struct. + + used to initialize the color. + + + + Initializes a new instance of the struct. + + used to initialize the color. + The alpha component of the color. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a packed integer. + + A packed integer containing all four color components. + + + + Converts the color into a three component vector. + + A three component vector containing the red, green, and blue components of the color. + + + + Converts the color into a four component vector. + + A four component vector containing all four color components. + + + + Creates an array containing the elements of the color. + + A four-element array containing the components of the color. + + + + Adds two colors. + + The first color to add. + The second color to add. + When the method completes, completes the sum of the two colors. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + WHen the method completes, contains the difference of the two colors. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract + The difference of the two colors. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + When the method completes, contains the modulated color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + When the method completes, contains the scaled color. + + + + Scales a color. + + The color to scale. + The amount by which to scale. + The scaled color. + + + + Negates a color. + + The color to negate. + When the method completes, contains the negated color. + + + + Negates a color. + + The color to negate. + The negated color. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two colors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two colors. + + + + Performs a cubic interpolation between two colors. + + Start color. + End color. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the largest components of the source colors. + + + + Returns a color containing the largest components of the specified colors. + + The first source color. + The second source color. + A color containing the largest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + When the method completes, contains an new color composed of the smallest components of the source colors. + + + + Returns a color containing the smallest components of the specified colors. + + The first source color. + The second source color. + A color containing the smallest components of the source colors. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + When the method completes, contains the adjusted color. + + + + Adjusts the contrast of a color. + + The color whose contrast is to be adjusted. + The amount by which to adjust the contrast. + The adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + When the method completes, contains the adjusted color. + + + + Adjusts the saturation of a color. + + The color whose saturation is to be adjusted. + The amount by which to adjust the saturation. + The adjusted color. + + + + Adds two colors. + + The first color to add. + The second color to add. + The sum of the two colors. + + + + Assert a color (return it unchanged). + + The color to assert (unchanged). + The asserted (unchanged) color. + + + + Subtracts two colors. + + The first color to subtract. + The second color to subtract. + The difference of the two colors. + + + + Negates a color. + + The color to negate. + A negated color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Scales a color. + + The factor by which to scale the color. + The color to scale. + The scaled color. + + + + Modulates two colors. + + The first color to modulate. + The second color to modulate. + The modulated color. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel (float). + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format to apply to each channel (float). + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the component at the specified index. + + The value of the red, green, blue, and alpha components, depending on the index. + The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Gets or sets the unmanaged callback. + + The unmanaged callback. + + This property is set whenever this instance has an unmanaged callback + registered. This callback must be disposed when disposing this instance. + + + + + Root IUnknown class to interop with COM object + + + + + Base interface for Component Object Model (COM). + + + + + Queries the supported COM interface on this instance. + + The guid of the interface. + The output COM object reference. + If successful, + + + + Increments the reference count for an interface on this instance. + + The method returns the new reference count. + + + + Decrements the reference count for an interface on this instance. + + The method returns the new reference count. + + + + Initializes a new instance of the class. + + Pointer to Cpp Object + + + + Initializes a new instance of the class from a IUnknown object. + + Reference to a IUnknown object + + + + Initializes a new instance of the class. + + + + + Query this instance for a particular COM GUID/interface support. + + GUID query interface + output object associated with this GUID, IntPtr.Zero in interface is not supported + If this object doesn't support the interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Query instance for a particular COM GUID/interface support. + + GUID query interface + If this object doesn't support the interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Compares 2 COM objects and return true if the native pointer is the same. + + The left. + The right. + true if the native pointer is the same, false otherwise + + + + Query this instance for a particular COM interface support. + + The type of the COM interface to query + An instance of the queried interface + If this object doesn't support the interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Query this instance for a particular COM interface support. + + The type of the COM interface to query + An instance of the queried interface + If this object doesn't support the interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Queries a managed object for a particular COM interface support (This method is a shortcut to ) + + The type of the COM interface to query + The managed COM object. + An instance of the queried interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Queries a managed object for a particular COM interface support (This method is a shortcut to ) + + The type of the COM interface to query + The managed COM object. + An instance of the queried interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Queries a managed object for a particular COM interface support. + + The type of the COM interface to query + The managed COM object. + An instance of the queried interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Queries a managed object for a particular COM interface support. + + The type of the COM interface to query + A pointer to a COM object. + An instance of the queried interface + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Query Interface for a particular interface support. + + An instance of the queried interface or null if it is not supported + + ms682521 + IUnknown::QueryInterface + IUnknown::QueryInterface + + + + Performs an explicit conversion from to . + + The native pointer. + + The result of the conversion. + + + + + Query Interface for a particular interface support and attach to the given instance. + + + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + ms682317 + IUnknown::Release + IUnknown::Release + + + + Base class for unmanaged callbackable Com object. + + + + + Initializes a new instance of the class. + + Pointer to Cpp Object + + + + Initializes a new instance of the class. + + + + + Implements but it cannot not be set. + This is only used to support for interop with unmanaged callback. + + + + + A compilation exception. + + + + + The base class for errors that occur in SharpDX. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The result code that caused this exception. + + + + Initializes a new instance of the class. + + The result descriptor. + + + + Initializes a new instance of the class. + + The error result code. + The message describing the exception. + + + + Initializes a new instance of the class. + + The error result code. + The message describing the exception. + formatting arguments + + + + Initializes a new instance of the class. + + The message describing the exception. + formatting arguments + + + + Initializes a new instance of the class. + + The message describing the exception. + The exception that caused this exception. + formatting arguments + + + + Gets the Result code for the exception. This value indicates + the specific type of failure that occurred within SharpDX. + + + + + Gets the Result code for the exception. This value indicates + the specific type of failure that occurred within SharpDX. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The error code. + The message. + + + + Global configuration. + + + + + Enables or disables object tracking. Default is disabled (false). + + + Object Tracking is used to track COM object lifecycle creation/dispose. When this option is enabled + objects can be tracked using . Using Object tracking has a significant + impact on performance and should be used only while debugging. + + + + + Throws a when a shader or effect compilation error occurred. Default is enabled (true). + + + + + By default all objects in the process are tracked. + Use this property to track objects per thread. + + + + + Provides access to data organized in 3D. + + + + + Initializes a new instance of the struct. + + The datapointer. + The row pitch. + The slice pitch. + + + + Initializes a new instance of the struct. + + The data pointer. + + + + Pointer to the data. + + + + + Gets the number of bytes per row. + + + + + Gets the number of bytes per slice (for a 3D texture, a slice is a 2D image) + + + + + Provides access to data organized in 2D. + + + + + Initializes a new instance of the class. + + The data pointer. + The pitch. + + + + Pointer to the data. + + + + + Gets the number of bytes per row. + + + + + Provides a stream interface to a buffer located in unmanaged memory. + + + + + Initializes a new instance of the class from a Blob buffer. + + The buffer. + + + + Initializes a new instance of the class, using a managed buffer as a backing store. + + + A managed array to be used as a backing store. + true if reading from the buffer should be allowed; otherwise, false. + true if writing to the buffer should be allowed; otherwise, false. + Index inside the buffer in terms of element count (not size in bytes). + True to keep the managed buffer and pin it, false will allocate unmanaged memory and make a copy of it. Default is true. + + + + + Initializes a new instance of the class, and allocates a new buffer to use as a backing store. + + The size of the buffer to be allocated, in bytes. + + true if reading from the buffer should be allowed; otherwise, false. + + true if writing to the buffer should be allowed; otherwise, false. + + + + Initializes a new instance of the class, using an unmanaged buffer as a backing store. + + A pointer to the buffer to be used as a backing store. + The size of the buffer provided, in bytes. + + true if reading from the buffer should be allowed; otherwise, false. + + true if writing to the buffer should be allowed; otherwise, false. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Not supported. + + Always thrown. + + + + Reads a single value from the current stream and advances the current + position within this stream by the number of bytes read. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The type of the value to be read from the stream. + The value that was read. + This stream does not support reading. + + + + Reads a float. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + a float from the stream + + + + Reads a int. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an int from the stream + + + + Reads a short. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an short from the stream + + + + Reads a bool. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an bool from the stream + + + + Reads a Vector2. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Vector2 from the stream + + + + Reads a Vector3. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Vector3 from the stream + + + + Reads a Vector4. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Vector4 from the stream + + + + Reads a Color3. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Color3 from the stream + + + + Reads a Color4. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Color4 from the stream + + + + Reads a Half. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Half from the stream + + + + Reads a Half2. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Half2 from the stream + + + + Reads a Half3. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Half3 from the stream + + + + Reads a Half4. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + an Half4 from the stream + + + + Reads a Matrix. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + a Matrix from the stream + + + + Reads a Quaternion. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + a Quaternion from the stream + + + + + + + Reads a sequence of bytes from the current stream and advances the position + within the stream by the number of bytes read. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + An array of values to be read from the stream. + The zero-based byte offset in buffer at which to begin storing + the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The number of bytes read from the stream. + This stream does not support reading. + + + + Reads a sequence of bytes from the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + + + Reads an array of values from the current stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The type of the values to be read from the stream. + An array of values that was read from the current stream. + + + + Reads a sequence of elements from the current stream into a target buffer and + advances the position within the stream by the number of bytes read. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + An array of values to be read from the stream. + The zero-based byte offset in buffer at which to begin storing + the data read from the current stream. + The number of values to be read from the current stream. + The number of bytes read from the stream. + This stream does not support reading. + + + + Sets the position within the current stream. + + Attempted to seek outside of the bounds of the stream. + + + + Not supported. + + Always ignored. + Always thrown. + + + + Writes a single value to the stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The type of the value to be written to the stream. + The value to write to the stream. + The stream does not support writing. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes the specified value. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The value. + + + + Writes a sequence of bytes to the current stream and advances the current + position within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + An array of bytes. This method copies count bytes from buffer to the current stream. + The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + This stream does not support writing. + + + + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + + + Writes an array of values to the current stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + An array of values to be written to the current stream. + This stream does not support writing. + + + + Writes a range of bytes to the current stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + A pointer to the location to start copying from. + The number of bytes to copy from source to the current stream. + This stream does not support writing. + + + + Writes an array of values to the current stream, and advances the current position + within this stream by the number of bytes written. + + + In order to provide faster read/write, this operation doesn't check stream bound. + A client must carefully not read/write above the size of this datastream. + + The type of the values to be written to the stream. + An array of values to be written to the stream. + The zero-based offset in data at which to begin copying values to the current stream. + The number of values to be written to the current stream. If this is zero, + all of the contents will be written. + This stream does not support writing. + + + + Performs an explicit conversion from to . + + The from value. + The result of the conversion. + + + + Gets a value indicating whether the current stream supports reading. + + + true if the stream supports reading; otherwise, false. + + + + Gets a value indicating whether the current stream supports seeking. + + Always true. + + + + Gets a value indicating whether the current stream supports writing. + + + true if the stream supports writing; otherwise, false. + + + + Gets the internal pointer to the current stream's backing store. + + An IntPtr to the buffer being used as a backing store. + + + + Gets the length in bytes of the stream. + + A long value representing the length of the stream in bytes. + + + + Gets or sets the position within the current stream. + + The current position within the stream. + Stream Class + + + + Gets the position pointer. + + The position pointer. + + + + Gets the length of the remaining. + + The length of the remaining. + + + + Provides methods to perform fast read/write random access data on a buffer located in an unmanaged memory. + + + This class doesn't validate the position read/write from. It is the responsibility of the client of this class + to verify that access is done within the size of the buffer. + + + + + Creates the specified user buffer. + + Type of the buffer. + The buffer to use as a DataBuffer. + Index inside the buffer in terms of element count (not size in bytes). + True to keep the managed buffer and pin it, false will allocate unmanaged memory and make a copy of it. Default is true. + An instance of a DataBuffer + + + + Initializes a new instance of the class, and allocates a new buffer to use as a backing store. + + The size of the buffer to be allocated, in bytes. + + is less than 1. + + + + Initializes a new instance of the class, using an unmanaged buffer as a backing store. + + A pointer to the buffer to be used as a backing store. + The size of the buffer provided, in bytes. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears the buffer. + + + + + Gets a single value from the current buffer at the specified position. + + Relative position in bytes from the beginning of the buffer to get the data from. + The type of the value to be read from the buffer. + The value that was read. + + + + Gets a float. + + Relative position in bytes from the beginning of the buffer to get the data from. + a float from the buffer + + + + Gets a int. + + Relative position in bytes from the beginning of the buffer to get the data from. + an int from the buffer + + + + Gets a short. + + Relative position in bytes from the beginning of the buffer to get the data from. + an short from the buffer + + + + Gets a bool. + + Relative position in bytes from the beginning of the buffer to get the data from. + an bool from the buffer + + + + Gets a Vector2. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Vector2 from the buffer + + + + Gets a Vector3. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Vector3 from the buffer + + + + Gets a Vector4. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Vector4 from the buffer + + + + Gets a Color3. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Color3 from the buffer + + + + Gets a Color4. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Color4 from the buffer + + + + Gets a Half. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Half from the buffer + + + + Gets a Half2. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Half2 from the buffer + + + + Gets a Half3. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Half3 from the buffer + + + + Gets a Half4. + + Relative position in bytes from the beginning of the buffer to get the data from. + an Half4 from the buffer + + + + Gets a Matrix. + + Relative position in bytes from the beginning of the buffer to get the data from. + a Matrix from the buffer + + + + Gets a Quaternion. + + Relative position in bytes from the beginning of the buffer to get the data from. + a Quaternion from the buffer + + + + Gets an array of values from a position in the buffer. + + Relative position in bytes from the beginning of the buffer to get the data from. + number of T instance to get from the positionInBytes + The type of the values to be read from the buffer. + An array of values that was read from the current buffer. + + + + Gets a sequence of elements from a position in the buffer into a target buffer. + + Relative position in bytes from the beginning of the buffer to get the data from. + An array of values to be read from the buffer. + The zero-based byte offset in buffer at which to begin storing + the data read from the current buffer. + The number of values to be read from the current buffer. + + + + Sets a single value to the buffer at a specified position. + + The type of the value to be written to the buffer. + Relative position in bytes from the beginning of the buffer to set the data to. + The value to write to the buffer. + + + + Sets a single value to the buffer at a specified position. + + The type of the value to be written to the buffer. + Relative position in bytes from the beginning of the buffer to set the data to. + The value to write to the buffer. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets the specified value. + + Relative position in bytes from the beginning of the buffer to set the data to. + The value. + + + + Sets an array of values to a specified position into the buffer. + + Relative position in bytes from the beginning of the buffer to set the data to. + An array of values to be written to the current buffer. + + + + Sets a range of data to a specified position into the buffer. + + Relative position in bytes from the beginning of the buffer to set the data to. + A pointer to the location to start copying from. + The number of bytes to copy from source to the current buffer. + + + + Sets an array of values to a specified position into the buffer. + + The type of the values to be written to the buffer. + Relative position in bytes from the beginning of the buffer to set the data to. + An array of values to be written to the buffer. + The zero-based offset in data at which to begin copying values to the current buffer. + The number of values to be written to the current buffer. If this is zero, + all of the contents will be written. + + + + Performs an explicit conversion from to . + + The from value. + The result of the conversion. + + + + Gets a pointer to the buffer used as a backing store.. + + An IntPtr to the buffer being used as a backing store. + + + + Gets the length in bytes of the buffer. + + A long value representing the length of the buffer in bytes. + + + + Contains information about a tracked COM object. + + + + + Initializes a new instance of the class. + + The creation time. + The com object to track. + The stack trace. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the time the object was created. + + The creation time. + + + + Gets a weak reference to the tracked object. + + The weak reference to the tracked object. + + + + Gets the stack trace when the track object was created. + + The stack trace. + + + + Gets a value indicating whether the tracked object is alive. + + true if tracked object is alive; otherwise, false. + + + + Event args for used by . + + + + + The object being tracked/untracked. + + + + + Initializes a new instance of the class. + + The o. + + + + Track all allocated objects. + + + + + Tracks the specified COM object. + + The COM object. + + + + Finds a list of object reference from a specified COM object pointer. + + The COM object pointer. + A list of object reference + + + + Finds the object reference for a specific COM object. + + The COM object. + An object reference + + + + Untracks the specified COM object. + + The COM object. + + + + Reports all COM object that are active and not yet disposed. + + + + + Reports all COM object that are active and not yet disposed. + + + + + Occurs when a ComObject is tracked. + + + + + Occurs when a ComObject is untracked. + + + + + Describes the type of angle. + + + + + Specifies an angle measurement in revolutions. + + + + + Specifies an angle measurement in degrees. + + + + + Specifies an angle measurement in radians. + + + + + Specifies an angle measurement in gradians. + + + + + Describes how one bounding volume contains another. + + + + + The two bounding volumes don't intersect at all. + + + + + One bounding volume completely contains another. + + + + + The two bounding volumes overlap. + + + + + Describes the result of an intersection with a plane in three dimensions. + + + + + The object is behind the plane. + + + + + The object is in front of the plane. + + + + + The object is intersecting the plane. + + + + + FunctionCallback + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + +

Driver type options.

+
+ +

The driver type is required when calling or D3D11CreateDeviceAndSwapChain.

+
+ + ff476328 + D3D_DRIVER_TYPE + D3D_DRIVER_TYPE +
+ + +

The driver type is unknown.

+
+ + ff476328 + D3D_DRIVER_TYPE_UNKNOWN + D3D_DRIVER_TYPE_UNKNOWN +
+ + +

A hardware driver, which implements Direct3D features in hardware. This is the primary driver that you should use in your Direct3D applications because it provides the best performance. A hardware driver uses hardware acceleration (on supported hardware) but can also use software for parts of the pipeline that are not supported in hardware. This driver type is often referred to as a hardware abstraction layer or HAL.

+
+ + ff476328 + D3D_DRIVER_TYPE_HARDWARE + D3D_DRIVER_TYPE_HARDWARE +
+ + +

A reference driver, which is a software implementation that supports every Direct3D feature. A reference driver is designed for accuracy rather than speed and as a result is slow but accurate. The rasterizer portion of the driver does make use of special CPU instructions whenever it can, but it is not intended for retail applications; use it only for feature testing, demonstration of functionality, debugging, or verifying bugs in other drivers. This driver is installed by the DirectX SDK. This driver may be referred to as a REF driver, a reference driver or a reference rasterizer.

+
+ + ff476328 + D3D_DRIVER_TYPE_REFERENCE + D3D_DRIVER_TYPE_REFERENCE +
+ + +

A null driver, which is a reference driver without render capability. This driver is commonly used for debugging non-rendering API calls, it is not appropriate for retail applications. This driver is installed by the DirectX SDK.

+
+ + ff476328 + D3D_DRIVER_TYPE_NULL + D3D_DRIVER_TYPE_NULL +
+ + +

A software driver, which is a driver implemented completely in software. The software implementation is not intended for a high-performance application due to its very slow performance.

+
+ + ff476328 + D3D_DRIVER_TYPE_SOFTWARE + D3D_DRIVER_TYPE_SOFTWARE +
+ + +

A WARP driver, which is a high-performance software rasterizer. The rasterizer supports feature levels 9_1 through level 10.1 with a high performance software implementation. For information about limitations creating a WARP device on certain feature levels, see Limitations Creating WARP and Reference Devices. For more information about using a WARP driver, see Windows Advanced Rasterization Platform (WARP) In-Depth Guide.

+
+ + ff476328 + D3D_DRIVER_TYPE_WARP + D3D_DRIVER_TYPE_WARP +
+ + +

Describes the set of features targeted by a Direct3D device.

+
+ +

For an overview of the capabilities of each feature level, see Overview For Each Feature Level.

For information about limitations creating nonhardware-type devices on certain feature levels, see Limitations Creating WARP and Reference Devices.

+
+ + ff476329 + D3D_FEATURE_LEVEL + D3D_FEATURE_LEVEL +
+ + +

Targets features supported by feature level 9.1 including shader model 2.

+
+ + ff476329 + D3D_FEATURE_LEVEL_9_1 + D3D_FEATURE_LEVEL_9_1 +
+ + +

Targets features supported by feature level 9.2 including shader model 2.

+
+ + ff476329 + D3D_FEATURE_LEVEL_9_2 + D3D_FEATURE_LEVEL_9_2 +
+ + +

Targets features supported by feature level 9.3 including shader model 2.0b.

+
+ + ff476329 + D3D_FEATURE_LEVEL_9_3 + D3D_FEATURE_LEVEL_9_3 +
+ + +

Targets features supported by Direct3D 10.0 including shader model 4.

+
+ + ff476329 + D3D_FEATURE_LEVEL_10_0 + D3D_FEATURE_LEVEL_10_0 +
+ + +

Targets features supported by Direct3D 10.1 including shader model 4.

+
+ + ff476329 + D3D_FEATURE_LEVEL_10_1 + D3D_FEATURE_LEVEL_10_1 +
+ + +

Targets features supported by Direct3D 11.0 including shader model 5.

+
+ + ff476329 + D3D_FEATURE_LEVEL_11_0 + D3D_FEATURE_LEVEL_11_0 +
+ + +

Targets features supported by Direct3D 11.1 including Direct3D device sharing. Device sharing enables Direct3D 10 and Direct3D 11 APIs to use one underlying rendering device. For more information about device sharing, see .

+
+ + ff476329 + D3D_FEATURE_LEVEL_11_1 + D3D_FEATURE_LEVEL_11_1 +
+ + + No documentation. + + + D3D_MIN_PRECISION + D3D_MIN_PRECISION + + + + No documentation. + + + D3D_MIN_PRECISION_DEFAULT + D3D_MIN_PRECISION_DEFAULT + + + + No documentation. + + + D3D_MIN_PRECISION_FLOAT_16 + D3D_MIN_PRECISION_FLOAT_16 + + + + No documentation. + + + D3D_MIN_PRECISION_FLOAT_2_8 + D3D_MIN_PRECISION_FLOAT_2_8 + + + + No documentation. + + + D3D_MIN_PRECISION_RESERVED + D3D_MIN_PRECISION_RESERVED + + + + No documentation. + + + D3D_MIN_PRECISION_SINT_16 + D3D_MIN_PRECISION_SINT_16 + + + + No documentation. + + + D3D_MIN_PRECISION_UINT_16 + D3D_MIN_PRECISION_UINT_16 + + + + No documentation. + + + D3D_MIN_PRECISION_ANY_16 + D3D_MIN_PRECISION_ANY_16 + + + + No documentation. + + + D3D_MIN_PRECISION_ANY_10 + D3D_MIN_PRECISION_ANY_10 + + + +

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.

+
+ +

Use the method and a value from to bind a primitive topology to the input-assembler stage. Use the method to retrieve the primitive topology for the input-assembler stage.

The following diagram shows the various primitive types for a geometry shader object.

+
+ + ff728726 + D3D_PRIMITIVE_TOPOLOGY + D3D_PRIMITIVE_TOPOLOGY +
+ + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_UNDEFINED + D3D_PRIMITIVE_TOPOLOGY_UNDEFINED + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_POINTLIST + D3D_PRIMITIVE_TOPOLOGY_POINTLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_LINELIST + D3D_PRIMITIVE_TOPOLOGY_LINELIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ + D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST + + + + No documentation. + + + D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST + D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST + + + +

Values that identify the type of resource to be viewed as a shader resource.

+
+ +

A -typed value is specified in the ViewDimension member of the structure or the Dimension member of the structure.

+
+ + ff728736 + D3D_SRV_DIMENSION + D3D_SRV_DIMENSION +
+ + +

The type is unknown.

+
+ + ff728736 + D3D_SRV_DIMENSION_UNKNOWN + D3D_SRV_DIMENSION_UNKNOWN +
+ + +

The resource is a buffer.

+
+ + ff728736 + D3D_SRV_DIMENSION_BUFFER + D3D_SRV_DIMENSION_BUFFER +
+ + +

The resource is a 1D texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE1D + D3D_SRV_DIMENSION_TEXTURE1D +
+ + +

The resource is an array of 1D textures.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE1DARRAY + D3D_SRV_DIMENSION_TEXTURE1DARRAY +
+ + +

The resource is a 2D texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE2D + D3D_SRV_DIMENSION_TEXTURE2D +
+ + +

The resource is an array of 2D textures.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE2DARRAY + D3D_SRV_DIMENSION_TEXTURE2DARRAY +
+ + +

The resource is a multisampling 2D texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE2DMS + D3D_SRV_DIMENSION_TEXTURE2DMS +
+ + +

The resource is an array of multisampling 2D textures.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE2DMSARRAY + D3D_SRV_DIMENSION_TEXTURE2DMSARRAY +
+ + +

The resource is a 3D texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURE3D + D3D_SRV_DIMENSION_TEXTURE3D +
+ + +

The resource is a cube texture.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURECUBE + D3D_SRV_DIMENSION_TEXTURECUBE +
+ + +

The resource is an array of cube textures.

+
+ + ff728736 + D3D_SRV_DIMENSION_TEXTURECUBEARRAY + D3D_SRV_DIMENSION_TEXTURECUBEARRAY +
+ + +

The resource is an extended buffer.

+
+ + ff728736 + D3D_SRV_DIMENSION_BUFFEREX + D3D_SRV_DIMENSION_BUFFEREX +
+ + + Functions + + + + + Constant DebugObjectName. + WKPDID_D3DDebugObjectName + + + +

This interface is used to return arbitrary length data.

+
+ +

An is obtained by calling D3D10CreateBlob.

The ID3DBlob interface is type defined in the D3DCommon.h header file as a interface, which is fully defined in the D3DCommon.h header file. ID3DBlob is version neutral and can be used in code for any Direct3D version.

Blobs can be used as a data buffer, storing vertex, adjacency, and material information during mesh optimization and loading operations. Also, these objects are used to return object code and error messages in APIs that compile vertex, geometry and pixel shaders.

+
+ + bb173507 + ID3D10Blob + ID3D10Blob +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Get a reference to the data.

+
+

Returns a reference.

+ + bb173508 + void* ID3D10Blob::GetBufferPointer() + ID3D10Blob::GetBufferPointer +
+ + +

Get the size.

+
+

The size of the data, in bytes.

+ + bb173509 + SIZE_T ID3D10Blob::GetBufferSize() + ID3D10Blob::GetBufferSize +
+ + +

Get a reference to the data.

+
+ + bb173508 + GetBufferPointer + GetBufferPointer + void* ID3D10Blob::GetBufferPointer() +
+ + +

Get the size.

+
+ + bb173509 + GetBufferSize + GetBufferSize + SIZE_T ID3D10Blob::GetBufferSize() +
+ + +

A multithread interface accesses multithread settings and can only be used if the thread-safe layer is turned on.

+
+ +

This interface is obtained by querying it from the ID3D10Device Interface using IUnknown::QueryInterface.

+
+ + bb173816 + ID3D10Multithread + ID3D10Multithread +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enter a device's critical section.

+
+ +

Entering a device's critical section prevents other threads from simultaneously calling that device's methods (if multithread protection is set to true), calling DXGI methods, and calling the methods of all resource, view, shader, state, and asynchronous interfaces.

This function should be used in multithreaded applications when there is a series of graphics commands that must happen in order. This function is typically called at the beginning of the series of graphics commands, and is typically called after those graphics commands.

+
+ + bb173817 + void ID3D10Multithread::Enter() + ID3D10Multithread::Enter +
+ + +

Leave a device's critical section.

+
+ +

This function is typically used in multithreaded applications when there is a series of graphics commands that must happen in order. is typically called at the beginning of a series of graphics commands, and this function is typically called after those graphics commands.

+
+ + bb173819 + void ID3D10Multithread::Leave() + ID3D10Multithread::Leave +
+ + +

Turn multithreading on or off.

+
+

True to turn multithreading on, false to turn it off.

+

True if multithreading was turned on prior to calling this method, false otherwise.

+ + bb173820 + BOOL ID3D10Multithread::SetMultithreadProtected([In] BOOL bMTProtect) + ID3D10Multithread::SetMultithreadProtected +
+ + +

Find out if multithreading is turned on or not.

+
+

Whether or not multithreading is turned on. True means on, false means off.

+ + bb173818 + BOOL ID3D10Multithread::GetMultithreadProtected() + ID3D10Multithread::GetMultithreadProtected +
+ + +

Defines a shader macro.

+
+ +

You can use shader macros in your shaders. The structure defines a single shader macro as shown in the following example:

  Shader_Macros[1] = { "zero", "0"  };	
+            

The following shader or effect creation functions take an array of shader macros as an input parameter:

  • D3D10CompileShader
  • D3DX10CreateEffectFromFile
  • D3DX10PreprocessShaderFromFile
  • D3DX11CreateAsyncShaderPreprocessProcessor
+
+ + ff728732 + D3D_SHADER_MACRO + D3D_SHADER_MACRO +
+ + +

The macro name.

+
+ + ff728732 + const char* Name + char Name +
+ + +

The macro definition.

+
+ + ff728732 + const char* Definition + char Definition +
+ + + Initializes a new instance of the struct. + + + The name. + + + The definition. + + + + +

The enumeration defines constants that indicate whether an audio stream will run in shared mode or in exclusive mode.

+
+ +

The IAudioClient::Initialize and IAudioClient::IsFormatSupported methods use the constants defined in the enumeration.

In shared mode, the client can share the audio endpoint device with clients that run in other user-mode processes. The audio engine always supports formats for client streams that match the engine's mix format. In addition, the audio engine might support another format if the Windows audio service can insert system effects into the client stream to convert the client format to the mix format.

In exclusive mode, the Windows audio service attempts to establish a connection in which the client has exclusive access to the audio endpoint device. In this mode, the audio engine inserts no system effects into the local stream to aid in the creation of the connection point. Either the audio device can handle the specified format directly or the method fails.

For more information about shared-mode and exclusive-mode streams, see User-Mode Audio Components.

+
+ + dd370790 + AUDCLNT_SHAREMODE + AUDCLNT_SHAREMODE +
+ + +

The audio stream will run in shared mode. For more information, see Remarks.

+
+ + dd370790 + AUDCLNT_SHAREMODE_SHARED + AUDCLNT_SHAREMODE_SHARED +
+ + +

The audio stream will run in exclusive mode. For more information, see Remarks.

+
+ + dd370790 + AUDCLNT_SHAREMODE_EXCLUSIVE + AUDCLNT_SHAREMODE_EXCLUSIVE +
+ + +

The AudioSessionState enumeration defines constants that indicate the current state of an audio session.

+
+ +

When a client opens a session by assigning the first stream to the session (by calling the IAudioClient::Initialize method), the initial session state is inactive. The session state changes from inactive to active when a stream in the session begins running (because the client has called the IAudioClient::Start method). The session changes from active to inactive when the client stops the last running stream in the session (by calling the IAudioClient::Stop method). The session state changes to expired when the client destroys the last stream in the session by releasing all references to the stream object.

The system volume-control program, Sndvol, displays volume controls for both active and inactive sessions. Sndvol stops displaying the volume control for a session when the session state changes to expired. For more information about Sndvol, see Audio Sessions.

The IAudioSessionControl::GetState and IAudioSessionEvents::OnStateChanged methods use the constants defined in the AudioSessionState enumeration.

For more information about session states, see Audio Sessions.

+
+ + dd370792 + AudioSessionState + AudioSessionState +
+ + +

The audio session is inactive. (It contains at least one stream, but none of the streams in the session is currently running.)

+
+ + dd370792 + AudioSessionStateInactive + AudioSessionStateInactive +
+ + +

The audio session is active. (At least one of the streams in the session is running.)

+
+ + dd370792 + AudioSessionStateActive + AudioSessionStateActive +
+ + +

The audio session has expired. (It contains no streams.)

+
+ + dd370792 + AudioSessionStateExpired + AudioSessionStateExpired +
+ + +

[This documentation is preliminary and is subject to change.]

Specifies the category of an audio stream.

+
+ + hh404178 + AUDIO_STREAM_CATEGORY + AUDIO_STREAM_CATEGORY +
+ + +

Media, such as music or streaming audio.

+
+ + hh404178 + AudioCategory_Other + AudioCategory_Other +
+ + +

Real-time communications, such as VOIP or chat.

+
+ + hh404178 + AudioCategory_ForegroundOnlyMedia + AudioCategory_ForegroundOnlyMedia +
+ + +

Voice narration, such as a screen reader or ebook reader.

+
+ + hh404178 + AudioCategory_BackgroundCapableMedia + AudioCategory_BackgroundCapableMedia +
+ + +

Alert sounds.

+
+ + hh404178 + AudioCategory_Communications + AudioCategory_Communications +
+ + +

Sound effects.

+
+ + hh404178 + AudioCategory_Alerts + AudioCategory_Alerts +
+ + +

Game sound effects.

+
+ + hh404178 + AudioCategory_SoundEffects + AudioCategory_SoundEffects +
+ + +

Background audio for games.

+
+ + hh404178 + AudioCategory_GameEffects + AudioCategory_GameEffects +
+ + +

Other audio stream.

+
+ + hh404178 + AudioCategory_GameMedia + AudioCategory_GameMedia +
+ + + No documentation. + + + SPEAKER_FLAGS + SPEAKER_FLAGS + + + + No documentation. + + + SPEAKER_FRONT_LEFT + SPEAKER_FRONT_LEFT + + + + No documentation. + + + SPEAKER_FRONT_RIGHT + SPEAKER_FRONT_RIGHT + + + + No documentation. + + + SPEAKER_FRONT_CENTER + SPEAKER_FRONT_CENTER + + + + No documentation. + + + SPEAKER_LOW_FREQUENCY + SPEAKER_LOW_FREQUENCY + + + + No documentation. + + + SPEAKER_BACK_LEFT + SPEAKER_BACK_LEFT + + + + No documentation. + + + SPEAKER_BACK_RIGHT + SPEAKER_BACK_RIGHT + + + + No documentation. + + + SPEAKER_FRONT_LEFT_OF_CENTER + SPEAKER_FRONT_LEFT_OF_CENTER + + + + No documentation. + + + SPEAKER_FRONT_RIGHT_OF_CENTER + SPEAKER_FRONT_RIGHT_OF_CENTER + + + + No documentation. + + + SPEAKER_BACK_CENTER + SPEAKER_BACK_CENTER + + + + No documentation. + + + SPEAKER_SIDE_LEFT + SPEAKER_SIDE_LEFT + + + + No documentation. + + + SPEAKER_SIDE_RIGHT + SPEAKER_SIDE_RIGHT + + + + No documentation. + + + SPEAKER_TOP_CENTER + SPEAKER_TOP_CENTER + + + + No documentation. + + + SPEAKER_TOP_FRONT_LEFT + SPEAKER_TOP_FRONT_LEFT + + + + No documentation. + + + SPEAKER_TOP_FRONT_CENTER + SPEAKER_TOP_FRONT_CENTER + + + + No documentation. + + + SPEAKER_TOP_FRONT_RIGHT + SPEAKER_TOP_FRONT_RIGHT + + + + No documentation. + + + SPEAKER_TOP_BACK_LEFT + SPEAKER_TOP_BACK_LEFT + + + + No documentation. + + + SPEAKER_TOP_BACK_CENTER + SPEAKER_TOP_BACK_CENTER + + + + No documentation. + + + SPEAKER_TOP_BACK_RIGHT + SPEAKER_TOP_BACK_RIGHT + + + + No documentation. + + + SPEAKER_RESERVED + SPEAKER_RESERVED + + + + No documentation. + + + SPEAKER_ALL + SPEAKER_ALL + + + + No documentation. + + + SPEAKER_MONO + SPEAKER_MONO + + + + No documentation. + + + SPEAKER_STEREO + SPEAKER_STEREO + + + + No documentation. + + + SPEAKER_2POINT1 + SPEAKER_2POINT1 + + + + No documentation. + + + SPEAKER_SURROUND + SPEAKER_SURROUND + + + + No documentation. + + + SPEAKER_QUAD + SPEAKER_QUAD + + + + No documentation. + + + SPEAKER_4POINT1 + SPEAKER_4POINT1 + + + + No documentation. + + + SPEAKER_5POINT1 + SPEAKER_5POINT1 + + + + No documentation. + + + SPEAKER_7POINT1 + SPEAKER_7POINT1 + + + + No documentation. + + + SPEAKER_5POINT1_SURROUND + SPEAKER_5POINT1_SURROUND + + + + No documentation. + + + SPEAKER_7POINT1_SURROUND + SPEAKER_7POINT1_SURROUND + + + + None. + + + None + None + + + + No documentation. + + + HID_USAGE_ID + HID_USAGE_ID + + + + No documentation. + + + HID_USAGE_PAGE + HID_USAGE_PAGE + + + + No documentation. + + + HID_USAGE_PAGE_MEDICAL + HID_USAGE_PAGE_MEDICAL + + + + No documentation. + + + HID_USAGE_PAGE_MONITOR_PAGE0 + HID_USAGE_PAGE_MONITOR_PAGE0 + + + + No documentation. + + + HID_USAGE_PAGE_MONITOR_PAGE1 + HID_USAGE_PAGE_MONITOR_PAGE1 + + + + No documentation. + + + HID_USAGE_PAGE_MONITOR_PAGE2 + HID_USAGE_PAGE_MONITOR_PAGE2 + + + + No documentation. + + + HID_USAGE_PAGE_MONITOR_PAGE3 + HID_USAGE_PAGE_MONITOR_PAGE3 + + + + No documentation. + + + HID_USAGE_PAGE_POWER_PAGE0 + HID_USAGE_PAGE_POWER_PAGE0 + + + + No documentation. + + + HID_USAGE_PAGE_POWER_PAGE1 + HID_USAGE_PAGE_POWER_PAGE1 + + + + No documentation. + + + HID_USAGE_PAGE_POWER_PAGE2 + HID_USAGE_PAGE_POWER_PAGE2 + + + + No documentation. + + + HID_USAGE_PAGE_POWER_PAGE3 + HID_USAGE_PAGE_POWER_PAGE3 + + + + No documentation. + + + HID_USAGE_PAGE_BARCODE + HID_USAGE_PAGE_BARCODE + + + + No documentation. + + + HID_USAGE_PAGE_SCALE + HID_USAGE_PAGE_SCALE + + + + No documentation. + + + HID_USAGE_PAGE_MSR + HID_USAGE_PAGE_MSR + + + + No documentation. + + + WAVE_FORMAT_ENCODING + WAVE_FORMAT_ENCODING + + + + No documentation. + + + WAVE_FORMAT_UNKNOWN + WAVE_FORMAT_UNKNOWN + + + + No documentation. + + + WAVE_FORMAT_ADPCM + WAVE_FORMAT_ADPCM + + + + No documentation. + + + WAVE_FORMAT_IEEE_FLOAT + WAVE_FORMAT_IEEE_FLOAT + + + + No documentation. + + + WAVE_FORMAT_VSELP + WAVE_FORMAT_VSELP + + + + No documentation. + + + WAVE_FORMAT_IBM_CVSD + WAVE_FORMAT_IBM_CVSD + + + + No documentation. + + + WAVE_FORMAT_ALAW + WAVE_FORMAT_ALAW + + + + No documentation. + + + WAVE_FORMAT_MULAW + WAVE_FORMAT_MULAW + + + + No documentation. + + + WAVE_FORMAT_DTS + WAVE_FORMAT_DTS + + + + No documentation. + + + WAVE_FORMAT_DRM + WAVE_FORMAT_DRM + + + + No documentation. + + + WAVE_FORMAT_WMAVOICE9 + WAVE_FORMAT_WMAVOICE9 + + + + No documentation. + + + WAVE_FORMAT_WMAVOICE10 + WAVE_FORMAT_WMAVOICE10 + + + + No documentation. + + + WAVE_FORMAT_OKI_ADPCM + WAVE_FORMAT_OKI_ADPCM + + + + No documentation. + + + WAVE_FORMAT_DVI_ADPCM + WAVE_FORMAT_DVI_ADPCM + + + + No documentation. + + + WAVE_FORMAT_IMA_ADPCM + WAVE_FORMAT_IMA_ADPCM + + + + No documentation. + + + WAVE_FORMAT_MEDIASPACE_ADPCM + WAVE_FORMAT_MEDIASPACE_ADPCM + + + + No documentation. + + + WAVE_FORMAT_SIERRA_ADPCM + WAVE_FORMAT_SIERRA_ADPCM + + + + No documentation. + + + WAVE_FORMAT_G723_ADPCM + WAVE_FORMAT_G723_ADPCM + + + + No documentation. + + + WAVE_FORMAT_DIGISTD + WAVE_FORMAT_DIGISTD + + + + No documentation. + + + WAVE_FORMAT_DIGIFIX + WAVE_FORMAT_DIGIFIX + + + + No documentation. + + + WAVE_FORMAT_DIALOGIC_OKI_ADPCM + WAVE_FORMAT_DIALOGIC_OKI_ADPCM + + + + No documentation. + + + WAVE_FORMAT_MEDIAVISION_ADPCM + WAVE_FORMAT_MEDIAVISION_ADPCM + + + + No documentation. + + + WAVE_FORMAT_CU_CODEC + WAVE_FORMAT_CU_CODEC + + + + No documentation. + + + WAVE_FORMAT_HP_DYN_VOICE + WAVE_FORMAT_HP_DYN_VOICE + + + + No documentation. + + + WAVE_FORMAT_YAMAHA_ADPCM + WAVE_FORMAT_YAMAHA_ADPCM + + + + No documentation. + + + WAVE_FORMAT_SONARC + WAVE_FORMAT_SONARC + + + + No documentation. + + + WAVE_FORMAT_DSPGROUP_TRUESPEECH + WAVE_FORMAT_DSPGROUP_TRUESPEECH + + + + No documentation. + + + WAVE_FORMAT_ECHOSC1 + WAVE_FORMAT_ECHOSC1 + + + + No documentation. + + + WAVE_FORMAT_AUDIOFILE_AF36 + WAVE_FORMAT_AUDIOFILE_AF36 + + + + No documentation. + + + WAVE_FORMAT_APTX + WAVE_FORMAT_APTX + + + + No documentation. + + + WAVE_FORMAT_AUDIOFILE_AF10 + WAVE_FORMAT_AUDIOFILE_AF10 + + + + No documentation. + + + WAVE_FORMAT_PROSODY_1612 + WAVE_FORMAT_PROSODY_1612 + + + + No documentation. + + + WAVE_FORMAT_LRC + WAVE_FORMAT_LRC + + + + No documentation. + + + WAVE_FORMAT_DOLBY_AC2 + WAVE_FORMAT_DOLBY_AC2 + + + + No documentation. + + + WAVE_FORMAT_GSM610 + WAVE_FORMAT_GSM610 + + + + No documentation. + + + WAVE_FORMAT_MSNAUDIO + WAVE_FORMAT_MSNAUDIO + + + + No documentation. + + + WAVE_FORMAT_ANTEX_ADPCME + WAVE_FORMAT_ANTEX_ADPCME + + + + No documentation. + + + WAVE_FORMAT_CONTROL_RES_VQLPC + WAVE_FORMAT_CONTROL_RES_VQLPC + + + + No documentation. + + + WAVE_FORMAT_DIGIREAL + WAVE_FORMAT_DIGIREAL + + + + No documentation. + + + WAVE_FORMAT_DIGIADPCM + WAVE_FORMAT_DIGIADPCM + + + + No documentation. + + + WAVE_FORMAT_CONTROL_RES_CR10 + WAVE_FORMAT_CONTROL_RES_CR10 + + + + No documentation. + + + WAVE_FORMAT_NMS_VBXADPCM + WAVE_FORMAT_NMS_VBXADPCM + + + + No documentation. + + + WAVE_FORMAT_CS_IMAADPCM + WAVE_FORMAT_CS_IMAADPCM + + + + No documentation. + + + WAVE_FORMAT_ECHOSC3 + WAVE_FORMAT_ECHOSC3 + + + + No documentation. + + + WAVE_FORMAT_ROCKWELL_ADPCM + WAVE_FORMAT_ROCKWELL_ADPCM + + + + No documentation. + + + WAVE_FORMAT_ROCKWELL_DIGITALK + WAVE_FORMAT_ROCKWELL_DIGITALK + + + + No documentation. + + + WAVE_FORMAT_XEBEC + WAVE_FORMAT_XEBEC + + + + No documentation. + + + WAVE_FORMAT_G721_ADPCM + WAVE_FORMAT_G721_ADPCM + + + + No documentation. + + + WAVE_FORMAT_G728_CELP + WAVE_FORMAT_G728_CELP + + + + No documentation. + + + WAVE_FORMAT_MSG723 + WAVE_FORMAT_MSG723 + + + + No documentation. + + + WAVE_FORMAT_INTEL_G723_1 + WAVE_FORMAT_INTEL_G723_1 + + + + No documentation. + + + WAVE_FORMAT_INTEL_G729 + WAVE_FORMAT_INTEL_G729 + + + + No documentation. + + + WAVE_FORMAT_SHARP_G726 + WAVE_FORMAT_SHARP_G726 + + + + No documentation. + + + WAVE_FORMAT_MPEG + WAVE_FORMAT_MPEG + + + + No documentation. + + + WAVE_FORMAT_RT24 + WAVE_FORMAT_RT24 + + + + No documentation. + + + WAVE_FORMAT_PAC + WAVE_FORMAT_PAC + + + + No documentation. + + + WAVE_FORMAT_MPEGLAYER3 + WAVE_FORMAT_MPEGLAYER3 + + + + No documentation. + + + WAVE_FORMAT_LUCENT_G723 + WAVE_FORMAT_LUCENT_G723 + + + + No documentation. + + + WAVE_FORMAT_CIRRUS + WAVE_FORMAT_CIRRUS + + + + No documentation. + + + WAVE_FORMAT_ESPCM + WAVE_FORMAT_ESPCM + + + + No documentation. + + + WAVE_FORMAT_VOXWARE + WAVE_FORMAT_VOXWARE + + + + No documentation. + + + WAVE_FORMAT_CANOPUS_ATRAC + WAVE_FORMAT_CANOPUS_ATRAC + + + + No documentation. + + + WAVE_FORMAT_G726_ADPCM + WAVE_FORMAT_G726_ADPCM + + + + No documentation. + + + WAVE_FORMAT_G722_ADPCM + WAVE_FORMAT_G722_ADPCM + + + + No documentation. + + + WAVE_FORMAT_DSAT + WAVE_FORMAT_DSAT + + + + No documentation. + + + WAVE_FORMAT_DSAT_DISPLAY + WAVE_FORMAT_DSAT_DISPLAY + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_BYTE_ALIGNED + WAVE_FORMAT_VOXWARE_BYTE_ALIGNED + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_AC8 + WAVE_FORMAT_VOXWARE_AC8 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_AC10 + WAVE_FORMAT_VOXWARE_AC10 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_AC16 + WAVE_FORMAT_VOXWARE_AC16 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_AC20 + WAVE_FORMAT_VOXWARE_AC20 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_RT24 + WAVE_FORMAT_VOXWARE_RT24 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_RT29 + WAVE_FORMAT_VOXWARE_RT29 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_RT29HW + WAVE_FORMAT_VOXWARE_RT29HW + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_VR12 + WAVE_FORMAT_VOXWARE_VR12 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_VR18 + WAVE_FORMAT_VOXWARE_VR18 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_TQ40 + WAVE_FORMAT_VOXWARE_TQ40 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_SC3 + WAVE_FORMAT_VOXWARE_SC3 + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_SC3_1 + WAVE_FORMAT_VOXWARE_SC3_1 + + + + No documentation. + + + WAVE_FORMAT_SOFTSOUND + WAVE_FORMAT_SOFTSOUND + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_TQ60 + WAVE_FORMAT_VOXWARE_TQ60 + + + + No documentation. + + + WAVE_FORMAT_MSRT24 + WAVE_FORMAT_MSRT24 + + + + No documentation. + + + WAVE_FORMAT_G729A + WAVE_FORMAT_G729A + + + + No documentation. + + + WAVE_FORMAT_MVI_MVI2 + WAVE_FORMAT_MVI_MVI2 + + + + No documentation. + + + WAVE_FORMAT_DF_G726 + WAVE_FORMAT_DF_G726 + + + + No documentation. + + + WAVE_FORMAT_DF_GSM610 + WAVE_FORMAT_DF_GSM610 + + + + No documentation. + + + WAVE_FORMAT_ISIAUDIO + WAVE_FORMAT_ISIAUDIO + + + + No documentation. + + + WAVE_FORMAT_ONLIVE + WAVE_FORMAT_ONLIVE + + + + No documentation. + + + WAVE_FORMAT_MULTITUDE_FT_SX20 + WAVE_FORMAT_MULTITUDE_FT_SX20 + + + + No documentation. + + + WAVE_FORMAT_INFOCOM_ITS_G721_ADPCM + WAVE_FORMAT_INFOCOM_ITS_G721_ADPCM + + + + No documentation. + + + WAVE_FORMAT_CONVEDIA_G729 + WAVE_FORMAT_CONVEDIA_G729 + + + + No documentation. + + + WAVE_FORMAT_CONGRUENCY + WAVE_FORMAT_CONGRUENCY + + + + No documentation. + + + WAVE_FORMAT_SBC24 + WAVE_FORMAT_SBC24 + + + + No documentation. + + + WAVE_FORMAT_DOLBY_AC3_SPDIF + WAVE_FORMAT_DOLBY_AC3_SPDIF + + + + No documentation. + + + WAVE_FORMAT_MEDIASONIC_G723 + WAVE_FORMAT_MEDIASONIC_G723 + + + + No documentation. + + + WAVE_FORMAT_PROSODY_8KBPS + WAVE_FORMAT_PROSODY_8KBPS + + + + No documentation. + + + WAVE_FORMAT_ZYXEL_ADPCM + WAVE_FORMAT_ZYXEL_ADPCM + + + + No documentation. + + + WAVE_FORMAT_PHILIPS_LPCBB + WAVE_FORMAT_PHILIPS_LPCBB + + + + No documentation. + + + WAVE_FORMAT_PACKED + WAVE_FORMAT_PACKED + + + + No documentation. + + + WAVE_FORMAT_MALDEN_PHONYTALK + WAVE_FORMAT_MALDEN_PHONYTALK + + + + No documentation. + + + WAVE_FORMAT_RACAL_RECORDER_GSM + WAVE_FORMAT_RACAL_RECORDER_GSM + + + + No documentation. + + + WAVE_FORMAT_RACAL_RECORDER_G720_A + WAVE_FORMAT_RACAL_RECORDER_G720_A + + + + No documentation. + + + WAVE_FORMAT_RACAL_RECORDER_G723_1 + WAVE_FORMAT_RACAL_RECORDER_G723_1 + + + + No documentation. + + + WAVE_FORMAT_RACAL_RECORDER_TETRA_ACELP + WAVE_FORMAT_RACAL_RECORDER_TETRA_ACELP + + + + No documentation. + + + WAVE_FORMAT_NEC_AAC + WAVE_FORMAT_NEC_AAC + + + + No documentation. + + + WAVE_FORMAT_RAW_AAC1 + WAVE_FORMAT_RAW_AAC1 + + + + No documentation. + + + WAVE_FORMAT_RHETOREX_ADPCM + WAVE_FORMAT_RHETOREX_ADPCM + + + + No documentation. + + + WAVE_FORMAT_IRAT + WAVE_FORMAT_IRAT + + + + No documentation. + + + WAVE_FORMAT_VIVO_G723 + WAVE_FORMAT_VIVO_G723 + + + + No documentation. + + + WAVE_FORMAT_VIVO_SIREN + WAVE_FORMAT_VIVO_SIREN + + + + No documentation. + + + WAVE_FORMAT_PHILIPS_CELP + WAVE_FORMAT_PHILIPS_CELP + + + + No documentation. + + + WAVE_FORMAT_PHILIPS_GRUNDIG + WAVE_FORMAT_PHILIPS_GRUNDIG + + + + No documentation. + + + WAVE_FORMAT_DIGITAL_G723 + WAVE_FORMAT_DIGITAL_G723 + + + + No documentation. + + + WAVE_FORMAT_SANYO_LD_ADPCM + WAVE_FORMAT_SANYO_LD_ADPCM + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_ACEPLNET + WAVE_FORMAT_SIPROLAB_ACEPLNET + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_ACELP4800 + WAVE_FORMAT_SIPROLAB_ACELP4800 + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_ACELP8V3 + WAVE_FORMAT_SIPROLAB_ACELP8V3 + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_G729 + WAVE_FORMAT_SIPROLAB_G729 + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_G729A + WAVE_FORMAT_SIPROLAB_G729A + + + + No documentation. + + + WAVE_FORMAT_SIPROLAB_KELVIN + WAVE_FORMAT_SIPROLAB_KELVIN + + + + No documentation. + + + WAVE_FORMAT_VOICEAGE_AMR + WAVE_FORMAT_VOICEAGE_AMR + + + + No documentation. + + + WAVE_FORMAT_G726ADPCM + WAVE_FORMAT_G726ADPCM + + + + No documentation. + + + WAVE_FORMAT_DICTAPHONE_CELP68 + WAVE_FORMAT_DICTAPHONE_CELP68 + + + + No documentation. + + + WAVE_FORMAT_DICTAPHONE_CELP54 + WAVE_FORMAT_DICTAPHONE_CELP54 + + + + No documentation. + + + WAVE_FORMAT_QUALCOMM_PUREVOICE + WAVE_FORMAT_QUALCOMM_PUREVOICE + + + + No documentation. + + + WAVE_FORMAT_QUALCOMM_HALFRATE + WAVE_FORMAT_QUALCOMM_HALFRATE + + + + No documentation. + + + WAVE_FORMAT_TUBGSM + WAVE_FORMAT_TUBGSM + + + + No documentation. + + + WAVE_FORMAT_MSAUDIO1 + WAVE_FORMAT_MSAUDIO1 + + + + No documentation. + + + WAVE_FORMAT_WMAUDIO2 + WAVE_FORMAT_WMAUDIO2 + + + + No documentation. + + + WAVE_FORMAT_WMAUDIO3 + WAVE_FORMAT_WMAUDIO3 + + + + No documentation. + + + WAVE_FORMAT_WMAUDIO_LOSSLESS + WAVE_FORMAT_WMAUDIO_LOSSLESS + + + + No documentation. + + + WAVE_FORMAT_WMASPDIF + WAVE_FORMAT_WMASPDIF + + + + No documentation. + + + WAVE_FORMAT_UNISYS_NAP_ADPCM + WAVE_FORMAT_UNISYS_NAP_ADPCM + + + + No documentation. + + + WAVE_FORMAT_UNISYS_NAP_ULAW + WAVE_FORMAT_UNISYS_NAP_ULAW + + + + No documentation. + + + WAVE_FORMAT_UNISYS_NAP_ALAW + WAVE_FORMAT_UNISYS_NAP_ALAW + + + + No documentation. + + + WAVE_FORMAT_UNISYS_NAP_16K + WAVE_FORMAT_UNISYS_NAP_16K + + + + No documentation. + + + WAVE_FORMAT_SYCOM_ACM_SYC008 + WAVE_FORMAT_SYCOM_ACM_SYC008 + + + + No documentation. + + + WAVE_FORMAT_SYCOM_ACM_SYC701_G726L + WAVE_FORMAT_SYCOM_ACM_SYC701_G726L + + + + No documentation. + + + WAVE_FORMAT_SYCOM_ACM_SYC701_CELP54 + WAVE_FORMAT_SYCOM_ACM_SYC701_CELP54 + + + + No documentation. + + + WAVE_FORMAT_SYCOM_ACM_SYC701_CELP68 + WAVE_FORMAT_SYCOM_ACM_SYC701_CELP68 + + + + No documentation. + + + WAVE_FORMAT_KNOWLEDGE_ADVENTURE_ADPCM + WAVE_FORMAT_KNOWLEDGE_ADVENTURE_ADPCM + + + + No documentation. + + + WAVE_FORMAT_FRAUNHOFER_IIS_MPEG2_AAC + WAVE_FORMAT_FRAUNHOFER_IIS_MPEG2_AAC + + + + No documentation. + + + WAVE_FORMAT_DTS_DS + WAVE_FORMAT_DTS_DS + + + + No documentation. + + + WAVE_FORMAT_CREATIVE_ADPCM + WAVE_FORMAT_CREATIVE_ADPCM + + + + No documentation. + + + WAVE_FORMAT_CREATIVE_FASTSPEECH8 + WAVE_FORMAT_CREATIVE_FASTSPEECH8 + + + + No documentation. + + + WAVE_FORMAT_CREATIVE_FASTSPEECH10 + WAVE_FORMAT_CREATIVE_FASTSPEECH10 + + + + No documentation. + + + WAVE_FORMAT_UHER_ADPCM + WAVE_FORMAT_UHER_ADPCM + + + + No documentation. + + + WAVE_FORMAT_ULEAD_DV_AUDIO + WAVE_FORMAT_ULEAD_DV_AUDIO + + + + No documentation. + + + WAVE_FORMAT_ULEAD_DV_AUDIO_1 + WAVE_FORMAT_ULEAD_DV_AUDIO_1 + + + + No documentation. + + + WAVE_FORMAT_QUARTERDECK + WAVE_FORMAT_QUARTERDECK + + + + No documentation. + + + WAVE_FORMAT_ILINK_VC + WAVE_FORMAT_ILINK_VC + + + + No documentation. + + + WAVE_FORMAT_RAW_SPORT + WAVE_FORMAT_RAW_SPORT + + + + No documentation. + + + WAVE_FORMAT_ESST_AC3 + WAVE_FORMAT_ESST_AC3 + + + + No documentation. + + + WAVE_FORMAT_GENERIC_PASSTHRU + WAVE_FORMAT_GENERIC_PASSTHRU + + + + No documentation. + + + WAVE_FORMAT_IPI_HSX + WAVE_FORMAT_IPI_HSX + + + + No documentation. + + + WAVE_FORMAT_IPI_RPELP + WAVE_FORMAT_IPI_RPELP + + + + No documentation. + + + WAVE_FORMAT_CS2 + WAVE_FORMAT_CS2 + + + + No documentation. + + + WAVE_FORMAT_SONY_SCX + WAVE_FORMAT_SONY_SCX + + + + No documentation. + + + WAVE_FORMAT_SONY_SCY + WAVE_FORMAT_SONY_SCY + + + + No documentation. + + + WAVE_FORMAT_SONY_ATRAC3 + WAVE_FORMAT_SONY_ATRAC3 + + + + No documentation. + + + WAVE_FORMAT_SONY_SPC + WAVE_FORMAT_SONY_SPC + + + + No documentation. + + + WAVE_FORMAT_TELUM_AUDIO + WAVE_FORMAT_TELUM_AUDIO + + + + No documentation. + + + WAVE_FORMAT_TELUM_IA_AUDIO + WAVE_FORMAT_TELUM_IA_AUDIO + + + + No documentation. + + + WAVE_FORMAT_NORCOM_VOICE_SYSTEMS_ADPCM + WAVE_FORMAT_NORCOM_VOICE_SYSTEMS_ADPCM + + + + No documentation. + + + WAVE_FORMAT_FM_TOWNS_SND + WAVE_FORMAT_FM_TOWNS_SND + + + + No documentation. + + + WAVE_FORMAT_MICRONAS + WAVE_FORMAT_MICRONAS + + + + No documentation. + + + WAVE_FORMAT_MICRONAS_CELP833 + WAVE_FORMAT_MICRONAS_CELP833 + + + + No documentation. + + + WAVE_FORMAT_BTV_DIGITAL + WAVE_FORMAT_BTV_DIGITAL + + + + No documentation. + + + WAVE_FORMAT_INTEL_MUSIC_CODER + WAVE_FORMAT_INTEL_MUSIC_CODER + + + + No documentation. + + + WAVE_FORMAT_INDEO_AUDIO + WAVE_FORMAT_INDEO_AUDIO + + + + No documentation. + + + WAVE_FORMAT_QDESIGN_MUSIC + WAVE_FORMAT_QDESIGN_MUSIC + + + + No documentation. + + + WAVE_FORMAT_ON2_VP7_AUDIO + WAVE_FORMAT_ON2_VP7_AUDIO + + + + No documentation. + + + WAVE_FORMAT_ON2_VP6_AUDIO + WAVE_FORMAT_ON2_VP6_AUDIO + + + + No documentation. + + + WAVE_FORMAT_VME_VMPCM + WAVE_FORMAT_VME_VMPCM + + + + No documentation. + + + WAVE_FORMAT_TPC + WAVE_FORMAT_TPC + + + + No documentation. + + + WAVE_FORMAT_LIGHTWAVE_LOSSLESS + WAVE_FORMAT_LIGHTWAVE_LOSSLESS + + + + No documentation. + + + WAVE_FORMAT_OLIGSM + WAVE_FORMAT_OLIGSM + + + + No documentation. + + + WAVE_FORMAT_OLIADPCM + WAVE_FORMAT_OLIADPCM + + + + No documentation. + + + WAVE_FORMAT_OLICELP + WAVE_FORMAT_OLICELP + + + + No documentation. + + + WAVE_FORMAT_OLISBC + WAVE_FORMAT_OLISBC + + + + No documentation. + + + WAVE_FORMAT_OLIOPR + WAVE_FORMAT_OLIOPR + + + + No documentation. + + + WAVE_FORMAT_LH_CODEC + WAVE_FORMAT_LH_CODEC + + + + No documentation. + + + WAVE_FORMAT_LH_CODEC_CELP + WAVE_FORMAT_LH_CODEC_CELP + + + + No documentation. + + + WAVE_FORMAT_LH_CODEC_SBC8 + WAVE_FORMAT_LH_CODEC_SBC8 + + + + No documentation. + + + WAVE_FORMAT_LH_CODEC_SBC12 + WAVE_FORMAT_LH_CODEC_SBC12 + + + + No documentation. + + + WAVE_FORMAT_LH_CODEC_SBC16 + WAVE_FORMAT_LH_CODEC_SBC16 + + + + No documentation. + + + WAVE_FORMAT_NORRIS + WAVE_FORMAT_NORRIS + + + + No documentation. + + + WAVE_FORMAT_ISIAUDIO_2 + WAVE_FORMAT_ISIAUDIO_2 + + + + No documentation. + + + WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS + WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS + + + + No documentation. + + + WAVE_FORMAT_MPEG_ADTS_AAC + WAVE_FORMAT_MPEG_ADTS_AAC + + + + No documentation. + + + WAVE_FORMAT_MPEG_RAW_AAC + WAVE_FORMAT_MPEG_RAW_AAC + + + + No documentation. + + + WAVE_FORMAT_MPEG_LOAS + WAVE_FORMAT_MPEG_LOAS + + + + No documentation. + + + WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC + WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC + + + + No documentation. + + + WAVE_FORMAT_NOKIA_MPEG_RAW_AAC + WAVE_FORMAT_NOKIA_MPEG_RAW_AAC + + + + No documentation. + + + WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC + WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC + + + + No documentation. + + + WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC + WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC + + + + No documentation. + + + WAVE_FORMAT_MPEG_HEAAC + WAVE_FORMAT_MPEG_HEAAC + + + + No documentation. + + + WAVE_FORMAT_VOXWARE_RT24_SPEECH + WAVE_FORMAT_VOXWARE_RT24_SPEECH + + + + No documentation. + + + WAVE_FORMAT_SONICFOUNDRY_LOSSLESS + WAVE_FORMAT_SONICFOUNDRY_LOSSLESS + + + + No documentation. + + + WAVE_FORMAT_INNINGS_TELECOM_ADPCM + WAVE_FORMAT_INNINGS_TELECOM_ADPCM + + + + No documentation. + + + WAVE_FORMAT_LUCENT_SX8300P + WAVE_FORMAT_LUCENT_SX8300P + + + + No documentation. + + + WAVE_FORMAT_LUCENT_SX5363S + WAVE_FORMAT_LUCENT_SX5363S + + + + No documentation. + + + WAVE_FORMAT_CUSEEME + WAVE_FORMAT_CUSEEME + + + + No documentation. + + + WAVE_FORMAT_NTCSOFT_ALF2CM_ACM + WAVE_FORMAT_NTCSOFT_ALF2CM_ACM + + + + No documentation. + + + WAVE_FORMAT_DVM + WAVE_FORMAT_DVM + + + + No documentation. + + + WAVE_FORMAT_DTS2 + WAVE_FORMAT_DTS2 + + + + No documentation. + + + WAVE_FORMAT_MAKEAVIS + WAVE_FORMAT_MAKEAVIS + + + + No documentation. + + + WAVE_FORMAT_DIVIO_MPEG4_AAC + WAVE_FORMAT_DIVIO_MPEG4_AAC + + + + No documentation. + + + WAVE_FORMAT_NOKIA_ADAPTIVE_MULTIRATE + WAVE_FORMAT_NOKIA_ADAPTIVE_MULTIRATE + + + + No documentation. + + + WAVE_FORMAT_DIVIO_G726 + WAVE_FORMAT_DIVIO_G726 + + + + No documentation. + + + WAVE_FORMAT_LEAD_SPEECH + WAVE_FORMAT_LEAD_SPEECH + + + + No documentation. + + + WAVE_FORMAT_LEAD_VORBIS + WAVE_FORMAT_LEAD_VORBIS + + + + No documentation. + + + WAVE_FORMAT_WAVPACK_AUDIO + WAVE_FORMAT_WAVPACK_AUDIO + + + + No documentation. + + + WAVE_FORMAT_OGG_VORBIS_MODE_1 + WAVE_FORMAT_OGG_VORBIS_MODE_1 + + + + No documentation. + + + WAVE_FORMAT_OGG_VORBIS_MODE_2 + WAVE_FORMAT_OGG_VORBIS_MODE_2 + + + + No documentation. + + + WAVE_FORMAT_OGG_VORBIS_MODE_3 + WAVE_FORMAT_OGG_VORBIS_MODE_3 + + + + No documentation. + + + WAVE_FORMAT_OGG_VORBIS_MODE_1_PLUS + WAVE_FORMAT_OGG_VORBIS_MODE_1_PLUS + + + + No documentation. + + + WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS + WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS + + + + No documentation. + + + WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS + WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS + + + + No documentation. + + + WAVE_FORMAT_3COM_NBX + WAVE_FORMAT_3COM_NBX + + + + No documentation. + + + WAVE_FORMAT_FAAD_AAC + WAVE_FORMAT_FAAD_AAC + + + + No documentation. + + + WAVE_FORMAT_GSM_AMR_CBR + WAVE_FORMAT_GSM_AMR_CBR + + + + No documentation. + + + WAVE_FORMAT_GSM_AMR_VBR_SID + WAVE_FORMAT_GSM_AMR_VBR_SID + + + + No documentation. + + + WAVE_FORMAT_COMVERSE_INFOSYS_G723_1 + WAVE_FORMAT_COMVERSE_INFOSYS_G723_1 + + + + No documentation. + + + WAVE_FORMAT_COMVERSE_INFOSYS_AVQSBC + WAVE_FORMAT_COMVERSE_INFOSYS_AVQSBC + + + + No documentation. + + + WAVE_FORMAT_COMVERSE_INFOSYS_SBC + WAVE_FORMAT_COMVERSE_INFOSYS_SBC + + + + No documentation. + + + WAVE_FORMAT_SYMBOL_G729_A + WAVE_FORMAT_SYMBOL_G729_A + + + + No documentation. + + + WAVE_FORMAT_VOICEAGE_AMR_WB + WAVE_FORMAT_VOICEAGE_AMR_WB + + + + No documentation. + + + WAVE_FORMAT_INGENIENT_G726 + WAVE_FORMAT_INGENIENT_G726 + + + + No documentation. + + + WAVE_FORMAT_MPEG4_AAC + WAVE_FORMAT_MPEG4_AAC + + + + No documentation. + + + WAVE_FORMAT_ENCORE_G726 + WAVE_FORMAT_ENCORE_G726 + + + + No documentation. + + + WAVE_FORMAT_ZOLL_ASAO + WAVE_FORMAT_ZOLL_ASAO + + + + No documentation. + + + WAVE_FORMAT_SPEEX_VOICE + WAVE_FORMAT_SPEEX_VOICE + + + + No documentation. + + + WAVE_FORMAT_VIANIX_MASC + WAVE_FORMAT_VIANIX_MASC + + + + No documentation. + + + WAVE_FORMAT_WM9_SPECTRUM_ANALYZER + WAVE_FORMAT_WM9_SPECTRUM_ANALYZER + + + + No documentation. + + + WAVE_FORMAT_WMF_SPECTRUM_ANAYZER + WAVE_FORMAT_WMF_SPECTRUM_ANAYZER + + + + No documentation. + + + WAVE_FORMAT_GSM_610 + WAVE_FORMAT_GSM_610 + + + + No documentation. + + + WAVE_FORMAT_GSM_620 + WAVE_FORMAT_GSM_620 + + + + No documentation. + + + WAVE_FORMAT_GSM_660 + WAVE_FORMAT_GSM_660 + + + + No documentation. + + + WAVE_FORMAT_GSM_690 + WAVE_FORMAT_GSM_690 + + + + No documentation. + + + WAVE_FORMAT_GSM_ADAPTIVE_MULTIRATE_WB + WAVE_FORMAT_GSM_ADAPTIVE_MULTIRATE_WB + + + + No documentation. + + + WAVE_FORMAT_POLYCOM_G722 + WAVE_FORMAT_POLYCOM_G722 + + + + No documentation. + + + WAVE_FORMAT_POLYCOM_G728 + WAVE_FORMAT_POLYCOM_G728 + + + + No documentation. + + + WAVE_FORMAT_POLYCOM_G729_A + WAVE_FORMAT_POLYCOM_G729_A + + + + No documentation. + + + WAVE_FORMAT_POLYCOM_SIREN + WAVE_FORMAT_POLYCOM_SIREN + + + + No documentation. + + + WAVE_FORMAT_GLOBAL_IP_ILBC + WAVE_FORMAT_GLOBAL_IP_ILBC + + + + No documentation. + + + WAVE_FORMAT_RADIOTIME_TIME_SHIFT_RADIO + WAVE_FORMAT_RADIOTIME_TIME_SHIFT_RADIO + + + + No documentation. + + + WAVE_FORMAT_NICE_ACA + WAVE_FORMAT_NICE_ACA + + + + No documentation. + + + WAVE_FORMAT_NICE_ADPCM + WAVE_FORMAT_NICE_ADPCM + + + + No documentation. + + + WAVE_FORMAT_VOCORD_G721 + WAVE_FORMAT_VOCORD_G721 + + + + No documentation. + + + WAVE_FORMAT_VOCORD_G726 + WAVE_FORMAT_VOCORD_G726 + + + + No documentation. + + + WAVE_FORMAT_VOCORD_G722_1 + WAVE_FORMAT_VOCORD_G722_1 + + + + No documentation. + + + WAVE_FORMAT_VOCORD_G728 + WAVE_FORMAT_VOCORD_G728 + + + + No documentation. + + + WAVE_FORMAT_VOCORD_G729 + WAVE_FORMAT_VOCORD_G729 + + + + No documentation. + + + WAVE_FORMAT_VOCORD_G729_A + WAVE_FORMAT_VOCORD_G729_A + + + + No documentation. + + + WAVE_FORMAT_VOCORD_G723_1 + WAVE_FORMAT_VOCORD_G723_1 + + + + No documentation. + + + WAVE_FORMAT_VOCORD_LBC + WAVE_FORMAT_VOCORD_LBC + + + + No documentation. + + + WAVE_FORMAT_NICE_G728 + WAVE_FORMAT_NICE_G728 + + + + No documentation. + + + WAVE_FORMAT_FRACE_TELECOM_G729 + WAVE_FORMAT_FRACE_TELECOM_G729 + + + + No documentation. + + + WAVE_FORMAT_CODIAN + WAVE_FORMAT_CODIAN + + + + No documentation. + + + WAVE_FORMAT_FLAC + WAVE_FORMAT_FLAC + + + + No documentation. + + + WAVE_FORMAT_EXTENSIBLE + WAVE_FORMAT_EXTENSIBLE + + + + No documentation. + + + WAVE_FORMAT_DEVELOPMENT + WAVE_FORMAT_DEVELOPMENT + + + + No documentation. + + + WAVE_FORMAT_PCM + WAVE_FORMAT_PCM + + + + No documentation. + + + STGC + STGC + + + + No documentation. + + + STGC_DEFAULT + STGC_DEFAULT + + + + No documentation. + + + STGC_OVERWRITE + STGC_OVERWRITE + + + + No documentation. + + + STGC_ONLYIFCURRENT + STGC_ONLYIFCURRENT + + + + No documentation. + + + STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE + STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE + + + + No documentation. + + + STGC_CONSOLIDATE + STGC_CONSOLIDATE + + + + No documentation. + + + SHARPDX_ERRORCODE + SHARPDX_ERRORCODE + + + + No documentation. + + + ERROR_SUCCESS + ERROR_SUCCESS + + + + No documentation. + + + ERROR_INVALID_FUNCTION + ERROR_INVALID_FUNCTION + + + + No documentation. + + + ERROR_FILE_NOT_FOUND + ERROR_FILE_NOT_FOUND + + + + No documentation. + + + ERROR_PATH_NOT_FOUND + ERROR_PATH_NOT_FOUND + + + + No documentation. + + + ERROR_TOO_MANY_OPEN_FILES + ERROR_TOO_MANY_OPEN_FILES + + + + No documentation. + + + ERROR_ACCESS_DENIED + ERROR_ACCESS_DENIED + + + + No documentation. + + + ERROR_INVALID_HANDLE + ERROR_INVALID_HANDLE + + + + No documentation. + + + ERROR_ARENA_TRASHED + ERROR_ARENA_TRASHED + + + + No documentation. + + + ERROR_NOT_ENOUGH_MEMORY + ERROR_NOT_ENOUGH_MEMORY + + + + No documentation. + + + ERROR_INVALID_BLOCK + ERROR_INVALID_BLOCK + + + + No documentation. + + + ERROR_BAD_ENVIRONMENT + ERROR_BAD_ENVIRONMENT + + + + No documentation. + + + ERROR_BAD_FORMAT + ERROR_BAD_FORMAT + + + + No documentation. + + + ERROR_INVALID_ACCESS + ERROR_INVALID_ACCESS + + + + No documentation. + + + ERROR_INVALID_DATA + ERROR_INVALID_DATA + + + + No documentation. + + + ERROR_OUTOFMEMORY + ERROR_OUTOFMEMORY + + + + No documentation. + + + ERROR_INVALID_DRIVE + ERROR_INVALID_DRIVE + + + + No documentation. + + + ERROR_CURRENT_DIRECTORY + ERROR_CURRENT_DIRECTORY + + + + No documentation. + + + ERROR_NOT_SAME_DEVICE + ERROR_NOT_SAME_DEVICE + + + + No documentation. + + + ERROR_NO_MORE_FILES + ERROR_NO_MORE_FILES + + + + No documentation. + + + ERROR_WRITE_PROTECT + ERROR_WRITE_PROTECT + + + + No documentation. + + + ERROR_BAD_UNIT + ERROR_BAD_UNIT + + + + No documentation. + + + ERROR_NOT_READY + ERROR_NOT_READY + + + + No documentation. + + + ERROR_BAD_COMMAND + ERROR_BAD_COMMAND + + + + No documentation. + + + ERROR_CRC + ERROR_CRC + + + + No documentation. + + + ERROR_BAD_LENGTH + ERROR_BAD_LENGTH + + + + No documentation. + + + ERROR_SEEK + ERROR_SEEK + + + + No documentation. + + + ERROR_NOT_DOS_DISK + ERROR_NOT_DOS_DISK + + + + No documentation. + + + ERROR_SECTOR_NOT_FOUND + ERROR_SECTOR_NOT_FOUND + + + + No documentation. + + + ERROR_OUT_OF_PAPER + ERROR_OUT_OF_PAPER + + + + No documentation. + + + ERROR_WRITE_FAULT + ERROR_WRITE_FAULT + + + + No documentation. + + + ERROR_READ_FAULT + ERROR_READ_FAULT + + + + No documentation. + + + ERROR_GEN_FAILURE + ERROR_GEN_FAILURE + + + + No documentation. + + + ERROR_SHARING_VIOLATION + ERROR_SHARING_VIOLATION + + + + No documentation. + + + ERROR_LOCK_VIOLATION + ERROR_LOCK_VIOLATION + + + + No documentation. + + + ERROR_WRONG_DISK + ERROR_WRONG_DISK + + + + No documentation. + + + ERROR_SHARING_BUFFER_EXCEEDED + ERROR_SHARING_BUFFER_EXCEEDED + + + + No documentation. + + + ERROR_HANDLE_EOF + ERROR_HANDLE_EOF + + + + No documentation. + + + ERROR_HANDLE_DISK_FULL + ERROR_HANDLE_DISK_FULL + + + + No documentation. + + + ERROR_NOT_SUPPORTED + ERROR_NOT_SUPPORTED + + + + No documentation. + + + ERROR_REM_NOT_LIST + ERROR_REM_NOT_LIST + + + + No documentation. + + + ERROR_DUP_NAME + ERROR_DUP_NAME + + + + No documentation. + + + ERROR_BAD_NETPATH + ERROR_BAD_NETPATH + + + + No documentation. + + + ERROR_NETWORK_BUSY + ERROR_NETWORK_BUSY + + + + No documentation. + + + ERROR_DEV_NOT_EXIST + ERROR_DEV_NOT_EXIST + + + + No documentation. + + + ERROR_TOO_MANY_CMDS + ERROR_TOO_MANY_CMDS + + + + No documentation. + + + ERROR_ADAP_HDW_ERR + ERROR_ADAP_HDW_ERR + + + + No documentation. + + + ERROR_BAD_NET_RESP + ERROR_BAD_NET_RESP + + + + No documentation. + + + ERROR_UNEXP_NET_ERR + ERROR_UNEXP_NET_ERR + + + + No documentation. + + + ERROR_BAD_REM_ADAP + ERROR_BAD_REM_ADAP + + + + No documentation. + + + ERROR_PRINTQ_FULL + ERROR_PRINTQ_FULL + + + + No documentation. + + + ERROR_NO_SPOOL_SPACE + ERROR_NO_SPOOL_SPACE + + + + No documentation. + + + ERROR_PRINT_CANCELLED + ERROR_PRINT_CANCELLED + + + + No documentation. + + + ERROR_NETNAME_DELETED + ERROR_NETNAME_DELETED + + + + No documentation. + + + ERROR_NETWORK_ACCESS_DENIED + ERROR_NETWORK_ACCESS_DENIED + + + + No documentation. + + + ERROR_BAD_DEV_TYPE + ERROR_BAD_DEV_TYPE + + + + No documentation. + + + ERROR_BAD_NET_NAME + ERROR_BAD_NET_NAME + + + + No documentation. + + + ERROR_TOO_MANY_NAMES + ERROR_TOO_MANY_NAMES + + + + No documentation. + + + ERROR_TOO_MANY_SESS + ERROR_TOO_MANY_SESS + + + + No documentation. + + + ERROR_SHARING_PAUSED + ERROR_SHARING_PAUSED + + + + No documentation. + + + ERROR_REQ_NOT_ACCEP + ERROR_REQ_NOT_ACCEP + + + + No documentation. + + + ERROR_REDIR_PAUSED + ERROR_REDIR_PAUSED + + + + No documentation. + + + ERROR_FILE_EXISTS + ERROR_FILE_EXISTS + + + + No documentation. + + + ERROR_CANNOT_MAKE + ERROR_CANNOT_MAKE + + + + No documentation. + + + ERROR_FAIL_I24 + ERROR_FAIL_I24 + + + + No documentation. + + + ERROR_OUT_OF_STRUCTURES + ERROR_OUT_OF_STRUCTURES + + + + No documentation. + + + ERROR_ALREADY_ASSIGNED + ERROR_ALREADY_ASSIGNED + + + + No documentation. + + + ERROR_INVALID_PASSWORD + ERROR_INVALID_PASSWORD + + + + No documentation. + + + ERROR_INVALID_PARAMETER + ERROR_INVALID_PARAMETER + + + + No documentation. + + + ERROR_NET_WRITE_FAULT + ERROR_NET_WRITE_FAULT + + + + No documentation. + + + ERROR_NO_PROC_SLOTS + ERROR_NO_PROC_SLOTS + + + + No documentation. + + + ERROR_TOO_MANY_SEMAPHORES + ERROR_TOO_MANY_SEMAPHORES + + + + No documentation. + + + ERROR_EXCL_SEM_ALREADY_OWNED + ERROR_EXCL_SEM_ALREADY_OWNED + + + + No documentation. + + + ERROR_SEM_IS_SET + ERROR_SEM_IS_SET + + + + No documentation. + + + ERROR_TOO_MANY_SEM_REQUESTS + ERROR_TOO_MANY_SEM_REQUESTS + + + + No documentation. + + + ERROR_INVALID_AT_INTERRUPT_TIME + ERROR_INVALID_AT_INTERRUPT_TIME + + + + No documentation. + + + ERROR_SEM_OWNER_DIED + ERROR_SEM_OWNER_DIED + + + + No documentation. + + + ERROR_SEM_USER_LIMIT + ERROR_SEM_USER_LIMIT + + + + No documentation. + + + ERROR_DISK_CHANGE + ERROR_DISK_CHANGE + + + + No documentation. + + + ERROR_DRIVE_LOCKED + ERROR_DRIVE_LOCKED + + + + No documentation. + + + ERROR_BROKEN_PIPE + ERROR_BROKEN_PIPE + + + + No documentation. + + + ERROR_OPEN_FAILED + ERROR_OPEN_FAILED + + + + No documentation. + + + ERROR_BUFFER_OVERFLOW + ERROR_BUFFER_OVERFLOW + + + + No documentation. + + + ERROR_DISK_FULL + ERROR_DISK_FULL + + + + No documentation. + + + ERROR_NO_MORE_SEARCH_HANDLES + ERROR_NO_MORE_SEARCH_HANDLES + + + + No documentation. + + + ERROR_INVALID_TARGET_HANDLE + ERROR_INVALID_TARGET_HANDLE + + + + No documentation. + + + ERROR_INVALID_CATEGORY + ERROR_INVALID_CATEGORY + + + + No documentation. + + + ERROR_INVALID_VERIFY_SWITCH + ERROR_INVALID_VERIFY_SWITCH + + + + No documentation. + + + ERROR_BAD_DRIVER_LEVEL + ERROR_BAD_DRIVER_LEVEL + + + + No documentation. + + + ERROR_CALL_NOT_IMPLEMENTED + ERROR_CALL_NOT_IMPLEMENTED + + + + No documentation. + + + ERROR_SEM_TIMEOUT + ERROR_SEM_TIMEOUT + + + + No documentation. + + + ERROR_INSUFFICIENT_BUFFER + ERROR_INSUFFICIENT_BUFFER + + + + No documentation. + + + ERROR_INVALID_NAME + ERROR_INVALID_NAME + + + + No documentation. + + + ERROR_INVALID_LEVEL + ERROR_INVALID_LEVEL + + + + No documentation. + + + ERROR_NO_VOLUME_LABEL + ERROR_NO_VOLUME_LABEL + + + + No documentation. + + + ERROR_MOD_NOT_FOUND + ERROR_MOD_NOT_FOUND + + + + No documentation. + + + ERROR_PROC_NOT_FOUND + ERROR_PROC_NOT_FOUND + + + + No documentation. + + + ERROR_WAIT_NO_CHILDREN + ERROR_WAIT_NO_CHILDREN + + + + No documentation. + + + ERROR_CHILD_NOT_COMPLETE + ERROR_CHILD_NOT_COMPLETE + + + + No documentation. + + + ERROR_DIRECT_ACCESS_HANDLE + ERROR_DIRECT_ACCESS_HANDLE + + + + No documentation. + + + ERROR_NEGATIVE_SEEK + ERROR_NEGATIVE_SEEK + + + + No documentation. + + + ERROR_SEEK_ON_DEVICE + ERROR_SEEK_ON_DEVICE + + + + No documentation. + + + ERROR_IS_JOIN_TARGET + ERROR_IS_JOIN_TARGET + + + + No documentation. + + + ERROR_IS_JOINED + ERROR_IS_JOINED + + + + No documentation. + + + ERROR_IS_SUBSTED + ERROR_IS_SUBSTED + + + + No documentation. + + + ERROR_NOT_JOINED + ERROR_NOT_JOINED + + + + No documentation. + + + ERROR_NOT_SUBSTED + ERROR_NOT_SUBSTED + + + + No documentation. + + + ERROR_JOIN_TO_JOIN + ERROR_JOIN_TO_JOIN + + + + No documentation. + + + ERROR_SUBST_TO_SUBST + ERROR_SUBST_TO_SUBST + + + + No documentation. + + + ERROR_JOIN_TO_SUBST + ERROR_JOIN_TO_SUBST + + + + No documentation. + + + ERROR_SUBST_TO_JOIN + ERROR_SUBST_TO_JOIN + + + + No documentation. + + + ERROR_BUSY_DRIVE + ERROR_BUSY_DRIVE + + + + No documentation. + + + ERROR_SAME_DRIVE + ERROR_SAME_DRIVE + + + + No documentation. + + + ERROR_DIR_NOT_ROOT + ERROR_DIR_NOT_ROOT + + + + No documentation. + + + ERROR_DIR_NOT_EMPTY + ERROR_DIR_NOT_EMPTY + + + + No documentation. + + + ERROR_IS_SUBST_PATH + ERROR_IS_SUBST_PATH + + + + No documentation. + + + ERROR_IS_JOIN_PATH + ERROR_IS_JOIN_PATH + + + + No documentation. + + + ERROR_PATH_BUSY + ERROR_PATH_BUSY + + + + No documentation. + + + ERROR_IS_SUBST_TARGET + ERROR_IS_SUBST_TARGET + + + + No documentation. + + + ERROR_SYSTEM_TRACE + ERROR_SYSTEM_TRACE + + + + No documentation. + + + ERROR_INVALID_EVENT_COUNT + ERROR_INVALID_EVENT_COUNT + + + + No documentation. + + + ERROR_TOO_MANY_MUXWAITERS + ERROR_TOO_MANY_MUXWAITERS + + + + No documentation. + + + ERROR_INVALID_LIST_FORMAT + ERROR_INVALID_LIST_FORMAT + + + + No documentation. + + + ERROR_LABEL_TOO_LONG + ERROR_LABEL_TOO_LONG + + + + No documentation. + + + ERROR_TOO_MANY_TCBS + ERROR_TOO_MANY_TCBS + + + + No documentation. + + + ERROR_SIGNAL_REFUSED + ERROR_SIGNAL_REFUSED + + + + No documentation. + + + ERROR_DISCARDED + ERROR_DISCARDED + + + + No documentation. + + + ERROR_NOT_LOCKED + ERROR_NOT_LOCKED + + + + No documentation. + + + ERROR_BAD_THREADID_ADDR + ERROR_BAD_THREADID_ADDR + + + + No documentation. + + + ERROR_BAD_ARGUMENTS + ERROR_BAD_ARGUMENTS + + + + No documentation. + + + ERROR_BAD_PATHNAME + ERROR_BAD_PATHNAME + + + + No documentation. + + + ERROR_SIGNAL_PENDING + ERROR_SIGNAL_PENDING + + + + No documentation. + + + ERROR_MAX_THRDS_REACHED + ERROR_MAX_THRDS_REACHED + + + + No documentation. + + + ERROR_LOCK_FAILED + ERROR_LOCK_FAILED + + + + No documentation. + + + ERROR_BUSY + ERROR_BUSY + + + + No documentation. + + + ERROR_DEVICE_SUPPORT_IN_PROGRESS + ERROR_DEVICE_SUPPORT_IN_PROGRESS + + + + No documentation. + + + ERROR_CANCEL_VIOLATION + ERROR_CANCEL_VIOLATION + + + + No documentation. + + + ERROR_ATOMIC_LOCKS_NOT_SUPPORTED + ERROR_ATOMIC_LOCKS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_INVALID_SEGMENT_NUMBER + ERROR_INVALID_SEGMENT_NUMBER + + + + No documentation. + + + ERROR_INVALID_ORDINAL + ERROR_INVALID_ORDINAL + + + + No documentation. + + + ERROR_ALREADY_EXISTS + ERROR_ALREADY_EXISTS + + + + No documentation. + + + ERROR_INVALID_FLAG_NUMBER + ERROR_INVALID_FLAG_NUMBER + + + + No documentation. + + + ERROR_SEM_NOT_FOUND + ERROR_SEM_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_STARTING_CODESEG + ERROR_INVALID_STARTING_CODESEG + + + + No documentation. + + + ERROR_INVALID_STACKSEG + ERROR_INVALID_STACKSEG + + + + No documentation. + + + ERROR_INVALID_MODULETYPE + ERROR_INVALID_MODULETYPE + + + + No documentation. + + + ERROR_INVALID_EXE_SIGNATURE + ERROR_INVALID_EXE_SIGNATURE + + + + No documentation. + + + ERROR_EXE_MARKED_INVALID + ERROR_EXE_MARKED_INVALID + + + + No documentation. + + + ERROR_BAD_EXE_FORMAT + ERROR_BAD_EXE_FORMAT + + + + No documentation. + + + ERROR_ITERATED_DATA_EXCEEDS_64k + ERROR_ITERATED_DATA_EXCEEDS_64k + + + + No documentation. + + + ERROR_INVALID_MINALLOCSIZE + ERROR_INVALID_MINALLOCSIZE + + + + No documentation. + + + ERROR_DYNLINK_FROM_INVALID_RING + ERROR_DYNLINK_FROM_INVALID_RING + + + + No documentation. + + + ERROR_IOPL_NOT_ENABLED + ERROR_IOPL_NOT_ENABLED + + + + No documentation. + + + ERROR_INVALID_SEGDPL + ERROR_INVALID_SEGDPL + + + + No documentation. + + + ERROR_AUTODATASEG_EXCEEDS_64k + ERROR_AUTODATASEG_EXCEEDS_64k + + + + No documentation. + + + ERROR_RING2SEG_MUST_BE_MOVABLE + ERROR_RING2SEG_MUST_BE_MOVABLE + + + + No documentation. + + + ERROR_RELOC_CHAIN_XEEDS_SEGLIM + ERROR_RELOC_CHAIN_XEEDS_SEGLIM + + + + No documentation. + + + ERROR_INFLOOP_IN_RELOC_CHAIN + ERROR_INFLOOP_IN_RELOC_CHAIN + + + + No documentation. + + + ERROR_ENVVAR_NOT_FOUND + ERROR_ENVVAR_NOT_FOUND + + + + No documentation. + + + ERROR_NO_SIGNAL_SENT + ERROR_NO_SIGNAL_SENT + + + + No documentation. + + + ERROR_FILENAME_EXCED_RANGE + ERROR_FILENAME_EXCED_RANGE + + + + No documentation. + + + ERROR_RING2_STACK_IN_USE + ERROR_RING2_STACK_IN_USE + + + + No documentation. + + + ERROR_META_EXPANSION_TOO_LONG + ERROR_META_EXPANSION_TOO_LONG + + + + No documentation. + + + ERROR_INVALID_SIGNAL_NUMBER + ERROR_INVALID_SIGNAL_NUMBER + + + + No documentation. + + + ERROR_THREAD_1_INACTIVE + ERROR_THREAD_1_INACTIVE + + + + No documentation. + + + ERROR_LOCKED + ERROR_LOCKED + + + + No documentation. + + + ERROR_TOO_MANY_MODULES + ERROR_TOO_MANY_MODULES + + + + No documentation. + + + ERROR_NESTING_NOT_ALLOWED + ERROR_NESTING_NOT_ALLOWED + + + + No documentation. + + + ERROR_EXE_MACHINE_TYPE_MISMATCH + ERROR_EXE_MACHINE_TYPE_MISMATCH + + + + No documentation. + + + ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY + ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY + + + + No documentation. + + + ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY + ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY + + + + No documentation. + + + ERROR_FILE_CHECKED_OUT + ERROR_FILE_CHECKED_OUT + + + + No documentation. + + + ERROR_CHECKOUT_REQUIRED + ERROR_CHECKOUT_REQUIRED + + + + No documentation. + + + ERROR_BAD_FILE_TYPE + ERROR_BAD_FILE_TYPE + + + + No documentation. + + + ERROR_FILE_TOO_LARGE + ERROR_FILE_TOO_LARGE + + + + No documentation. + + + ERROR_FORMS_AUTH_REQUIRED + ERROR_FORMS_AUTH_REQUIRED + + + + No documentation. + + + ERROR_VIRUS_INFECTED + ERROR_VIRUS_INFECTED + + + + No documentation. + + + ERROR_VIRUS_DELETED + ERROR_VIRUS_DELETED + + + + No documentation. + + + ERROR_PIPE_LOCAL + ERROR_PIPE_LOCAL + + + + No documentation. + + + ERROR_BAD_PIPE + ERROR_BAD_PIPE + + + + No documentation. + + + ERROR_PIPE_BUSY + ERROR_PIPE_BUSY + + + + No documentation. + + + ERROR_NO_DATA + ERROR_NO_DATA + + + + No documentation. + + + ERROR_PIPE_NOT_CONNECTED + ERROR_PIPE_NOT_CONNECTED + + + + No documentation. + + + ERROR_MORE_DATA + ERROR_MORE_DATA + + + + No documentation. + + + ERROR_VC_DISCONNECTED + ERROR_VC_DISCONNECTED + + + + No documentation. + + + ERROR_INVALID_EA_NAME + ERROR_INVALID_EA_NAME + + + + No documentation. + + + ERROR_EA_LIST_INCONSISTENT + ERROR_EA_LIST_INCONSISTENT + + + + No documentation. + + + ERROR_NO_MORE_ITEMS + ERROR_NO_MORE_ITEMS + + + + No documentation. + + + ERROR_CANNOT_COPY + ERROR_CANNOT_COPY + + + + No documentation. + + + ERROR_DIRECTORY + ERROR_DIRECTORY + + + + No documentation. + + + ERROR_EAS_DIDNT_FIT + ERROR_EAS_DIDNT_FIT + + + + No documentation. + + + ERROR_EA_FILE_CORRUPT + ERROR_EA_FILE_CORRUPT + + + + No documentation. + + + ERROR_EA_TABLE_FULL + ERROR_EA_TABLE_FULL + + + + No documentation. + + + ERROR_INVALID_EA_HANDLE + ERROR_INVALID_EA_HANDLE + + + + No documentation. + + + ERROR_EAS_NOT_SUPPORTED + ERROR_EAS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_NOT_OWNER + ERROR_NOT_OWNER + + + + No documentation. + + + ERROR_TOO_MANY_POSTS + ERROR_TOO_MANY_POSTS + + + + No documentation. + + + ERROR_PARTIAL_COPY + ERROR_PARTIAL_COPY + + + + No documentation. + + + ERROR_OPLOCK_NOT_GRANTED + ERROR_OPLOCK_NOT_GRANTED + + + + No documentation. + + + ERROR_INVALID_OPLOCK_PROTOCOL + ERROR_INVALID_OPLOCK_PROTOCOL + + + + No documentation. + + + ERROR_DISK_TOO_FRAGMENTED + ERROR_DISK_TOO_FRAGMENTED + + + + No documentation. + + + ERROR_DELETE_PENDING + ERROR_DELETE_PENDING + + + + No documentation. + + + ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING + ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING + + + + No documentation. + + + ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME + ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME + + + + No documentation. + + + ERROR_SECURITY_STREAM_IS_INCONSISTENT + ERROR_SECURITY_STREAM_IS_INCONSISTENT + + + + No documentation. + + + ERROR_INVALID_LOCK_RANGE + ERROR_INVALID_LOCK_RANGE + + + + No documentation. + + + ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT + ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT + + + + No documentation. + + + ERROR_NOTIFICATION_GUID_ALREADY_DEFINED + ERROR_NOTIFICATION_GUID_ALREADY_DEFINED + + + + No documentation. + + + ERROR_INVALID_EXCEPTION_HANDLER + ERROR_INVALID_EXCEPTION_HANDLER + + + + No documentation. + + + ERROR_DUPLICATE_PRIVILEGES + ERROR_DUPLICATE_PRIVILEGES + + + + No documentation. + + + ERROR_NO_RANGES_PROCESSED + ERROR_NO_RANGES_PROCESSED + + + + No documentation. + + + ERROR_NOT_ALLOWED_ON_SYSTEM_FILE + ERROR_NOT_ALLOWED_ON_SYSTEM_FILE + + + + No documentation. + + + ERROR_DISK_RESOURCES_EXHAUSTED + ERROR_DISK_RESOURCES_EXHAUSTED + + + + No documentation. + + + ERROR_INVALID_TOKEN + ERROR_INVALID_TOKEN + + + + No documentation. + + + ERROR_DEVICE_FEATURE_NOT_SUPPORTED + ERROR_DEVICE_FEATURE_NOT_SUPPORTED + + + + No documentation. + + + ERROR_MR_MID_NOT_FOUND + ERROR_MR_MID_NOT_FOUND + + + + No documentation. + + + ERROR_SCOPE_NOT_FOUND + ERROR_SCOPE_NOT_FOUND + + + + No documentation. + + + ERROR_UNDEFINED_SCOPE + ERROR_UNDEFINED_SCOPE + + + + No documentation. + + + ERROR_INVALID_CAP + ERROR_INVALID_CAP + + + + No documentation. + + + ERROR_DEVICE_UNREACHABLE + ERROR_DEVICE_UNREACHABLE + + + + No documentation. + + + ERROR_DEVICE_NO_RESOURCES + ERROR_DEVICE_NO_RESOURCES + + + + No documentation. + + + ERROR_DATA_CHECKSUM_ERROR + ERROR_DATA_CHECKSUM_ERROR + + + + No documentation. + + + ERROR_INTERMIXED_KERNEL_EA_OPERATION + ERROR_INTERMIXED_KERNEL_EA_OPERATION + + + + No documentation. + + + ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED + ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED + + + + No documentation. + + + ERROR_OFFSET_ALIGNMENT_VIOLATION + ERROR_OFFSET_ALIGNMENT_VIOLATION + + + + No documentation. + + + ERROR_INVALID_FIELD_IN_PARAMETER_LIST + ERROR_INVALID_FIELD_IN_PARAMETER_LIST + + + + No documentation. + + + ERROR_OPERATION_IN_PROGRESS + ERROR_OPERATION_IN_PROGRESS + + + + No documentation. + + + ERROR_BAD_DEVICE_PATH + ERROR_BAD_DEVICE_PATH + + + + No documentation. + + + ERROR_TOO_MANY_DESCRIPTORS + ERROR_TOO_MANY_DESCRIPTORS + + + + No documentation. + + + ERROR_SCRUB_DATA_DISABLED + ERROR_SCRUB_DATA_DISABLED + + + + No documentation. + + + ERROR_NOT_REDUNDANT_STORAGE + ERROR_NOT_REDUNDANT_STORAGE + + + + No documentation. + + + ERROR_RESIDENT_FILE_NOT_SUPPORTED + ERROR_RESIDENT_FILE_NOT_SUPPORTED + + + + No documentation. + + + ERROR_COMPRESSED_FILE_NOT_SUPPORTED + ERROR_COMPRESSED_FILE_NOT_SUPPORTED + + + + No documentation. + + + ERROR_DIRECTORY_NOT_SUPPORTED + ERROR_DIRECTORY_NOT_SUPPORTED + + + + No documentation. + + + ERROR_NOT_READ_FROM_COPY + ERROR_NOT_READ_FROM_COPY + + + + No documentation. + + + ERROR_FT_WRITE_FAILURE + ERROR_FT_WRITE_FAILURE + + + + No documentation. + + + ERROR_FT_DI_SCAN_REQUIRED + ERROR_FT_DI_SCAN_REQUIRED + + + + No documentation. + + + ERROR_INVALID_KERNEL_INFO_VERSION + ERROR_INVALID_KERNEL_INFO_VERSION + + + + No documentation. + + + ERROR_INVALID_PEP_INFO_VERSION + ERROR_INVALID_PEP_INFO_VERSION + + + + No documentation. + + + ERROR_FAIL_NOACTION_REBOOT + ERROR_FAIL_NOACTION_REBOOT + + + + No documentation. + + + ERROR_FAIL_SHUTDOWN + ERROR_FAIL_SHUTDOWN + + + + No documentation. + + + ERROR_FAIL_RESTART + ERROR_FAIL_RESTART + + + + No documentation. + + + ERROR_MAX_SESSIONS_REACHED + ERROR_MAX_SESSIONS_REACHED + + + + No documentation. + + + ERROR_THREAD_MODE_ALREADY_BACKGROUND + ERROR_THREAD_MODE_ALREADY_BACKGROUND + + + + No documentation. + + + ERROR_THREAD_MODE_NOT_BACKGROUND + ERROR_THREAD_MODE_NOT_BACKGROUND + + + + No documentation. + + + ERROR_PROCESS_MODE_ALREADY_BACKGROUND + ERROR_PROCESS_MODE_ALREADY_BACKGROUND + + + + No documentation. + + + ERROR_PROCESS_MODE_NOT_BACKGROUND + ERROR_PROCESS_MODE_NOT_BACKGROUND + + + + No documentation. + + + ERROR_INVALID_ADDRESS + ERROR_INVALID_ADDRESS + + + + No documentation. + + + ERROR_USER_PROFILE_LOAD + ERROR_USER_PROFILE_LOAD + + + + No documentation. + + + ERROR_ARITHMETIC_OVERFLOW + ERROR_ARITHMETIC_OVERFLOW + + + + No documentation. + + + ERROR_PIPE_CONNECTED + ERROR_PIPE_CONNECTED + + + + No documentation. + + + ERROR_PIPE_LISTENING + ERROR_PIPE_LISTENING + + + + No documentation. + + + ERROR_VERIFIER_STOP + ERROR_VERIFIER_STOP + + + + No documentation. + + + ERROR_ABIOS_ERROR + ERROR_ABIOS_ERROR + + + + No documentation. + + + ERROR_WX86_WARNING + ERROR_WX86_WARNING + + + + No documentation. + + + ERROR_WX86_ERROR + ERROR_WX86_ERROR + + + + No documentation. + + + ERROR_TIMER_NOT_CANCELED + ERROR_TIMER_NOT_CANCELED + + + + No documentation. + + + ERROR_UNWIND + ERROR_UNWIND + + + + No documentation. + + + ERROR_BAD_STACK + ERROR_BAD_STACK + + + + No documentation. + + + ERROR_INVALID_UNWIND_TARGET + ERROR_INVALID_UNWIND_TARGET + + + + No documentation. + + + ERROR_INVALID_PORT_ATTRIBUTES + ERROR_INVALID_PORT_ATTRIBUTES + + + + No documentation. + + + ERROR_PORT_MESSAGE_TOO_LONG + ERROR_PORT_MESSAGE_TOO_LONG + + + + No documentation. + + + ERROR_INVALID_QUOTA_LOWER + ERROR_INVALID_QUOTA_LOWER + + + + No documentation. + + + ERROR_DEVICE_ALREADY_ATTACHED + ERROR_DEVICE_ALREADY_ATTACHED + + + + No documentation. + + + ERROR_INSTRUCTION_MISALIGNMENT + ERROR_INSTRUCTION_MISALIGNMENT + + + + No documentation. + + + ERROR_PROFILING_NOT_STARTED + ERROR_PROFILING_NOT_STARTED + + + + No documentation. + + + ERROR_PROFILING_NOT_STOPPED + ERROR_PROFILING_NOT_STOPPED + + + + No documentation. + + + ERROR_COULD_NOT_INTERPRET + ERROR_COULD_NOT_INTERPRET + + + + No documentation. + + + ERROR_PROFILING_AT_LIMIT + ERROR_PROFILING_AT_LIMIT + + + + No documentation. + + + ERROR_CANT_WAIT + ERROR_CANT_WAIT + + + + No documentation. + + + ERROR_CANT_TERMINATE_SELF + ERROR_CANT_TERMINATE_SELF + + + + No documentation. + + + ERROR_UNEXPECTED_MM_CREATE_ERR + ERROR_UNEXPECTED_MM_CREATE_ERR + + + + No documentation. + + + ERROR_UNEXPECTED_MM_MAP_ERROR + ERROR_UNEXPECTED_MM_MAP_ERROR + + + + No documentation. + + + ERROR_UNEXPECTED_MM_EXTEND_ERR + ERROR_UNEXPECTED_MM_EXTEND_ERR + + + + No documentation. + + + ERROR_BAD_FUNCTION_TABLE + ERROR_BAD_FUNCTION_TABLE + + + + No documentation. + + + ERROR_NO_GUID_TRANSLATION + ERROR_NO_GUID_TRANSLATION + + + + No documentation. + + + ERROR_INVALID_LDT_SIZE + ERROR_INVALID_LDT_SIZE + + + + No documentation. + + + ERROR_INVALID_LDT_OFFSET + ERROR_INVALID_LDT_OFFSET + + + + No documentation. + + + ERROR_INVALID_LDT_DESCRIPTOR + ERROR_INVALID_LDT_DESCRIPTOR + + + + No documentation. + + + ERROR_TOO_MANY_THREADS + ERROR_TOO_MANY_THREADS + + + + No documentation. + + + ERROR_THREAD_NOT_IN_PROCESS + ERROR_THREAD_NOT_IN_PROCESS + + + + No documentation. + + + ERROR_PAGEFILE_QUOTA_EXCEEDED + ERROR_PAGEFILE_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_LOGON_SERVER_CONFLICT + ERROR_LOGON_SERVER_CONFLICT + + + + No documentation. + + + ERROR_SYNCHRONIZATION_REQUIRED + ERROR_SYNCHRONIZATION_REQUIRED + + + + No documentation. + + + ERROR_NET_OPEN_FAILED + ERROR_NET_OPEN_FAILED + + + + No documentation. + + + ERROR_IO_PRIVILEGE_FAILED + ERROR_IO_PRIVILEGE_FAILED + + + + No documentation. + + + ERROR_CONTROL_C_EXIT + ERROR_CONTROL_C_EXIT + + + + No documentation. + + + ERROR_MISSING_SYSTEMFILE + ERROR_MISSING_SYSTEMFILE + + + + No documentation. + + + ERROR_UNHANDLED_EXCEPTION + ERROR_UNHANDLED_EXCEPTION + + + + No documentation. + + + ERROR_APP_INIT_FAILURE + ERROR_APP_INIT_FAILURE + + + + No documentation. + + + ERROR_PAGEFILE_CREATE_FAILED + ERROR_PAGEFILE_CREATE_FAILED + + + + No documentation. + + + ERROR_INVALID_IMAGE_HASH + ERROR_INVALID_IMAGE_HASH + + + + No documentation. + + + ERROR_NO_PAGEFILE + ERROR_NO_PAGEFILE + + + + No documentation. + + + ERROR_ILLEGAL_FLOAT_CONTEXT + ERROR_ILLEGAL_FLOAT_CONTEXT + + + + No documentation. + + + ERROR_NO_EVENT_PAIR + ERROR_NO_EVENT_PAIR + + + + No documentation. + + + ERROR_DOMAIN_CTRLR_CONFIG_ERROR + ERROR_DOMAIN_CTRLR_CONFIG_ERROR + + + + No documentation. + + + ERROR_ILLEGAL_CHARACTER + ERROR_ILLEGAL_CHARACTER + + + + No documentation. + + + ERROR_UNDEFINED_CHARACTER + ERROR_UNDEFINED_CHARACTER + + + + No documentation. + + + ERROR_FLOPPY_VOLUME + ERROR_FLOPPY_VOLUME + + + + No documentation. + + + ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT + ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT + + + + No documentation. + + + ERROR_BACKUP_CONTROLLER + ERROR_BACKUP_CONTROLLER + + + + No documentation. + + + ERROR_MUTANT_LIMIT_EXCEEDED + ERROR_MUTANT_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_FS_DRIVER_REQUIRED + ERROR_FS_DRIVER_REQUIRED + + + + No documentation. + + + ERROR_CANNOT_LOAD_REGISTRY_FILE + ERROR_CANNOT_LOAD_REGISTRY_FILE + + + + No documentation. + + + ERROR_DEBUG_ATTACH_FAILED + ERROR_DEBUG_ATTACH_FAILED + + + + No documentation. + + + ERROR_SYSTEM_PROCESS_TERMINATED + ERROR_SYSTEM_PROCESS_TERMINATED + + + + No documentation. + + + ERROR_DATA_NOT_ACCEPTED + ERROR_DATA_NOT_ACCEPTED + + + + No documentation. + + + ERROR_VDM_HARD_ERROR + ERROR_VDM_HARD_ERROR + + + + No documentation. + + + ERROR_DRIVER_CANCEL_TIMEOUT + ERROR_DRIVER_CANCEL_TIMEOUT + + + + No documentation. + + + ERROR_REPLY_MESSAGE_MISMATCH + ERROR_REPLY_MESSAGE_MISMATCH + + + + No documentation. + + + ERROR_LOST_WRITEBEHIND_DATA + ERROR_LOST_WRITEBEHIND_DATA + + + + No documentation. + + + ERROR_CLIENT_SERVER_PARAMETERS_INVALID + ERROR_CLIENT_SERVER_PARAMETERS_INVALID + + + + No documentation. + + + ERROR_NOT_TINY_STREAM + ERROR_NOT_TINY_STREAM + + + + No documentation. + + + ERROR_STACK_OVERFLOW_READ + ERROR_STACK_OVERFLOW_READ + + + + No documentation. + + + ERROR_CONVERT_TO_LARGE + ERROR_CONVERT_TO_LARGE + + + + No documentation. + + + ERROR_FOUND_OUT_OF_SCOPE + ERROR_FOUND_OUT_OF_SCOPE + + + + No documentation. + + + ERROR_ALLOCATE_BUCKET + ERROR_ALLOCATE_BUCKET + + + + No documentation. + + + ERROR_MARSHALL_OVERFLOW + ERROR_MARSHALL_OVERFLOW + + + + No documentation. + + + ERROR_INVALID_VARIANT + ERROR_INVALID_VARIANT + + + + No documentation. + + + ERROR_BAD_COMPRESSION_BUFFER + ERROR_BAD_COMPRESSION_BUFFER + + + + No documentation. + + + ERROR_AUDIT_FAILED + ERROR_AUDIT_FAILED + + + + No documentation. + + + ERROR_TIMER_RESOLUTION_NOT_SET + ERROR_TIMER_RESOLUTION_NOT_SET + + + + No documentation. + + + ERROR_INSUFFICIENT_LOGON_INFO + ERROR_INSUFFICIENT_LOGON_INFO + + + + No documentation. + + + ERROR_BAD_DLL_ENTRYPOINT + ERROR_BAD_DLL_ENTRYPOINT + + + + No documentation. + + + ERROR_BAD_SERVICE_ENTRYPOINT + ERROR_BAD_SERVICE_ENTRYPOINT + + + + No documentation. + + + ERROR_IP_ADDRESS_CONFLICT1 + ERROR_IP_ADDRESS_CONFLICT1 + + + + No documentation. + + + ERROR_IP_ADDRESS_CONFLICT2 + ERROR_IP_ADDRESS_CONFLICT2 + + + + No documentation. + + + ERROR_REGISTRY_QUOTA_LIMIT + ERROR_REGISTRY_QUOTA_LIMIT + + + + No documentation. + + + ERROR_NO_CALLBACK_ACTIVE + ERROR_NO_CALLBACK_ACTIVE + + + + No documentation. + + + ERROR_PWD_TOO_SHORT + ERROR_PWD_TOO_SHORT + + + + No documentation. + + + ERROR_PWD_TOO_RECENT + ERROR_PWD_TOO_RECENT + + + + No documentation. + + + ERROR_PWD_HISTORY_CONFLICT + ERROR_PWD_HISTORY_CONFLICT + + + + No documentation. + + + ERROR_UNSUPPORTED_COMPRESSION + ERROR_UNSUPPORTED_COMPRESSION + + + + No documentation. + + + ERROR_INVALID_HW_PROFILE + ERROR_INVALID_HW_PROFILE + + + + No documentation. + + + ERROR_INVALID_PLUGPLAY_DEVICE_PATH + ERROR_INVALID_PLUGPLAY_DEVICE_PATH + + + + No documentation. + + + ERROR_QUOTA_LIST_INCONSISTENT + ERROR_QUOTA_LIST_INCONSISTENT + + + + No documentation. + + + ERROR_EVALUATION_EXPIRATION + ERROR_EVALUATION_EXPIRATION + + + + No documentation. + + + ERROR_ILLEGAL_DLL_RELOCATION + ERROR_ILLEGAL_DLL_RELOCATION + + + + No documentation. + + + ERROR_DLL_INIT_FAILED_LOGOFF + ERROR_DLL_INIT_FAILED_LOGOFF + + + + No documentation. + + + ERROR_VALIDATE_CONTINUE + ERROR_VALIDATE_CONTINUE + + + + No documentation. + + + ERROR_NO_MORE_MATCHES + ERROR_NO_MORE_MATCHES + + + + No documentation. + + + ERROR_RANGE_LIST_CONFLICT + ERROR_RANGE_LIST_CONFLICT + + + + No documentation. + + + ERROR_SERVER_SID_MISMATCH + ERROR_SERVER_SID_MISMATCH + + + + No documentation. + + + ERROR_CANT_ENABLE_DENY_ONLY + ERROR_CANT_ENABLE_DENY_ONLY + + + + No documentation. + + + ERROR_FLOAT_MULTIPLE_FAULTS + ERROR_FLOAT_MULTIPLE_FAULTS + + + + No documentation. + + + ERROR_FLOAT_MULTIPLE_TRAPS + ERROR_FLOAT_MULTIPLE_TRAPS + + + + No documentation. + + + ERROR_NOINTERFACE + ERROR_NOINTERFACE + + + + No documentation. + + + ERROR_DRIVER_FAILED_SLEEP + ERROR_DRIVER_FAILED_SLEEP + + + + No documentation. + + + ERROR_CORRUPT_SYSTEM_FILE + ERROR_CORRUPT_SYSTEM_FILE + + + + No documentation. + + + ERROR_COMMITMENT_MINIMUM + ERROR_COMMITMENT_MINIMUM + + + + No documentation. + + + ERROR_PNP_RESTART_ENUMERATION + ERROR_PNP_RESTART_ENUMERATION + + + + No documentation. + + + ERROR_SYSTEM_IMAGE_BAD_SIGNATURE + ERROR_SYSTEM_IMAGE_BAD_SIGNATURE + + + + No documentation. + + + ERROR_PNP_REBOOT_REQUIRED + ERROR_PNP_REBOOT_REQUIRED + + + + No documentation. + + + ERROR_INSUFFICIENT_POWER + ERROR_INSUFFICIENT_POWER + + + + No documentation. + + + ERROR_MULTIPLE_FAULT_VIOLATION + ERROR_MULTIPLE_FAULT_VIOLATION + + + + No documentation. + + + ERROR_SYSTEM_SHUTDOWN + ERROR_SYSTEM_SHUTDOWN + + + + No documentation. + + + ERROR_PORT_NOT_SET + ERROR_PORT_NOT_SET + + + + No documentation. + + + ERROR_DS_VERSION_CHECK_FAILURE + ERROR_DS_VERSION_CHECK_FAILURE + + + + No documentation. + + + ERROR_RANGE_NOT_FOUND + ERROR_RANGE_NOT_FOUND + + + + No documentation. + + + ERROR_NOT_SAFE_MODE_DRIVER + ERROR_NOT_SAFE_MODE_DRIVER + + + + No documentation. + + + ERROR_FAILED_DRIVER_ENTRY + ERROR_FAILED_DRIVER_ENTRY + + + + No documentation. + + + ERROR_DEVICE_ENUMERATION_ERROR + ERROR_DEVICE_ENUMERATION_ERROR + + + + No documentation. + + + ERROR_MOUNT_POINT_NOT_RESOLVED + ERROR_MOUNT_POINT_NOT_RESOLVED + + + + No documentation. + + + ERROR_INVALID_DEVICE_OBJECT_PARAMETER + ERROR_INVALID_DEVICE_OBJECT_PARAMETER + + + + No documentation. + + + ERROR_MCA_OCCURED + ERROR_MCA_OCCURED + + + + No documentation. + + + ERROR_DRIVER_DATABASE_ERROR + ERROR_DRIVER_DATABASE_ERROR + + + + No documentation. + + + ERROR_SYSTEM_HIVE_TOO_LARGE + ERROR_SYSTEM_HIVE_TOO_LARGE + + + + No documentation. + + + ERROR_DRIVER_FAILED_PRIOR_UNLOAD + ERROR_DRIVER_FAILED_PRIOR_UNLOAD + + + + No documentation. + + + ERROR_VOLSNAP_PREPARE_HIBERNATE + ERROR_VOLSNAP_PREPARE_HIBERNATE + + + + No documentation. + + + ERROR_HIBERNATION_FAILURE + ERROR_HIBERNATION_FAILURE + + + + No documentation. + + + ERROR_PWD_TOO_LONG + ERROR_PWD_TOO_LONG + + + + No documentation. + + + ERROR_FILE_SYSTEM_LIMITATION + ERROR_FILE_SYSTEM_LIMITATION + + + + No documentation. + + + ERROR_ASSERTION_FAILURE + ERROR_ASSERTION_FAILURE + + + + No documentation. + + + ERROR_ACPI_ERROR + ERROR_ACPI_ERROR + + + + No documentation. + + + ERROR_WOW_ASSERTION + ERROR_WOW_ASSERTION + + + + No documentation. + + + ERROR_PNP_BAD_MPS_TABLE + ERROR_PNP_BAD_MPS_TABLE + + + + No documentation. + + + ERROR_PNP_TRANSLATION_FAILED + ERROR_PNP_TRANSLATION_FAILED + + + + No documentation. + + + ERROR_PNP_IRQ_TRANSLATION_FAILED + ERROR_PNP_IRQ_TRANSLATION_FAILED + + + + No documentation. + + + ERROR_PNP_INVALID_ID + ERROR_PNP_INVALID_ID + + + + No documentation. + + + ERROR_WAKE_SYSTEM_DEBUGGER + ERROR_WAKE_SYSTEM_DEBUGGER + + + + No documentation. + + + ERROR_HANDLES_CLOSED + ERROR_HANDLES_CLOSED + + + + No documentation. + + + ERROR_EXTRANEOUS_INFORMATION + ERROR_EXTRANEOUS_INFORMATION + + + + No documentation. + + + ERROR_RXACT_COMMIT_NECESSARY + ERROR_RXACT_COMMIT_NECESSARY + + + + No documentation. + + + ERROR_MEDIA_CHECK + ERROR_MEDIA_CHECK + + + + No documentation. + + + ERROR_GUID_SUBSTITUTION_MADE + ERROR_GUID_SUBSTITUTION_MADE + + + + No documentation. + + + ERROR_STOPPED_ON_SYMLINK + ERROR_STOPPED_ON_SYMLINK + + + + No documentation. + + + ERROR_LONGJUMP + ERROR_LONGJUMP + + + + No documentation. + + + ERROR_PLUGPLAY_QUERY_VETOED + ERROR_PLUGPLAY_QUERY_VETOED + + + + No documentation. + + + ERROR_UNWIND_CONSOLIDATE + ERROR_UNWIND_CONSOLIDATE + + + + No documentation. + + + ERROR_REGISTRY_HIVE_RECOVERED + ERROR_REGISTRY_HIVE_RECOVERED + + + + No documentation. + + + ERROR_DLL_MIGHT_BE_INSECURE + ERROR_DLL_MIGHT_BE_INSECURE + + + + No documentation. + + + ERROR_DLL_MIGHT_BE_INCOMPATIBLE + ERROR_DLL_MIGHT_BE_INCOMPATIBLE + + + + No documentation. + + + ERROR_DBG_EXCEPTION_NOT_HANDLED + ERROR_DBG_EXCEPTION_NOT_HANDLED + + + + No documentation. + + + ERROR_DBG_REPLY_LATER + ERROR_DBG_REPLY_LATER + + + + No documentation. + + + ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE + ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE + + + + No documentation. + + + ERROR_DBG_TERMINATE_THREAD + ERROR_DBG_TERMINATE_THREAD + + + + No documentation. + + + ERROR_DBG_TERMINATE_PROCESS + ERROR_DBG_TERMINATE_PROCESS + + + + No documentation. + + + ERROR_DBG_CONTROL_C + ERROR_DBG_CONTROL_C + + + + No documentation. + + + ERROR_DBG_PRINTEXCEPTION_C + ERROR_DBG_PRINTEXCEPTION_C + + + + No documentation. + + + ERROR_DBG_RIPEXCEPTION + ERROR_DBG_RIPEXCEPTION + + + + No documentation. + + + ERROR_DBG_CONTROL_BREAK + ERROR_DBG_CONTROL_BREAK + + + + No documentation. + + + ERROR_DBG_COMMAND_EXCEPTION + ERROR_DBG_COMMAND_EXCEPTION + + + + No documentation. + + + ERROR_OBJECT_NAME_EXISTS + ERROR_OBJECT_NAME_EXISTS + + + + No documentation. + + + ERROR_THREAD_WAS_SUSPENDED + ERROR_THREAD_WAS_SUSPENDED + + + + No documentation. + + + ERROR_IMAGE_NOT_AT_BASE + ERROR_IMAGE_NOT_AT_BASE + + + + No documentation. + + + ERROR_RXACT_STATE_CREATED + ERROR_RXACT_STATE_CREATED + + + + No documentation. + + + ERROR_SEGMENT_NOTIFICATION + ERROR_SEGMENT_NOTIFICATION + + + + No documentation. + + + ERROR_BAD_CURRENT_DIRECTORY + ERROR_BAD_CURRENT_DIRECTORY + + + + No documentation. + + + ERROR_FT_READ_RECOVERY_FROM_BACKUP + ERROR_FT_READ_RECOVERY_FROM_BACKUP + + + + No documentation. + + + ERROR_FT_WRITE_RECOVERY + ERROR_FT_WRITE_RECOVERY + + + + No documentation. + + + ERROR_IMAGE_MACHINE_TYPE_MISMATCH + ERROR_IMAGE_MACHINE_TYPE_MISMATCH + + + + No documentation. + + + ERROR_RECEIVE_PARTIAL + ERROR_RECEIVE_PARTIAL + + + + No documentation. + + + ERROR_RECEIVE_EXPEDITED + ERROR_RECEIVE_EXPEDITED + + + + No documentation. + + + ERROR_RECEIVE_PARTIAL_EXPEDITED + ERROR_RECEIVE_PARTIAL_EXPEDITED + + + + No documentation. + + + ERROR_EVENT_DONE + ERROR_EVENT_DONE + + + + No documentation. + + + ERROR_EVENT_PENDING + ERROR_EVENT_PENDING + + + + No documentation. + + + ERROR_CHECKING_FILE_SYSTEM + ERROR_CHECKING_FILE_SYSTEM + + + + No documentation. + + + ERROR_FATAL_APP_EXIT + ERROR_FATAL_APP_EXIT + + + + No documentation. + + + ERROR_PREDEFINED_HANDLE + ERROR_PREDEFINED_HANDLE + + + + No documentation. + + + ERROR_WAS_UNLOCKED + ERROR_WAS_UNLOCKED + + + + No documentation. + + + ERROR_SERVICE_NOTIFICATION + ERROR_SERVICE_NOTIFICATION + + + + No documentation. + + + ERROR_WAS_LOCKED + ERROR_WAS_LOCKED + + + + No documentation. + + + ERROR_LOG_HARD_ERROR + ERROR_LOG_HARD_ERROR + + + + No documentation. + + + ERROR_ALREADY_WIN32 + ERROR_ALREADY_WIN32 + + + + No documentation. + + + ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE + ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE + + + + No documentation. + + + ERROR_NO_YIELD_PERFORMED + ERROR_NO_YIELD_PERFORMED + + + + No documentation. + + + ERROR_TIMER_RESUME_IGNORED + ERROR_TIMER_RESUME_IGNORED + + + + No documentation. + + + ERROR_ARBITRATION_UNHANDLED + ERROR_ARBITRATION_UNHANDLED + + + + No documentation. + + + ERROR_CARDBUS_NOT_SUPPORTED + ERROR_CARDBUS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_MP_PROCESSOR_MISMATCH + ERROR_MP_PROCESSOR_MISMATCH + + + + No documentation. + + + ERROR_HIBERNATED + ERROR_HIBERNATED + + + + No documentation. + + + ERROR_RESUME_HIBERNATION + ERROR_RESUME_HIBERNATION + + + + No documentation. + + + ERROR_FIRMWARE_UPDATED + ERROR_FIRMWARE_UPDATED + + + + No documentation. + + + ERROR_DRIVERS_LEAKING_LOCKED_PAGES + ERROR_DRIVERS_LEAKING_LOCKED_PAGES + + + + No documentation. + + + ERROR_WAKE_SYSTEM + ERROR_WAKE_SYSTEM + + + + No documentation. + + + ERROR_WAIT_1 + ERROR_WAIT_1 + + + + No documentation. + + + ERROR_WAIT_2 + ERROR_WAIT_2 + + + + No documentation. + + + ERROR_WAIT_3 + ERROR_WAIT_3 + + + + No documentation. + + + ERROR_WAIT_63 + ERROR_WAIT_63 + + + + No documentation. + + + ERROR_ABANDONED_WAIT_0 + ERROR_ABANDONED_WAIT_0 + + + + No documentation. + + + ERROR_ABANDONED_WAIT_63 + ERROR_ABANDONED_WAIT_63 + + + + No documentation. + + + ERROR_USER_APC + ERROR_USER_APC + + + + No documentation. + + + ERROR_KERNEL_APC + ERROR_KERNEL_APC + + + + No documentation. + + + ERROR_ALERTED + ERROR_ALERTED + + + + No documentation. + + + ERROR_ELEVATION_REQUIRED + ERROR_ELEVATION_REQUIRED + + + + No documentation. + + + ERROR_REPARSE + ERROR_REPARSE + + + + No documentation. + + + ERROR_OPLOCK_BREAK_IN_PROGRESS + ERROR_OPLOCK_BREAK_IN_PROGRESS + + + + No documentation. + + + ERROR_VOLUME_MOUNTED + ERROR_VOLUME_MOUNTED + + + + No documentation. + + + ERROR_RXACT_COMMITTED + ERROR_RXACT_COMMITTED + + + + No documentation. + + + ERROR_NOTIFY_CLEANUP + ERROR_NOTIFY_CLEANUP + + + + No documentation. + + + ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED + ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED + + + + No documentation. + + + ERROR_PAGE_FAULT_TRANSITION + ERROR_PAGE_FAULT_TRANSITION + + + + No documentation. + + + ERROR_PAGE_FAULT_DEMAND_ZERO + ERROR_PAGE_FAULT_DEMAND_ZERO + + + + No documentation. + + + ERROR_PAGE_FAULT_COPY_ON_WRITE + ERROR_PAGE_FAULT_COPY_ON_WRITE + + + + No documentation. + + + ERROR_PAGE_FAULT_GUARD_PAGE + ERROR_PAGE_FAULT_GUARD_PAGE + + + + No documentation. + + + ERROR_PAGE_FAULT_PAGING_FILE + ERROR_PAGE_FAULT_PAGING_FILE + + + + No documentation. + + + ERROR_CACHE_PAGE_LOCKED + ERROR_CACHE_PAGE_LOCKED + + + + No documentation. + + + ERROR_CRASH_DUMP + ERROR_CRASH_DUMP + + + + No documentation. + + + ERROR_BUFFER_ALL_ZEROS + ERROR_BUFFER_ALL_ZEROS + + + + No documentation. + + + ERROR_REPARSE_OBJECT + ERROR_REPARSE_OBJECT + + + + No documentation. + + + ERROR_RESOURCE_REQUIREMENTS_CHANGED + ERROR_RESOURCE_REQUIREMENTS_CHANGED + + + + No documentation. + + + ERROR_TRANSLATION_COMPLETE + ERROR_TRANSLATION_COMPLETE + + + + No documentation. + + + ERROR_NOTHING_TO_TERMINATE + ERROR_NOTHING_TO_TERMINATE + + + + No documentation. + + + ERROR_PROCESS_NOT_IN_JOB + ERROR_PROCESS_NOT_IN_JOB + + + + No documentation. + + + ERROR_PROCESS_IN_JOB + ERROR_PROCESS_IN_JOB + + + + No documentation. + + + ERROR_VOLSNAP_HIBERNATE_READY + ERROR_VOLSNAP_HIBERNATE_READY + + + + No documentation. + + + ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY + ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY + + + + No documentation. + + + ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED + ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED + + + + No documentation. + + + ERROR_INTERRUPT_STILL_CONNECTED + ERROR_INTERRUPT_STILL_CONNECTED + + + + No documentation. + + + ERROR_WAIT_FOR_OPLOCK + ERROR_WAIT_FOR_OPLOCK + + + + No documentation. + + + ERROR_DBG_EXCEPTION_HANDLED + ERROR_DBG_EXCEPTION_HANDLED + + + + No documentation. + + + ERROR_DBG_CONTINUE + ERROR_DBG_CONTINUE + + + + No documentation. + + + ERROR_CALLBACK_POP_STACK + ERROR_CALLBACK_POP_STACK + + + + No documentation. + + + ERROR_COMPRESSION_DISABLED + ERROR_COMPRESSION_DISABLED + + + + No documentation. + + + ERROR_CANTFETCHBACKWARDS + ERROR_CANTFETCHBACKWARDS + + + + No documentation. + + + ERROR_CANTSCROLLBACKWARDS + ERROR_CANTSCROLLBACKWARDS + + + + No documentation. + + + ERROR_ROWSNOTRELEASED + ERROR_ROWSNOTRELEASED + + + + No documentation. + + + ERROR_BAD_ACCESSOR_FLAGS + ERROR_BAD_ACCESSOR_FLAGS + + + + No documentation. + + + ERROR_ERRORS_ENCOUNTERED + ERROR_ERRORS_ENCOUNTERED + + + + No documentation. + + + ERROR_NOT_CAPABLE + ERROR_NOT_CAPABLE + + + + No documentation. + + + ERROR_REQUEST_OUT_OF_SEQUENCE + ERROR_REQUEST_OUT_OF_SEQUENCE + + + + No documentation. + + + ERROR_VERSION_PARSE_ERROR + ERROR_VERSION_PARSE_ERROR + + + + No documentation. + + + ERROR_BADSTARTPOSITION + ERROR_BADSTARTPOSITION + + + + No documentation. + + + ERROR_MEMORY_HARDWARE + ERROR_MEMORY_HARDWARE + + + + No documentation. + + + ERROR_DISK_REPAIR_DISABLED + ERROR_DISK_REPAIR_DISABLED + + + + No documentation. + + + ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE + ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE + + + + No documentation. + + + ERROR_SYSTEM_POWERSTATE_TRANSITION + ERROR_SYSTEM_POWERSTATE_TRANSITION + + + + No documentation. + + + ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION + ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION + + + + No documentation. + + + ERROR_MCA_EXCEPTION + ERROR_MCA_EXCEPTION + + + + No documentation. + + + ERROR_ACCESS_AUDIT_BY_POLICY + ERROR_ACCESS_AUDIT_BY_POLICY + + + + No documentation. + + + ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY + ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY + + + + No documentation. + + + ERROR_ABANDON_HIBERFILE + ERROR_ABANDON_HIBERFILE + + + + No documentation. + + + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED + + + + No documentation. + + + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR + + + + No documentation. + + + ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR + ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR + + + + No documentation. + + + ERROR_BAD_MCFG_TABLE + ERROR_BAD_MCFG_TABLE + + + + No documentation. + + + ERROR_DISK_REPAIR_REDIRECTED + ERROR_DISK_REPAIR_REDIRECTED + + + + No documentation. + + + ERROR_DISK_REPAIR_UNSUCCESSFUL + ERROR_DISK_REPAIR_UNSUCCESSFUL + + + + No documentation. + + + ERROR_CORRUPT_LOG_OVERFULL + ERROR_CORRUPT_LOG_OVERFULL + + + + No documentation. + + + ERROR_CORRUPT_LOG_CORRUPTED + ERROR_CORRUPT_LOG_CORRUPTED + + + + No documentation. + + + ERROR_CORRUPT_LOG_UNAVAILABLE + ERROR_CORRUPT_LOG_UNAVAILABLE + + + + No documentation. + + + ERROR_CORRUPT_LOG_DELETED_FULL + ERROR_CORRUPT_LOG_DELETED_FULL + + + + No documentation. + + + ERROR_CORRUPT_LOG_CLEARED + ERROR_CORRUPT_LOG_CLEARED + + + + No documentation. + + + ERROR_ORPHAN_NAME_EXHAUSTED + ERROR_ORPHAN_NAME_EXHAUSTED + + + + No documentation. + + + ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE + ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE + + + + No documentation. + + + ERROR_CANNOT_GRANT_REQUESTED_OPLOCK + ERROR_CANNOT_GRANT_REQUESTED_OPLOCK + + + + No documentation. + + + ERROR_CANNOT_BREAK_OPLOCK + ERROR_CANNOT_BREAK_OPLOCK + + + + No documentation. + + + ERROR_OPLOCK_HANDLE_CLOSED + ERROR_OPLOCK_HANDLE_CLOSED + + + + No documentation. + + + ERROR_NO_ACE_CONDITION + ERROR_NO_ACE_CONDITION + + + + No documentation. + + + ERROR_INVALID_ACE_CONDITION + ERROR_INVALID_ACE_CONDITION + + + + No documentation. + + + ERROR_FILE_HANDLE_REVOKED + ERROR_FILE_HANDLE_REVOKED + + + + No documentation. + + + ERROR_IMAGE_AT_DIFFERENT_BASE + ERROR_IMAGE_AT_DIFFERENT_BASE + + + + No documentation. + + + ERROR_EA_ACCESS_DENIED + ERROR_EA_ACCESS_DENIED + + + + No documentation. + + + ERROR_OPERATION_ABORTED + ERROR_OPERATION_ABORTED + + + + No documentation. + + + ERROR_IO_INCOMPLETE + ERROR_IO_INCOMPLETE + + + + No documentation. + + + ERROR_IO_PENDING + ERROR_IO_PENDING + + + + No documentation. + + + ERROR_NOACCESS + ERROR_NOACCESS + + + + No documentation. + + + ERROR_SWAPERROR + ERROR_SWAPERROR + + + + No documentation. + + + ERROR_STACK_OVERFLOW + ERROR_STACK_OVERFLOW + + + + No documentation. + + + ERROR_INVALID_MESSAGE + ERROR_INVALID_MESSAGE + + + + No documentation. + + + ERROR_CAN_NOT_COMPLETE + ERROR_CAN_NOT_COMPLETE + + + + No documentation. + + + ERROR_INVALID_FLAGS + ERROR_INVALID_FLAGS + + + + No documentation. + + + ERROR_UNRECOGNIZED_VOLUME + ERROR_UNRECOGNIZED_VOLUME + + + + No documentation. + + + ERROR_FILE_INVALID + ERROR_FILE_INVALID + + + + No documentation. + + + ERROR_FULLSCREEN_MODE + ERROR_FULLSCREEN_MODE + + + + No documentation. + + + ERROR_NO_TOKEN + ERROR_NO_TOKEN + + + + No documentation. + + + ERROR_BADDB + ERROR_BADDB + + + + No documentation. + + + ERROR_BADKEY + ERROR_BADKEY + + + + No documentation. + + + ERROR_CANTOPEN + ERROR_CANTOPEN + + + + No documentation. + + + ERROR_CANTREAD + ERROR_CANTREAD + + + + No documentation. + + + ERROR_CANTWRITE + ERROR_CANTWRITE + + + + No documentation. + + + ERROR_REGISTRY_RECOVERED + ERROR_REGISTRY_RECOVERED + + + + No documentation. + + + ERROR_REGISTRY_CORRUPT + ERROR_REGISTRY_CORRUPT + + + + No documentation. + + + ERROR_REGISTRY_IO_FAILED + ERROR_REGISTRY_IO_FAILED + + + + No documentation. + + + ERROR_NOT_REGISTRY_FILE + ERROR_NOT_REGISTRY_FILE + + + + No documentation. + + + ERROR_KEY_DELETED + ERROR_KEY_DELETED + + + + No documentation. + + + ERROR_NO_LOG_SPACE + ERROR_NO_LOG_SPACE + + + + No documentation. + + + ERROR_KEY_HAS_CHILDREN + ERROR_KEY_HAS_CHILDREN + + + + No documentation. + + + ERROR_CHILD_MUST_BE_VOLATILE + ERROR_CHILD_MUST_BE_VOLATILE + + + + No documentation. + + + ERROR_NOTIFY_ENUM_DIR + ERROR_NOTIFY_ENUM_DIR + + + + No documentation. + + + ERROR_DEPENDENT_SERVICES_RUNNING + ERROR_DEPENDENT_SERVICES_RUNNING + + + + No documentation. + + + ERROR_INVALID_SERVICE_CONTROL + ERROR_INVALID_SERVICE_CONTROL + + + + No documentation. + + + ERROR_SERVICE_REQUEST_TIMEOUT + ERROR_SERVICE_REQUEST_TIMEOUT + + + + No documentation. + + + ERROR_SERVICE_NO_THREAD + ERROR_SERVICE_NO_THREAD + + + + No documentation. + + + ERROR_SERVICE_DATABASE_LOCKED + ERROR_SERVICE_DATABASE_LOCKED + + + + No documentation. + + + ERROR_SERVICE_ALREADY_RUNNING + ERROR_SERVICE_ALREADY_RUNNING + + + + No documentation. + + + ERROR_INVALID_SERVICE_ACCOUNT + ERROR_INVALID_SERVICE_ACCOUNT + + + + No documentation. + + + ERROR_SERVICE_DISABLED + ERROR_SERVICE_DISABLED + + + + No documentation. + + + ERROR_CIRCULAR_DEPENDENCY + ERROR_CIRCULAR_DEPENDENCY + + + + No documentation. + + + ERROR_SERVICE_DOES_NOT_EXIST + ERROR_SERVICE_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_SERVICE_CANNOT_ACCEPT_CTRL + ERROR_SERVICE_CANNOT_ACCEPT_CTRL + + + + No documentation. + + + ERROR_SERVICE_NOT_ACTIVE + ERROR_SERVICE_NOT_ACTIVE + + + + No documentation. + + + ERROR_FAILED_SERVICE_CONTROLLER_CONNECT + ERROR_FAILED_SERVICE_CONTROLLER_CONNECT + + + + No documentation. + + + ERROR_EXCEPTION_IN_SERVICE + ERROR_EXCEPTION_IN_SERVICE + + + + No documentation. + + + ERROR_DATABASE_DOES_NOT_EXIST + ERROR_DATABASE_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_SERVICE_SPECIFIC_ERROR + ERROR_SERVICE_SPECIFIC_ERROR + + + + No documentation. + + + ERROR_PROCESS_ABORTED + ERROR_PROCESS_ABORTED + + + + No documentation. + + + ERROR_SERVICE_DEPENDENCY_FAIL + ERROR_SERVICE_DEPENDENCY_FAIL + + + + No documentation. + + + ERROR_SERVICE_LOGON_FAILED + ERROR_SERVICE_LOGON_FAILED + + + + No documentation. + + + ERROR_SERVICE_START_HANG + ERROR_SERVICE_START_HANG + + + + No documentation. + + + ERROR_INVALID_SERVICE_LOCK + ERROR_INVALID_SERVICE_LOCK + + + + No documentation. + + + ERROR_SERVICE_MARKED_FOR_DELETE + ERROR_SERVICE_MARKED_FOR_DELETE + + + + No documentation. + + + ERROR_SERVICE_EXISTS + ERROR_SERVICE_EXISTS + + + + No documentation. + + + ERROR_ALREADY_RUNNING_LKG + ERROR_ALREADY_RUNNING_LKG + + + + No documentation. + + + ERROR_SERVICE_DEPENDENCY_DELETED + ERROR_SERVICE_DEPENDENCY_DELETED + + + + No documentation. + + + ERROR_BOOT_ALREADY_ACCEPTED + ERROR_BOOT_ALREADY_ACCEPTED + + + + No documentation. + + + ERROR_SERVICE_NEVER_STARTED + ERROR_SERVICE_NEVER_STARTED + + + + No documentation. + + + ERROR_DUPLICATE_SERVICE_NAME + ERROR_DUPLICATE_SERVICE_NAME + + + + No documentation. + + + ERROR_DIFFERENT_SERVICE_ACCOUNT + ERROR_DIFFERENT_SERVICE_ACCOUNT + + + + No documentation. + + + ERROR_CANNOT_DETECT_DRIVER_FAILURE + ERROR_CANNOT_DETECT_DRIVER_FAILURE + + + + No documentation. + + + ERROR_CANNOT_DETECT_PROCESS_ABORT + ERROR_CANNOT_DETECT_PROCESS_ABORT + + + + No documentation. + + + ERROR_NO_RECOVERY_PROGRAM + ERROR_NO_RECOVERY_PROGRAM + + + + No documentation. + + + ERROR_SERVICE_NOT_IN_EXE + ERROR_SERVICE_NOT_IN_EXE + + + + No documentation. + + + ERROR_NOT_SAFEBOOT_SERVICE + ERROR_NOT_SAFEBOOT_SERVICE + + + + No documentation. + + + ERROR_END_OF_MEDIA + ERROR_END_OF_MEDIA + + + + No documentation. + + + ERROR_FILEMARK_DETECTED + ERROR_FILEMARK_DETECTED + + + + No documentation. + + + ERROR_BEGINNING_OF_MEDIA + ERROR_BEGINNING_OF_MEDIA + + + + No documentation. + + + ERROR_SETMARK_DETECTED + ERROR_SETMARK_DETECTED + + + + No documentation. + + + ERROR_NO_DATA_DETECTED + ERROR_NO_DATA_DETECTED + + + + No documentation. + + + ERROR_PARTITION_FAILURE + ERROR_PARTITION_FAILURE + + + + No documentation. + + + ERROR_INVALID_BLOCK_LENGTH + ERROR_INVALID_BLOCK_LENGTH + + + + No documentation. + + + ERROR_DEVICE_NOT_PARTITIONED + ERROR_DEVICE_NOT_PARTITIONED + + + + No documentation. + + + ERROR_UNABLE_TO_LOCK_MEDIA + ERROR_UNABLE_TO_LOCK_MEDIA + + + + No documentation. + + + ERROR_UNABLE_TO_UNLOAD_MEDIA + ERROR_UNABLE_TO_UNLOAD_MEDIA + + + + No documentation. + + + ERROR_MEDIA_CHANGED + ERROR_MEDIA_CHANGED + + + + No documentation. + + + ERROR_BUS_RESET + ERROR_BUS_RESET + + + + No documentation. + + + ERROR_NO_MEDIA_IN_DRIVE + ERROR_NO_MEDIA_IN_DRIVE + + + + No documentation. + + + ERROR_NO_UNICODE_TRANSLATION + ERROR_NO_UNICODE_TRANSLATION + + + + No documentation. + + + ERROR_DLL_INIT_FAILED + ERROR_DLL_INIT_FAILED + + + + No documentation. + + + ERROR_SHUTDOWN_IN_PROGRESS + ERROR_SHUTDOWN_IN_PROGRESS + + + + No documentation. + + + ERROR_NO_SHUTDOWN_IN_PROGRESS + ERROR_NO_SHUTDOWN_IN_PROGRESS + + + + No documentation. + + + ERROR_IO_DEVICE + ERROR_IO_DEVICE + + + + No documentation. + + + ERROR_SERIAL_NO_DEVICE + ERROR_SERIAL_NO_DEVICE + + + + No documentation. + + + ERROR_IRQ_BUSY + ERROR_IRQ_BUSY + + + + No documentation. + + + ERROR_MORE_WRITES + ERROR_MORE_WRITES + + + + No documentation. + + + ERROR_COUNTER_TIMEOUT + ERROR_COUNTER_TIMEOUT + + + + No documentation. + + + ERROR_FLOPPY_ID_MARK_NOT_FOUND + ERROR_FLOPPY_ID_MARK_NOT_FOUND + + + + No documentation. + + + ERROR_FLOPPY_WRONG_CYLINDER + ERROR_FLOPPY_WRONG_CYLINDER + + + + No documentation. + + + ERROR_FLOPPY_UNKNOWN_ERROR + ERROR_FLOPPY_UNKNOWN_ERROR + + + + No documentation. + + + ERROR_FLOPPY_BAD_REGISTERS + ERROR_FLOPPY_BAD_REGISTERS + + + + No documentation. + + + ERROR_DISK_RECALIBRATE_FAILED + ERROR_DISK_RECALIBRATE_FAILED + + + + No documentation. + + + ERROR_DISK_OPERATION_FAILED + ERROR_DISK_OPERATION_FAILED + + + + No documentation. + + + ERROR_DISK_RESET_FAILED + ERROR_DISK_RESET_FAILED + + + + No documentation. + + + ERROR_EOM_OVERFLOW + ERROR_EOM_OVERFLOW + + + + No documentation. + + + ERROR_NOT_ENOUGH_SERVER_MEMORY + ERROR_NOT_ENOUGH_SERVER_MEMORY + + + + No documentation. + + + ERROR_POSSIBLE_DEADLOCK + ERROR_POSSIBLE_DEADLOCK + + + + No documentation. + + + ERROR_MAPPED_ALIGNMENT + ERROR_MAPPED_ALIGNMENT + + + + No documentation. + + + ERROR_SET_POWER_STATE_VETOED + ERROR_SET_POWER_STATE_VETOED + + + + No documentation. + + + ERROR_SET_POWER_STATE_FAILED + ERROR_SET_POWER_STATE_FAILED + + + + No documentation. + + + ERROR_TOO_MANY_LINKS + ERROR_TOO_MANY_LINKS + + + + No documentation. + + + ERROR_OLD_WIN_VERSION + ERROR_OLD_WIN_VERSION + + + + No documentation. + + + ERROR_APP_WRONG_OS + ERROR_APP_WRONG_OS + + + + No documentation. + + + ERROR_SINGLE_INSTANCE_APP + ERROR_SINGLE_INSTANCE_APP + + + + No documentation. + + + ERROR_RMODE_APP + ERROR_RMODE_APP + + + + No documentation. + + + ERROR_INVALID_DLL + ERROR_INVALID_DLL + + + + No documentation. + + + ERROR_NO_ASSOCIATION + ERROR_NO_ASSOCIATION + + + + No documentation. + + + ERROR_DDE_FAIL + ERROR_DDE_FAIL + + + + No documentation. + + + ERROR_DLL_NOT_FOUND + ERROR_DLL_NOT_FOUND + + + + No documentation. + + + ERROR_NO_MORE_USER_HANDLES + ERROR_NO_MORE_USER_HANDLES + + + + No documentation. + + + ERROR_MESSAGE_SYNC_ONLY + ERROR_MESSAGE_SYNC_ONLY + + + + No documentation. + + + ERROR_SOURCE_ELEMENT_EMPTY + ERROR_SOURCE_ELEMENT_EMPTY + + + + No documentation. + + + ERROR_DESTINATION_ELEMENT_FULL + ERROR_DESTINATION_ELEMENT_FULL + + + + No documentation. + + + ERROR_ILLEGAL_ELEMENT_ADDRESS + ERROR_ILLEGAL_ELEMENT_ADDRESS + + + + No documentation. + + + ERROR_MAGAZINE_NOT_PRESENT + ERROR_MAGAZINE_NOT_PRESENT + + + + No documentation. + + + ERROR_DEVICE_REINITIALIZATION_NEEDED + ERROR_DEVICE_REINITIALIZATION_NEEDED + + + + No documentation. + + + ERROR_DEVICE_REQUIRES_CLEANING + ERROR_DEVICE_REQUIRES_CLEANING + + + + No documentation. + + + ERROR_DEVICE_DOOR_OPEN + ERROR_DEVICE_DOOR_OPEN + + + + No documentation. + + + ERROR_DEVICE_NOT_CONNECTED + ERROR_DEVICE_NOT_CONNECTED + + + + No documentation. + + + ERROR_NOT_FOUND + ERROR_NOT_FOUND + + + + No documentation. + + + ERROR_NO_MATCH + ERROR_NO_MATCH + + + + No documentation. + + + ERROR_SET_NOT_FOUND + ERROR_SET_NOT_FOUND + + + + No documentation. + + + ERROR_POINT_NOT_FOUND + ERROR_POINT_NOT_FOUND + + + + No documentation. + + + ERROR_NO_TRACKING_SERVICE + ERROR_NO_TRACKING_SERVICE + + + + No documentation. + + + ERROR_NO_VOLUME_ID + ERROR_NO_VOLUME_ID + + + + No documentation. + + + ERROR_UNABLE_TO_REMOVE_REPLACED + ERROR_UNABLE_TO_REMOVE_REPLACED + + + + No documentation. + + + ERROR_UNABLE_TO_MOVE_REPLACEMENT + ERROR_UNABLE_TO_MOVE_REPLACEMENT + + + + No documentation. + + + ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 + ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 + + + + No documentation. + + + ERROR_JOURNAL_DELETE_IN_PROGRESS + ERROR_JOURNAL_DELETE_IN_PROGRESS + + + + No documentation. + + + ERROR_JOURNAL_NOT_ACTIVE + ERROR_JOURNAL_NOT_ACTIVE + + + + No documentation. + + + ERROR_POTENTIAL_FILE_FOUND + ERROR_POTENTIAL_FILE_FOUND + + + + No documentation. + + + ERROR_JOURNAL_ENTRY_DELETED + ERROR_JOURNAL_ENTRY_DELETED + + + + No documentation. + + + ERROR_SHUTDOWN_IS_SCHEDULED + ERROR_SHUTDOWN_IS_SCHEDULED + + + + No documentation. + + + ERROR_SHUTDOWN_USERS_LOGGED_ON + ERROR_SHUTDOWN_USERS_LOGGED_ON + + + + No documentation. + + + ERROR_BAD_DEVICE + ERROR_BAD_DEVICE + + + + No documentation. + + + ERROR_CONNECTION_UNAVAIL + ERROR_CONNECTION_UNAVAIL + + + + No documentation. + + + ERROR_DEVICE_ALREADY_REMEMBERED + ERROR_DEVICE_ALREADY_REMEMBERED + + + + No documentation. + + + ERROR_NO_NET_OR_BAD_PATH + ERROR_NO_NET_OR_BAD_PATH + + + + No documentation. + + + ERROR_BAD_PROVIDER + ERROR_BAD_PROVIDER + + + + No documentation. + + + ERROR_CANNOT_OPEN_PROFILE + ERROR_CANNOT_OPEN_PROFILE + + + + No documentation. + + + ERROR_BAD_PROFILE + ERROR_BAD_PROFILE + + + + No documentation. + + + ERROR_NOT_CONTAINER + ERROR_NOT_CONTAINER + + + + No documentation. + + + ERROR_EXTENDED_ERROR + ERROR_EXTENDED_ERROR + + + + No documentation. + + + ERROR_INVALID_GROUPNAME + ERROR_INVALID_GROUPNAME + + + + No documentation. + + + ERROR_INVALID_COMPUTERNAME + ERROR_INVALID_COMPUTERNAME + + + + No documentation. + + + ERROR_INVALID_EVENTNAME + ERROR_INVALID_EVENTNAME + + + + No documentation. + + + ERROR_INVALID_DOMAINNAME + ERROR_INVALID_DOMAINNAME + + + + No documentation. + + + ERROR_INVALID_SERVICENAME + ERROR_INVALID_SERVICENAME + + + + No documentation. + + + ERROR_INVALID_NETNAME + ERROR_INVALID_NETNAME + + + + No documentation. + + + ERROR_INVALID_SHARENAME + ERROR_INVALID_SHARENAME + + + + No documentation. + + + ERROR_INVALID_PASSWORDNAME + ERROR_INVALID_PASSWORDNAME + + + + No documentation. + + + ERROR_INVALID_MESSAGENAME + ERROR_INVALID_MESSAGENAME + + + + No documentation. + + + ERROR_INVALID_MESSAGEDEST + ERROR_INVALID_MESSAGEDEST + + + + No documentation. + + + ERROR_SESSION_CREDENTIAL_CONFLICT + ERROR_SESSION_CREDENTIAL_CONFLICT + + + + No documentation. + + + ERROR_REMOTE_SESSION_LIMIT_EXCEEDED + ERROR_REMOTE_SESSION_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DUP_DOMAINNAME + ERROR_DUP_DOMAINNAME + + + + No documentation. + + + ERROR_NO_NETWORK + ERROR_NO_NETWORK + + + + No documentation. + + + ERROR_CANCELLED + ERROR_CANCELLED + + + + No documentation. + + + ERROR_USER_MAPPED_FILE + ERROR_USER_MAPPED_FILE + + + + No documentation. + + + ERROR_CONNECTION_REFUSED + ERROR_CONNECTION_REFUSED + + + + No documentation. + + + ERROR_GRACEFUL_DISCONNECT + ERROR_GRACEFUL_DISCONNECT + + + + No documentation. + + + ERROR_ADDRESS_ALREADY_ASSOCIATED + ERROR_ADDRESS_ALREADY_ASSOCIATED + + + + No documentation. + + + ERROR_ADDRESS_NOT_ASSOCIATED + ERROR_ADDRESS_NOT_ASSOCIATED + + + + No documentation. + + + ERROR_CONNECTION_INVALID + ERROR_CONNECTION_INVALID + + + + No documentation. + + + ERROR_CONNECTION_ACTIVE + ERROR_CONNECTION_ACTIVE + + + + No documentation. + + + ERROR_NETWORK_UNREACHABLE + ERROR_NETWORK_UNREACHABLE + + + + No documentation. + + + ERROR_HOST_UNREACHABLE + ERROR_HOST_UNREACHABLE + + + + No documentation. + + + ERROR_PROTOCOL_UNREACHABLE + ERROR_PROTOCOL_UNREACHABLE + + + + No documentation. + + + ERROR_PORT_UNREACHABLE + ERROR_PORT_UNREACHABLE + + + + No documentation. + + + ERROR_REQUEST_ABORTED + ERROR_REQUEST_ABORTED + + + + No documentation. + + + ERROR_CONNECTION_ABORTED + ERROR_CONNECTION_ABORTED + + + + No documentation. + + + ERROR_RETRY + ERROR_RETRY + + + + No documentation. + + + ERROR_CONNECTION_COUNT_LIMIT + ERROR_CONNECTION_COUNT_LIMIT + + + + No documentation. + + + ERROR_LOGIN_TIME_RESTRICTION + ERROR_LOGIN_TIME_RESTRICTION + + + + No documentation. + + + ERROR_LOGIN_WKSTA_RESTRICTION + ERROR_LOGIN_WKSTA_RESTRICTION + + + + No documentation. + + + ERROR_INCORRECT_ADDRESS + ERROR_INCORRECT_ADDRESS + + + + No documentation. + + + ERROR_ALREADY_REGISTERED + ERROR_ALREADY_REGISTERED + + + + No documentation. + + + ERROR_SERVICE_NOT_FOUND + ERROR_SERVICE_NOT_FOUND + + + + No documentation. + + + ERROR_NOT_AUTHENTICATED + ERROR_NOT_AUTHENTICATED + + + + No documentation. + + + ERROR_NOT_LOGGED_ON + ERROR_NOT_LOGGED_ON + + + + No documentation. + + + ERROR_CONTINUE + ERROR_CONTINUE + + + + No documentation. + + + ERROR_ALREADY_INITIALIZED + ERROR_ALREADY_INITIALIZED + + + + No documentation. + + + ERROR_NO_MORE_DEVICES + ERROR_NO_MORE_DEVICES + + + + No documentation. + + + ERROR_NO_SUCH_SITE + ERROR_NO_SUCH_SITE + + + + No documentation. + + + ERROR_DOMAIN_CONTROLLER_EXISTS + ERROR_DOMAIN_CONTROLLER_EXISTS + + + + No documentation. + + + ERROR_ONLY_IF_CONNECTED + ERROR_ONLY_IF_CONNECTED + + + + No documentation. + + + ERROR_OVERRIDE_NOCHANGES + ERROR_OVERRIDE_NOCHANGES + + + + No documentation. + + + ERROR_BAD_USER_PROFILE + ERROR_BAD_USER_PROFILE + + + + No documentation. + + + ERROR_NOT_SUPPORTED_ON_SBS + ERROR_NOT_SUPPORTED_ON_SBS + + + + No documentation. + + + ERROR_SERVER_SHUTDOWN_IN_PROGRESS + ERROR_SERVER_SHUTDOWN_IN_PROGRESS + + + + No documentation. + + + ERROR_HOST_DOWN + ERROR_HOST_DOWN + + + + No documentation. + + + ERROR_NON_ACCOUNT_SID + ERROR_NON_ACCOUNT_SID + + + + No documentation. + + + ERROR_NON_DOMAIN_SID + ERROR_NON_DOMAIN_SID + + + + No documentation. + + + ERROR_APPHELP_BLOCK + ERROR_APPHELP_BLOCK + + + + No documentation. + + + ERROR_ACCESS_DISABLED_BY_POLICY + ERROR_ACCESS_DISABLED_BY_POLICY + + + + No documentation. + + + ERROR_REG_NAT_CONSUMPTION + ERROR_REG_NAT_CONSUMPTION + + + + No documentation. + + + ERROR_CSCSHARE_OFFLINE + ERROR_CSCSHARE_OFFLINE + + + + No documentation. + + + ERROR_PKINIT_FAILURE + ERROR_PKINIT_FAILURE + + + + No documentation. + + + ERROR_SMARTCARD_SUBSYSTEM_FAILURE + ERROR_SMARTCARD_SUBSYSTEM_FAILURE + + + + No documentation. + + + ERROR_DOWNGRADE_DETECTED + ERROR_DOWNGRADE_DETECTED + + + + No documentation. + + + ERROR_MACHINE_LOCKED + ERROR_MACHINE_LOCKED + + + + No documentation. + + + ERROR_CALLBACK_SUPPLIED_INVALID_DATA + ERROR_CALLBACK_SUPPLIED_INVALID_DATA + + + + No documentation. + + + ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED + ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED + + + + No documentation. + + + ERROR_DRIVER_BLOCKED + ERROR_DRIVER_BLOCKED + + + + No documentation. + + + ERROR_INVALID_IMPORT_OF_NON_DLL + ERROR_INVALID_IMPORT_OF_NON_DLL + + + + No documentation. + + + ERROR_ACCESS_DISABLED_WEBBLADE + ERROR_ACCESS_DISABLED_WEBBLADE + + + + No documentation. + + + ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER + ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER + + + + No documentation. + + + ERROR_RECOVERY_FAILURE + ERROR_RECOVERY_FAILURE + + + + No documentation. + + + ERROR_ALREADY_FIBER + ERROR_ALREADY_FIBER + + + + No documentation. + + + ERROR_ALREADY_THREAD + ERROR_ALREADY_THREAD + + + + No documentation. + + + ERROR_STACK_BUFFER_OVERRUN + ERROR_STACK_BUFFER_OVERRUN + + + + No documentation. + + + ERROR_PARAMETER_QUOTA_EXCEEDED + ERROR_PARAMETER_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_DEBUGGER_INACTIVE + ERROR_DEBUGGER_INACTIVE + + + + No documentation. + + + ERROR_DELAY_LOAD_FAILED + ERROR_DELAY_LOAD_FAILED + + + + No documentation. + + + ERROR_VDM_DISALLOWED + ERROR_VDM_DISALLOWED + + + + No documentation. + + + ERROR_UNIDENTIFIED_ERROR + ERROR_UNIDENTIFIED_ERROR + + + + No documentation. + + + ERROR_INVALID_CRUNTIME_PARAMETER + ERROR_INVALID_CRUNTIME_PARAMETER + + + + No documentation. + + + ERROR_BEYOND_VDL + ERROR_BEYOND_VDL + + + + No documentation. + + + ERROR_INCOMPATIBLE_SERVICE_SID_TYPE + ERROR_INCOMPATIBLE_SERVICE_SID_TYPE + + + + No documentation. + + + ERROR_DRIVER_PROCESS_TERMINATED + ERROR_DRIVER_PROCESS_TERMINATED + + + + No documentation. + + + ERROR_IMPLEMENTATION_LIMIT + ERROR_IMPLEMENTATION_LIMIT + + + + No documentation. + + + ERROR_PROCESS_IS_PROTECTED + ERROR_PROCESS_IS_PROTECTED + + + + No documentation. + + + ERROR_SERVICE_NOTIFY_CLIENT_LAGGING + ERROR_SERVICE_NOTIFY_CLIENT_LAGGING + + + + No documentation. + + + ERROR_DISK_QUOTA_EXCEEDED + ERROR_DISK_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_CONTENT_BLOCKED + ERROR_CONTENT_BLOCKED + + + + No documentation. + + + ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE + ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE + + + + No documentation. + + + ERROR_APP_HANG + ERROR_APP_HANG + + + + No documentation. + + + ERROR_INVALID_LABEL + ERROR_INVALID_LABEL + + + + No documentation. + + + ERROR_NOT_ALL_ASSIGNED + ERROR_NOT_ALL_ASSIGNED + + + + No documentation. + + + ERROR_SOME_NOT_MAPPED + ERROR_SOME_NOT_MAPPED + + + + No documentation. + + + ERROR_NO_QUOTAS_FOR_ACCOUNT + ERROR_NO_QUOTAS_FOR_ACCOUNT + + + + No documentation. + + + ERROR_LOCAL_USER_SESSION_KEY + ERROR_LOCAL_USER_SESSION_KEY + + + + No documentation. + + + ERROR_NULL_LM_PASSWORD + ERROR_NULL_LM_PASSWORD + + + + No documentation. + + + ERROR_UNKNOWN_REVISION + ERROR_UNKNOWN_REVISION + + + + No documentation. + + + ERROR_REVISION_MISMATCH + ERROR_REVISION_MISMATCH + + + + No documentation. + + + ERROR_INVALID_OWNER + ERROR_INVALID_OWNER + + + + No documentation. + + + ERROR_INVALID_PRIMARY_GROUP + ERROR_INVALID_PRIMARY_GROUP + + + + No documentation. + + + ERROR_NO_IMPERSONATION_TOKEN + ERROR_NO_IMPERSONATION_TOKEN + + + + No documentation. + + + ERROR_CANT_DISABLE_MANDATORY + ERROR_CANT_DISABLE_MANDATORY + + + + No documentation. + + + ERROR_NO_LOGON_SERVERS + ERROR_NO_LOGON_SERVERS + + + + No documentation. + + + ERROR_NO_SUCH_LOGON_SESSION + ERROR_NO_SUCH_LOGON_SESSION + + + + No documentation. + + + ERROR_NO_SUCH_PRIVILEGE + ERROR_NO_SUCH_PRIVILEGE + + + + No documentation. + + + ERROR_PRIVILEGE_NOT_HELD + ERROR_PRIVILEGE_NOT_HELD + + + + No documentation. + + + ERROR_INVALID_ACCOUNT_NAME + ERROR_INVALID_ACCOUNT_NAME + + + + No documentation. + + + ERROR_USER_EXISTS + ERROR_USER_EXISTS + + + + No documentation. + + + ERROR_NO_SUCH_USER + ERROR_NO_SUCH_USER + + + + No documentation. + + + ERROR_GROUP_EXISTS + ERROR_GROUP_EXISTS + + + + No documentation. + + + ERROR_NO_SUCH_GROUP + ERROR_NO_SUCH_GROUP + + + + No documentation. + + + ERROR_MEMBER_IN_GROUP + ERROR_MEMBER_IN_GROUP + + + + No documentation. + + + ERROR_MEMBER_NOT_IN_GROUP + ERROR_MEMBER_NOT_IN_GROUP + + + + No documentation. + + + ERROR_LAST_ADMIN + ERROR_LAST_ADMIN + + + + No documentation. + + + ERROR_WRONG_PASSWORD + ERROR_WRONG_PASSWORD + + + + No documentation. + + + ERROR_ILL_FORMED_PASSWORD + ERROR_ILL_FORMED_PASSWORD + + + + No documentation. + + + ERROR_PASSWORD_RESTRICTION + ERROR_PASSWORD_RESTRICTION + + + + No documentation. + + + ERROR_LOGON_FAILURE + ERROR_LOGON_FAILURE + + + + No documentation. + + + ERROR_ACCOUNT_RESTRICTION + ERROR_ACCOUNT_RESTRICTION + + + + No documentation. + + + ERROR_INVALID_LOGON_HOURS + ERROR_INVALID_LOGON_HOURS + + + + No documentation. + + + ERROR_INVALID_WORKSTATION + ERROR_INVALID_WORKSTATION + + + + No documentation. + + + ERROR_PASSWORD_EXPIRED + ERROR_PASSWORD_EXPIRED + + + + No documentation. + + + ERROR_ACCOUNT_DISABLED + ERROR_ACCOUNT_DISABLED + + + + No documentation. + + + ERROR_NONE_MAPPED + ERROR_NONE_MAPPED + + + + No documentation. + + + ERROR_TOO_MANY_LUIDS_REQUESTED + ERROR_TOO_MANY_LUIDS_REQUESTED + + + + No documentation. + + + ERROR_LUIDS_EXHAUSTED + ERROR_LUIDS_EXHAUSTED + + + + No documentation. + + + ERROR_INVALID_SUB_AUTHORITY + ERROR_INVALID_SUB_AUTHORITY + + + + No documentation. + + + ERROR_INVALID_ACL + ERROR_INVALID_ACL + + + + No documentation. + + + ERROR_INVALID_SID + ERROR_INVALID_SID + + + + No documentation. + + + ERROR_INVALID_SECURITY_DESCR + ERROR_INVALID_SECURITY_DESCR + + + + No documentation. + + + ERROR_BAD_INHERITANCE_ACL + ERROR_BAD_INHERITANCE_ACL + + + + No documentation. + + + ERROR_SERVER_DISABLED + ERROR_SERVER_DISABLED + + + + No documentation. + + + ERROR_SERVER_NOT_DISABLED + ERROR_SERVER_NOT_DISABLED + + + + No documentation. + + + ERROR_INVALID_ID_AUTHORITY + ERROR_INVALID_ID_AUTHORITY + + + + No documentation. + + + ERROR_ALLOTTED_SPACE_EXCEEDED + ERROR_ALLOTTED_SPACE_EXCEEDED + + + + No documentation. + + + ERROR_INVALID_GROUP_ATTRIBUTES + ERROR_INVALID_GROUP_ATTRIBUTES + + + + No documentation. + + + ERROR_BAD_IMPERSONATION_LEVEL + ERROR_BAD_IMPERSONATION_LEVEL + + + + No documentation. + + + ERROR_CANT_OPEN_ANONYMOUS + ERROR_CANT_OPEN_ANONYMOUS + + + + No documentation. + + + ERROR_BAD_VALIDATION_CLASS + ERROR_BAD_VALIDATION_CLASS + + + + No documentation. + + + ERROR_BAD_TOKEN_TYPE + ERROR_BAD_TOKEN_TYPE + + + + No documentation. + + + ERROR_NO_SECURITY_ON_OBJECT + ERROR_NO_SECURITY_ON_OBJECT + + + + No documentation. + + + ERROR_CANT_ACCESS_DOMAIN_INFO + ERROR_CANT_ACCESS_DOMAIN_INFO + + + + No documentation. + + + ERROR_INVALID_SERVER_STATE + ERROR_INVALID_SERVER_STATE + + + + No documentation. + + + ERROR_INVALID_DOMAIN_STATE + ERROR_INVALID_DOMAIN_STATE + + + + No documentation. + + + ERROR_INVALID_DOMAIN_ROLE + ERROR_INVALID_DOMAIN_ROLE + + + + No documentation. + + + ERROR_NO_SUCH_DOMAIN + ERROR_NO_SUCH_DOMAIN + + + + No documentation. + + + ERROR_DOMAIN_EXISTS + ERROR_DOMAIN_EXISTS + + + + No documentation. + + + ERROR_DOMAIN_LIMIT_EXCEEDED + ERROR_DOMAIN_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_INTERNAL_DB_CORRUPTION + ERROR_INTERNAL_DB_CORRUPTION + + + + No documentation. + + + ERROR_INTERNAL_ERROR + ERROR_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GENERIC_NOT_MAPPED + ERROR_GENERIC_NOT_MAPPED + + + + No documentation. + + + ERROR_BAD_DESCRIPTOR_FORMAT + ERROR_BAD_DESCRIPTOR_FORMAT + + + + No documentation. + + + ERROR_NOT_LOGON_PROCESS + ERROR_NOT_LOGON_PROCESS + + + + No documentation. + + + ERROR_LOGON_SESSION_EXISTS + ERROR_LOGON_SESSION_EXISTS + + + + No documentation. + + + ERROR_NO_SUCH_PACKAGE + ERROR_NO_SUCH_PACKAGE + + + + No documentation. + + + ERROR_BAD_LOGON_SESSION_STATE + ERROR_BAD_LOGON_SESSION_STATE + + + + No documentation. + + + ERROR_LOGON_SESSION_COLLISION + ERROR_LOGON_SESSION_COLLISION + + + + No documentation. + + + ERROR_INVALID_LOGON_TYPE + ERROR_INVALID_LOGON_TYPE + + + + No documentation. + + + ERROR_CANNOT_IMPERSONATE + ERROR_CANNOT_IMPERSONATE + + + + No documentation. + + + ERROR_RXACT_INVALID_STATE + ERROR_RXACT_INVALID_STATE + + + + No documentation. + + + ERROR_RXACT_COMMIT_FAILURE + ERROR_RXACT_COMMIT_FAILURE + + + + No documentation. + + + ERROR_SPECIAL_ACCOUNT + ERROR_SPECIAL_ACCOUNT + + + + No documentation. + + + ERROR_SPECIAL_GROUP + ERROR_SPECIAL_GROUP + + + + No documentation. + + + ERROR_SPECIAL_USER + ERROR_SPECIAL_USER + + + + No documentation. + + + ERROR_MEMBERS_PRIMARY_GROUP + ERROR_MEMBERS_PRIMARY_GROUP + + + + No documentation. + + + ERROR_TOKEN_ALREADY_IN_USE + ERROR_TOKEN_ALREADY_IN_USE + + + + No documentation. + + + ERROR_NO_SUCH_ALIAS + ERROR_NO_SUCH_ALIAS + + + + No documentation. + + + ERROR_MEMBER_NOT_IN_ALIAS + ERROR_MEMBER_NOT_IN_ALIAS + + + + No documentation. + + + ERROR_MEMBER_IN_ALIAS + ERROR_MEMBER_IN_ALIAS + + + + No documentation. + + + ERROR_ALIAS_EXISTS + ERROR_ALIAS_EXISTS + + + + No documentation. + + + ERROR_LOGON_NOT_GRANTED + ERROR_LOGON_NOT_GRANTED + + + + No documentation. + + + ERROR_TOO_MANY_SECRETS + ERROR_TOO_MANY_SECRETS + + + + No documentation. + + + ERROR_SECRET_TOO_LONG + ERROR_SECRET_TOO_LONG + + + + No documentation. + + + ERROR_INTERNAL_DB_ERROR + ERROR_INTERNAL_DB_ERROR + + + + No documentation. + + + ERROR_TOO_MANY_CONTEXT_IDS + ERROR_TOO_MANY_CONTEXT_IDS + + + + No documentation. + + + ERROR_LOGON_TYPE_NOT_GRANTED + ERROR_LOGON_TYPE_NOT_GRANTED + + + + No documentation. + + + ERROR_NT_CROSS_ENCRYPTION_REQUIRED + ERROR_NT_CROSS_ENCRYPTION_REQUIRED + + + + No documentation. + + + ERROR_NO_SUCH_MEMBER + ERROR_NO_SUCH_MEMBER + + + + No documentation. + + + ERROR_INVALID_MEMBER + ERROR_INVALID_MEMBER + + + + No documentation. + + + ERROR_TOO_MANY_SIDS + ERROR_TOO_MANY_SIDS + + + + No documentation. + + + ERROR_LM_CROSS_ENCRYPTION_REQUIRED + ERROR_LM_CROSS_ENCRYPTION_REQUIRED + + + + No documentation. + + + ERROR_NO_INHERITANCE + ERROR_NO_INHERITANCE + + + + No documentation. + + + ERROR_FILE_CORRUPT + ERROR_FILE_CORRUPT + + + + No documentation. + + + ERROR_DISK_CORRUPT + ERROR_DISK_CORRUPT + + + + No documentation. + + + ERROR_NO_USER_SESSION_KEY + ERROR_NO_USER_SESSION_KEY + + + + No documentation. + + + ERROR_LICENSE_QUOTA_EXCEEDED + ERROR_LICENSE_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_WRONG_TARGET_NAME + ERROR_WRONG_TARGET_NAME + + + + No documentation. + + + ERROR_MUTUAL_AUTH_FAILED + ERROR_MUTUAL_AUTH_FAILED + + + + No documentation. + + + ERROR_TIME_SKEW + ERROR_TIME_SKEW + + + + No documentation. + + + ERROR_CURRENT_DOMAIN_NOT_ALLOWED + ERROR_CURRENT_DOMAIN_NOT_ALLOWED + + + + No documentation. + + + ERROR_INVALID_WINDOW_HANDLE + ERROR_INVALID_WINDOW_HANDLE + + + + No documentation. + + + ERROR_INVALID_MENU_HANDLE + ERROR_INVALID_MENU_HANDLE + + + + No documentation. + + + ERROR_INVALID_CURSOR_HANDLE + ERROR_INVALID_CURSOR_HANDLE + + + + No documentation. + + + ERROR_INVALID_ACCEL_HANDLE + ERROR_INVALID_ACCEL_HANDLE + + + + No documentation. + + + ERROR_INVALID_HOOK_HANDLE + ERROR_INVALID_HOOK_HANDLE + + + + No documentation. + + + ERROR_INVALID_DWP_HANDLE + ERROR_INVALID_DWP_HANDLE + + + + No documentation. + + + ERROR_TLW_WITH_WSCHILD + ERROR_TLW_WITH_WSCHILD + + + + No documentation. + + + ERROR_CANNOT_FIND_WND_CLASS + ERROR_CANNOT_FIND_WND_CLASS + + + + No documentation. + + + ERROR_WINDOW_OF_OTHER_THREAD + ERROR_WINDOW_OF_OTHER_THREAD + + + + No documentation. + + + ERROR_HOTKEY_ALREADY_REGISTERED + ERROR_HOTKEY_ALREADY_REGISTERED + + + + No documentation. + + + ERROR_CLASS_ALREADY_EXISTS + ERROR_CLASS_ALREADY_EXISTS + + + + No documentation. + + + ERROR_CLASS_DOES_NOT_EXIST + ERROR_CLASS_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_CLASS_HAS_WINDOWS + ERROR_CLASS_HAS_WINDOWS + + + + No documentation. + + + ERROR_INVALID_INDEX + ERROR_INVALID_INDEX + + + + No documentation. + + + ERROR_INVALID_ICON_HANDLE + ERROR_INVALID_ICON_HANDLE + + + + No documentation. + + + ERROR_PRIVATE_DIALOG_INDEX + ERROR_PRIVATE_DIALOG_INDEX + + + + No documentation. + + + ERROR_LISTBOX_ID_NOT_FOUND + ERROR_LISTBOX_ID_NOT_FOUND + + + + No documentation. + + + ERROR_NO_WILDCARD_CHARACTERS + ERROR_NO_WILDCARD_CHARACTERS + + + + No documentation. + + + ERROR_CLIPBOARD_NOT_OPEN + ERROR_CLIPBOARD_NOT_OPEN + + + + No documentation. + + + ERROR_HOTKEY_NOT_REGISTERED + ERROR_HOTKEY_NOT_REGISTERED + + + + No documentation. + + + ERROR_WINDOW_NOT_DIALOG + ERROR_WINDOW_NOT_DIALOG + + + + No documentation. + + + ERROR_CONTROL_ID_NOT_FOUND + ERROR_CONTROL_ID_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_COMBOBOX_MESSAGE + ERROR_INVALID_COMBOBOX_MESSAGE + + + + No documentation. + + + ERROR_WINDOW_NOT_COMBOBOX + ERROR_WINDOW_NOT_COMBOBOX + + + + No documentation. + + + ERROR_INVALID_EDIT_HEIGHT + ERROR_INVALID_EDIT_HEIGHT + + + + No documentation. + + + ERROR_DC_NOT_FOUND + ERROR_DC_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_HOOK_FILTER + ERROR_INVALID_HOOK_FILTER + + + + No documentation. + + + ERROR_INVALID_FILTER_PROC + ERROR_INVALID_FILTER_PROC + + + + No documentation. + + + ERROR_HOOK_NEEDS_HMOD + ERROR_HOOK_NEEDS_HMOD + + + + No documentation. + + + ERROR_GLOBAL_ONLY_HOOK + ERROR_GLOBAL_ONLY_HOOK + + + + No documentation. + + + ERROR_JOURNAL_HOOK_SET + ERROR_JOURNAL_HOOK_SET + + + + No documentation. + + + ERROR_HOOK_NOT_INSTALLED + ERROR_HOOK_NOT_INSTALLED + + + + No documentation. + + + ERROR_INVALID_LB_MESSAGE + ERROR_INVALID_LB_MESSAGE + + + + No documentation. + + + ERROR_SETCOUNT_ON_BAD_LB + ERROR_SETCOUNT_ON_BAD_LB + + + + No documentation. + + + ERROR_LB_WITHOUT_TABSTOPS + ERROR_LB_WITHOUT_TABSTOPS + + + + No documentation. + + + ERROR_DESTROY_OBJECT_OF_OTHER_THREAD + ERROR_DESTROY_OBJECT_OF_OTHER_THREAD + + + + No documentation. + + + ERROR_CHILD_WINDOW_MENU + ERROR_CHILD_WINDOW_MENU + + + + No documentation. + + + ERROR_NO_SYSTEM_MENU + ERROR_NO_SYSTEM_MENU + + + + No documentation. + + + ERROR_INVALID_MSGBOX_STYLE + ERROR_INVALID_MSGBOX_STYLE + + + + No documentation. + + + ERROR_INVALID_SPI_VALUE + ERROR_INVALID_SPI_VALUE + + + + No documentation. + + + ERROR_SCREEN_ALREADY_LOCKED + ERROR_SCREEN_ALREADY_LOCKED + + + + No documentation. + + + ERROR_HWNDS_HAVE_DIFF_PARENT + ERROR_HWNDS_HAVE_DIFF_PARENT + + + + No documentation. + + + ERROR_NOT_CHILD_WINDOW + ERROR_NOT_CHILD_WINDOW + + + + No documentation. + + + ERROR_INVALID_GW_COMMAND + ERROR_INVALID_GW_COMMAND + + + + No documentation. + + + ERROR_INVALID_THREAD_ID + ERROR_INVALID_THREAD_ID + + + + No documentation. + + + ERROR_NON_MDICHILD_WINDOW + ERROR_NON_MDICHILD_WINDOW + + + + No documentation. + + + ERROR_POPUP_ALREADY_ACTIVE + ERROR_POPUP_ALREADY_ACTIVE + + + + No documentation. + + + ERROR_NO_SCROLLBARS + ERROR_NO_SCROLLBARS + + + + No documentation. + + + ERROR_INVALID_SCROLLBAR_RANGE + ERROR_INVALID_SCROLLBAR_RANGE + + + + No documentation. + + + ERROR_INVALID_SHOWWIN_COMMAND + ERROR_INVALID_SHOWWIN_COMMAND + + + + No documentation. + + + ERROR_NO_SYSTEM_RESOURCES + ERROR_NO_SYSTEM_RESOURCES + + + + No documentation. + + + ERROR_NONPAGED_SYSTEM_RESOURCES + ERROR_NONPAGED_SYSTEM_RESOURCES + + + + No documentation. + + + ERROR_PAGED_SYSTEM_RESOURCES + ERROR_PAGED_SYSTEM_RESOURCES + + + + No documentation. + + + ERROR_WORKING_SET_QUOTA + ERROR_WORKING_SET_QUOTA + + + + No documentation. + + + ERROR_PAGEFILE_QUOTA + ERROR_PAGEFILE_QUOTA + + + + No documentation. + + + ERROR_COMMITMENT_LIMIT + ERROR_COMMITMENT_LIMIT + + + + No documentation. + + + ERROR_MENU_ITEM_NOT_FOUND + ERROR_MENU_ITEM_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_KEYBOARD_HANDLE + ERROR_INVALID_KEYBOARD_HANDLE + + + + No documentation. + + + ERROR_HOOK_TYPE_NOT_ALLOWED + ERROR_HOOK_TYPE_NOT_ALLOWED + + + + No documentation. + + + ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION + ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION + + + + No documentation. + + + ERROR_TIMEOUT + ERROR_TIMEOUT + + + + No documentation. + + + ERROR_INVALID_MONITOR_HANDLE + ERROR_INVALID_MONITOR_HANDLE + + + + No documentation. + + + ERROR_INCORRECT_SIZE + ERROR_INCORRECT_SIZE + + + + No documentation. + + + ERROR_SYMLINK_CLASS_DISABLED + ERROR_SYMLINK_CLASS_DISABLED + + + + No documentation. + + + ERROR_SYMLINK_NOT_SUPPORTED + ERROR_SYMLINK_NOT_SUPPORTED + + + + No documentation. + + + ERROR_XML_PARSE_ERROR + ERROR_XML_PARSE_ERROR + + + + No documentation. + + + ERROR_XMLDSIG_ERROR + ERROR_XMLDSIG_ERROR + + + + No documentation. + + + ERROR_RESTART_APPLICATION + ERROR_RESTART_APPLICATION + + + + No documentation. + + + ERROR_WRONG_COMPARTMENT + ERROR_WRONG_COMPARTMENT + + + + No documentation. + + + ERROR_AUTHIP_FAILURE + ERROR_AUTHIP_FAILURE + + + + No documentation. + + + ERROR_NO_NVRAM_RESOURCES + ERROR_NO_NVRAM_RESOURCES + + + + No documentation. + + + ERROR_NOT_GUI_PROCESS + ERROR_NOT_GUI_PROCESS + + + + No documentation. + + + ERROR_EVENTLOG_FILE_CORRUPT + ERROR_EVENTLOG_FILE_CORRUPT + + + + No documentation. + + + ERROR_EVENTLOG_CANT_START + ERROR_EVENTLOG_CANT_START + + + + No documentation. + + + ERROR_LOG_FILE_FULL + ERROR_LOG_FILE_FULL + + + + No documentation. + + + ERROR_EVENTLOG_FILE_CHANGED + ERROR_EVENTLOG_FILE_CHANGED + + + + No documentation. + + + ERROR_INVALID_TASK_NAME + ERROR_INVALID_TASK_NAME + + + + No documentation. + + + ERROR_INVALID_TASK_INDEX + ERROR_INVALID_TASK_INDEX + + + + No documentation. + + + ERROR_THREAD_ALREADY_IN_TASK + ERROR_THREAD_ALREADY_IN_TASK + + + + No documentation. + + + ERROR_INSTALL_SERVICE_FAILURE + ERROR_INSTALL_SERVICE_FAILURE + + + + No documentation. + + + ERROR_INSTALL_USEREXIT + ERROR_INSTALL_USEREXIT + + + + No documentation. + + + ERROR_INSTALL_FAILURE + ERROR_INSTALL_FAILURE + + + + No documentation. + + + ERROR_INSTALL_SUSPEND + ERROR_INSTALL_SUSPEND + + + + No documentation. + + + ERROR_UNKNOWN_PRODUCT + ERROR_UNKNOWN_PRODUCT + + + + No documentation. + + + ERROR_UNKNOWN_FEATURE + ERROR_UNKNOWN_FEATURE + + + + No documentation. + + + ERROR_UNKNOWN_COMPONENT + ERROR_UNKNOWN_COMPONENT + + + + No documentation. + + + ERROR_UNKNOWN_PROPERTY + ERROR_UNKNOWN_PROPERTY + + + + No documentation. + + + ERROR_INVALID_HANDLE_STATE + ERROR_INVALID_HANDLE_STATE + + + + No documentation. + + + ERROR_BAD_CONFIGURATION + ERROR_BAD_CONFIGURATION + + + + No documentation. + + + ERROR_INDEX_ABSENT + ERROR_INDEX_ABSENT + + + + No documentation. + + + ERROR_INSTALL_SOURCE_ABSENT + ERROR_INSTALL_SOURCE_ABSENT + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_VERSION + ERROR_INSTALL_PACKAGE_VERSION + + + + No documentation. + + + ERROR_PRODUCT_UNINSTALLED + ERROR_PRODUCT_UNINSTALLED + + + + No documentation. + + + ERROR_BAD_QUERY_SYNTAX + ERROR_BAD_QUERY_SYNTAX + + + + No documentation. + + + ERROR_INVALID_FIELD + ERROR_INVALID_FIELD + + + + No documentation. + + + ERROR_DEVICE_REMOVED + ERROR_DEVICE_REMOVED + + + + No documentation. + + + ERROR_INSTALL_ALREADY_RUNNING + ERROR_INSTALL_ALREADY_RUNNING + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_OPEN_FAILED + ERROR_INSTALL_PACKAGE_OPEN_FAILED + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_INVALID + ERROR_INSTALL_PACKAGE_INVALID + + + + No documentation. + + + ERROR_INSTALL_UI_FAILURE + ERROR_INSTALL_UI_FAILURE + + + + No documentation. + + + ERROR_INSTALL_LOG_FAILURE + ERROR_INSTALL_LOG_FAILURE + + + + No documentation. + + + ERROR_INSTALL_LANGUAGE_UNSUPPORTED + ERROR_INSTALL_LANGUAGE_UNSUPPORTED + + + + No documentation. + + + ERROR_INSTALL_TRANSFORM_FAILURE + ERROR_INSTALL_TRANSFORM_FAILURE + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_REJECTED + ERROR_INSTALL_PACKAGE_REJECTED + + + + No documentation. + + + ERROR_FUNCTION_NOT_CALLED + ERROR_FUNCTION_NOT_CALLED + + + + No documentation. + + + ERROR_FUNCTION_FAILED + ERROR_FUNCTION_FAILED + + + + No documentation. + + + ERROR_INVALID_TABLE + ERROR_INVALID_TABLE + + + + No documentation. + + + ERROR_DATATYPE_MISMATCH + ERROR_DATATYPE_MISMATCH + + + + No documentation. + + + ERROR_UNSUPPORTED_TYPE + ERROR_UNSUPPORTED_TYPE + + + + No documentation. + + + ERROR_CREATE_FAILED + ERROR_CREATE_FAILED + + + + No documentation. + + + ERROR_INSTALL_TEMP_UNWRITABLE + ERROR_INSTALL_TEMP_UNWRITABLE + + + + No documentation. + + + ERROR_INSTALL_PLATFORM_UNSUPPORTED + ERROR_INSTALL_PLATFORM_UNSUPPORTED + + + + No documentation. + + + ERROR_INSTALL_NOTUSED + ERROR_INSTALL_NOTUSED + + + + No documentation. + + + ERROR_PATCH_PACKAGE_OPEN_FAILED + ERROR_PATCH_PACKAGE_OPEN_FAILED + + + + No documentation. + + + ERROR_PATCH_PACKAGE_INVALID + ERROR_PATCH_PACKAGE_INVALID + + + + No documentation. + + + ERROR_PATCH_PACKAGE_UNSUPPORTED + ERROR_PATCH_PACKAGE_UNSUPPORTED + + + + No documentation. + + + ERROR_PRODUCT_VERSION + ERROR_PRODUCT_VERSION + + + + No documentation. + + + ERROR_INVALID_COMMAND_LINE + ERROR_INVALID_COMMAND_LINE + + + + No documentation. + + + ERROR_INSTALL_REMOTE_DISALLOWED + ERROR_INSTALL_REMOTE_DISALLOWED + + + + No documentation. + + + ERROR_SUCCESS_REBOOT_INITIATED + ERROR_SUCCESS_REBOOT_INITIATED + + + + No documentation. + + + ERROR_PATCH_TARGET_NOT_FOUND + ERROR_PATCH_TARGET_NOT_FOUND + + + + No documentation. + + + ERROR_PATCH_PACKAGE_REJECTED + ERROR_PATCH_PACKAGE_REJECTED + + + + No documentation. + + + ERROR_INSTALL_TRANSFORM_REJECTED + ERROR_INSTALL_TRANSFORM_REJECTED + + + + No documentation. + + + ERROR_INSTALL_REMOTE_PROHIBITED + ERROR_INSTALL_REMOTE_PROHIBITED + + + + No documentation. + + + ERROR_PATCH_REMOVAL_UNSUPPORTED + ERROR_PATCH_REMOVAL_UNSUPPORTED + + + + No documentation. + + + ERROR_UNKNOWN_PATCH + ERROR_UNKNOWN_PATCH + + + + No documentation. + + + ERROR_PATCH_NO_SEQUENCE + ERROR_PATCH_NO_SEQUENCE + + + + No documentation. + + + ERROR_PATCH_REMOVAL_DISALLOWED + ERROR_PATCH_REMOVAL_DISALLOWED + + + + No documentation. + + + ERROR_INVALID_PATCH_XML + ERROR_INVALID_PATCH_XML + + + + No documentation. + + + ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT + ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT + + + + No documentation. + + + ERROR_INSTALL_SERVICE_SAFEBOOT + ERROR_INSTALL_SERVICE_SAFEBOOT + + + + No documentation. + + + ERROR_FAIL_FAST_EXCEPTION + ERROR_FAIL_FAST_EXCEPTION + + + + No documentation. + + + ERROR_INSTALL_REJECTED + ERROR_INSTALL_REJECTED + + + + No documentation. + + + ERROR_INVALID_USER_BUFFER + ERROR_INVALID_USER_BUFFER + + + + No documentation. + + + ERROR_UNRECOGNIZED_MEDIA + ERROR_UNRECOGNIZED_MEDIA + + + + No documentation. + + + ERROR_NO_TRUST_LSA_SECRET + ERROR_NO_TRUST_LSA_SECRET + + + + No documentation. + + + ERROR_NO_TRUST_SAM_ACCOUNT + ERROR_NO_TRUST_SAM_ACCOUNT + + + + No documentation. + + + ERROR_TRUSTED_DOMAIN_FAILURE + ERROR_TRUSTED_DOMAIN_FAILURE + + + + No documentation. + + + ERROR_TRUSTED_RELATIONSHIP_FAILURE + ERROR_TRUSTED_RELATIONSHIP_FAILURE + + + + No documentation. + + + ERROR_TRUST_FAILURE + ERROR_TRUST_FAILURE + + + + No documentation. + + + ERROR_NETLOGON_NOT_STARTED + ERROR_NETLOGON_NOT_STARTED + + + + No documentation. + + + ERROR_ACCOUNT_EXPIRED + ERROR_ACCOUNT_EXPIRED + + + + No documentation. + + + ERROR_REDIRECTOR_HAS_OPEN_HANDLES + ERROR_REDIRECTOR_HAS_OPEN_HANDLES + + + + No documentation. + + + ERROR_PRINTER_DRIVER_ALREADY_INSTALLED + ERROR_PRINTER_DRIVER_ALREADY_INSTALLED + + + + No documentation. + + + ERROR_UNKNOWN_PORT + ERROR_UNKNOWN_PORT + + + + No documentation. + + + ERROR_UNKNOWN_PRINTER_DRIVER + ERROR_UNKNOWN_PRINTER_DRIVER + + + + No documentation. + + + ERROR_UNKNOWN_PRINTPROCESSOR + ERROR_UNKNOWN_PRINTPROCESSOR + + + + No documentation. + + + ERROR_INVALID_SEPARATOR_FILE + ERROR_INVALID_SEPARATOR_FILE + + + + No documentation. + + + ERROR_INVALID_PRIORITY + ERROR_INVALID_PRIORITY + + + + No documentation. + + + ERROR_INVALID_PRINTER_NAME + ERROR_INVALID_PRINTER_NAME + + + + No documentation. + + + ERROR_PRINTER_ALREADY_EXISTS + ERROR_PRINTER_ALREADY_EXISTS + + + + No documentation. + + + ERROR_INVALID_PRINTER_COMMAND + ERROR_INVALID_PRINTER_COMMAND + + + + No documentation. + + + ERROR_INVALID_DATATYPE + ERROR_INVALID_DATATYPE + + + + No documentation. + + + ERROR_INVALID_ENVIRONMENT + ERROR_INVALID_ENVIRONMENT + + + + No documentation. + + + ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT + ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT + + + + No documentation. + + + ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT + ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT + + + + No documentation. + + + ERROR_NOLOGON_SERVER_TRUST_ACCOUNT + ERROR_NOLOGON_SERVER_TRUST_ACCOUNT + + + + No documentation. + + + ERROR_DOMAIN_TRUST_INCONSISTENT + ERROR_DOMAIN_TRUST_INCONSISTENT + + + + No documentation. + + + ERROR_SERVER_HAS_OPEN_HANDLES + ERROR_SERVER_HAS_OPEN_HANDLES + + + + No documentation. + + + ERROR_RESOURCE_DATA_NOT_FOUND + ERROR_RESOURCE_DATA_NOT_FOUND + + + + No documentation. + + + ERROR_RESOURCE_TYPE_NOT_FOUND + ERROR_RESOURCE_TYPE_NOT_FOUND + + + + No documentation. + + + ERROR_RESOURCE_NAME_NOT_FOUND + ERROR_RESOURCE_NAME_NOT_FOUND + + + + No documentation. + + + ERROR_RESOURCE_LANG_NOT_FOUND + ERROR_RESOURCE_LANG_NOT_FOUND + + + + No documentation. + + + ERROR_NOT_ENOUGH_QUOTA + ERROR_NOT_ENOUGH_QUOTA + + + + No documentation. + + + ERROR_INVALID_TIME + ERROR_INVALID_TIME + + + + No documentation. + + + ERROR_INVALID_FORM_NAME + ERROR_INVALID_FORM_NAME + + + + No documentation. + + + ERROR_INVALID_FORM_SIZE + ERROR_INVALID_FORM_SIZE + + + + No documentation. + + + ERROR_ALREADY_WAITING + ERROR_ALREADY_WAITING + + + + No documentation. + + + ERROR_PRINTER_DELETED + ERROR_PRINTER_DELETED + + + + No documentation. + + + ERROR_INVALID_PRINTER_STATE + ERROR_INVALID_PRINTER_STATE + + + + No documentation. + + + ERROR_PASSWORD_MUST_CHANGE + ERROR_PASSWORD_MUST_CHANGE + + + + No documentation. + + + ERROR_DOMAIN_CONTROLLER_NOT_FOUND + ERROR_DOMAIN_CONTROLLER_NOT_FOUND + + + + No documentation. + + + ERROR_ACCOUNT_LOCKED_OUT + ERROR_ACCOUNT_LOCKED_OUT + + + + No documentation. + + + ERROR_NO_SITENAME + ERROR_NO_SITENAME + + + + No documentation. + + + ERROR_CANT_ACCESS_FILE + ERROR_CANT_ACCESS_FILE + + + + No documentation. + + + ERROR_CANT_RESOLVE_FILENAME + ERROR_CANT_RESOLVE_FILENAME + + + + No documentation. + + + ERROR_KM_DRIVER_BLOCKED + ERROR_KM_DRIVER_BLOCKED + + + + No documentation. + + + ERROR_CONTEXT_EXPIRED + ERROR_CONTEXT_EXPIRED + + + + No documentation. + + + ERROR_PER_USER_TRUST_QUOTA_EXCEEDED + ERROR_PER_USER_TRUST_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED + ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED + ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_AUTHENTICATION_FIREWALL_FAILED + ERROR_AUTHENTICATION_FIREWALL_FAILED + + + + No documentation. + + + ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED + ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED + + + + No documentation. + + + ERROR_NTLM_BLOCKED + ERROR_NTLM_BLOCKED + + + + No documentation. + + + ERROR_PASSWORD_CHANGE_REQUIRED + ERROR_PASSWORD_CHANGE_REQUIRED + + + + No documentation. + + + ERROR_INVALID_PIXEL_FORMAT + ERROR_INVALID_PIXEL_FORMAT + + + + No documentation. + + + ERROR_BAD_DRIVER + ERROR_BAD_DRIVER + + + + No documentation. + + + ERROR_INVALID_WINDOW_STYLE + ERROR_INVALID_WINDOW_STYLE + + + + No documentation. + + + ERROR_METAFILE_NOT_SUPPORTED + ERROR_METAFILE_NOT_SUPPORTED + + + + No documentation. + + + ERROR_TRANSFORM_NOT_SUPPORTED + ERROR_TRANSFORM_NOT_SUPPORTED + + + + No documentation. + + + ERROR_CLIPPING_NOT_SUPPORTED + ERROR_CLIPPING_NOT_SUPPORTED + + + + No documentation. + + + ERROR_INVALID_CMM + ERROR_INVALID_CMM + + + + No documentation. + + + ERROR_INVALID_PROFILE + ERROR_INVALID_PROFILE + + + + No documentation. + + + ERROR_TAG_NOT_FOUND + ERROR_TAG_NOT_FOUND + + + + No documentation. + + + ERROR_TAG_NOT_PRESENT + ERROR_TAG_NOT_PRESENT + + + + No documentation. + + + ERROR_DUPLICATE_TAG + ERROR_DUPLICATE_TAG + + + + No documentation. + + + ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE + ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE + + + + No documentation. + + + ERROR_PROFILE_NOT_FOUND + ERROR_PROFILE_NOT_FOUND + + + + No documentation. + + + ERROR_INVALID_COLORSPACE + ERROR_INVALID_COLORSPACE + + + + No documentation. + + + ERROR_ICM_NOT_ENABLED + ERROR_ICM_NOT_ENABLED + + + + No documentation. + + + ERROR_DELETING_ICM_XFORM + ERROR_DELETING_ICM_XFORM + + + + No documentation. + + + ERROR_INVALID_TRANSFORM + ERROR_INVALID_TRANSFORM + + + + No documentation. + + + ERROR_COLORSPACE_MISMATCH + ERROR_COLORSPACE_MISMATCH + + + + No documentation. + + + ERROR_INVALID_COLORINDEX + ERROR_INVALID_COLORINDEX + + + + No documentation. + + + ERROR_PROFILE_DOES_NOT_MATCH_DEVICE + ERROR_PROFILE_DOES_NOT_MATCH_DEVICE + + + + No documentation. + + + ERROR_CONNECTED_OTHER_PASSWORD + ERROR_CONNECTED_OTHER_PASSWORD + + + + No documentation. + + + ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT + ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT + + + + No documentation. + + + ERROR_BAD_USERNAME + ERROR_BAD_USERNAME + + + + No documentation. + + + ERROR_NOT_CONNECTED + ERROR_NOT_CONNECTED + + + + No documentation. + + + ERROR_OPEN_FILES + ERROR_OPEN_FILES + + + + No documentation. + + + ERROR_ACTIVE_CONNECTIONS + ERROR_ACTIVE_CONNECTIONS + + + + No documentation. + + + ERROR_DEVICE_IN_USE + ERROR_DEVICE_IN_USE + + + + No documentation. + + + ERROR_UNKNOWN_PRINT_MONITOR + ERROR_UNKNOWN_PRINT_MONITOR + + + + No documentation. + + + ERROR_PRINTER_DRIVER_IN_USE + ERROR_PRINTER_DRIVER_IN_USE + + + + No documentation. + + + ERROR_SPOOL_FILE_NOT_FOUND + ERROR_SPOOL_FILE_NOT_FOUND + + + + No documentation. + + + ERROR_SPL_NO_STARTDOC + ERROR_SPL_NO_STARTDOC + + + + No documentation. + + + ERROR_SPL_NO_ADDJOB + ERROR_SPL_NO_ADDJOB + + + + No documentation. + + + ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED + ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED + + + + No documentation. + + + ERROR_PRINT_MONITOR_ALREADY_INSTALLED + ERROR_PRINT_MONITOR_ALREADY_INSTALLED + + + + No documentation. + + + ERROR_INVALID_PRINT_MONITOR + ERROR_INVALID_PRINT_MONITOR + + + + No documentation. + + + ERROR_PRINT_MONITOR_IN_USE + ERROR_PRINT_MONITOR_IN_USE + + + + No documentation. + + + ERROR_PRINTER_HAS_JOBS_QUEUED + ERROR_PRINTER_HAS_JOBS_QUEUED + + + + No documentation. + + + ERROR_SUCCESS_REBOOT_REQUIRED + ERROR_SUCCESS_REBOOT_REQUIRED + + + + No documentation. + + + ERROR_SUCCESS_RESTART_REQUIRED + ERROR_SUCCESS_RESTART_REQUIRED + + + + No documentation. + + + ERROR_PRINTER_NOT_FOUND + ERROR_PRINTER_NOT_FOUND + + + + No documentation. + + + ERROR_PRINTER_DRIVER_WARNED + ERROR_PRINTER_DRIVER_WARNED + + + + No documentation. + + + ERROR_PRINTER_DRIVER_BLOCKED + ERROR_PRINTER_DRIVER_BLOCKED + + + + No documentation. + + + ERROR_PRINTER_DRIVER_PACKAGE_IN_USE + ERROR_PRINTER_DRIVER_PACKAGE_IN_USE + + + + No documentation. + + + ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND + ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND + + + + No documentation. + + + ERROR_FAIL_REBOOT_REQUIRED + ERROR_FAIL_REBOOT_REQUIRED + + + + No documentation. + + + ERROR_FAIL_REBOOT_INITIATED + ERROR_FAIL_REBOOT_INITIATED + + + + No documentation. + + + ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED + ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED + + + + No documentation. + + + ERROR_PRINT_JOB_RESTART_REQUIRED + ERROR_PRINT_JOB_RESTART_REQUIRED + + + + No documentation. + + + ERROR_INVALID_PRINTER_DRIVER_MANIFEST + ERROR_INVALID_PRINTER_DRIVER_MANIFEST + + + + No documentation. + + + ERROR_PRINTER_NOT_SHAREABLE + ERROR_PRINTER_NOT_SHAREABLE + + + + No documentation. + + + ERROR_REQUEST_PAUSED + ERROR_REQUEST_PAUSED + + + + No documentation. + + + ERROR_IO_REISSUE_AS_CACHED + ERROR_IO_REISSUE_AS_CACHED + + + + No documentation. + + + ERROR_WINS_INTERNAL + ERROR_WINS_INTERNAL + + + + No documentation. + + + ERROR_CAN_NOT_DEL_LOCAL_WINS + ERROR_CAN_NOT_DEL_LOCAL_WINS + + + + No documentation. + + + ERROR_STATIC_INIT + ERROR_STATIC_INIT + + + + No documentation. + + + ERROR_INC_BACKUP + ERROR_INC_BACKUP + + + + No documentation. + + + ERROR_FULL_BACKUP + ERROR_FULL_BACKUP + + + + No documentation. + + + ERROR_REC_NON_EXISTENT + ERROR_REC_NON_EXISTENT + + + + No documentation. + + + ERROR_RPL_NOT_ALLOWED + ERROR_RPL_NOT_ALLOWED + + + + No documentation. + + + ERROR_DHCP_ADDRESS_CONFLICT + ERROR_DHCP_ADDRESS_CONFLICT + + + + No documentation. + + + ERROR_WMI_GUID_NOT_FOUND + ERROR_WMI_GUID_NOT_FOUND + + + + No documentation. + + + ERROR_WMI_INSTANCE_NOT_FOUND + ERROR_WMI_INSTANCE_NOT_FOUND + + + + No documentation. + + + ERROR_WMI_ITEMID_NOT_FOUND + ERROR_WMI_ITEMID_NOT_FOUND + + + + No documentation. + + + ERROR_WMI_TRY_AGAIN + ERROR_WMI_TRY_AGAIN + + + + No documentation. + + + ERROR_WMI_DP_NOT_FOUND + ERROR_WMI_DP_NOT_FOUND + + + + No documentation. + + + ERROR_WMI_UNRESOLVED_INSTANCE_REF + ERROR_WMI_UNRESOLVED_INSTANCE_REF + + + + No documentation. + + + ERROR_WMI_ALREADY_ENABLED + ERROR_WMI_ALREADY_ENABLED + + + + No documentation. + + + ERROR_WMI_GUID_DISCONNECTED + ERROR_WMI_GUID_DISCONNECTED + + + + No documentation. + + + ERROR_WMI_SERVER_UNAVAILABLE + ERROR_WMI_SERVER_UNAVAILABLE + + + + No documentation. + + + ERROR_WMI_DP_FAILED + ERROR_WMI_DP_FAILED + + + + No documentation. + + + ERROR_WMI_INVALID_MOF + ERROR_WMI_INVALID_MOF + + + + No documentation. + + + ERROR_WMI_INVALID_REGINFO + ERROR_WMI_INVALID_REGINFO + + + + No documentation. + + + ERROR_WMI_ALREADY_DISABLED + ERROR_WMI_ALREADY_DISABLED + + + + No documentation. + + + ERROR_WMI_READ_ONLY + ERROR_WMI_READ_ONLY + + + + No documentation. + + + ERROR_WMI_SET_FAILURE + ERROR_WMI_SET_FAILURE + + + + No documentation. + + + ERROR_NOT_APPCONTAINER + ERROR_NOT_APPCONTAINER + + + + No documentation. + + + ERROR_APPCONTAINER_REQUIRED + ERROR_APPCONTAINER_REQUIRED + + + + No documentation. + + + ERROR_NOT_SUPPORTED_IN_APPCONTAINER + ERROR_NOT_SUPPORTED_IN_APPCONTAINER + + + + No documentation. + + + ERROR_INVALID_PACKAGE_SID_LENGTH + ERROR_INVALID_PACKAGE_SID_LENGTH + + + + No documentation. + + + ERROR_INVALID_MEDIA + ERROR_INVALID_MEDIA + + + + No documentation. + + + ERROR_INVALID_LIBRARY + ERROR_INVALID_LIBRARY + + + + No documentation. + + + ERROR_INVALID_MEDIA_POOL + ERROR_INVALID_MEDIA_POOL + + + + No documentation. + + + ERROR_DRIVE_MEDIA_MISMATCH + ERROR_DRIVE_MEDIA_MISMATCH + + + + No documentation. + + + ERROR_MEDIA_OFFLINE + ERROR_MEDIA_OFFLINE + + + + No documentation. + + + ERROR_LIBRARY_OFFLINE + ERROR_LIBRARY_OFFLINE + + + + No documentation. + + + ERROR_EMPTY + ERROR_EMPTY + + + + No documentation. + + + ERROR_NOT_EMPTY + ERROR_NOT_EMPTY + + + + No documentation. + + + ERROR_MEDIA_UNAVAILABLE + ERROR_MEDIA_UNAVAILABLE + + + + No documentation. + + + ERROR_RESOURCE_DISABLED + ERROR_RESOURCE_DISABLED + + + + No documentation. + + + ERROR_INVALID_CLEANER + ERROR_INVALID_CLEANER + + + + No documentation. + + + ERROR_UNABLE_TO_CLEAN + ERROR_UNABLE_TO_CLEAN + + + + No documentation. + + + ERROR_OBJECT_NOT_FOUND + ERROR_OBJECT_NOT_FOUND + + + + No documentation. + + + ERROR_DATABASE_FAILURE + ERROR_DATABASE_FAILURE + + + + No documentation. + + + ERROR_DATABASE_FULL + ERROR_DATABASE_FULL + + + + No documentation. + + + ERROR_MEDIA_INCOMPATIBLE + ERROR_MEDIA_INCOMPATIBLE + + + + No documentation. + + + ERROR_RESOURCE_NOT_PRESENT + ERROR_RESOURCE_NOT_PRESENT + + + + No documentation. + + + ERROR_INVALID_OPERATION + ERROR_INVALID_OPERATION + + + + No documentation. + + + ERROR_MEDIA_NOT_AVAILABLE + ERROR_MEDIA_NOT_AVAILABLE + + + + No documentation. + + + ERROR_DEVICE_NOT_AVAILABLE + ERROR_DEVICE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_REQUEST_REFUSED + ERROR_REQUEST_REFUSED + + + + No documentation. + + + ERROR_INVALID_DRIVE_OBJECT + ERROR_INVALID_DRIVE_OBJECT + + + + No documentation. + + + ERROR_LIBRARY_FULL + ERROR_LIBRARY_FULL + + + + No documentation. + + + ERROR_MEDIUM_NOT_ACCESSIBLE + ERROR_MEDIUM_NOT_ACCESSIBLE + + + + No documentation. + + + ERROR_UNABLE_TO_LOAD_MEDIUM + ERROR_UNABLE_TO_LOAD_MEDIUM + + + + No documentation. + + + ERROR_UNABLE_TO_INVENTORY_DRIVE + ERROR_UNABLE_TO_INVENTORY_DRIVE + + + + No documentation. + + + ERROR_UNABLE_TO_INVENTORY_SLOT + ERROR_UNABLE_TO_INVENTORY_SLOT + + + + No documentation. + + + ERROR_UNABLE_TO_INVENTORY_TRANSPORT + ERROR_UNABLE_TO_INVENTORY_TRANSPORT + + + + No documentation. + + + ERROR_TRANSPORT_FULL + ERROR_TRANSPORT_FULL + + + + No documentation. + + + ERROR_CONTROLLING_IEPORT + ERROR_CONTROLLING_IEPORT + + + + No documentation. + + + ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA + ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA + + + + No documentation. + + + ERROR_CLEANER_SLOT_SET + ERROR_CLEANER_SLOT_SET + + + + No documentation. + + + ERROR_CLEANER_SLOT_NOT_SET + ERROR_CLEANER_SLOT_NOT_SET + + + + No documentation. + + + ERROR_CLEANER_CARTRIDGE_SPENT + ERROR_CLEANER_CARTRIDGE_SPENT + + + + No documentation. + + + ERROR_UNEXPECTED_OMID + ERROR_UNEXPECTED_OMID + + + + No documentation. + + + ERROR_CANT_DELETE_LAST_ITEM + ERROR_CANT_DELETE_LAST_ITEM + + + + No documentation. + + + ERROR_MESSAGE_EXCEEDS_MAX_SIZE + ERROR_MESSAGE_EXCEEDS_MAX_SIZE + + + + No documentation. + + + ERROR_VOLUME_CONTAINS_SYS_FILES + ERROR_VOLUME_CONTAINS_SYS_FILES + + + + No documentation. + + + ERROR_INDIGENOUS_TYPE + ERROR_INDIGENOUS_TYPE + + + + No documentation. + + + ERROR_NO_SUPPORTING_DRIVES + ERROR_NO_SUPPORTING_DRIVES + + + + No documentation. + + + ERROR_CLEANER_CARTRIDGE_INSTALLED + ERROR_CLEANER_CARTRIDGE_INSTALLED + + + + No documentation. + + + ERROR_IEPORT_FULL + ERROR_IEPORT_FULL + + + + No documentation. + + + ERROR_FILE_OFFLINE + ERROR_FILE_OFFLINE + + + + No documentation. + + + ERROR_REMOTE_STORAGE_NOT_ACTIVE + ERROR_REMOTE_STORAGE_NOT_ACTIVE + + + + No documentation. + + + ERROR_REMOTE_STORAGE_MEDIA_ERROR + ERROR_REMOTE_STORAGE_MEDIA_ERROR + + + + No documentation. + + + ERROR_NOT_A_REPARSE_POINT + ERROR_NOT_A_REPARSE_POINT + + + + No documentation. + + + ERROR_REPARSE_ATTRIBUTE_CONFLICT + ERROR_REPARSE_ATTRIBUTE_CONFLICT + + + + No documentation. + + + ERROR_INVALID_REPARSE_DATA + ERROR_INVALID_REPARSE_DATA + + + + No documentation. + + + ERROR_REPARSE_TAG_INVALID + ERROR_REPARSE_TAG_INVALID + + + + No documentation. + + + ERROR_REPARSE_TAG_MISMATCH + ERROR_REPARSE_TAG_MISMATCH + + + + No documentation. + + + ERROR_APP_DATA_NOT_FOUND + ERROR_APP_DATA_NOT_FOUND + + + + No documentation. + + + ERROR_APP_DATA_EXPIRED + ERROR_APP_DATA_EXPIRED + + + + No documentation. + + + ERROR_APP_DATA_CORRUPT + ERROR_APP_DATA_CORRUPT + + + + No documentation. + + + ERROR_APP_DATA_LIMIT_EXCEEDED + ERROR_APP_DATA_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_APP_DATA_REBOOT_REQUIRED + ERROR_APP_DATA_REBOOT_REQUIRED + + + + No documentation. + + + ERROR_SECUREBOOT_ROLLBACK_DETECTED + ERROR_SECUREBOOT_ROLLBACK_DETECTED + + + + No documentation. + + + ERROR_SECUREBOOT_POLICY_VIOLATION + ERROR_SECUREBOOT_POLICY_VIOLATION + + + + No documentation. + + + ERROR_SECUREBOOT_INVALID_POLICY + ERROR_SECUREBOOT_INVALID_POLICY + + + + No documentation. + + + ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND + ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND + + + + No documentation. + + + ERROR_SECUREBOOT_POLICY_NOT_SIGNED + ERROR_SECUREBOOT_POLICY_NOT_SIGNED + + + + No documentation. + + + ERROR_SECUREBOOT_NOT_ENABLED + ERROR_SECUREBOOT_NOT_ENABLED + + + + No documentation. + + + ERROR_SECUREBOOT_FILE_REPLACED + ERROR_SECUREBOOT_FILE_REPLACED + + + + No documentation. + + + ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED + ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED + + + + No documentation. + + + ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED + ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED + + + + No documentation. + + + ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED + ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED + + + + No documentation. + + + ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED + ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED + + + + No documentation. + + + ERROR_VOLUME_NOT_SIS_ENABLED + ERROR_VOLUME_NOT_SIS_ENABLED + + + + No documentation. + + + ERROR_DEPENDENT_RESOURCE_EXISTS + ERROR_DEPENDENT_RESOURCE_EXISTS + + + + No documentation. + + + ERROR_DEPENDENCY_NOT_FOUND + ERROR_DEPENDENCY_NOT_FOUND + + + + No documentation. + + + ERROR_DEPENDENCY_ALREADY_EXISTS + ERROR_DEPENDENCY_ALREADY_EXISTS + + + + No documentation. + + + ERROR_RESOURCE_NOT_ONLINE + ERROR_RESOURCE_NOT_ONLINE + + + + No documentation. + + + ERROR_HOST_NODE_NOT_AVAILABLE + ERROR_HOST_NODE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_RESOURCE_NOT_AVAILABLE + ERROR_RESOURCE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_RESOURCE_NOT_FOUND + ERROR_RESOURCE_NOT_FOUND + + + + No documentation. + + + ERROR_SHUTDOWN_CLUSTER + ERROR_SHUTDOWN_CLUSTER + + + + No documentation. + + + ERROR_CANT_EVICT_ACTIVE_NODE + ERROR_CANT_EVICT_ACTIVE_NODE + + + + No documentation. + + + ERROR_OBJECT_ALREADY_EXISTS + ERROR_OBJECT_ALREADY_EXISTS + + + + No documentation. + + + ERROR_OBJECT_IN_LIST + ERROR_OBJECT_IN_LIST + + + + No documentation. + + + ERROR_GROUP_NOT_AVAILABLE + ERROR_GROUP_NOT_AVAILABLE + + + + No documentation. + + + ERROR_GROUP_NOT_FOUND + ERROR_GROUP_NOT_FOUND + + + + No documentation. + + + ERROR_GROUP_NOT_ONLINE + ERROR_GROUP_NOT_ONLINE + + + + No documentation. + + + ERROR_HOST_NODE_NOT_RESOURCE_OWNER + ERROR_HOST_NODE_NOT_RESOURCE_OWNER + + + + No documentation. + + + ERROR_HOST_NODE_NOT_GROUP_OWNER + ERROR_HOST_NODE_NOT_GROUP_OWNER + + + + No documentation. + + + ERROR_RESMON_CREATE_FAILED + ERROR_RESMON_CREATE_FAILED + + + + No documentation. + + + ERROR_RESMON_ONLINE_FAILED + ERROR_RESMON_ONLINE_FAILED + + + + No documentation. + + + ERROR_RESOURCE_ONLINE + ERROR_RESOURCE_ONLINE + + + + No documentation. + + + ERROR_QUORUM_RESOURCE + ERROR_QUORUM_RESOURCE + + + + No documentation. + + + ERROR_NOT_QUORUM_CAPABLE + ERROR_NOT_QUORUM_CAPABLE + + + + No documentation. + + + ERROR_CLUSTER_SHUTTING_DOWN + ERROR_CLUSTER_SHUTTING_DOWN + + + + No documentation. + + + ERROR_INVALID_STATE + ERROR_INVALID_STATE + + + + No documentation. + + + ERROR_RESOURCE_PROPERTIES_STORED + ERROR_RESOURCE_PROPERTIES_STORED + + + + No documentation. + + + ERROR_NOT_QUORUM_CLASS + ERROR_NOT_QUORUM_CLASS + + + + No documentation. + + + ERROR_CORE_RESOURCE + ERROR_CORE_RESOURCE + + + + No documentation. + + + ERROR_QUORUM_RESOURCE_ONLINE_FAILED + ERROR_QUORUM_RESOURCE_ONLINE_FAILED + + + + No documentation. + + + ERROR_QUORUMLOG_OPEN_FAILED + ERROR_QUORUMLOG_OPEN_FAILED + + + + No documentation. + + + ERROR_CLUSTERLOG_CORRUPT + ERROR_CLUSTERLOG_CORRUPT + + + + No documentation. + + + ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE + ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE + + + + No documentation. + + + ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE + ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE + + + + No documentation. + + + ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND + ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE + ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE + + + + No documentation. + + + ERROR_QUORUM_OWNER_ALIVE + ERROR_QUORUM_OWNER_ALIVE + + + + No documentation. + + + ERROR_NETWORK_NOT_AVAILABLE + ERROR_NETWORK_NOT_AVAILABLE + + + + No documentation. + + + ERROR_NODE_NOT_AVAILABLE + ERROR_NODE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_ALL_NODES_NOT_AVAILABLE + ERROR_ALL_NODES_NOT_AVAILABLE + + + + No documentation. + + + ERROR_RESOURCE_FAILED + ERROR_RESOURCE_FAILED + + + + No documentation. + + + ERROR_CLUSTER_INVALID_NODE + ERROR_CLUSTER_INVALID_NODE + + + + No documentation. + + + ERROR_CLUSTER_NODE_EXISTS + ERROR_CLUSTER_NODE_EXISTS + + + + No documentation. + + + ERROR_CLUSTER_JOIN_IN_PROGRESS + ERROR_CLUSTER_JOIN_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_NODE_NOT_FOUND + ERROR_CLUSTER_NODE_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND + ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_EXISTS + ERROR_CLUSTER_NETWORK_EXISTS + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_NOT_FOUND + ERROR_CLUSTER_NETWORK_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_NETINTERFACE_EXISTS + ERROR_CLUSTER_NETINTERFACE_EXISTS + + + + No documentation. + + + ERROR_CLUSTER_NETINTERFACE_NOT_FOUND + ERROR_CLUSTER_NETINTERFACE_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_INVALID_REQUEST + ERROR_CLUSTER_INVALID_REQUEST + + + + No documentation. + + + ERROR_CLUSTER_INVALID_NETWORK_PROVIDER + ERROR_CLUSTER_INVALID_NETWORK_PROVIDER + + + + No documentation. + + + ERROR_CLUSTER_NODE_DOWN + ERROR_CLUSTER_NODE_DOWN + + + + No documentation. + + + ERROR_CLUSTER_NODE_UNREACHABLE + ERROR_CLUSTER_NODE_UNREACHABLE + + + + No documentation. + + + ERROR_CLUSTER_NODE_NOT_MEMBER + ERROR_CLUSTER_NODE_NOT_MEMBER + + + + No documentation. + + + ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS + ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_INVALID_NETWORK + ERROR_CLUSTER_INVALID_NETWORK + + + + No documentation. + + + ERROR_CLUSTER_NODE_UP + ERROR_CLUSTER_NODE_UP + + + + No documentation. + + + ERROR_CLUSTER_IPADDR_IN_USE + ERROR_CLUSTER_IPADDR_IN_USE + + + + No documentation. + + + ERROR_CLUSTER_NODE_NOT_PAUSED + ERROR_CLUSTER_NODE_NOT_PAUSED + + + + No documentation. + + + ERROR_CLUSTER_NO_SECURITY_CONTEXT + ERROR_CLUSTER_NO_SECURITY_CONTEXT + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_NOT_INTERNAL + ERROR_CLUSTER_NETWORK_NOT_INTERNAL + + + + No documentation. + + + ERROR_CLUSTER_NODE_ALREADY_UP + ERROR_CLUSTER_NODE_ALREADY_UP + + + + No documentation. + + + ERROR_CLUSTER_NODE_ALREADY_DOWN + ERROR_CLUSTER_NODE_ALREADY_DOWN + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_ALREADY_ONLINE + ERROR_CLUSTER_NETWORK_ALREADY_ONLINE + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE + ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE + + + + No documentation. + + + ERROR_CLUSTER_NODE_ALREADY_MEMBER + ERROR_CLUSTER_NODE_ALREADY_MEMBER + + + + No documentation. + + + ERROR_CLUSTER_LAST_INTERNAL_NETWORK + ERROR_CLUSTER_LAST_INTERNAL_NETWORK + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS + ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS + + + + No documentation. + + + ERROR_INVALID_OPERATION_ON_QUORUM + ERROR_INVALID_OPERATION_ON_QUORUM + + + + No documentation. + + + ERROR_DEPENDENCY_NOT_ALLOWED + ERROR_DEPENDENCY_NOT_ALLOWED + + + + No documentation. + + + ERROR_CLUSTER_NODE_PAUSED + ERROR_CLUSTER_NODE_PAUSED + + + + No documentation. + + + ERROR_NODE_CANT_HOST_RESOURCE + ERROR_NODE_CANT_HOST_RESOURCE + + + + No documentation. + + + ERROR_CLUSTER_NODE_NOT_READY + ERROR_CLUSTER_NODE_NOT_READY + + + + No documentation. + + + ERROR_CLUSTER_NODE_SHUTTING_DOWN + ERROR_CLUSTER_NODE_SHUTTING_DOWN + + + + No documentation. + + + ERROR_CLUSTER_JOIN_ABORTED + ERROR_CLUSTER_JOIN_ABORTED + + + + No documentation. + + + ERROR_CLUSTER_INCOMPATIBLE_VERSIONS + ERROR_CLUSTER_INCOMPATIBLE_VERSIONS + + + + No documentation. + + + ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED + ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED + + + + No documentation. + + + ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED + ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND + ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED + ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED + + + + No documentation. + + + ERROR_CLUSTER_RESNAME_NOT_FOUND + ERROR_CLUSTER_RESNAME_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED + ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED + + + + No documentation. + + + ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST + ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST + + + + No documentation. + + + ERROR_CLUSTER_DATABASE_SEQMISMATCH + ERROR_CLUSTER_DATABASE_SEQMISMATCH + + + + No documentation. + + + ERROR_RESMON_INVALID_STATE + ERROR_RESMON_INVALID_STATE + + + + No documentation. + + + ERROR_CLUSTER_GUM_NOT_LOCKER + ERROR_CLUSTER_GUM_NOT_LOCKER + + + + No documentation. + + + ERROR_QUORUM_DISK_NOT_FOUND + ERROR_QUORUM_DISK_NOT_FOUND + + + + No documentation. + + + ERROR_DATABASE_BACKUP_CORRUPT + ERROR_DATABASE_BACKUP_CORRUPT + + + + No documentation. + + + ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT + ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT + + + + No documentation. + + + ERROR_RESOURCE_PROPERTY_UNCHANGEABLE + ERROR_RESOURCE_PROPERTY_UNCHANGEABLE + + + + No documentation. + + + ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE + ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE + + + + No documentation. + + + ERROR_CLUSTER_QUORUMLOG_NOT_FOUND + ERROR_CLUSTER_QUORUMLOG_NOT_FOUND + + + + No documentation. + + + ERROR_CLUSTER_MEMBERSHIP_HALT + ERROR_CLUSTER_MEMBERSHIP_HALT + + + + No documentation. + + + ERROR_CLUSTER_INSTANCE_ID_MISMATCH + ERROR_CLUSTER_INSTANCE_ID_MISMATCH + + + + No documentation. + + + ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP + ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP + + + + No documentation. + + + ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH + ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH + + + + No documentation. + + + ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP + ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP + + + + No documentation. + + + ERROR_CLUSTER_PARAMETER_MISMATCH + ERROR_CLUSTER_PARAMETER_MISMATCH + + + + No documentation. + + + ERROR_NODE_CANNOT_BE_CLUSTERED + ERROR_NODE_CANNOT_BE_CLUSTERED + + + + No documentation. + + + ERROR_CLUSTER_WRONG_OS_VERSION + ERROR_CLUSTER_WRONG_OS_VERSION + + + + No documentation. + + + ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME + ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME + + + + No documentation. + + + ERROR_CLUSCFG_ALREADY_COMMITTED + ERROR_CLUSCFG_ALREADY_COMMITTED + + + + No documentation. + + + ERROR_CLUSCFG_ROLLBACK_FAILED + ERROR_CLUSCFG_ROLLBACK_FAILED + + + + No documentation. + + + ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT + ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT + + + + No documentation. + + + ERROR_CLUSTER_OLD_VERSION + ERROR_CLUSTER_OLD_VERSION + + + + No documentation. + + + ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME + ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME + + + + No documentation. + + + ERROR_CLUSTER_NO_NET_ADAPTERS + ERROR_CLUSTER_NO_NET_ADAPTERS + + + + No documentation. + + + ERROR_CLUSTER_POISONED + ERROR_CLUSTER_POISONED + + + + No documentation. + + + ERROR_CLUSTER_GROUP_MOVING + ERROR_CLUSTER_GROUP_MOVING + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_TYPE_BUSY + ERROR_CLUSTER_RESOURCE_TYPE_BUSY + + + + No documentation. + + + ERROR_RESOURCE_CALL_TIMED_OUT + ERROR_RESOURCE_CALL_TIMED_OUT + + + + No documentation. + + + ERROR_INVALID_CLUSTER_IPV6_ADDRESS + ERROR_INVALID_CLUSTER_IPV6_ADDRESS + + + + No documentation. + + + ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION + ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION + + + + No documentation. + + + ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS + ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS + + + + No documentation. + + + ERROR_CLUSTER_PARTIAL_SEND + ERROR_CLUSTER_PARTIAL_SEND + + + + No documentation. + + + ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION + ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION + + + + No documentation. + + + ERROR_CLUSTER_INVALID_STRING_TERMINATION + ERROR_CLUSTER_INVALID_STRING_TERMINATION + + + + No documentation. + + + ERROR_CLUSTER_INVALID_STRING_FORMAT + ERROR_CLUSTER_INVALID_STRING_FORMAT + + + + No documentation. + + + ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS + ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS + ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_NULL_DATA + ERROR_CLUSTER_NULL_DATA + + + + No documentation. + + + ERROR_CLUSTER_PARTIAL_READ + ERROR_CLUSTER_PARTIAL_READ + + + + No documentation. + + + ERROR_CLUSTER_PARTIAL_WRITE + ERROR_CLUSTER_PARTIAL_WRITE + + + + No documentation. + + + ERROR_CLUSTER_CANT_DESERIALIZE_DATA + ERROR_CLUSTER_CANT_DESERIALIZE_DATA + + + + No documentation. + + + ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT + ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT + + + + No documentation. + + + ERROR_CLUSTER_NO_QUORUM + ERROR_CLUSTER_NO_QUORUM + + + + No documentation. + + + ERROR_CLUSTER_INVALID_IPV6_NETWORK + ERROR_CLUSTER_INVALID_IPV6_NETWORK + + + + No documentation. + + + ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK + ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK + + + + No documentation. + + + ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP + ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP + + + + No documentation. + + + ERROR_DEPENDENCY_TREE_TOO_COMPLEX + ERROR_DEPENDENCY_TREE_TOO_COMPLEX + + + + No documentation. + + + ERROR_EXCEPTION_IN_RESOURCE_CALL + ERROR_EXCEPTION_IN_RESOURCE_CALL + + + + No documentation. + + + ERROR_CLUSTER_RHS_FAILED_INITIALIZATION + ERROR_CLUSTER_RHS_FAILED_INITIALIZATION + + + + No documentation. + + + ERROR_CLUSTER_NOT_INSTALLED + ERROR_CLUSTER_NOT_INSTALLED + + + + No documentation. + + + ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE + ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE + + + + No documentation. + + + ERROR_CLUSTER_MAX_NODES_IN_CLUSTER + ERROR_CLUSTER_MAX_NODES_IN_CLUSTER + + + + No documentation. + + + ERROR_CLUSTER_TOO_MANY_NODES + ERROR_CLUSTER_TOO_MANY_NODES + + + + No documentation. + + + ERROR_CLUSTER_OBJECT_ALREADY_USED + ERROR_CLUSTER_OBJECT_ALREADY_USED + + + + No documentation. + + + ERROR_NONCORE_GROUPS_FOUND + ERROR_NONCORE_GROUPS_FOUND + + + + No documentation. + + + ERROR_FILE_SHARE_RESOURCE_CONFLICT + ERROR_FILE_SHARE_RESOURCE_CONFLICT + + + + No documentation. + + + ERROR_CLUSTER_EVICT_INVALID_REQUEST + ERROR_CLUSTER_EVICT_INVALID_REQUEST + + + + No documentation. + + + ERROR_CLUSTER_SINGLETON_RESOURCE + ERROR_CLUSTER_SINGLETON_RESOURCE + + + + No documentation. + + + ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE + ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED + ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR + ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR + + + + No documentation. + + + ERROR_CLUSTER_GROUP_BUSY + ERROR_CLUSTER_GROUP_BUSY + + + + No documentation. + + + ERROR_CLUSTER_NOT_SHARED_VOLUME + ERROR_CLUSTER_NOT_SHARED_VOLUME + + + + No documentation. + + + ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR + ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR + + + + No documentation. + + + ERROR_CLUSTER_SHARED_VOLUMES_IN_USE + ERROR_CLUSTER_SHARED_VOLUMES_IN_USE + + + + No documentation. + + + ERROR_CLUSTER_USE_SHARED_VOLUMES_API + ERROR_CLUSTER_USE_SHARED_VOLUMES_API + + + + No documentation. + + + ERROR_CLUSTER_BACKUP_IN_PROGRESS + ERROR_CLUSTER_BACKUP_IN_PROGRESS + + + + No documentation. + + + ERROR_NON_CSV_PATH + ERROR_NON_CSV_PATH + + + + No documentation. + + + ERROR_CSV_VOLUME_NOT_LOCAL + ERROR_CSV_VOLUME_NOT_LOCAL + + + + No documentation. + + + ERROR_CLUSTER_WATCHDOG_TERMINATING + ERROR_CLUSTER_WATCHDOG_TERMINATING + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES + + + + No documentation. + + + ERROR_CLUSTER_INVALID_NODE_WEIGHT + ERROR_CLUSTER_INVALID_NODE_WEIGHT + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_VETOED_CALL + ERROR_CLUSTER_RESOURCE_VETOED_CALL + + + + No documentation. + + + ERROR_RESMON_SYSTEM_RESOURCES_LACKING + ERROR_RESMON_SYSTEM_RESOURCES_LACKING + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE + + + + No documentation. + + + ERROR_CLUSTER_GROUP_QUEUED + ERROR_CLUSTER_GROUP_QUEUED + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_LOCKED_STATUS + ERROR_CLUSTER_RESOURCE_LOCKED_STATUS + + + + No documentation. + + + ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED + ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED + + + + No documentation. + + + ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS + ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS + + + + No documentation. + + + ERROR_CLUSTER_DISK_NOT_CONNECTED + ERROR_CLUSTER_DISK_NOT_CONNECTED + + + + No documentation. + + + ERROR_DISK_NOT_CSV_CAPABLE + ERROR_DISK_NOT_CSV_CAPABLE + + + + No documentation. + + + ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE + ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE + + + + No documentation. + + + ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED + ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED + + + + No documentation. + + + ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED + ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED + + + + No documentation. + + + ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES + ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES + ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE + ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE + + + + No documentation. + + + ERROR_CLUSTER_AFFINITY_CONFLICT + ERROR_CLUSTER_AFFINITY_CONFLICT + + + + No documentation. + + + ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE + ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE + + + + No documentation. + + + ERROR_ENCRYPTION_FAILED + ERROR_ENCRYPTION_FAILED + + + + No documentation. + + + ERROR_DECRYPTION_FAILED + ERROR_DECRYPTION_FAILED + + + + No documentation. + + + ERROR_FILE_ENCRYPTED + ERROR_FILE_ENCRYPTED + + + + No documentation. + + + ERROR_NO_RECOVERY_POLICY + ERROR_NO_RECOVERY_POLICY + + + + No documentation. + + + ERROR_NO_EFS + ERROR_NO_EFS + + + + No documentation. + + + ERROR_WRONG_EFS + ERROR_WRONG_EFS + + + + No documentation. + + + ERROR_NO_USER_KEYS + ERROR_NO_USER_KEYS + + + + No documentation. + + + ERROR_FILE_NOT_ENCRYPTED + ERROR_FILE_NOT_ENCRYPTED + + + + No documentation. + + + ERROR_NOT_EXPORT_FORMAT + ERROR_NOT_EXPORT_FORMAT + + + + No documentation. + + + ERROR_FILE_READ_ONLY + ERROR_FILE_READ_ONLY + + + + No documentation. + + + ERROR_DIR_EFS_DISALLOWED + ERROR_DIR_EFS_DISALLOWED + + + + No documentation. + + + ERROR_EFS_SERVER_NOT_TRUSTED + ERROR_EFS_SERVER_NOT_TRUSTED + + + + No documentation. + + + ERROR_BAD_RECOVERY_POLICY + ERROR_BAD_RECOVERY_POLICY + + + + No documentation. + + + ERROR_EFS_ALG_BLOB_TOO_BIG + ERROR_EFS_ALG_BLOB_TOO_BIG + + + + No documentation. + + + ERROR_VOLUME_NOT_SUPPORT_EFS + ERROR_VOLUME_NOT_SUPPORT_EFS + + + + No documentation. + + + ERROR_EFS_DISABLED + ERROR_EFS_DISABLED + + + + No documentation. + + + ERROR_EFS_VERSION_NOT_SUPPORT + ERROR_EFS_VERSION_NOT_SUPPORT + + + + No documentation. + + + ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE + ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE + + + + No documentation. + + + ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER + ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER + + + + No documentation. + + + ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE + ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE + + + + No documentation. + + + ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE + ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE + + + + No documentation. + + + ERROR_CS_ENCRYPTION_FILE_NOT_CSE + ERROR_CS_ENCRYPTION_FILE_NOT_CSE + + + + No documentation. + + + ERROR_ENCRYPTION_POLICY_DENIES_OPERATION + ERROR_ENCRYPTION_POLICY_DENIES_OPERATION + + + + No documentation. + + + ERROR_NO_BROWSER_SERVERS_FOUND + ERROR_NO_BROWSER_SERVERS_FOUND + + + + No documentation. + + + ERROR_LOG_SECTOR_INVALID + ERROR_LOG_SECTOR_INVALID + + + + No documentation. + + + ERROR_LOG_SECTOR_PARITY_INVALID + ERROR_LOG_SECTOR_PARITY_INVALID + + + + No documentation. + + + ERROR_LOG_SECTOR_REMAPPED + ERROR_LOG_SECTOR_REMAPPED + + + + No documentation. + + + ERROR_LOG_BLOCK_INCOMPLETE + ERROR_LOG_BLOCK_INCOMPLETE + + + + No documentation. + + + ERROR_LOG_INVALID_RANGE + ERROR_LOG_INVALID_RANGE + + + + No documentation. + + + ERROR_LOG_BLOCKS_EXHAUSTED + ERROR_LOG_BLOCKS_EXHAUSTED + + + + No documentation. + + + ERROR_LOG_READ_CONTEXT_INVALID + ERROR_LOG_READ_CONTEXT_INVALID + + + + No documentation. + + + ERROR_LOG_RESTART_INVALID + ERROR_LOG_RESTART_INVALID + + + + No documentation. + + + ERROR_LOG_BLOCK_VERSION + ERROR_LOG_BLOCK_VERSION + + + + No documentation. + + + ERROR_LOG_BLOCK_INVALID + ERROR_LOG_BLOCK_INVALID + + + + No documentation. + + + ERROR_LOG_READ_MODE_INVALID + ERROR_LOG_READ_MODE_INVALID + + + + No documentation. + + + ERROR_LOG_NO_RESTART + ERROR_LOG_NO_RESTART + + + + No documentation. + + + ERROR_LOG_METADATA_CORRUPT + ERROR_LOG_METADATA_CORRUPT + + + + No documentation. + + + ERROR_LOG_METADATA_INVALID + ERROR_LOG_METADATA_INVALID + + + + No documentation. + + + ERROR_LOG_METADATA_INCONSISTENT + ERROR_LOG_METADATA_INCONSISTENT + + + + No documentation. + + + ERROR_LOG_RESERVATION_INVALID + ERROR_LOG_RESERVATION_INVALID + + + + No documentation. + + + ERROR_LOG_CANT_DELETE + ERROR_LOG_CANT_DELETE + + + + No documentation. + + + ERROR_LOG_CONTAINER_LIMIT_EXCEEDED + ERROR_LOG_CONTAINER_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_LOG_START_OF_LOG + ERROR_LOG_START_OF_LOG + + + + No documentation. + + + ERROR_LOG_POLICY_ALREADY_INSTALLED + ERROR_LOG_POLICY_ALREADY_INSTALLED + + + + No documentation. + + + ERROR_LOG_POLICY_NOT_INSTALLED + ERROR_LOG_POLICY_NOT_INSTALLED + + + + No documentation. + + + ERROR_LOG_POLICY_INVALID + ERROR_LOG_POLICY_INVALID + + + + No documentation. + + + ERROR_LOG_POLICY_CONFLICT + ERROR_LOG_POLICY_CONFLICT + + + + No documentation. + + + ERROR_LOG_PINNED_ARCHIVE_TAIL + ERROR_LOG_PINNED_ARCHIVE_TAIL + + + + No documentation. + + + ERROR_LOG_RECORD_NONEXISTENT + ERROR_LOG_RECORD_NONEXISTENT + + + + No documentation. + + + ERROR_LOG_RECORDS_RESERVED_INVALID + ERROR_LOG_RECORDS_RESERVED_INVALID + + + + No documentation. + + + ERROR_LOG_SPACE_RESERVED_INVALID + ERROR_LOG_SPACE_RESERVED_INVALID + + + + No documentation. + + + ERROR_LOG_TAIL_INVALID + ERROR_LOG_TAIL_INVALID + + + + No documentation. + + + ERROR_LOG_FULL + ERROR_LOG_FULL + + + + No documentation. + + + ERROR_COULD_NOT_RESIZE_LOG + ERROR_COULD_NOT_RESIZE_LOG + + + + No documentation. + + + ERROR_LOG_MULTIPLEXED + ERROR_LOG_MULTIPLEXED + + + + No documentation. + + + ERROR_LOG_DEDICATED + ERROR_LOG_DEDICATED + + + + No documentation. + + + ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS + ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS + + + + No documentation. + + + ERROR_LOG_ARCHIVE_IN_PROGRESS + ERROR_LOG_ARCHIVE_IN_PROGRESS + + + + No documentation. + + + ERROR_LOG_EPHEMERAL + ERROR_LOG_EPHEMERAL + + + + No documentation. + + + ERROR_LOG_NOT_ENOUGH_CONTAINERS + ERROR_LOG_NOT_ENOUGH_CONTAINERS + + + + No documentation. + + + ERROR_LOG_CLIENT_ALREADY_REGISTERED + ERROR_LOG_CLIENT_ALREADY_REGISTERED + + + + No documentation. + + + ERROR_LOG_CLIENT_NOT_REGISTERED + ERROR_LOG_CLIENT_NOT_REGISTERED + + + + No documentation. + + + ERROR_LOG_FULL_HANDLER_IN_PROGRESS + ERROR_LOG_FULL_HANDLER_IN_PROGRESS + + + + No documentation. + + + ERROR_LOG_CONTAINER_READ_FAILED + ERROR_LOG_CONTAINER_READ_FAILED + + + + No documentation. + + + ERROR_LOG_CONTAINER_WRITE_FAILED + ERROR_LOG_CONTAINER_WRITE_FAILED + + + + No documentation. + + + ERROR_LOG_CONTAINER_OPEN_FAILED + ERROR_LOG_CONTAINER_OPEN_FAILED + + + + No documentation. + + + ERROR_LOG_CONTAINER_STATE_INVALID + ERROR_LOG_CONTAINER_STATE_INVALID + + + + No documentation. + + + ERROR_LOG_STATE_INVALID + ERROR_LOG_STATE_INVALID + + + + No documentation. + + + ERROR_LOG_PINNED + ERROR_LOG_PINNED + + + + No documentation. + + + ERROR_LOG_METADATA_FLUSH_FAILED + ERROR_LOG_METADATA_FLUSH_FAILED + + + + No documentation. + + + ERROR_LOG_INCONSISTENT_SECURITY + ERROR_LOG_INCONSISTENT_SECURITY + + + + No documentation. + + + ERROR_LOG_APPENDED_FLUSH_FAILED + ERROR_LOG_APPENDED_FLUSH_FAILED + + + + No documentation. + + + ERROR_LOG_PINNED_RESERVATION + ERROR_LOG_PINNED_RESERVATION + + + + No documentation. + + + ERROR_INVALID_TRANSACTION + ERROR_INVALID_TRANSACTION + + + + No documentation. + + + ERROR_TRANSACTION_NOT_ACTIVE + ERROR_TRANSACTION_NOT_ACTIVE + + + + No documentation. + + + ERROR_TRANSACTION_REQUEST_NOT_VALID + ERROR_TRANSACTION_REQUEST_NOT_VALID + + + + No documentation. + + + ERROR_TRANSACTION_NOT_REQUESTED + ERROR_TRANSACTION_NOT_REQUESTED + + + + No documentation. + + + ERROR_TRANSACTION_ALREADY_ABORTED + ERROR_TRANSACTION_ALREADY_ABORTED + + + + No documentation. + + + ERROR_TRANSACTION_ALREADY_COMMITTED + ERROR_TRANSACTION_ALREADY_COMMITTED + + + + No documentation. + + + ERROR_TM_INITIALIZATION_FAILED + ERROR_TM_INITIALIZATION_FAILED + + + + No documentation. + + + ERROR_RESOURCEMANAGER_READ_ONLY + ERROR_RESOURCEMANAGER_READ_ONLY + + + + No documentation. + + + ERROR_TRANSACTION_NOT_JOINED + ERROR_TRANSACTION_NOT_JOINED + + + + No documentation. + + + ERROR_TRANSACTION_SUPERIOR_EXISTS + ERROR_TRANSACTION_SUPERIOR_EXISTS + + + + No documentation. + + + ERROR_CRM_PROTOCOL_ALREADY_EXISTS + ERROR_CRM_PROTOCOL_ALREADY_EXISTS + + + + No documentation. + + + ERROR_TRANSACTION_PROPAGATION_FAILED + ERROR_TRANSACTION_PROPAGATION_FAILED + + + + No documentation. + + + ERROR_CRM_PROTOCOL_NOT_FOUND + ERROR_CRM_PROTOCOL_NOT_FOUND + + + + No documentation. + + + ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER + ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER + + + + No documentation. + + + ERROR_CURRENT_TRANSACTION_NOT_VALID + ERROR_CURRENT_TRANSACTION_NOT_VALID + + + + No documentation. + + + ERROR_TRANSACTION_NOT_FOUND + ERROR_TRANSACTION_NOT_FOUND + + + + No documentation. + + + ERROR_RESOURCEMANAGER_NOT_FOUND + ERROR_RESOURCEMANAGER_NOT_FOUND + + + + No documentation. + + + ERROR_ENLISTMENT_NOT_FOUND + ERROR_ENLISTMENT_NOT_FOUND + + + + No documentation. + + + ERROR_TRANSACTIONMANAGER_NOT_FOUND + ERROR_TRANSACTIONMANAGER_NOT_FOUND + + + + No documentation. + + + ERROR_TRANSACTIONMANAGER_NOT_ONLINE + ERROR_TRANSACTIONMANAGER_NOT_ONLINE + + + + No documentation. + + + ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION + ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION + + + + No documentation. + + + ERROR_TRANSACTION_NOT_ROOT + ERROR_TRANSACTION_NOT_ROOT + + + + No documentation. + + + ERROR_TRANSACTION_OBJECT_EXPIRED + ERROR_TRANSACTION_OBJECT_EXPIRED + + + + No documentation. + + + ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED + ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED + + + + No documentation. + + + ERROR_TRANSACTION_RECORD_TOO_LONG + ERROR_TRANSACTION_RECORD_TOO_LONG + + + + No documentation. + + + ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED + ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED + + + + No documentation. + + + ERROR_TRANSACTION_INTEGRITY_VIOLATED + ERROR_TRANSACTION_INTEGRITY_VIOLATED + + + + No documentation. + + + ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH + ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH + + + + No documentation. + + + ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT + ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT + + + + No documentation. + + + ERROR_TRANSACTION_MUST_WRITETHROUGH + ERROR_TRANSACTION_MUST_WRITETHROUGH + + + + No documentation. + + + ERROR_TRANSACTION_NO_SUPERIOR + ERROR_TRANSACTION_NO_SUPERIOR + + + + No documentation. + + + ERROR_HEURISTIC_DAMAGE_POSSIBLE + ERROR_HEURISTIC_DAMAGE_POSSIBLE + + + + No documentation. + + + ERROR_TRANSACTIONAL_CONFLICT + ERROR_TRANSACTIONAL_CONFLICT + + + + No documentation. + + + ERROR_RM_NOT_ACTIVE + ERROR_RM_NOT_ACTIVE + + + + No documentation. + + + ERROR_RM_METADATA_CORRUPT + ERROR_RM_METADATA_CORRUPT + + + + No documentation. + + + ERROR_DIRECTORY_NOT_RM + ERROR_DIRECTORY_NOT_RM + + + + No documentation. + + + ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE + ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE + + + + No documentation. + + + ERROR_LOG_RESIZE_INVALID_SIZE + ERROR_LOG_RESIZE_INVALID_SIZE + + + + No documentation. + + + ERROR_OBJECT_NO_LONGER_EXISTS + ERROR_OBJECT_NO_LONGER_EXISTS + + + + No documentation. + + + ERROR_STREAM_MINIVERSION_NOT_FOUND + ERROR_STREAM_MINIVERSION_NOT_FOUND + + + + No documentation. + + + ERROR_STREAM_MINIVERSION_NOT_VALID + ERROR_STREAM_MINIVERSION_NOT_VALID + + + + No documentation. + + + ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION + ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION + + + + No documentation. + + + ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT + ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT + + + + No documentation. + + + ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS + ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS + + + + No documentation. + + + ERROR_REMOTE_FILE_VERSION_MISMATCH + ERROR_REMOTE_FILE_VERSION_MISMATCH + + + + No documentation. + + + ERROR_HANDLE_NO_LONGER_VALID + ERROR_HANDLE_NO_LONGER_VALID + + + + No documentation. + + + ERROR_NO_TXF_METADATA + ERROR_NO_TXF_METADATA + + + + No documentation. + + + ERROR_LOG_CORRUPTION_DETECTED + ERROR_LOG_CORRUPTION_DETECTED + + + + No documentation. + + + ERROR_CANT_RECOVER_WITH_HANDLE_OPEN + ERROR_CANT_RECOVER_WITH_HANDLE_OPEN + + + + No documentation. + + + ERROR_RM_DISCONNECTED + ERROR_RM_DISCONNECTED + + + + No documentation. + + + ERROR_ENLISTMENT_NOT_SUPERIOR + ERROR_ENLISTMENT_NOT_SUPERIOR + + + + No documentation. + + + ERROR_RECOVERY_NOT_NEEDED + ERROR_RECOVERY_NOT_NEEDED + + + + No documentation. + + + ERROR_RM_ALREADY_STARTED + ERROR_RM_ALREADY_STARTED + + + + No documentation. + + + ERROR_FILE_IDENTITY_NOT_PERSISTENT + ERROR_FILE_IDENTITY_NOT_PERSISTENT + + + + No documentation. + + + ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY + ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY + + + + No documentation. + + + ERROR_CANT_CROSS_RM_BOUNDARY + ERROR_CANT_CROSS_RM_BOUNDARY + + + + No documentation. + + + ERROR_TXF_DIR_NOT_EMPTY + ERROR_TXF_DIR_NOT_EMPTY + + + + No documentation. + + + ERROR_INDOUBT_TRANSACTIONS_EXIST + ERROR_INDOUBT_TRANSACTIONS_EXIST + + + + No documentation. + + + ERROR_TM_VOLATILE + ERROR_TM_VOLATILE + + + + No documentation. + + + ERROR_ROLLBACK_TIMER_EXPIRED + ERROR_ROLLBACK_TIMER_EXPIRED + + + + No documentation. + + + ERROR_TXF_ATTRIBUTE_CORRUPT + ERROR_TXF_ATTRIBUTE_CORRUPT + + + + No documentation. + + + ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION + ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION + + + + No documentation. + + + ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED + ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED + + + + No documentation. + + + ERROR_LOG_GROWTH_FAILED + ERROR_LOG_GROWTH_FAILED + + + + No documentation. + + + ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE + ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE + + + + No documentation. + + + ERROR_TXF_METADATA_ALREADY_PRESENT + ERROR_TXF_METADATA_ALREADY_PRESENT + + + + No documentation. + + + ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET + ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET + + + + No documentation. + + + ERROR_TRANSACTION_REQUIRED_PROMOTION + ERROR_TRANSACTION_REQUIRED_PROMOTION + + + + No documentation. + + + ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION + ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION + + + + No documentation. + + + ERROR_TRANSACTIONS_NOT_FROZEN + ERROR_TRANSACTIONS_NOT_FROZEN + + + + No documentation. + + + ERROR_TRANSACTION_FREEZE_IN_PROGRESS + ERROR_TRANSACTION_FREEZE_IN_PROGRESS + + + + No documentation. + + + ERROR_NOT_SNAPSHOT_VOLUME + ERROR_NOT_SNAPSHOT_VOLUME + + + + No documentation. + + + ERROR_NO_SAVEPOINT_WITH_OPEN_FILES + ERROR_NO_SAVEPOINT_WITH_OPEN_FILES + + + + No documentation. + + + ERROR_DATA_LOST_REPAIR + ERROR_DATA_LOST_REPAIR + + + + No documentation. + + + ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION + ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION + + + + No documentation. + + + ERROR_TM_IDENTITY_MISMATCH + ERROR_TM_IDENTITY_MISMATCH + + + + No documentation. + + + ERROR_FLOATED_SECTION + ERROR_FLOATED_SECTION + + + + No documentation. + + + ERROR_CANNOT_ACCEPT_TRANSACTED_WORK + ERROR_CANNOT_ACCEPT_TRANSACTED_WORK + + + + No documentation. + + + ERROR_CANNOT_ABORT_TRANSACTIONS + ERROR_CANNOT_ABORT_TRANSACTIONS + + + + No documentation. + + + ERROR_BAD_CLUSTERS + ERROR_BAD_CLUSTERS + + + + No documentation. + + + ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION + ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION + + + + No documentation. + + + ERROR_VOLUME_DIRTY + ERROR_VOLUME_DIRTY + + + + No documentation. + + + ERROR_NO_LINK_TRACKING_IN_TRANSACTION + ERROR_NO_LINK_TRACKING_IN_TRANSACTION + + + + No documentation. + + + ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION + ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION + + + + No documentation. + + + ERROR_EXPIRED_HANDLE + ERROR_EXPIRED_HANDLE + + + + No documentation. + + + ERROR_TRANSACTION_NOT_ENLISTED + ERROR_TRANSACTION_NOT_ENLISTED + + + + No documentation. + + + ERROR_CTX_WINSTATION_NAME_INVALID + ERROR_CTX_WINSTATION_NAME_INVALID + + + + No documentation. + + + ERROR_CTX_INVALID_PD + ERROR_CTX_INVALID_PD + + + + No documentation. + + + ERROR_CTX_PD_NOT_FOUND + ERROR_CTX_PD_NOT_FOUND + + + + No documentation. + + + ERROR_CTX_WD_NOT_FOUND + ERROR_CTX_WD_NOT_FOUND + + + + No documentation. + + + ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY + ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY + + + + No documentation. + + + ERROR_CTX_SERVICE_NAME_COLLISION + ERROR_CTX_SERVICE_NAME_COLLISION + + + + No documentation. + + + ERROR_CTX_CLOSE_PENDING + ERROR_CTX_CLOSE_PENDING + + + + No documentation. + + + ERROR_CTX_NO_OUTBUF + ERROR_CTX_NO_OUTBUF + + + + No documentation. + + + ERROR_CTX_MODEM_INF_NOT_FOUND + ERROR_CTX_MODEM_INF_NOT_FOUND + + + + No documentation. + + + ERROR_CTX_INVALID_MODEMNAME + ERROR_CTX_INVALID_MODEMNAME + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_ERROR + ERROR_CTX_MODEM_RESPONSE_ERROR + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_TIMEOUT + ERROR_CTX_MODEM_RESPONSE_TIMEOUT + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_NO_CARRIER + ERROR_CTX_MODEM_RESPONSE_NO_CARRIER + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE + ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_BUSY + ERROR_CTX_MODEM_RESPONSE_BUSY + + + + No documentation. + + + ERROR_CTX_MODEM_RESPONSE_VOICE + ERROR_CTX_MODEM_RESPONSE_VOICE + + + + No documentation. + + + ERROR_CTX_TD_ERROR + ERROR_CTX_TD_ERROR + + + + No documentation. + + + ERROR_CTX_WINSTATION_NOT_FOUND + ERROR_CTX_WINSTATION_NOT_FOUND + + + + No documentation. + + + ERROR_CTX_WINSTATION_ALREADY_EXISTS + ERROR_CTX_WINSTATION_ALREADY_EXISTS + + + + No documentation. + + + ERROR_CTX_WINSTATION_BUSY + ERROR_CTX_WINSTATION_BUSY + + + + No documentation. + + + ERROR_CTX_BAD_VIDEO_MODE + ERROR_CTX_BAD_VIDEO_MODE + + + + No documentation. + + + ERROR_CTX_GRAPHICS_INVALID + ERROR_CTX_GRAPHICS_INVALID + + + + No documentation. + + + ERROR_CTX_LOGON_DISABLED + ERROR_CTX_LOGON_DISABLED + + + + No documentation. + + + ERROR_CTX_NOT_CONSOLE + ERROR_CTX_NOT_CONSOLE + + + + No documentation. + + + ERROR_CTX_CLIENT_QUERY_TIMEOUT + ERROR_CTX_CLIENT_QUERY_TIMEOUT + + + + No documentation. + + + ERROR_CTX_CONSOLE_DISCONNECT + ERROR_CTX_CONSOLE_DISCONNECT + + + + No documentation. + + + ERROR_CTX_CONSOLE_CONNECT + ERROR_CTX_CONSOLE_CONNECT + + + + No documentation. + + + ERROR_CTX_SHADOW_DENIED + ERROR_CTX_SHADOW_DENIED + + + + No documentation. + + + ERROR_CTX_WINSTATION_ACCESS_DENIED + ERROR_CTX_WINSTATION_ACCESS_DENIED + + + + No documentation. + + + ERROR_CTX_INVALID_WD + ERROR_CTX_INVALID_WD + + + + No documentation. + + + ERROR_CTX_SHADOW_INVALID + ERROR_CTX_SHADOW_INVALID + + + + No documentation. + + + ERROR_CTX_SHADOW_DISABLED + ERROR_CTX_SHADOW_DISABLED + + + + No documentation. + + + ERROR_CTX_CLIENT_LICENSE_IN_USE + ERROR_CTX_CLIENT_LICENSE_IN_USE + + + + No documentation. + + + ERROR_CTX_CLIENT_LICENSE_NOT_SET + ERROR_CTX_CLIENT_LICENSE_NOT_SET + + + + No documentation. + + + ERROR_CTX_LICENSE_NOT_AVAILABLE + ERROR_CTX_LICENSE_NOT_AVAILABLE + + + + No documentation. + + + ERROR_CTX_LICENSE_CLIENT_INVALID + ERROR_CTX_LICENSE_CLIENT_INVALID + + + + No documentation. + + + ERROR_CTX_LICENSE_EXPIRED + ERROR_CTX_LICENSE_EXPIRED + + + + No documentation. + + + ERROR_CTX_SHADOW_NOT_RUNNING + ERROR_CTX_SHADOW_NOT_RUNNING + + + + No documentation. + + + ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE + ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE + + + + No documentation. + + + ERROR_ACTIVATION_COUNT_EXCEEDED + ERROR_ACTIVATION_COUNT_EXCEEDED + + + + No documentation. + + + ERROR_CTX_WINSTATIONS_DISABLED + ERROR_CTX_WINSTATIONS_DISABLED + + + + No documentation. + + + ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED + ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED + + + + No documentation. + + + ERROR_CTX_SESSION_IN_USE + ERROR_CTX_SESSION_IN_USE + + + + No documentation. + + + ERROR_CTX_NO_FORCE_LOGOFF + ERROR_CTX_NO_FORCE_LOGOFF + + + + No documentation. + + + ERROR_CTX_ACCOUNT_RESTRICTION + ERROR_CTX_ACCOUNT_RESTRICTION + + + + No documentation. + + + ERROR_RDP_PROTOCOL_ERROR + ERROR_RDP_PROTOCOL_ERROR + + + + No documentation. + + + ERROR_CTX_CDM_CONNECT + ERROR_CTX_CDM_CONNECT + + + + No documentation. + + + ERROR_CTX_CDM_DISCONNECT + ERROR_CTX_CDM_DISCONNECT + + + + No documentation. + + + ERROR_CTX_SECURITY_LAYER_ERROR + ERROR_CTX_SECURITY_LAYER_ERROR + + + + No documentation. + + + ERROR_TS_INCOMPATIBLE_SESSIONS + ERROR_TS_INCOMPATIBLE_SESSIONS + + + + No documentation. + + + ERROR_TS_VIDEO_SUBSYSTEM_ERROR + ERROR_TS_VIDEO_SUBSYSTEM_ERROR + + + + No documentation. + + + ERROR_DS_NOT_INSTALLED + ERROR_DS_NOT_INSTALLED + + + + No documentation. + + + ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY + ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY + + + + No documentation. + + + ERROR_DS_NO_ATTRIBUTE_OR_VALUE + ERROR_DS_NO_ATTRIBUTE_OR_VALUE + + + + No documentation. + + + ERROR_DS_INVALID_ATTRIBUTE_SYNTAX + ERROR_DS_INVALID_ATTRIBUTE_SYNTAX + + + + No documentation. + + + ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED + ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED + + + + No documentation. + + + ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS + ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS + + + + No documentation. + + + ERROR_DS_BUSY + ERROR_DS_BUSY + + + + No documentation. + + + ERROR_DS_UNAVAILABLE + ERROR_DS_UNAVAILABLE + + + + No documentation. + + + ERROR_DS_NO_RIDS_ALLOCATED + ERROR_DS_NO_RIDS_ALLOCATED + + + + No documentation. + + + ERROR_DS_NO_MORE_RIDS + ERROR_DS_NO_MORE_RIDS + + + + No documentation. + + + ERROR_DS_INCORRECT_ROLE_OWNER + ERROR_DS_INCORRECT_ROLE_OWNER + + + + No documentation. + + + ERROR_DS_RIDMGR_INIT_ERROR + ERROR_DS_RIDMGR_INIT_ERROR + + + + No documentation. + + + ERROR_DS_OBJ_CLASS_VIOLATION + ERROR_DS_OBJ_CLASS_VIOLATION + + + + No documentation. + + + ERROR_DS_CANT_ON_NON_LEAF + ERROR_DS_CANT_ON_NON_LEAF + + + + No documentation. + + + ERROR_DS_CANT_ON_RDN + ERROR_DS_CANT_ON_RDN + + + + No documentation. + + + ERROR_DS_CANT_MOD_OBJ_CLASS + ERROR_DS_CANT_MOD_OBJ_CLASS + + + + No documentation. + + + ERROR_DS_CROSS_DOM_MOVE_ERROR + ERROR_DS_CROSS_DOM_MOVE_ERROR + + + + No documentation. + + + ERROR_DS_GC_NOT_AVAILABLE + ERROR_DS_GC_NOT_AVAILABLE + + + + No documentation. + + + ERROR_SHARED_POLICY + ERROR_SHARED_POLICY + + + + No documentation. + + + ERROR_POLICY_OBJECT_NOT_FOUND + ERROR_POLICY_OBJECT_NOT_FOUND + + + + No documentation. + + + ERROR_POLICY_ONLY_IN_DS + ERROR_POLICY_ONLY_IN_DS + + + + No documentation. + + + ERROR_PROMOTION_ACTIVE + ERROR_PROMOTION_ACTIVE + + + + No documentation. + + + ERROR_NO_PROMOTION_ACTIVE + ERROR_NO_PROMOTION_ACTIVE + + + + No documentation. + + + ERROR_DS_OPERATIONS_ERROR + ERROR_DS_OPERATIONS_ERROR + + + + No documentation. + + + ERROR_DS_PROTOCOL_ERROR + ERROR_DS_PROTOCOL_ERROR + + + + No documentation. + + + ERROR_DS_TIMELIMIT_EXCEEDED + ERROR_DS_TIMELIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_SIZELIMIT_EXCEEDED + ERROR_DS_SIZELIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_ADMIN_LIMIT_EXCEEDED + ERROR_DS_ADMIN_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_COMPARE_FALSE + ERROR_DS_COMPARE_FALSE + + + + No documentation. + + + ERROR_DS_COMPARE_TRUE + ERROR_DS_COMPARE_TRUE + + + + No documentation. + + + ERROR_DS_AUTH_METHOD_NOT_SUPPORTED + ERROR_DS_AUTH_METHOD_NOT_SUPPORTED + + + + No documentation. + + + ERROR_DS_STRONG_AUTH_REQUIRED + ERROR_DS_STRONG_AUTH_REQUIRED + + + + No documentation. + + + ERROR_DS_INAPPROPRIATE_AUTH + ERROR_DS_INAPPROPRIATE_AUTH + + + + No documentation. + + + ERROR_DS_AUTH_UNKNOWN + ERROR_DS_AUTH_UNKNOWN + + + + No documentation. + + + ERROR_DS_REFERRAL + ERROR_DS_REFERRAL + + + + No documentation. + + + ERROR_DS_UNAVAILABLE_CRIT_EXTENSION + ERROR_DS_UNAVAILABLE_CRIT_EXTENSION + + + + No documentation. + + + ERROR_DS_CONFIDENTIALITY_REQUIRED + ERROR_DS_CONFIDENTIALITY_REQUIRED + + + + No documentation. + + + ERROR_DS_INAPPROPRIATE_MATCHING + ERROR_DS_INAPPROPRIATE_MATCHING + + + + No documentation. + + + ERROR_DS_CONSTRAINT_VIOLATION + ERROR_DS_CONSTRAINT_VIOLATION + + + + No documentation. + + + ERROR_DS_NO_SUCH_OBJECT + ERROR_DS_NO_SUCH_OBJECT + + + + No documentation. + + + ERROR_DS_ALIAS_PROBLEM + ERROR_DS_ALIAS_PROBLEM + + + + No documentation. + + + ERROR_DS_INVALID_DN_SYNTAX + ERROR_DS_INVALID_DN_SYNTAX + + + + No documentation. + + + ERROR_DS_IS_LEAF + ERROR_DS_IS_LEAF + + + + No documentation. + + + ERROR_DS_ALIAS_DEREF_PROBLEM + ERROR_DS_ALIAS_DEREF_PROBLEM + + + + No documentation. + + + ERROR_DS_UNWILLING_TO_PERFORM + ERROR_DS_UNWILLING_TO_PERFORM + + + + No documentation. + + + ERROR_DS_LOOP_DETECT + ERROR_DS_LOOP_DETECT + + + + No documentation. + + + ERROR_DS_NAMING_VIOLATION + ERROR_DS_NAMING_VIOLATION + + + + No documentation. + + + ERROR_DS_OBJECT_RESULTS_TOO_LARGE + ERROR_DS_OBJECT_RESULTS_TOO_LARGE + + + + No documentation. + + + ERROR_DS_AFFECTS_MULTIPLE_DSAS + ERROR_DS_AFFECTS_MULTIPLE_DSAS + + + + No documentation. + + + ERROR_DS_SERVER_DOWN + ERROR_DS_SERVER_DOWN + + + + No documentation. + + + ERROR_DS_LOCAL_ERROR + ERROR_DS_LOCAL_ERROR + + + + No documentation. + + + ERROR_DS_ENCODING_ERROR + ERROR_DS_ENCODING_ERROR + + + + No documentation. + + + ERROR_DS_DECODING_ERROR + ERROR_DS_DECODING_ERROR + + + + No documentation. + + + ERROR_DS_FILTER_UNKNOWN + ERROR_DS_FILTER_UNKNOWN + + + + No documentation. + + + ERROR_DS_PARAM_ERROR + ERROR_DS_PARAM_ERROR + + + + No documentation. + + + ERROR_DS_NOT_SUPPORTED + ERROR_DS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_DS_NO_RESULTS_RETURNED + ERROR_DS_NO_RESULTS_RETURNED + + + + No documentation. + + + ERROR_DS_CONTROL_NOT_FOUND + ERROR_DS_CONTROL_NOT_FOUND + + + + No documentation. + + + ERROR_DS_CLIENT_LOOP + ERROR_DS_CLIENT_LOOP + + + + No documentation. + + + ERROR_DS_REFERRAL_LIMIT_EXCEEDED + ERROR_DS_REFERRAL_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_SORT_CONTROL_MISSING + ERROR_DS_SORT_CONTROL_MISSING + + + + No documentation. + + + ERROR_DS_OFFSET_RANGE_ERROR + ERROR_DS_OFFSET_RANGE_ERROR + + + + No documentation. + + + ERROR_DS_RIDMGR_DISABLED + ERROR_DS_RIDMGR_DISABLED + + + + No documentation. + + + ERROR_DS_ROOT_MUST_BE_NC + ERROR_DS_ROOT_MUST_BE_NC + + + + No documentation. + + + ERROR_DS_ADD_REPLICA_INHIBITED + ERROR_DS_ADD_REPLICA_INHIBITED + + + + No documentation. + + + ERROR_DS_ATT_NOT_DEF_IN_SCHEMA + ERROR_DS_ATT_NOT_DEF_IN_SCHEMA + + + + No documentation. + + + ERROR_DS_MAX_OBJ_SIZE_EXCEEDED + ERROR_DS_MAX_OBJ_SIZE_EXCEEDED + + + + No documentation. + + + ERROR_DS_OBJ_STRING_NAME_EXISTS + ERROR_DS_OBJ_STRING_NAME_EXISTS + + + + No documentation. + + + ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA + ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA + + + + No documentation. + + + ERROR_DS_RDN_DOESNT_MATCH_SCHEMA + ERROR_DS_RDN_DOESNT_MATCH_SCHEMA + + + + No documentation. + + + ERROR_DS_NO_REQUESTED_ATTS_FOUND + ERROR_DS_NO_REQUESTED_ATTS_FOUND + + + + No documentation. + + + ERROR_DS_USER_BUFFER_TO_SMALL + ERROR_DS_USER_BUFFER_TO_SMALL + + + + No documentation. + + + ERROR_DS_ATT_IS_NOT_ON_OBJ + ERROR_DS_ATT_IS_NOT_ON_OBJ + + + + No documentation. + + + ERROR_DS_ILLEGAL_MOD_OPERATION + ERROR_DS_ILLEGAL_MOD_OPERATION + + + + No documentation. + + + ERROR_DS_OBJ_TOO_LARGE + ERROR_DS_OBJ_TOO_LARGE + + + + No documentation. + + + ERROR_DS_BAD_INSTANCE_TYPE + ERROR_DS_BAD_INSTANCE_TYPE + + + + No documentation. + + + ERROR_DS_MASTERDSA_REQUIRED + ERROR_DS_MASTERDSA_REQUIRED + + + + No documentation. + + + ERROR_DS_OBJECT_CLASS_REQUIRED + ERROR_DS_OBJECT_CLASS_REQUIRED + + + + No documentation. + + + ERROR_DS_MISSING_REQUIRED_ATT + ERROR_DS_MISSING_REQUIRED_ATT + + + + No documentation. + + + ERROR_DS_ATT_NOT_DEF_FOR_CLASS + ERROR_DS_ATT_NOT_DEF_FOR_CLASS + + + + No documentation. + + + ERROR_DS_ATT_ALREADY_EXISTS + ERROR_DS_ATT_ALREADY_EXISTS + + + + No documentation. + + + ERROR_DS_CANT_ADD_ATT_VALUES + ERROR_DS_CANT_ADD_ATT_VALUES + + + + No documentation. + + + ERROR_DS_SINGLE_VALUE_CONSTRAINT + ERROR_DS_SINGLE_VALUE_CONSTRAINT + + + + No documentation. + + + ERROR_DS_RANGE_CONSTRAINT + ERROR_DS_RANGE_CONSTRAINT + + + + No documentation. + + + ERROR_DS_ATT_VAL_ALREADY_EXISTS + ERROR_DS_ATT_VAL_ALREADY_EXISTS + + + + No documentation. + + + ERROR_DS_CANT_REM_MISSING_ATT + ERROR_DS_CANT_REM_MISSING_ATT + + + + No documentation. + + + ERROR_DS_CANT_REM_MISSING_ATT_VAL + ERROR_DS_CANT_REM_MISSING_ATT_VAL + + + + No documentation. + + + ERROR_DS_ROOT_CANT_BE_SUBREF + ERROR_DS_ROOT_CANT_BE_SUBREF + + + + No documentation. + + + ERROR_DS_NO_CHAINING + ERROR_DS_NO_CHAINING + + + + No documentation. + + + ERROR_DS_NO_CHAINED_EVAL + ERROR_DS_NO_CHAINED_EVAL + + + + No documentation. + + + ERROR_DS_NO_PARENT_OBJECT + ERROR_DS_NO_PARENT_OBJECT + + + + No documentation. + + + ERROR_DS_PARENT_IS_AN_ALIAS + ERROR_DS_PARENT_IS_AN_ALIAS + + + + No documentation. + + + ERROR_DS_CANT_MIX_MASTER_AND_REPS + ERROR_DS_CANT_MIX_MASTER_AND_REPS + + + + No documentation. + + + ERROR_DS_CHILDREN_EXIST + ERROR_DS_CHILDREN_EXIST + + + + No documentation. + + + ERROR_DS_OBJ_NOT_FOUND + ERROR_DS_OBJ_NOT_FOUND + + + + No documentation. + + + ERROR_DS_ALIASED_OBJ_MISSING + ERROR_DS_ALIASED_OBJ_MISSING + + + + No documentation. + + + ERROR_DS_BAD_NAME_SYNTAX + ERROR_DS_BAD_NAME_SYNTAX + + + + No documentation. + + + ERROR_DS_ALIAS_POINTS_TO_ALIAS + ERROR_DS_ALIAS_POINTS_TO_ALIAS + + + + No documentation. + + + ERROR_DS_CANT_DEREF_ALIAS + ERROR_DS_CANT_DEREF_ALIAS + + + + No documentation. + + + ERROR_DS_OUT_OF_SCOPE + ERROR_DS_OUT_OF_SCOPE + + + + No documentation. + + + ERROR_DS_OBJECT_BEING_REMOVED + ERROR_DS_OBJECT_BEING_REMOVED + + + + No documentation. + + + ERROR_DS_CANT_DELETE_DSA_OBJ + ERROR_DS_CANT_DELETE_DSA_OBJ + + + + No documentation. + + + ERROR_DS_GENERIC_ERROR + ERROR_DS_GENERIC_ERROR + + + + No documentation. + + + ERROR_DS_DSA_MUST_BE_INT_MASTER + ERROR_DS_DSA_MUST_BE_INT_MASTER + + + + No documentation. + + + ERROR_DS_CLASS_NOT_DSA + ERROR_DS_CLASS_NOT_DSA + + + + No documentation. + + + ERROR_DS_INSUFF_ACCESS_RIGHTS + ERROR_DS_INSUFF_ACCESS_RIGHTS + + + + No documentation. + + + ERROR_DS_ILLEGAL_SUPERIOR + ERROR_DS_ILLEGAL_SUPERIOR + + + + No documentation. + + + ERROR_DS_ATTRIBUTE_OWNED_BY_SAM + ERROR_DS_ATTRIBUTE_OWNED_BY_SAM + + + + No documentation. + + + ERROR_DS_NAME_TOO_MANY_PARTS + ERROR_DS_NAME_TOO_MANY_PARTS + + + + No documentation. + + + ERROR_DS_NAME_TOO_LONG + ERROR_DS_NAME_TOO_LONG + + + + No documentation. + + + ERROR_DS_NAME_VALUE_TOO_LONG + ERROR_DS_NAME_VALUE_TOO_LONG + + + + No documentation. + + + ERROR_DS_NAME_UNPARSEABLE + ERROR_DS_NAME_UNPARSEABLE + + + + No documentation. + + + ERROR_DS_NAME_TYPE_UNKNOWN + ERROR_DS_NAME_TYPE_UNKNOWN + + + + No documentation. + + + ERROR_DS_NOT_AN_OBJECT + ERROR_DS_NOT_AN_OBJECT + + + + No documentation. + + + ERROR_DS_SEC_DESC_TOO_SHORT + ERROR_DS_SEC_DESC_TOO_SHORT + + + + No documentation. + + + ERROR_DS_SEC_DESC_INVALID + ERROR_DS_SEC_DESC_INVALID + + + + No documentation. + + + ERROR_DS_NO_DELETED_NAME + ERROR_DS_NO_DELETED_NAME + + + + No documentation. + + + ERROR_DS_SUBREF_MUST_HAVE_PARENT + ERROR_DS_SUBREF_MUST_HAVE_PARENT + + + + No documentation. + + + ERROR_DS_NCNAME_MUST_BE_NC + ERROR_DS_NCNAME_MUST_BE_NC + + + + No documentation. + + + ERROR_DS_CANT_ADD_SYSTEM_ONLY + ERROR_DS_CANT_ADD_SYSTEM_ONLY + + + + No documentation. + + + ERROR_DS_CLASS_MUST_BE_CONCRETE + ERROR_DS_CLASS_MUST_BE_CONCRETE + + + + No documentation. + + + ERROR_DS_INVALID_DMD + ERROR_DS_INVALID_DMD + + + + No documentation. + + + ERROR_DS_OBJ_GUID_EXISTS + ERROR_DS_OBJ_GUID_EXISTS + + + + No documentation. + + + ERROR_DS_NOT_ON_BACKLINK + ERROR_DS_NOT_ON_BACKLINK + + + + No documentation. + + + ERROR_DS_NO_CROSSREF_FOR_NC + ERROR_DS_NO_CROSSREF_FOR_NC + + + + No documentation. + + + ERROR_DS_SHUTTING_DOWN + ERROR_DS_SHUTTING_DOWN + + + + No documentation. + + + ERROR_DS_UNKNOWN_OPERATION + ERROR_DS_UNKNOWN_OPERATION + + + + No documentation. + + + ERROR_DS_INVALID_ROLE_OWNER + ERROR_DS_INVALID_ROLE_OWNER + + + + No documentation. + + + ERROR_DS_COULDNT_CONTACT_FSMO + ERROR_DS_COULDNT_CONTACT_FSMO + + + + No documentation. + + + ERROR_DS_CROSS_NC_DN_RENAME + ERROR_DS_CROSS_NC_DN_RENAME + + + + No documentation. + + + ERROR_DS_CANT_MOD_SYSTEM_ONLY + ERROR_DS_CANT_MOD_SYSTEM_ONLY + + + + No documentation. + + + ERROR_DS_REPLICATOR_ONLY + ERROR_DS_REPLICATOR_ONLY + + + + No documentation. + + + ERROR_DS_OBJ_CLASS_NOT_DEFINED + ERROR_DS_OBJ_CLASS_NOT_DEFINED + + + + No documentation. + + + ERROR_DS_OBJ_CLASS_NOT_SUBCLASS + ERROR_DS_OBJ_CLASS_NOT_SUBCLASS + + + + No documentation. + + + ERROR_DS_NAME_REFERENCE_INVALID + ERROR_DS_NAME_REFERENCE_INVALID + + + + No documentation. + + + ERROR_DS_CROSS_REF_EXISTS + ERROR_DS_CROSS_REF_EXISTS + + + + No documentation. + + + ERROR_DS_CANT_DEL_MASTER_CROSSREF + ERROR_DS_CANT_DEL_MASTER_CROSSREF + + + + No documentation. + + + ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD + ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD + + + + No documentation. + + + ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX + ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX + + + + No documentation. + + + ERROR_DS_DUP_RDN + ERROR_DS_DUP_RDN + + + + No documentation. + + + ERROR_DS_DUP_OID + ERROR_DS_DUP_OID + + + + No documentation. + + + ERROR_DS_DUP_MAPI_ID + ERROR_DS_DUP_MAPI_ID + + + + No documentation. + + + ERROR_DS_DUP_SCHEMA_ID_GUID + ERROR_DS_DUP_SCHEMA_ID_GUID + + + + No documentation. + + + ERROR_DS_DUP_LDAP_DISPLAY_NAME + ERROR_DS_DUP_LDAP_DISPLAY_NAME + + + + No documentation. + + + ERROR_DS_SEMANTIC_ATT_TEST + ERROR_DS_SEMANTIC_ATT_TEST + + + + No documentation. + + + ERROR_DS_SYNTAX_MISMATCH + ERROR_DS_SYNTAX_MISMATCH + + + + No documentation. + + + ERROR_DS_EXISTS_IN_MUST_HAVE + ERROR_DS_EXISTS_IN_MUST_HAVE + + + + No documentation. + + + ERROR_DS_EXISTS_IN_MAY_HAVE + ERROR_DS_EXISTS_IN_MAY_HAVE + + + + No documentation. + + + ERROR_DS_NONEXISTENT_MAY_HAVE + ERROR_DS_NONEXISTENT_MAY_HAVE + + + + No documentation. + + + ERROR_DS_NONEXISTENT_MUST_HAVE + ERROR_DS_NONEXISTENT_MUST_HAVE + + + + No documentation. + + + ERROR_DS_AUX_CLS_TEST_FAIL + ERROR_DS_AUX_CLS_TEST_FAIL + + + + No documentation. + + + ERROR_DS_NONEXISTENT_POSS_SUP + ERROR_DS_NONEXISTENT_POSS_SUP + + + + No documentation. + + + ERROR_DS_SUB_CLS_TEST_FAIL + ERROR_DS_SUB_CLS_TEST_FAIL + + + + No documentation. + + + ERROR_DS_BAD_RDN_ATT_ID_SYNTAX + ERROR_DS_BAD_RDN_ATT_ID_SYNTAX + + + + No documentation. + + + ERROR_DS_EXISTS_IN_AUX_CLS + ERROR_DS_EXISTS_IN_AUX_CLS + + + + No documentation. + + + ERROR_DS_EXISTS_IN_SUB_CLS + ERROR_DS_EXISTS_IN_SUB_CLS + + + + No documentation. + + + ERROR_DS_EXISTS_IN_POSS_SUP + ERROR_DS_EXISTS_IN_POSS_SUP + + + + No documentation. + + + ERROR_DS_RECALCSCHEMA_FAILED + ERROR_DS_RECALCSCHEMA_FAILED + + + + No documentation. + + + ERROR_DS_TREE_DELETE_NOT_FINISHED + ERROR_DS_TREE_DELETE_NOT_FINISHED + + + + No documentation. + + + ERROR_DS_CANT_DELETE + ERROR_DS_CANT_DELETE + + + + No documentation. + + + ERROR_DS_ATT_SCHEMA_REQ_ID + ERROR_DS_ATT_SCHEMA_REQ_ID + + + + No documentation. + + + ERROR_DS_BAD_ATT_SCHEMA_SYNTAX + ERROR_DS_BAD_ATT_SCHEMA_SYNTAX + + + + No documentation. + + + ERROR_DS_CANT_CACHE_ATT + ERROR_DS_CANT_CACHE_ATT + + + + No documentation. + + + ERROR_DS_CANT_CACHE_CLASS + ERROR_DS_CANT_CACHE_CLASS + + + + No documentation. + + + ERROR_DS_CANT_REMOVE_ATT_CACHE + ERROR_DS_CANT_REMOVE_ATT_CACHE + + + + No documentation. + + + ERROR_DS_CANT_REMOVE_CLASS_CACHE + ERROR_DS_CANT_REMOVE_CLASS_CACHE + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_DN + ERROR_DS_CANT_RETRIEVE_DN + + + + No documentation. + + + ERROR_DS_MISSING_SUPREF + ERROR_DS_MISSING_SUPREF + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_INSTANCE + ERROR_DS_CANT_RETRIEVE_INSTANCE + + + + No documentation. + + + ERROR_DS_CODE_INCONSISTENCY + ERROR_DS_CODE_INCONSISTENCY + + + + No documentation. + + + ERROR_DS_DATABASE_ERROR + ERROR_DS_DATABASE_ERROR + + + + No documentation. + + + ERROR_DS_GOVERNSID_MISSING + ERROR_DS_GOVERNSID_MISSING + + + + No documentation. + + + ERROR_DS_MISSING_EXPECTED_ATT + ERROR_DS_MISSING_EXPECTED_ATT + + + + No documentation. + + + ERROR_DS_NCNAME_MISSING_CR_REF + ERROR_DS_NCNAME_MISSING_CR_REF + + + + No documentation. + + + ERROR_DS_SECURITY_CHECKING_ERROR + ERROR_DS_SECURITY_CHECKING_ERROR + + + + No documentation. + + + ERROR_DS_SCHEMA_NOT_LOADED + ERROR_DS_SCHEMA_NOT_LOADED + + + + No documentation. + + + ERROR_DS_SCHEMA_ALLOC_FAILED + ERROR_DS_SCHEMA_ALLOC_FAILED + + + + No documentation. + + + ERROR_DS_ATT_SCHEMA_REQ_SYNTAX + ERROR_DS_ATT_SCHEMA_REQ_SYNTAX + + + + No documentation. + + + ERROR_DS_GCVERIFY_ERROR + ERROR_DS_GCVERIFY_ERROR + + + + No documentation. + + + ERROR_DS_DRA_SCHEMA_MISMATCH + ERROR_DS_DRA_SCHEMA_MISMATCH + + + + No documentation. + + + ERROR_DS_CANT_FIND_DSA_OBJ + ERROR_DS_CANT_FIND_DSA_OBJ + + + + No documentation. + + + ERROR_DS_CANT_FIND_EXPECTED_NC + ERROR_DS_CANT_FIND_EXPECTED_NC + + + + No documentation. + + + ERROR_DS_CANT_FIND_NC_IN_CACHE + ERROR_DS_CANT_FIND_NC_IN_CACHE + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_CHILD + ERROR_DS_CANT_RETRIEVE_CHILD + + + + No documentation. + + + ERROR_DS_SECURITY_ILLEGAL_MODIFY + ERROR_DS_SECURITY_ILLEGAL_MODIFY + + + + No documentation. + + + ERROR_DS_CANT_REPLACE_HIDDEN_REC + ERROR_DS_CANT_REPLACE_HIDDEN_REC + + + + No documentation. + + + ERROR_DS_BAD_HIERARCHY_FILE + ERROR_DS_BAD_HIERARCHY_FILE + + + + No documentation. + + + ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED + ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED + + + + No documentation. + + + ERROR_DS_CONFIG_PARAM_MISSING + ERROR_DS_CONFIG_PARAM_MISSING + + + + No documentation. + + + ERROR_DS_COUNTING_AB_INDICES_FAILED + ERROR_DS_COUNTING_AB_INDICES_FAILED + + + + No documentation. + + + ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED + ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED + + + + No documentation. + + + ERROR_DS_INTERNAL_FAILURE + ERROR_DS_INTERNAL_FAILURE + + + + No documentation. + + + ERROR_DS_UNKNOWN_ERROR + ERROR_DS_UNKNOWN_ERROR + + + + No documentation. + + + ERROR_DS_ROOT_REQUIRES_CLASS_TOP + ERROR_DS_ROOT_REQUIRES_CLASS_TOP + + + + No documentation. + + + ERROR_DS_REFUSING_FSMO_ROLES + ERROR_DS_REFUSING_FSMO_ROLES + + + + No documentation. + + + ERROR_DS_MISSING_FSMO_SETTINGS + ERROR_DS_MISSING_FSMO_SETTINGS + + + + No documentation. + + + ERROR_DS_UNABLE_TO_SURRENDER_ROLES + ERROR_DS_UNABLE_TO_SURRENDER_ROLES + + + + No documentation. + + + ERROR_DS_DRA_GENERIC + ERROR_DS_DRA_GENERIC + + + + No documentation. + + + ERROR_DS_DRA_INVALID_PARAMETER + ERROR_DS_DRA_INVALID_PARAMETER + + + + No documentation. + + + ERROR_DS_DRA_BUSY + ERROR_DS_DRA_BUSY + + + + No documentation. + + + ERROR_DS_DRA_BAD_DN + ERROR_DS_DRA_BAD_DN + + + + No documentation. + + + ERROR_DS_DRA_BAD_NC + ERROR_DS_DRA_BAD_NC + + + + No documentation. + + + ERROR_DS_DRA_DN_EXISTS + ERROR_DS_DRA_DN_EXISTS + + + + No documentation. + + + ERROR_DS_DRA_INTERNAL_ERROR + ERROR_DS_DRA_INTERNAL_ERROR + + + + No documentation. + + + ERROR_DS_DRA_INCONSISTENT_DIT + ERROR_DS_DRA_INCONSISTENT_DIT + + + + No documentation. + + + ERROR_DS_DRA_CONNECTION_FAILED + ERROR_DS_DRA_CONNECTION_FAILED + + + + No documentation. + + + ERROR_DS_DRA_BAD_INSTANCE_TYPE + ERROR_DS_DRA_BAD_INSTANCE_TYPE + + + + No documentation. + + + ERROR_DS_DRA_OUT_OF_MEM + ERROR_DS_DRA_OUT_OF_MEM + + + + No documentation. + + + ERROR_DS_DRA_MAIL_PROBLEM + ERROR_DS_DRA_MAIL_PROBLEM + + + + No documentation. + + + ERROR_DS_DRA_REF_ALREADY_EXISTS + ERROR_DS_DRA_REF_ALREADY_EXISTS + + + + No documentation. + + + ERROR_DS_DRA_REF_NOT_FOUND + ERROR_DS_DRA_REF_NOT_FOUND + + + + No documentation. + + + ERROR_DS_DRA_OBJ_IS_REP_SOURCE + ERROR_DS_DRA_OBJ_IS_REP_SOURCE + + + + No documentation. + + + ERROR_DS_DRA_DB_ERROR + ERROR_DS_DRA_DB_ERROR + + + + No documentation. + + + ERROR_DS_DRA_NO_REPLICA + ERROR_DS_DRA_NO_REPLICA + + + + No documentation. + + + ERROR_DS_DRA_ACCESS_DENIED + ERROR_DS_DRA_ACCESS_DENIED + + + + No documentation. + + + ERROR_DS_DRA_NOT_SUPPORTED + ERROR_DS_DRA_NOT_SUPPORTED + + + + No documentation. + + + ERROR_DS_DRA_RPC_CANCELLED + ERROR_DS_DRA_RPC_CANCELLED + + + + No documentation. + + + ERROR_DS_DRA_SOURCE_DISABLED + ERROR_DS_DRA_SOURCE_DISABLED + + + + No documentation. + + + ERROR_DS_DRA_SINK_DISABLED + ERROR_DS_DRA_SINK_DISABLED + + + + No documentation. + + + ERROR_DS_DRA_NAME_COLLISION + ERROR_DS_DRA_NAME_COLLISION + + + + No documentation. + + + ERROR_DS_DRA_SOURCE_REINSTALLED + ERROR_DS_DRA_SOURCE_REINSTALLED + + + + No documentation. + + + ERROR_DS_DRA_MISSING_PARENT + ERROR_DS_DRA_MISSING_PARENT + + + + No documentation. + + + ERROR_DS_DRA_PREEMPTED + ERROR_DS_DRA_PREEMPTED + + + + No documentation. + + + ERROR_DS_DRA_ABANDON_SYNC + ERROR_DS_DRA_ABANDON_SYNC + + + + No documentation. + + + ERROR_DS_DRA_SHUTDOWN + ERROR_DS_DRA_SHUTDOWN + + + + No documentation. + + + ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET + ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET + + + + No documentation. + + + ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA + ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA + + + + No documentation. + + + ERROR_DS_DRA_EXTN_CONNECTION_FAILED + ERROR_DS_DRA_EXTN_CONNECTION_FAILED + + + + No documentation. + + + ERROR_DS_INSTALL_SCHEMA_MISMATCH + ERROR_DS_INSTALL_SCHEMA_MISMATCH + + + + No documentation. + + + ERROR_DS_DUP_LINK_ID + ERROR_DS_DUP_LINK_ID + + + + No documentation. + + + ERROR_DS_NAME_ERROR_RESOLVING + ERROR_DS_NAME_ERROR_RESOLVING + + + + No documentation. + + + ERROR_DS_NAME_ERROR_NOT_FOUND + ERROR_DS_NAME_ERROR_NOT_FOUND + + + + No documentation. + + + ERROR_DS_NAME_ERROR_NOT_UNIQUE + ERROR_DS_NAME_ERROR_NOT_UNIQUE + + + + No documentation. + + + ERROR_DS_NAME_ERROR_NO_MAPPING + ERROR_DS_NAME_ERROR_NO_MAPPING + + + + No documentation. + + + ERROR_DS_NAME_ERROR_DOMAIN_ONLY + ERROR_DS_NAME_ERROR_DOMAIN_ONLY + + + + No documentation. + + + ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING + ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING + + + + No documentation. + + + ERROR_DS_CONSTRUCTED_ATT_MOD + ERROR_DS_CONSTRUCTED_ATT_MOD + + + + No documentation. + + + ERROR_DS_WRONG_OM_OBJ_CLASS + ERROR_DS_WRONG_OM_OBJ_CLASS + + + + No documentation. + + + ERROR_DS_DRA_REPL_PENDING + ERROR_DS_DRA_REPL_PENDING + + + + No documentation. + + + ERROR_DS_DS_REQUIRED + ERROR_DS_DS_REQUIRED + + + + No documentation. + + + ERROR_DS_INVALID_LDAP_DISPLAY_NAME + ERROR_DS_INVALID_LDAP_DISPLAY_NAME + + + + No documentation. + + + ERROR_DS_NON_BASE_SEARCH + ERROR_DS_NON_BASE_SEARCH + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_ATTS + ERROR_DS_CANT_RETRIEVE_ATTS + + + + No documentation. + + + ERROR_DS_BACKLINK_WITHOUT_LINK + ERROR_DS_BACKLINK_WITHOUT_LINK + + + + No documentation. + + + ERROR_DS_EPOCH_MISMATCH + ERROR_DS_EPOCH_MISMATCH + + + + No documentation. + + + ERROR_DS_SRC_NAME_MISMATCH + ERROR_DS_SRC_NAME_MISMATCH + + + + No documentation. + + + ERROR_DS_SRC_AND_DST_NC_IDENTICAL + ERROR_DS_SRC_AND_DST_NC_IDENTICAL + + + + No documentation. + + + ERROR_DS_DST_NC_MISMATCH + ERROR_DS_DST_NC_MISMATCH + + + + No documentation. + + + ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC + ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC + + + + No documentation. + + + ERROR_DS_SRC_GUID_MISMATCH + ERROR_DS_SRC_GUID_MISMATCH + + + + No documentation. + + + ERROR_DS_CANT_MOVE_DELETED_OBJECT + ERROR_DS_CANT_MOVE_DELETED_OBJECT + + + + No documentation. + + + ERROR_DS_PDC_OPERATION_IN_PROGRESS + ERROR_DS_PDC_OPERATION_IN_PROGRESS + + + + No documentation. + + + ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD + ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD + + + + No documentation. + + + ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION + ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION + + + + No documentation. + + + ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS + ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS + + + + No documentation. + + + ERROR_DS_NC_MUST_HAVE_NC_PARENT + ERROR_DS_NC_MUST_HAVE_NC_PARENT + + + + No documentation. + + + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE + + + + No documentation. + + + ERROR_DS_DST_DOMAIN_NOT_NATIVE + ERROR_DS_DST_DOMAIN_NOT_NATIVE + + + + No documentation. + + + ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER + ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER + + + + No documentation. + + + ERROR_DS_CANT_MOVE_ACCOUNT_GROUP + ERROR_DS_CANT_MOVE_ACCOUNT_GROUP + + + + No documentation. + + + ERROR_DS_CANT_MOVE_RESOURCE_GROUP + ERROR_DS_CANT_MOVE_RESOURCE_GROUP + + + + No documentation. + + + ERROR_DS_INVALID_SEARCH_FLAG + ERROR_DS_INVALID_SEARCH_FLAG + + + + No documentation. + + + ERROR_DS_NO_TREE_DELETE_ABOVE_NC + ERROR_DS_NO_TREE_DELETE_ABOVE_NC + + + + No documentation. + + + ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE + ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE + + + + No documentation. + + + ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE + ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE + + + + No documentation. + + + ERROR_DS_SAM_INIT_FAILURE + ERROR_DS_SAM_INIT_FAILURE + + + + No documentation. + + + ERROR_DS_SENSITIVE_GROUP_VIOLATION + ERROR_DS_SENSITIVE_GROUP_VIOLATION + + + + No documentation. + + + ERROR_DS_CANT_MOD_PRIMARYGROUPID + ERROR_DS_CANT_MOD_PRIMARYGROUPID + + + + No documentation. + + + ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD + ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD + + + + No documentation. + + + ERROR_DS_NONSAFE_SCHEMA_CHANGE + ERROR_DS_NONSAFE_SCHEMA_CHANGE + + + + No documentation. + + + ERROR_DS_SCHEMA_UPDATE_DISALLOWED + ERROR_DS_SCHEMA_UPDATE_DISALLOWED + + + + No documentation. + + + ERROR_DS_CANT_CREATE_UNDER_SCHEMA + ERROR_DS_CANT_CREATE_UNDER_SCHEMA + + + + No documentation. + + + ERROR_DS_INSTALL_NO_SRC_SCH_VERSION + ERROR_DS_INSTALL_NO_SRC_SCH_VERSION + + + + No documentation. + + + ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE + ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE + + + + No documentation. + + + ERROR_DS_INVALID_GROUP_TYPE + ERROR_DS_INVALID_GROUP_TYPE + + + + No documentation. + + + ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN + ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN + + + + No documentation. + + + ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN + ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN + + + + No documentation. + + + ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER + ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER + + + + No documentation. + + + ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER + ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER + + + + No documentation. + + + ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER + ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER + + + + No documentation. + + + ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER + ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER + + + + No documentation. + + + ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER + ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER + + + + No documentation. + + + ERROR_DS_HAVE_PRIMARY_MEMBERS + ERROR_DS_HAVE_PRIMARY_MEMBERS + + + + No documentation. + + + ERROR_DS_STRING_SD_CONVERSION_FAILED + ERROR_DS_STRING_SD_CONVERSION_FAILED + + + + No documentation. + + + ERROR_DS_NAMING_MASTER_GC + ERROR_DS_NAMING_MASTER_GC + + + + No documentation. + + + ERROR_DS_DNS_LOOKUP_FAILURE + ERROR_DS_DNS_LOOKUP_FAILURE + + + + No documentation. + + + ERROR_DS_COULDNT_UPDATE_SPNS + ERROR_DS_COULDNT_UPDATE_SPNS + + + + No documentation. + + + ERROR_DS_CANT_RETRIEVE_SD + ERROR_DS_CANT_RETRIEVE_SD + + + + No documentation. + + + ERROR_DS_KEY_NOT_UNIQUE + ERROR_DS_KEY_NOT_UNIQUE + + + + No documentation. + + + ERROR_DS_WRONG_LINKED_ATT_SYNTAX + ERROR_DS_WRONG_LINKED_ATT_SYNTAX + + + + No documentation. + + + ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD + ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD + + + + No documentation. + + + ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY + ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY + + + + No documentation. + + + ERROR_DS_CANT_START + ERROR_DS_CANT_START + + + + No documentation. + + + ERROR_DS_INIT_FAILURE + ERROR_DS_INIT_FAILURE + + + + No documentation. + + + ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION + ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION + + + + No documentation. + + + ERROR_DS_SOURCE_DOMAIN_IN_FOREST + ERROR_DS_SOURCE_DOMAIN_IN_FOREST + + + + No documentation. + + + ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST + ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST + + + + No documentation. + + + ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED + ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED + + + + No documentation. + + + ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN + ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN + + + + No documentation. + + + ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER + ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER + + + + No documentation. + + + ERROR_DS_SRC_SID_EXISTS_IN_FOREST + ERROR_DS_SRC_SID_EXISTS_IN_FOREST + + + + No documentation. + + + ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH + ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH + + + + No documentation. + + + ERROR_SAM_INIT_FAILURE + ERROR_SAM_INIT_FAILURE + + + + No documentation. + + + ERROR_DS_DRA_SCHEMA_INFO_SHIP + ERROR_DS_DRA_SCHEMA_INFO_SHIP + + + + No documentation. + + + ERROR_DS_DRA_SCHEMA_CONFLICT + ERROR_DS_DRA_SCHEMA_CONFLICT + + + + No documentation. + + + ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT + ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT + + + + No documentation. + + + ERROR_DS_DRA_OBJ_NC_MISMATCH + ERROR_DS_DRA_OBJ_NC_MISMATCH + + + + No documentation. + + + ERROR_DS_NC_STILL_HAS_DSAS + ERROR_DS_NC_STILL_HAS_DSAS + + + + No documentation. + + + ERROR_DS_GC_REQUIRED + ERROR_DS_GC_REQUIRED + + + + No documentation. + + + ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY + ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY + + + + No documentation. + + + ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS + ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS + + + + No documentation. + + + ERROR_DS_CANT_ADD_TO_GC + ERROR_DS_CANT_ADD_TO_GC + + + + No documentation. + + + ERROR_DS_NO_CHECKPOINT_WITH_PDC + ERROR_DS_NO_CHECKPOINT_WITH_PDC + + + + No documentation. + + + ERROR_DS_SOURCE_AUDITING_NOT_ENABLED + ERROR_DS_SOURCE_AUDITING_NOT_ENABLED + + + + No documentation. + + + ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC + ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC + + + + No documentation. + + + ERROR_DS_INVALID_NAME_FOR_SPN + ERROR_DS_INVALID_NAME_FOR_SPN + + + + No documentation. + + + ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS + ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS + + + + No documentation. + + + ERROR_DS_UNICODEPWD_NOT_IN_QUOTES + ERROR_DS_UNICODEPWD_NOT_IN_QUOTES + + + + No documentation. + + + ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED + ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED + + + + No documentation. + + + ERROR_DS_MUST_BE_RUN_ON_DST_DC + ERROR_DS_MUST_BE_RUN_ON_DST_DC + + + + No documentation. + + + ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER + ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER + + + + No documentation. + + + ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ + ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ + + + + No documentation. + + + ERROR_DS_INIT_FAILURE_CONSOLE + ERROR_DS_INIT_FAILURE_CONSOLE + + + + No documentation. + + + ERROR_DS_SAM_INIT_FAILURE_CONSOLE + ERROR_DS_SAM_INIT_FAILURE_CONSOLE + + + + No documentation. + + + ERROR_DS_FOREST_VERSION_TOO_HIGH + ERROR_DS_FOREST_VERSION_TOO_HIGH + + + + No documentation. + + + ERROR_DS_DOMAIN_VERSION_TOO_HIGH + ERROR_DS_DOMAIN_VERSION_TOO_HIGH + + + + No documentation. + + + ERROR_DS_FOREST_VERSION_TOO_LOW + ERROR_DS_FOREST_VERSION_TOO_LOW + + + + No documentation. + + + ERROR_DS_DOMAIN_VERSION_TOO_LOW + ERROR_DS_DOMAIN_VERSION_TOO_LOW + + + + No documentation. + + + ERROR_DS_INCOMPATIBLE_VERSION + ERROR_DS_INCOMPATIBLE_VERSION + + + + No documentation. + + + ERROR_DS_LOW_DSA_VERSION + ERROR_DS_LOW_DSA_VERSION + + + + No documentation. + + + ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN + ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN + + + + No documentation. + + + ERROR_DS_NOT_SUPPORTED_SORT_ORDER + ERROR_DS_NOT_SUPPORTED_SORT_ORDER + + + + No documentation. + + + ERROR_DS_NAME_NOT_UNIQUE + ERROR_DS_NAME_NOT_UNIQUE + + + + No documentation. + + + ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 + ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 + + + + No documentation. + + + ERROR_DS_OUT_OF_VERSION_STORE + ERROR_DS_OUT_OF_VERSION_STORE + + + + No documentation. + + + ERROR_DS_INCOMPATIBLE_CONTROLS_USED + ERROR_DS_INCOMPATIBLE_CONTROLS_USED + + + + No documentation. + + + ERROR_DS_NO_REF_DOMAIN + ERROR_DS_NO_REF_DOMAIN + + + + No documentation. + + + ERROR_DS_RESERVED_LINK_ID + ERROR_DS_RESERVED_LINK_ID + + + + No documentation. + + + ERROR_DS_LINK_ID_NOT_AVAILABLE + ERROR_DS_LINK_ID_NOT_AVAILABLE + + + + No documentation. + + + ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER + ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER + + + + No documentation. + + + ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE + ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE + + + + No documentation. + + + ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC + ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC + + + + No documentation. + + + ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG + ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG + + + + No documentation. + + + ERROR_DS_MODIFYDN_WRONG_GRANDPARENT + ERROR_DS_MODIFYDN_WRONG_GRANDPARENT + + + + No documentation. + + + ERROR_DS_NAME_ERROR_TRUST_REFERRAL + ERROR_DS_NAME_ERROR_TRUST_REFERRAL + + + + No documentation. + + + ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER + ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER + + + + No documentation. + + + ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD + ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD + + + + No documentation. + + + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 + + + + No documentation. + + + ERROR_DS_THREAD_LIMIT_EXCEEDED + ERROR_DS_THREAD_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_DS_NOT_CLOSEST + ERROR_DS_NOT_CLOSEST + + + + No documentation. + + + ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF + ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF + + + + No documentation. + + + ERROR_DS_SINGLE_USER_MODE_FAILED + ERROR_DS_SINGLE_USER_MODE_FAILED + + + + No documentation. + + + ERROR_DS_NTDSCRIPT_SYNTAX_ERROR + ERROR_DS_NTDSCRIPT_SYNTAX_ERROR + + + + No documentation. + + + ERROR_DS_NTDSCRIPT_PROCESS_ERROR + ERROR_DS_NTDSCRIPT_PROCESS_ERROR + + + + No documentation. + + + ERROR_DS_DIFFERENT_REPL_EPOCHS + ERROR_DS_DIFFERENT_REPL_EPOCHS + + + + No documentation. + + + ERROR_DS_DRS_EXTENSIONS_CHANGED + ERROR_DS_DRS_EXTENSIONS_CHANGED + + + + No documentation. + + + ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR + ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR + + + + No documentation. + + + ERROR_DS_NO_MSDS_INTID + ERROR_DS_NO_MSDS_INTID + + + + No documentation. + + + ERROR_DS_DUP_MSDS_INTID + ERROR_DS_DUP_MSDS_INTID + + + + No documentation. + + + ERROR_DS_EXISTS_IN_RDNATTID + ERROR_DS_EXISTS_IN_RDNATTID + + + + No documentation. + + + ERROR_DS_AUTHORIZATION_FAILED + ERROR_DS_AUTHORIZATION_FAILED + + + + No documentation. + + + ERROR_DS_INVALID_SCRIPT + ERROR_DS_INVALID_SCRIPT + + + + No documentation. + + + ERROR_DS_REMOTE_CROSSREF_OP_FAILED + ERROR_DS_REMOTE_CROSSREF_OP_FAILED + + + + No documentation. + + + ERROR_DS_CROSS_REF_BUSY + ERROR_DS_CROSS_REF_BUSY + + + + No documentation. + + + ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN + ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN + + + + No documentation. + + + ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC + ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC + + + + No documentation. + + + ERROR_DS_DUPLICATE_ID_FOUND + ERROR_DS_DUPLICATE_ID_FOUND + + + + No documentation. + + + ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT + ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT + + + + No documentation. + + + ERROR_DS_GROUP_CONVERSION_ERROR + ERROR_DS_GROUP_CONVERSION_ERROR + + + + No documentation. + + + ERROR_DS_CANT_MOVE_APP_BASIC_GROUP + ERROR_DS_CANT_MOVE_APP_BASIC_GROUP + + + + No documentation. + + + ERROR_DS_CANT_MOVE_APP_QUERY_GROUP + ERROR_DS_CANT_MOVE_APP_QUERY_GROUP + + + + No documentation. + + + ERROR_DS_ROLE_NOT_VERIFIED + ERROR_DS_ROLE_NOT_VERIFIED + + + + No documentation. + + + ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL + ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL + + + + No documentation. + + + ERROR_DS_DOMAIN_RENAME_IN_PROGRESS + ERROR_DS_DOMAIN_RENAME_IN_PROGRESS + + + + No documentation. + + + ERROR_DS_EXISTING_AD_CHILD_NC + ERROR_DS_EXISTING_AD_CHILD_NC + + + + No documentation. + + + ERROR_DS_REPL_LIFETIME_EXCEEDED + ERROR_DS_REPL_LIFETIME_EXCEEDED + + + + No documentation. + + + ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER + ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER + + + + No documentation. + + + ERROR_DS_LDAP_SEND_QUEUE_FULL + ERROR_DS_LDAP_SEND_QUEUE_FULL + + + + No documentation. + + + ERROR_DS_DRA_OUT_SCHEDULE_WINDOW + ERROR_DS_DRA_OUT_SCHEDULE_WINDOW + + + + No documentation. + + + ERROR_DS_POLICY_NOT_KNOWN + ERROR_DS_POLICY_NOT_KNOWN + + + + No documentation. + + + ERROR_NO_SITE_SETTINGS_OBJECT + ERROR_NO_SITE_SETTINGS_OBJECT + + + + No documentation. + + + ERROR_NO_SECRETS + ERROR_NO_SECRETS + + + + No documentation. + + + ERROR_NO_WRITABLE_DC_FOUND + ERROR_NO_WRITABLE_DC_FOUND + + + + No documentation. + + + ERROR_DS_NO_SERVER_OBJECT + ERROR_DS_NO_SERVER_OBJECT + + + + No documentation. + + + ERROR_DS_NO_NTDSA_OBJECT + ERROR_DS_NO_NTDSA_OBJECT + + + + No documentation. + + + ERROR_DS_NON_ASQ_SEARCH + ERROR_DS_NON_ASQ_SEARCH + + + + No documentation. + + + ERROR_DS_AUDIT_FAILURE + ERROR_DS_AUDIT_FAILURE + + + + No documentation. + + + ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE + ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE + + + + No documentation. + + + ERROR_DS_INVALID_SEARCH_FLAG_TUPLE + ERROR_DS_INVALID_SEARCH_FLAG_TUPLE + + + + No documentation. + + + ERROR_DS_HIERARCHY_TABLE_TOO_DEEP + ERROR_DS_HIERARCHY_TABLE_TOO_DEEP + + + + No documentation. + + + ERROR_DS_DRA_CORRUPT_UTD_VECTOR + ERROR_DS_DRA_CORRUPT_UTD_VECTOR + + + + No documentation. + + + ERROR_DS_DRA_SECRETS_DENIED + ERROR_DS_DRA_SECRETS_DENIED + + + + No documentation. + + + ERROR_DS_RESERVED_MAPI_ID + ERROR_DS_RESERVED_MAPI_ID + + + + No documentation. + + + ERROR_DS_MAPI_ID_NOT_AVAILABLE + ERROR_DS_MAPI_ID_NOT_AVAILABLE + + + + No documentation. + + + ERROR_DS_DRA_MISSING_KRBTGT_SECRET + ERROR_DS_DRA_MISSING_KRBTGT_SECRET + + + + No documentation. + + + ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST + ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST + + + + No documentation. + + + ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST + ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST + + + + No documentation. + + + ERROR_INVALID_USER_PRINCIPAL_NAME + ERROR_INVALID_USER_PRINCIPAL_NAME + + + + No documentation. + + + ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS + ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS + + + + No documentation. + + + ERROR_DS_OID_NOT_FOUND + ERROR_DS_OID_NOT_FOUND + + + + No documentation. + + + ERROR_DS_DRA_RECYCLED_TARGET + ERROR_DS_DRA_RECYCLED_TARGET + + + + No documentation. + + + ERROR_DS_DISALLOWED_NC_REDIRECT + ERROR_DS_DISALLOWED_NC_REDIRECT + + + + No documentation. + + + ERROR_DS_HIGH_ADLDS_FFL + ERROR_DS_HIGH_ADLDS_FFL + + + + No documentation. + + + ERROR_DS_HIGH_DSA_VERSION + ERROR_DS_HIGH_DSA_VERSION + + + + No documentation. + + + ERROR_DS_LOW_ADLDS_FFL + ERROR_DS_LOW_ADLDS_FFL + + + + No documentation. + + + ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION + ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION + + + + No documentation. + + + ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED + ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED + + + + No documentation. + + + ERROR_INCORRECT_ACCOUNT_TYPE + ERROR_INCORRECT_ACCOUNT_TYPE + + + + No documentation. + + + ERROR_IPSEC_QM_POLICY_EXISTS + ERROR_IPSEC_QM_POLICY_EXISTS + + + + No documentation. + + + ERROR_IPSEC_QM_POLICY_NOT_FOUND + ERROR_IPSEC_QM_POLICY_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_QM_POLICY_IN_USE + ERROR_IPSEC_QM_POLICY_IN_USE + + + + No documentation. + + + ERROR_IPSEC_MM_POLICY_EXISTS + ERROR_IPSEC_MM_POLICY_EXISTS + + + + No documentation. + + + ERROR_IPSEC_MM_POLICY_NOT_FOUND + ERROR_IPSEC_MM_POLICY_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_MM_POLICY_IN_USE + ERROR_IPSEC_MM_POLICY_IN_USE + + + + No documentation. + + + ERROR_IPSEC_MM_FILTER_EXISTS + ERROR_IPSEC_MM_FILTER_EXISTS + + + + No documentation. + + + ERROR_IPSEC_MM_FILTER_NOT_FOUND + ERROR_IPSEC_MM_FILTER_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_TRANSPORT_FILTER_EXISTS + ERROR_IPSEC_TRANSPORT_FILTER_EXISTS + + + + No documentation. + + + ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND + ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_MM_AUTH_EXISTS + ERROR_IPSEC_MM_AUTH_EXISTS + + + + No documentation. + + + ERROR_IPSEC_MM_AUTH_NOT_FOUND + ERROR_IPSEC_MM_AUTH_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_MM_AUTH_IN_USE + ERROR_IPSEC_MM_AUTH_IN_USE + + + + No documentation. + + + ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND + ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND + ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND + ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_TUNNEL_FILTER_EXISTS + ERROR_IPSEC_TUNNEL_FILTER_EXISTS + + + + No documentation. + + + ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND + ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND + + + + No documentation. + + + ERROR_IPSEC_MM_FILTER_PENDING_DELETION + ERROR_IPSEC_MM_FILTER_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION + ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION + ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_MM_POLICY_PENDING_DELETION + ERROR_IPSEC_MM_POLICY_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_MM_AUTH_PENDING_DELETION + ERROR_IPSEC_MM_AUTH_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_QM_POLICY_PENDING_DELETION + ERROR_IPSEC_QM_POLICY_PENDING_DELETION + + + + No documentation. + + + ERROR_IPSEC_IKE_NEG_STATUS_BEGIN + ERROR_IPSEC_IKE_NEG_STATUS_BEGIN + + + + No documentation. + + + ERROR_IPSEC_IKE_AUTH_FAIL + ERROR_IPSEC_IKE_AUTH_FAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_ATTRIB_FAIL + ERROR_IPSEC_IKE_ATTRIB_FAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_NEGOTIATION_PENDING + ERROR_IPSEC_IKE_NEGOTIATION_PENDING + + + + No documentation. + + + ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR + ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR + + + + No documentation. + + + ERROR_IPSEC_IKE_TIMED_OUT + ERROR_IPSEC_IKE_TIMED_OUT + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_CERT + ERROR_IPSEC_IKE_NO_CERT + + + + No documentation. + + + ERROR_IPSEC_IKE_SA_DELETED + ERROR_IPSEC_IKE_SA_DELETED + + + + No documentation. + + + ERROR_IPSEC_IKE_SA_REAPED + ERROR_IPSEC_IKE_SA_REAPED + + + + No documentation. + + + ERROR_IPSEC_IKE_MM_ACQUIRE_DROP + ERROR_IPSEC_IKE_MM_ACQUIRE_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_QM_ACQUIRE_DROP + ERROR_IPSEC_IKE_QM_ACQUIRE_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_QUEUE_DROP_MM + ERROR_IPSEC_IKE_QUEUE_DROP_MM + + + + No documentation. + + + ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM + ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM + + + + No documentation. + + + ERROR_IPSEC_IKE_DROP_NO_RESPONSE + ERROR_IPSEC_IKE_DROP_NO_RESPONSE + + + + No documentation. + + + ERROR_IPSEC_IKE_MM_DELAY_DROP + ERROR_IPSEC_IKE_MM_DELAY_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_QM_DELAY_DROP + ERROR_IPSEC_IKE_QM_DELAY_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_ERROR + ERROR_IPSEC_IKE_ERROR + + + + No documentation. + + + ERROR_IPSEC_IKE_CRL_FAILED + ERROR_IPSEC_IKE_CRL_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_KEY_USAGE + ERROR_IPSEC_IKE_INVALID_KEY_USAGE + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_CERT_TYPE + ERROR_IPSEC_IKE_INVALID_CERT_TYPE + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_PRIVATE_KEY + ERROR_IPSEC_IKE_NO_PRIVATE_KEY + + + + No documentation. + + + ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY + ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY + + + + No documentation. + + + ERROR_IPSEC_IKE_DH_FAIL + ERROR_IPSEC_IKE_DH_FAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED + ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_HEADER + ERROR_IPSEC_IKE_INVALID_HEADER + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_POLICY + ERROR_IPSEC_IKE_NO_POLICY + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_SIGNATURE + ERROR_IPSEC_IKE_INVALID_SIGNATURE + + + + No documentation. + + + ERROR_IPSEC_IKE_KERBEROS_ERROR + ERROR_IPSEC_IKE_KERBEROS_ERROR + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_PUBLIC_KEY + ERROR_IPSEC_IKE_NO_PUBLIC_KEY + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR + ERROR_IPSEC_IKE_PROCESS_ERR + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_SA + ERROR_IPSEC_IKE_PROCESS_ERR_SA + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_PROP + ERROR_IPSEC_IKE_PROCESS_ERR_PROP + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_TRANS + ERROR_IPSEC_IKE_PROCESS_ERR_TRANS + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_KE + ERROR_IPSEC_IKE_PROCESS_ERR_KE + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_ID + ERROR_IPSEC_IKE_PROCESS_ERR_ID + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_CERT + ERROR_IPSEC_IKE_PROCESS_ERR_CERT + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ + ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_HASH + ERROR_IPSEC_IKE_PROCESS_ERR_HASH + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_SIG + ERROR_IPSEC_IKE_PROCESS_ERR_SIG + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_NONCE + ERROR_IPSEC_IKE_PROCESS_ERR_NONCE + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY + ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_DELETE + ERROR_IPSEC_IKE_PROCESS_ERR_DELETE + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR + ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_PAYLOAD + ERROR_IPSEC_IKE_INVALID_PAYLOAD + + + + No documentation. + + + ERROR_IPSEC_IKE_LOAD_SOFT_SA + ERROR_IPSEC_IKE_LOAD_SOFT_SA + + + + No documentation. + + + ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN + ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_COOKIE + ERROR_IPSEC_IKE_INVALID_COOKIE + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_PEER_CERT + ERROR_IPSEC_IKE_NO_PEER_CERT + + + + No documentation. + + + ERROR_IPSEC_IKE_PEER_CRL_FAILED + ERROR_IPSEC_IKE_PEER_CRL_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_POLICY_CHANGE + ERROR_IPSEC_IKE_POLICY_CHANGE + + + + No documentation. + + + ERROR_IPSEC_IKE_NO_MM_POLICY + ERROR_IPSEC_IKE_NO_MM_POLICY + + + + No documentation. + + + ERROR_IPSEC_IKE_NOTCBPRIV + ERROR_IPSEC_IKE_NOTCBPRIV + + + + No documentation. + + + ERROR_IPSEC_IKE_SECLOADFAIL + ERROR_IPSEC_IKE_SECLOADFAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_FAILSSPINIT + ERROR_IPSEC_IKE_FAILSSPINIT + + + + No documentation. + + + ERROR_IPSEC_IKE_FAILQUERYSSP + ERROR_IPSEC_IKE_FAILQUERYSSP + + + + No documentation. + + + ERROR_IPSEC_IKE_SRVACQFAIL + ERROR_IPSEC_IKE_SRVACQFAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_SRVQUERYCRED + ERROR_IPSEC_IKE_SRVQUERYCRED + + + + No documentation. + + + ERROR_IPSEC_IKE_GETSPIFAIL + ERROR_IPSEC_IKE_GETSPIFAIL + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_FILTER + ERROR_IPSEC_IKE_INVALID_FILTER + + + + No documentation. + + + ERROR_IPSEC_IKE_OUT_OF_MEMORY + ERROR_IPSEC_IKE_OUT_OF_MEMORY + + + + No documentation. + + + ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED + ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_POLICY + ERROR_IPSEC_IKE_INVALID_POLICY + + + + No documentation. + + + ERROR_IPSEC_IKE_UNKNOWN_DOI + ERROR_IPSEC_IKE_UNKNOWN_DOI + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_SITUATION + ERROR_IPSEC_IKE_INVALID_SITUATION + + + + No documentation. + + + ERROR_IPSEC_IKE_DH_FAILURE + ERROR_IPSEC_IKE_DH_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_GROUP + ERROR_IPSEC_IKE_INVALID_GROUP + + + + No documentation. + + + ERROR_IPSEC_IKE_ENCRYPT + ERROR_IPSEC_IKE_ENCRYPT + + + + No documentation. + + + ERROR_IPSEC_IKE_DECRYPT + ERROR_IPSEC_IKE_DECRYPT + + + + No documentation. + + + ERROR_IPSEC_IKE_POLICY_MATCH + ERROR_IPSEC_IKE_POLICY_MATCH + + + + No documentation. + + + ERROR_IPSEC_IKE_UNSUPPORTED_ID + ERROR_IPSEC_IKE_UNSUPPORTED_ID + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_HASH + ERROR_IPSEC_IKE_INVALID_HASH + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_HASH_ALG + ERROR_IPSEC_IKE_INVALID_HASH_ALG + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_HASH_SIZE + ERROR_IPSEC_IKE_INVALID_HASH_SIZE + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG + ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_AUTH_ALG + ERROR_IPSEC_IKE_INVALID_AUTH_ALG + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_SIG + ERROR_IPSEC_IKE_INVALID_SIG + + + + No documentation. + + + ERROR_IPSEC_IKE_LOAD_FAILED + ERROR_IPSEC_IKE_LOAD_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_RPC_DELETE + ERROR_IPSEC_IKE_RPC_DELETE + + + + No documentation. + + + ERROR_IPSEC_IKE_BENIGN_REINIT + ERROR_IPSEC_IKE_BENIGN_REINIT + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY + ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION + ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN + ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN + + + + No documentation. + + + ERROR_IPSEC_IKE_MM_LIMIT + ERROR_IPSEC_IKE_MM_LIMIT + + + + No documentation. + + + ERROR_IPSEC_IKE_NEGOTIATION_DISABLED + ERROR_IPSEC_IKE_NEGOTIATION_DISABLED + + + + No documentation. + + + ERROR_IPSEC_IKE_QM_LIMIT + ERROR_IPSEC_IKE_QM_LIMIT + + + + No documentation. + + + ERROR_IPSEC_IKE_MM_EXPIRED + ERROR_IPSEC_IKE_MM_EXPIRED + + + + No documentation. + + + ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID + ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID + + + + No documentation. + + + ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH + ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH + + + + No documentation. + + + ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID + ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD + ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD + + + + No documentation. + + + ERROR_IPSEC_IKE_DOS_COOKIE_SENT + ERROR_IPSEC_IKE_DOS_COOKIE_SENT + + + + No documentation. + + + ERROR_IPSEC_IKE_SHUTTING_DOWN + ERROR_IPSEC_IKE_SHUTTING_DOWN + + + + No documentation. + + + ERROR_IPSEC_IKE_CGA_AUTH_FAILED + ERROR_IPSEC_IKE_CGA_AUTH_FAILED + + + + No documentation. + + + ERROR_IPSEC_IKE_PROCESS_ERR_NATOA + ERROR_IPSEC_IKE_PROCESS_ERR_NATOA + + + + No documentation. + + + ERROR_IPSEC_IKE_INVALID_MM_FOR_QM + ERROR_IPSEC_IKE_INVALID_MM_FOR_QM + + + + No documentation. + + + ERROR_IPSEC_IKE_QM_EXPIRED + ERROR_IPSEC_IKE_QM_EXPIRED + + + + No documentation. + + + ERROR_IPSEC_IKE_TOO_MANY_FILTERS + ERROR_IPSEC_IKE_TOO_MANY_FILTERS + + + + No documentation. + + + ERROR_IPSEC_IKE_NEG_STATUS_END + ERROR_IPSEC_IKE_NEG_STATUS_END + + + + No documentation. + + + ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL + ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL + + + + No documentation. + + + ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE + ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING + ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING + + + + No documentation. + + + ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING + ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING + + + + No documentation. + + + ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS + ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS + + + + No documentation. + + + ERROR_IPSEC_IKE_RATELIMIT_DROP + ERROR_IPSEC_IKE_RATELIMIT_DROP + + + + No documentation. + + + ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE + ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE + + + + No documentation. + + + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY + + + + No documentation. + + + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE + + + + No documentation. + + + ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END + ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END + + + + No documentation. + + + ERROR_IPSEC_BAD_SPI + ERROR_IPSEC_BAD_SPI + + + + No documentation. + + + ERROR_IPSEC_SA_LIFETIME_EXPIRED + ERROR_IPSEC_SA_LIFETIME_EXPIRED + + + + No documentation. + + + ERROR_IPSEC_WRONG_SA + ERROR_IPSEC_WRONG_SA + + + + No documentation. + + + ERROR_IPSEC_REPLAY_CHECK_FAILED + ERROR_IPSEC_REPLAY_CHECK_FAILED + + + + No documentation. + + + ERROR_IPSEC_INVALID_PACKET + ERROR_IPSEC_INVALID_PACKET + + + + No documentation. + + + ERROR_IPSEC_INTEGRITY_CHECK_FAILED + ERROR_IPSEC_INTEGRITY_CHECK_FAILED + + + + No documentation. + + + ERROR_IPSEC_CLEAR_TEXT_DROP + ERROR_IPSEC_CLEAR_TEXT_DROP + + + + No documentation. + + + ERROR_IPSEC_AUTH_FIREWALL_DROP + ERROR_IPSEC_AUTH_FIREWALL_DROP + + + + No documentation. + + + ERROR_IPSEC_THROTTLE_DROP + ERROR_IPSEC_THROTTLE_DROP + + + + No documentation. + + + ERROR_IPSEC_DOSP_BLOCK + ERROR_IPSEC_DOSP_BLOCK + + + + No documentation. + + + ERROR_IPSEC_DOSP_RECEIVED_MULTICAST + ERROR_IPSEC_DOSP_RECEIVED_MULTICAST + + + + No documentation. + + + ERROR_IPSEC_DOSP_INVALID_PACKET + ERROR_IPSEC_DOSP_INVALID_PACKET + + + + No documentation. + + + ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED + ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED + + + + No documentation. + + + ERROR_IPSEC_DOSP_MAX_ENTRIES + ERROR_IPSEC_DOSP_MAX_ENTRIES + + + + No documentation. + + + ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED + ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED + + + + No documentation. + + + ERROR_IPSEC_DOSP_NOT_INSTALLED + ERROR_IPSEC_DOSP_NOT_INSTALLED + + + + No documentation. + + + ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES + ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES + + + + No documentation. + + + ERROR_SXS_SECTION_NOT_FOUND + ERROR_SXS_SECTION_NOT_FOUND + + + + No documentation. + + + ERROR_SXS_CANT_GEN_ACTCTX + ERROR_SXS_CANT_GEN_ACTCTX + + + + No documentation. + + + ERROR_SXS_INVALID_ACTCTXDATA_FORMAT + ERROR_SXS_INVALID_ACTCTXDATA_FORMAT + + + + No documentation. + + + ERROR_SXS_ASSEMBLY_NOT_FOUND + ERROR_SXS_ASSEMBLY_NOT_FOUND + + + + No documentation. + + + ERROR_SXS_MANIFEST_FORMAT_ERROR + ERROR_SXS_MANIFEST_FORMAT_ERROR + + + + No documentation. + + + ERROR_SXS_MANIFEST_PARSE_ERROR + ERROR_SXS_MANIFEST_PARSE_ERROR + + + + No documentation. + + + ERROR_SXS_ACTIVATION_CONTEXT_DISABLED + ERROR_SXS_ACTIVATION_CONTEXT_DISABLED + + + + No documentation. + + + ERROR_SXS_KEY_NOT_FOUND + ERROR_SXS_KEY_NOT_FOUND + + + + No documentation. + + + ERROR_SXS_VERSION_CONFLICT + ERROR_SXS_VERSION_CONFLICT + + + + No documentation. + + + ERROR_SXS_WRONG_SECTION_TYPE + ERROR_SXS_WRONG_SECTION_TYPE + + + + No documentation. + + + ERROR_SXS_THREAD_QUERIES_DISABLED + ERROR_SXS_THREAD_QUERIES_DISABLED + + + + No documentation. + + + ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET + ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET + + + + No documentation. + + + ERROR_SXS_UNKNOWN_ENCODING_GROUP + ERROR_SXS_UNKNOWN_ENCODING_GROUP + + + + No documentation. + + + ERROR_SXS_UNKNOWN_ENCODING + ERROR_SXS_UNKNOWN_ENCODING + + + + No documentation. + + + ERROR_SXS_INVALID_XML_NAMESPACE_URI + ERROR_SXS_INVALID_XML_NAMESPACE_URI + + + + No documentation. + + + ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED + ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED + + + + No documentation. + + + ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED + ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED + + + + No documentation. + + + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE + + + + No documentation. + + + ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE + ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE + + + + No documentation. + + + ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE + ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE + + + + No documentation. + + + ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT + ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT + + + + No documentation. + + + ERROR_SXS_DUPLICATE_DLL_NAME + ERROR_SXS_DUPLICATE_DLL_NAME + + + + No documentation. + + + ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME + ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME + + + + No documentation. + + + ERROR_SXS_DUPLICATE_CLSID + ERROR_SXS_DUPLICATE_CLSID + + + + No documentation. + + + ERROR_SXS_DUPLICATE_IID + ERROR_SXS_DUPLICATE_IID + + + + No documentation. + + + ERROR_SXS_DUPLICATE_TLBID + ERROR_SXS_DUPLICATE_TLBID + + + + No documentation. + + + ERROR_SXS_DUPLICATE_PROGID + ERROR_SXS_DUPLICATE_PROGID + + + + No documentation. + + + ERROR_SXS_DUPLICATE_ASSEMBLY_NAME + ERROR_SXS_DUPLICATE_ASSEMBLY_NAME + + + + No documentation. + + + ERROR_SXS_FILE_HASH_MISMATCH + ERROR_SXS_FILE_HASH_MISMATCH + + + + No documentation. + + + ERROR_SXS_POLICY_PARSE_ERROR + ERROR_SXS_POLICY_PARSE_ERROR + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGQUOTE + ERROR_SXS_XML_E_MISSINGQUOTE + + + + No documentation. + + + ERROR_SXS_XML_E_COMMENTSYNTAX + ERROR_SXS_XML_E_COMMENTSYNTAX + + + + No documentation. + + + ERROR_SXS_XML_E_BADSTARTNAMECHAR + ERROR_SXS_XML_E_BADSTARTNAMECHAR + + + + No documentation. + + + ERROR_SXS_XML_E_BADNAMECHAR + ERROR_SXS_XML_E_BADNAMECHAR + + + + No documentation. + + + ERROR_SXS_XML_E_BADCHARINSTRING + ERROR_SXS_XML_E_BADCHARINSTRING + + + + No documentation. + + + ERROR_SXS_XML_E_XMLDECLSYNTAX + ERROR_SXS_XML_E_XMLDECLSYNTAX + + + + No documentation. + + + ERROR_SXS_XML_E_BADCHARDATA + ERROR_SXS_XML_E_BADCHARDATA + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGWHITESPACE + ERROR_SXS_XML_E_MISSINGWHITESPACE + + + + No documentation. + + + ERROR_SXS_XML_E_EXPECTINGTAGEND + ERROR_SXS_XML_E_EXPECTINGTAGEND + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGSEMICOLON + ERROR_SXS_XML_E_MISSINGSEMICOLON + + + + No documentation. + + + ERROR_SXS_XML_E_UNBALANCEDPAREN + ERROR_SXS_XML_E_UNBALANCEDPAREN + + + + No documentation. + + + ERROR_SXS_XML_E_INTERNALERROR + ERROR_SXS_XML_E_INTERNALERROR + + + + No documentation. + + + ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE + ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE + + + + No documentation. + + + ERROR_SXS_XML_E_INCOMPLETE_ENCODING + ERROR_SXS_XML_E_INCOMPLETE_ENCODING + + + + No documentation. + + + ERROR_SXS_XML_E_MISSING_PAREN + ERROR_SXS_XML_E_MISSING_PAREN + + + + No documentation. + + + ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE + ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE + + + + No documentation. + + + ERROR_SXS_XML_E_MULTIPLE_COLONS + ERROR_SXS_XML_E_MULTIPLE_COLONS + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_DECIMAL + ERROR_SXS_XML_E_INVALID_DECIMAL + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_HEXIDECIMAL + ERROR_SXS_XML_E_INVALID_HEXIDECIMAL + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_UNICODE + ERROR_SXS_XML_E_INVALID_UNICODE + + + + No documentation. + + + ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK + ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK + + + + No documentation. + + + ERROR_SXS_XML_E_UNEXPECTEDENDTAG + ERROR_SXS_XML_E_UNEXPECTEDENDTAG + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDTAG + ERROR_SXS_XML_E_UNCLOSEDTAG + + + + No documentation. + + + ERROR_SXS_XML_E_DUPLICATEATTRIBUTE + ERROR_SXS_XML_E_DUPLICATEATTRIBUTE + + + + No documentation. + + + ERROR_SXS_XML_E_MULTIPLEROOTS + ERROR_SXS_XML_E_MULTIPLEROOTS + + + + No documentation. + + + ERROR_SXS_XML_E_INVALIDATROOTLEVEL + ERROR_SXS_XML_E_INVALIDATROOTLEVEL + + + + No documentation. + + + ERROR_SXS_XML_E_BADXMLDECL + ERROR_SXS_XML_E_BADXMLDECL + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGROOT + ERROR_SXS_XML_E_MISSINGROOT + + + + No documentation. + + + ERROR_SXS_XML_E_UNEXPECTEDEOF + ERROR_SXS_XML_E_UNEXPECTEDEOF + + + + No documentation. + + + ERROR_SXS_XML_E_BADPEREFINSUBSET + ERROR_SXS_XML_E_BADPEREFINSUBSET + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDSTARTTAG + ERROR_SXS_XML_E_UNCLOSEDSTARTTAG + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDENDTAG + ERROR_SXS_XML_E_UNCLOSEDENDTAG + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDSTRING + ERROR_SXS_XML_E_UNCLOSEDSTRING + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDCOMMENT + ERROR_SXS_XML_E_UNCLOSEDCOMMENT + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDDECL + ERROR_SXS_XML_E_UNCLOSEDDECL + + + + No documentation. + + + ERROR_SXS_XML_E_UNCLOSEDCDATA + ERROR_SXS_XML_E_UNCLOSEDCDATA + + + + No documentation. + + + ERROR_SXS_XML_E_RESERVEDNAMESPACE + ERROR_SXS_XML_E_RESERVEDNAMESPACE + + + + No documentation. + + + ERROR_SXS_XML_E_INVALIDENCODING + ERROR_SXS_XML_E_INVALIDENCODING + + + + No documentation. + + + ERROR_SXS_XML_E_INVALIDSWITCH + ERROR_SXS_XML_E_INVALIDSWITCH + + + + No documentation. + + + ERROR_SXS_XML_E_BADXMLCASE + ERROR_SXS_XML_E_BADXMLCASE + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_STANDALONE + ERROR_SXS_XML_E_INVALID_STANDALONE + + + + No documentation. + + + ERROR_SXS_XML_E_UNEXPECTED_STANDALONE + ERROR_SXS_XML_E_UNEXPECTED_STANDALONE + + + + No documentation. + + + ERROR_SXS_XML_E_INVALID_VERSION + ERROR_SXS_XML_E_INVALID_VERSION + + + + No documentation. + + + ERROR_SXS_XML_E_MISSINGEQUALS + ERROR_SXS_XML_E_MISSINGEQUALS + + + + No documentation. + + + ERROR_SXS_PROTECTION_RECOVERY_FAILED + ERROR_SXS_PROTECTION_RECOVERY_FAILED + + + + No documentation. + + + ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT + ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT + + + + No documentation. + + + ERROR_SXS_PROTECTION_CATALOG_NOT_VALID + ERROR_SXS_PROTECTION_CATALOG_NOT_VALID + + + + No documentation. + + + ERROR_SXS_UNTRANSLATABLE_HRESULT + ERROR_SXS_UNTRANSLATABLE_HRESULT + + + + No documentation. + + + ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING + ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING + + + + No documentation. + + + ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE + ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE + + + + No documentation. + + + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME + + + + No documentation. + + + ERROR_SXS_ASSEMBLY_MISSING + ERROR_SXS_ASSEMBLY_MISSING + + + + No documentation. + + + ERROR_SXS_CORRUPT_ACTIVATION_STACK + ERROR_SXS_CORRUPT_ACTIVATION_STACK + + + + No documentation. + + + ERROR_SXS_CORRUPTION + ERROR_SXS_CORRUPTION + + + + No documentation. + + + ERROR_SXS_EARLY_DEACTIVATION + ERROR_SXS_EARLY_DEACTIVATION + + + + No documentation. + + + ERROR_SXS_INVALID_DEACTIVATION + ERROR_SXS_INVALID_DEACTIVATION + + + + No documentation. + + + ERROR_SXS_MULTIPLE_DEACTIVATION + ERROR_SXS_MULTIPLE_DEACTIVATION + + + + No documentation. + + + ERROR_SXS_PROCESS_TERMINATION_REQUESTED + ERROR_SXS_PROCESS_TERMINATION_REQUESTED + + + + No documentation. + + + ERROR_SXS_RELEASE_ACTIVATION_CONTEXT + ERROR_SXS_RELEASE_ACTIVATION_CONTEXT + + + + No documentation. + + + ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY + ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY + + + + No documentation. + + + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE + + + + No documentation. + + + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME + + + + No documentation. + + + ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE + ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE + + + + No documentation. + + + ERROR_SXS_IDENTITY_PARSE_ERROR + ERROR_SXS_IDENTITY_PARSE_ERROR + + + + No documentation. + + + ERROR_MALFORMED_SUBSTITUTION_STRING + ERROR_MALFORMED_SUBSTITUTION_STRING + + + + No documentation. + + + ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN + ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN + + + + No documentation. + + + ERROR_UNMAPPED_SUBSTITUTION_STRING + ERROR_UNMAPPED_SUBSTITUTION_STRING + + + + No documentation. + + + ERROR_SXS_ASSEMBLY_NOT_LOCKED + ERROR_SXS_ASSEMBLY_NOT_LOCKED + + + + No documentation. + + + ERROR_SXS_COMPONENT_STORE_CORRUPT + ERROR_SXS_COMPONENT_STORE_CORRUPT + + + + No documentation. + + + ERROR_ADVANCED_INSTALLER_FAILED + ERROR_ADVANCED_INSTALLER_FAILED + + + + No documentation. + + + ERROR_XML_ENCODING_MISMATCH + ERROR_XML_ENCODING_MISMATCH + + + + No documentation. + + + ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT + ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT + + + + No documentation. + + + ERROR_SXS_IDENTITIES_DIFFERENT + ERROR_SXS_IDENTITIES_DIFFERENT + + + + No documentation. + + + ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT + ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT + + + + No documentation. + + + ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY + ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY + + + + No documentation. + + + ERROR_SXS_MANIFEST_TOO_BIG + ERROR_SXS_MANIFEST_TOO_BIG + + + + No documentation. + + + ERROR_SXS_SETTING_NOT_REGISTERED + ERROR_SXS_SETTING_NOT_REGISTERED + + + + No documentation. + + + ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE + ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE + + + + No documentation. + + + ERROR_SMI_PRIMITIVE_INSTALLER_FAILED + ERROR_SMI_PRIMITIVE_INSTALLER_FAILED + + + + No documentation. + + + ERROR_GENERIC_COMMAND_FAILED + ERROR_GENERIC_COMMAND_FAILED + + + + No documentation. + + + ERROR_SXS_FILE_HASH_MISSING + ERROR_SXS_FILE_HASH_MISSING + + + + No documentation. + + + ERROR_EVT_INVALID_CHANNEL_PATH + ERROR_EVT_INVALID_CHANNEL_PATH + + + + No documentation. + + + ERROR_EVT_INVALID_QUERY + ERROR_EVT_INVALID_QUERY + + + + No documentation. + + + ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND + ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND + ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_INVALID_PUBLISHER_NAME + ERROR_EVT_INVALID_PUBLISHER_NAME + + + + No documentation. + + + ERROR_EVT_INVALID_EVENT_DATA + ERROR_EVT_INVALID_EVENT_DATA + + + + No documentation. + + + ERROR_EVT_CHANNEL_NOT_FOUND + ERROR_EVT_CHANNEL_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_MALFORMED_XML_TEXT + ERROR_EVT_MALFORMED_XML_TEXT + + + + No documentation. + + + ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL + ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL + + + + No documentation. + + + ERROR_EVT_CONFIGURATION_ERROR + ERROR_EVT_CONFIGURATION_ERROR + + + + No documentation. + + + ERROR_EVT_QUERY_RESULT_STALE + ERROR_EVT_QUERY_RESULT_STALE + + + + No documentation. + + + ERROR_EVT_QUERY_RESULT_INVALID_POSITION + ERROR_EVT_QUERY_RESULT_INVALID_POSITION + + + + No documentation. + + + ERROR_EVT_NON_VALIDATING_MSXML + ERROR_EVT_NON_VALIDATING_MSXML + + + + No documentation. + + + ERROR_EVT_FILTER_ALREADYSCOPED + ERROR_EVT_FILTER_ALREADYSCOPED + + + + No documentation. + + + ERROR_EVT_FILTER_NOTELTSET + ERROR_EVT_FILTER_NOTELTSET + + + + No documentation. + + + ERROR_EVT_FILTER_INVARG + ERROR_EVT_FILTER_INVARG + + + + No documentation. + + + ERROR_EVT_FILTER_INVTEST + ERROR_EVT_FILTER_INVTEST + + + + No documentation. + + + ERROR_EVT_FILTER_INVTYPE + ERROR_EVT_FILTER_INVTYPE + + + + No documentation. + + + ERROR_EVT_FILTER_PARSEERR + ERROR_EVT_FILTER_PARSEERR + + + + No documentation. + + + ERROR_EVT_FILTER_UNSUPPORTEDOP + ERROR_EVT_FILTER_UNSUPPORTEDOP + + + + No documentation. + + + ERROR_EVT_FILTER_UNEXPECTEDTOKEN + ERROR_EVT_FILTER_UNEXPECTEDTOKEN + + + + No documentation. + + + ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL + ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL + + + + No documentation. + + + ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE + ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE + + + + No documentation. + + + ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE + ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE + + + + No documentation. + + + ERROR_EVT_CHANNEL_CANNOT_ACTIVATE + ERROR_EVT_CHANNEL_CANNOT_ACTIVATE + + + + No documentation. + + + ERROR_EVT_FILTER_TOO_COMPLEX + ERROR_EVT_FILTER_TOO_COMPLEX + + + + No documentation. + + + ERROR_EVT_MESSAGE_NOT_FOUND + ERROR_EVT_MESSAGE_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_MESSAGE_ID_NOT_FOUND + ERROR_EVT_MESSAGE_ID_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_UNRESOLVED_VALUE_INSERT + ERROR_EVT_UNRESOLVED_VALUE_INSERT + + + + No documentation. + + + ERROR_EVT_UNRESOLVED_PARAMETER_INSERT + ERROR_EVT_UNRESOLVED_PARAMETER_INSERT + + + + No documentation. + + + ERROR_EVT_MAX_INSERTS_REACHED + ERROR_EVT_MAX_INSERTS_REACHED + + + + No documentation. + + + ERROR_EVT_EVENT_DEFINITION_NOT_FOUND + ERROR_EVT_EVENT_DEFINITION_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND + ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND + + + + No documentation. + + + ERROR_EVT_VERSION_TOO_OLD + ERROR_EVT_VERSION_TOO_OLD + + + + No documentation. + + + ERROR_EVT_VERSION_TOO_NEW + ERROR_EVT_VERSION_TOO_NEW + + + + No documentation. + + + ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY + ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY + + + + No documentation. + + + ERROR_EVT_PUBLISHER_DISABLED + ERROR_EVT_PUBLISHER_DISABLED + + + + No documentation. + + + ERROR_EVT_FILTER_OUT_OF_RANGE + ERROR_EVT_FILTER_OUT_OF_RANGE + + + + No documentation. + + + ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE + ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE + + + + No documentation. + + + ERROR_EC_LOG_DISABLED + ERROR_EC_LOG_DISABLED + + + + No documentation. + + + ERROR_EC_CIRCULAR_FORWARDING + ERROR_EC_CIRCULAR_FORWARDING + + + + No documentation. + + + ERROR_EC_CREDSTORE_FULL + ERROR_EC_CREDSTORE_FULL + + + + No documentation. + + + ERROR_EC_CRED_NOT_FOUND + ERROR_EC_CRED_NOT_FOUND + + + + No documentation. + + + ERROR_EC_NO_ACTIVE_CHANNEL + ERROR_EC_NO_ACTIVE_CHANNEL + + + + No documentation. + + + ERROR_MUI_FILE_NOT_FOUND + ERROR_MUI_FILE_NOT_FOUND + + + + No documentation. + + + ERROR_MUI_INVALID_FILE + ERROR_MUI_INVALID_FILE + + + + No documentation. + + + ERROR_MUI_INVALID_RC_CONFIG + ERROR_MUI_INVALID_RC_CONFIG + + + + No documentation. + + + ERROR_MUI_INVALID_LOCALE_NAME + ERROR_MUI_INVALID_LOCALE_NAME + + + + No documentation. + + + ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME + ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME + + + + No documentation. + + + ERROR_MUI_FILE_NOT_LOADED + ERROR_MUI_FILE_NOT_LOADED + + + + No documentation. + + + ERROR_RESOURCE_ENUM_USER_STOP + ERROR_RESOURCE_ENUM_USER_STOP + + + + No documentation. + + + ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED + ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED + + + + No documentation. + + + ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME + ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME + + + + No documentation. + + + ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE + ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE + + + + No documentation. + + + ERROR_MRM_INVALID_PRICONFIG + ERROR_MRM_INVALID_PRICONFIG + + + + No documentation. + + + ERROR_MRM_INVALID_FILE_TYPE + ERROR_MRM_INVALID_FILE_TYPE + + + + No documentation. + + + ERROR_MRM_UNKNOWN_QUALIFIER + ERROR_MRM_UNKNOWN_QUALIFIER + + + + No documentation. + + + ERROR_MRM_INVALID_QUALIFIER_VALUE + ERROR_MRM_INVALID_QUALIFIER_VALUE + + + + No documentation. + + + ERROR_MRM_NO_CANDIDATE + ERROR_MRM_NO_CANDIDATE + + + + No documentation. + + + ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE + ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE + + + + No documentation. + + + ERROR_MRM_RESOURCE_TYPE_MISMATCH + ERROR_MRM_RESOURCE_TYPE_MISMATCH + + + + No documentation. + + + ERROR_MRM_DUPLICATE_MAP_NAME + ERROR_MRM_DUPLICATE_MAP_NAME + + + + No documentation. + + + ERROR_MRM_DUPLICATE_ENTRY + ERROR_MRM_DUPLICATE_ENTRY + + + + No documentation. + + + ERROR_MRM_INVALID_RESOURCE_IDENTIFIER + ERROR_MRM_INVALID_RESOURCE_IDENTIFIER + + + + No documentation. + + + ERROR_MRM_FILEPATH_TOO_LONG + ERROR_MRM_FILEPATH_TOO_LONG + + + + No documentation. + + + ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE + ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE + + + + No documentation. + + + ERROR_MRM_INVALID_PRI_FILE + ERROR_MRM_INVALID_PRI_FILE + + + + No documentation. + + + ERROR_MRM_NAMED_RESOURCE_NOT_FOUND + ERROR_MRM_NAMED_RESOURCE_NOT_FOUND + + + + No documentation. + + + ERROR_MRM_MAP_NOT_FOUND + ERROR_MRM_MAP_NOT_FOUND + + + + No documentation. + + + ERROR_MRM_UNSUPPORTED_PROFILE_TYPE + ERROR_MRM_UNSUPPORTED_PROFILE_TYPE + + + + No documentation. + + + ERROR_MRM_INVALID_QUALIFIER_OPERATOR + ERROR_MRM_INVALID_QUALIFIER_OPERATOR + + + + No documentation. + + + ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE + ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE + + + + No documentation. + + + ERROR_MRM_AUTOMERGE_ENABLED + ERROR_MRM_AUTOMERGE_ENABLED + + + + No documentation. + + + ERROR_MRM_TOO_MANY_RESOURCES + ERROR_MRM_TOO_MANY_RESOURCES + + + + No documentation. + + + ERROR_MCA_INVALID_CAPABILITIES_STRING + ERROR_MCA_INVALID_CAPABILITIES_STRING + + + + No documentation. + + + ERROR_MCA_INVALID_VCP_VERSION + ERROR_MCA_INVALID_VCP_VERSION + + + + No documentation. + + + ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION + ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION + + + + No documentation. + + + ERROR_MCA_MCCS_VERSION_MISMATCH + ERROR_MCA_MCCS_VERSION_MISMATCH + + + + No documentation. + + + ERROR_MCA_UNSUPPORTED_MCCS_VERSION + ERROR_MCA_UNSUPPORTED_MCCS_VERSION + + + + No documentation. + + + ERROR_MCA_INTERNAL_ERROR + ERROR_MCA_INTERNAL_ERROR + + + + No documentation. + + + ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED + ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED + + + + No documentation. + + + ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE + ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE + + + + No documentation. + + + ERROR_AMBIGUOUS_SYSTEM_DEVICE + ERROR_AMBIGUOUS_SYSTEM_DEVICE + + + + No documentation. + + + ERROR_SYSTEM_DEVICE_NOT_FOUND + ERROR_SYSTEM_DEVICE_NOT_FOUND + + + + No documentation. + + + ERROR_HASH_NOT_SUPPORTED + ERROR_HASH_NOT_SUPPORTED + + + + No documentation. + + + ERROR_HASH_NOT_PRESENT + ERROR_HASH_NOT_PRESENT + + + + No documentation. + + + ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED + ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED + + + + No documentation. + + + ERROR_GPIO_CLIENT_INFORMATION_INVALID + ERROR_GPIO_CLIENT_INFORMATION_INVALID + + + + No documentation. + + + ERROR_GPIO_VERSION_NOT_SUPPORTED + ERROR_GPIO_VERSION_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GPIO_INVALID_REGISTRATION_PACKET + ERROR_GPIO_INVALID_REGISTRATION_PACKET + + + + No documentation. + + + ERROR_GPIO_OPERATION_DENIED + ERROR_GPIO_OPERATION_DENIED + + + + No documentation. + + + ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE + ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE + + + + No documentation. + + + ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED + ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED + + + + No documentation. + + + ERROR_CANNOT_SWITCH_RUNLEVEL + ERROR_CANNOT_SWITCH_RUNLEVEL + + + + No documentation. + + + ERROR_INVALID_RUNLEVEL_SETTING + ERROR_INVALID_RUNLEVEL_SETTING + + + + No documentation. + + + ERROR_RUNLEVEL_SWITCH_TIMEOUT + ERROR_RUNLEVEL_SWITCH_TIMEOUT + + + + No documentation. + + + ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT + ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT + + + + No documentation. + + + ERROR_RUNLEVEL_SWITCH_IN_PROGRESS + ERROR_RUNLEVEL_SWITCH_IN_PROGRESS + + + + No documentation. + + + ERROR_SERVICES_FAILED_AUTOSTART + ERROR_SERVICES_FAILED_AUTOSTART + + + + No documentation. + + + ERROR_COM_TASK_STOP_PENDING + ERROR_COM_TASK_STOP_PENDING + + + + No documentation. + + + ERROR_INSTALL_OPEN_PACKAGE_FAILED + ERROR_INSTALL_OPEN_PACKAGE_FAILED + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_NOT_FOUND + ERROR_INSTALL_PACKAGE_NOT_FOUND + + + + No documentation. + + + ERROR_INSTALL_INVALID_PACKAGE + ERROR_INSTALL_INVALID_PACKAGE + + + + No documentation. + + + ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED + ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED + + + + No documentation. + + + ERROR_INSTALL_OUT_OF_DISK_SPACE + ERROR_INSTALL_OUT_OF_DISK_SPACE + + + + No documentation. + + + ERROR_INSTALL_NETWORK_FAILURE + ERROR_INSTALL_NETWORK_FAILURE + + + + No documentation. + + + ERROR_INSTALL_REGISTRATION_FAILURE + ERROR_INSTALL_REGISTRATION_FAILURE + + + + No documentation. + + + ERROR_INSTALL_DEREGISTRATION_FAILURE + ERROR_INSTALL_DEREGISTRATION_FAILURE + + + + No documentation. + + + ERROR_INSTALL_CANCEL + ERROR_INSTALL_CANCEL + + + + No documentation. + + + ERROR_INSTALL_FAILED + ERROR_INSTALL_FAILED + + + + No documentation. + + + ERROR_REMOVE_FAILED + ERROR_REMOVE_FAILED + + + + No documentation. + + + ERROR_PACKAGE_ALREADY_EXISTS + ERROR_PACKAGE_ALREADY_EXISTS + + + + No documentation. + + + ERROR_NEEDS_REMEDIATION + ERROR_NEEDS_REMEDIATION + + + + No documentation. + + + ERROR_INSTALL_PREREQUISITE_FAILED + ERROR_INSTALL_PREREQUISITE_FAILED + + + + No documentation. + + + ERROR_PACKAGE_REPOSITORY_CORRUPTED + ERROR_PACKAGE_REPOSITORY_CORRUPTED + + + + No documentation. + + + ERROR_INSTALL_POLICY_FAILURE + ERROR_INSTALL_POLICY_FAILURE + + + + No documentation. + + + ERROR_PACKAGE_UPDATING + ERROR_PACKAGE_UPDATING + + + + No documentation. + + + ERROR_DEPLOYMENT_BLOCKED_BY_POLICY + ERROR_DEPLOYMENT_BLOCKED_BY_POLICY + + + + No documentation. + + + ERROR_PACKAGES_IN_USE + ERROR_PACKAGES_IN_USE + + + + No documentation. + + + ERROR_RECOVERY_FILE_CORRUPT + ERROR_RECOVERY_FILE_CORRUPT + + + + No documentation. + + + ERROR_INVALID_STAGED_SIGNATURE + ERROR_INVALID_STAGED_SIGNATURE + + + + No documentation. + + + ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED + ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED + + + + No documentation. + + + ERROR_INSTALL_PACKAGE_DOWNGRADE + ERROR_INSTALL_PACKAGE_DOWNGRADE + + + + No documentation. + + + ERROR_SYSTEM_NEEDS_REMEDIATION + ERROR_SYSTEM_NEEDS_REMEDIATION + + + + No documentation. + + + ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN + ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN + + + + No documentation. + + + ERROR_RESILIENCY_FILE_CORRUPT + ERROR_RESILIENCY_FILE_CORRUPT + + + + No documentation. + + + ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING + ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING + + + + No documentation. + + + ERROR_STATE_LOAD_STORE_FAILED + ERROR_STATE_LOAD_STORE_FAILED + + + + No documentation. + + + ERROR_STATE_GET_VERSION_FAILED + ERROR_STATE_GET_VERSION_FAILED + + + + No documentation. + + + ERROR_STATE_SET_VERSION_FAILED + ERROR_STATE_SET_VERSION_FAILED + + + + No documentation. + + + ERROR_STATE_STRUCTURED_RESET_FAILED + ERROR_STATE_STRUCTURED_RESET_FAILED + + + + No documentation. + + + ERROR_STATE_OPEN_CONTAINER_FAILED + ERROR_STATE_OPEN_CONTAINER_FAILED + + + + No documentation. + + + ERROR_STATE_CREATE_CONTAINER_FAILED + ERROR_STATE_CREATE_CONTAINER_FAILED + + + + No documentation. + + + ERROR_STATE_DELETE_CONTAINER_FAILED + ERROR_STATE_DELETE_CONTAINER_FAILED + + + + No documentation. + + + ERROR_STATE_READ_SETTING_FAILED + ERROR_STATE_READ_SETTING_FAILED + + + + No documentation. + + + ERROR_STATE_WRITE_SETTING_FAILED + ERROR_STATE_WRITE_SETTING_FAILED + + + + No documentation. + + + ERROR_STATE_DELETE_SETTING_FAILED + ERROR_STATE_DELETE_SETTING_FAILED + + + + No documentation. + + + ERROR_STATE_QUERY_SETTING_FAILED + ERROR_STATE_QUERY_SETTING_FAILED + + + + No documentation. + + + ERROR_STATE_READ_COMPOSITE_SETTING_FAILED + ERROR_STATE_READ_COMPOSITE_SETTING_FAILED + + + + No documentation. + + + ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED + ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED + + + + No documentation. + + + ERROR_STATE_ENUMERATE_CONTAINER_FAILED + ERROR_STATE_ENUMERATE_CONTAINER_FAILED + + + + No documentation. + + + ERROR_STATE_ENUMERATE_SETTINGS_FAILED + ERROR_STATE_ENUMERATE_SETTINGS_FAILED + + + + No documentation. + + + ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED + ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED + ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED + ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED + ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_API_UNAVAILABLE + ERROR_API_UNAVAILABLE + + + + No documentation. + + + ERROR_AUDITING_DISABLED + ERROR_AUDITING_DISABLED + + + + No documentation. + + + ERROR_ALL_SIDS_FILTERED + ERROR_ALL_SIDS_FILTERED + + + + No documentation. + + + ERROR_BIZRULES_NOT_ENABLED + ERROR_BIZRULES_NOT_ENABLED + + + + No documentation. + + + ERROR_CRED_REQUIRES_CONFIRMATION + ERROR_CRED_REQUIRES_CONFIRMATION + + + + No documentation. + + + ERROR_FLT_IO_COMPLETE + ERROR_FLT_IO_COMPLETE + + + + No documentation. + + + ERROR_FLT_NO_HANDLER_DEFINED + ERROR_FLT_NO_HANDLER_DEFINED + + + + No documentation. + + + ERROR_FLT_CONTEXT_ALREADY_DEFINED + ERROR_FLT_CONTEXT_ALREADY_DEFINED + + + + No documentation. + + + ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST + ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST + + + + No documentation. + + + ERROR_FLT_DISALLOW_FAST_IO + ERROR_FLT_DISALLOW_FAST_IO + + + + No documentation. + + + ERROR_FLT_INVALID_NAME_REQUEST + ERROR_FLT_INVALID_NAME_REQUEST + + + + No documentation. + + + ERROR_FLT_NOT_SAFE_TO_POST_OPERATION + ERROR_FLT_NOT_SAFE_TO_POST_OPERATION + + + + No documentation. + + + ERROR_FLT_NOT_INITIALIZED + ERROR_FLT_NOT_INITIALIZED + + + + No documentation. + + + ERROR_FLT_FILTER_NOT_READY + ERROR_FLT_FILTER_NOT_READY + + + + No documentation. + + + ERROR_FLT_POST_OPERATION_CLEANUP + ERROR_FLT_POST_OPERATION_CLEANUP + + + + No documentation. + + + ERROR_FLT_INTERNAL_ERROR + ERROR_FLT_INTERNAL_ERROR + + + + No documentation. + + + ERROR_FLT_DELETING_OBJECT + ERROR_FLT_DELETING_OBJECT + + + + No documentation. + + + ERROR_FLT_MUST_BE_NONPAGED_POOL + ERROR_FLT_MUST_BE_NONPAGED_POOL + + + + No documentation. + + + ERROR_FLT_DUPLICATE_ENTRY + ERROR_FLT_DUPLICATE_ENTRY + + + + No documentation. + + + ERROR_FLT_CBDQ_DISABLED + ERROR_FLT_CBDQ_DISABLED + + + + No documentation. + + + ERROR_FLT_DO_NOT_ATTACH + ERROR_FLT_DO_NOT_ATTACH + + + + No documentation. + + + ERROR_FLT_DO_NOT_DETACH + ERROR_FLT_DO_NOT_DETACH + + + + No documentation. + + + ERROR_FLT_INSTANCE_ALTITUDE_COLLISION + ERROR_FLT_INSTANCE_ALTITUDE_COLLISION + + + + No documentation. + + + ERROR_FLT_INSTANCE_NAME_COLLISION + ERROR_FLT_INSTANCE_NAME_COLLISION + + + + No documentation. + + + ERROR_FLT_FILTER_NOT_FOUND + ERROR_FLT_FILTER_NOT_FOUND + + + + No documentation. + + + ERROR_FLT_VOLUME_NOT_FOUND + ERROR_FLT_VOLUME_NOT_FOUND + + + + No documentation. + + + ERROR_FLT_INSTANCE_NOT_FOUND + ERROR_FLT_INSTANCE_NOT_FOUND + + + + No documentation. + + + ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND + ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND + + + + No documentation. + + + ERROR_FLT_INVALID_CONTEXT_REGISTRATION + ERROR_FLT_INVALID_CONTEXT_REGISTRATION + + + + No documentation. + + + ERROR_FLT_NAME_CACHE_MISS + ERROR_FLT_NAME_CACHE_MISS + + + + No documentation. + + + ERROR_FLT_NO_DEVICE_OBJECT + ERROR_FLT_NO_DEVICE_OBJECT + + + + No documentation. + + + ERROR_FLT_VOLUME_ALREADY_MOUNTED + ERROR_FLT_VOLUME_ALREADY_MOUNTED + + + + No documentation. + + + ERROR_FLT_ALREADY_ENLISTED + ERROR_FLT_ALREADY_ENLISTED + + + + No documentation. + + + ERROR_FLT_CONTEXT_ALREADY_LINKED + ERROR_FLT_CONTEXT_ALREADY_LINKED + + + + No documentation. + + + ERROR_FLT_NO_WAITER_FOR_REPLY + ERROR_FLT_NO_WAITER_FOR_REPLY + + + + No documentation. + + + ERROR_FLT_REGISTRATION_BUSY + ERROR_FLT_REGISTRATION_BUSY + + + + No documentation. + + + ERROR_HUNG_DISPLAY_DRIVER_THREAD + ERROR_HUNG_DISPLAY_DRIVER_THREAD + + + + No documentation. + + + ERROR_MONITOR_NO_DESCRIPTOR + ERROR_MONITOR_NO_DESCRIPTOR + + + + No documentation. + + + ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT + ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT + + + + No documentation. + + + ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM + ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM + + + + No documentation. + + + ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK + ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK + + + + No documentation. + + + ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED + ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED + + + + No documentation. + + + ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK + ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK + + + + No documentation. + + + ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK + ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK + + + + No documentation. + + + ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA + ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA + + + + No documentation. + + + ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK + ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK + + + + No documentation. + + + ERROR_MONITOR_INVALID_MANUFACTURE_DATE + ERROR_MONITOR_INVALID_MANUFACTURE_DATE + + + + No documentation. + + + ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER + ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER + + + + No documentation. + + + ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER + ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER + ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_WAS_RESET + ERROR_GRAPHICS_ADAPTER_WAS_RESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_DRIVER_MODEL + ERROR_GRAPHICS_INVALID_DRIVER_MODEL + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_MODE_CHANGED + ERROR_GRAPHICS_PRESENT_MODE_CHANGED + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_OCCLUDED + ERROR_GRAPHICS_PRESENT_OCCLUDED + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_DENIED + ERROR_GRAPHICS_PRESENT_DENIED + + + + No documentation. + + + ERROR_GRAPHICS_CANNOTCOLORCONVERT + ERROR_GRAPHICS_CANNOTCOLORCONVERT + + + + No documentation. + + + ERROR_GRAPHICS_DRIVER_MISMATCH + ERROR_GRAPHICS_DRIVER_MISMATCH + + + + No documentation. + + + ERROR_GRAPHICS_PARTIAL_DATA_POPULATED + ERROR_GRAPHICS_PARTIAL_DATA_POPULATED + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED + ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED + + + + No documentation. + + + ERROR_GRAPHICS_PRESENT_UNOCCLUDED + ERROR_GRAPHICS_PRESENT_UNOCCLUDED + + + + No documentation. + + + ERROR_GRAPHICS_WINDOWDC_NOT_AVAILABLE + ERROR_GRAPHICS_WINDOWDC_NOT_AVAILABLE + + + + No documentation. + + + ERROR_GRAPHICS_WINDOWLESS_PRESENT_DISABLED + ERROR_GRAPHICS_WINDOWLESS_PRESENT_DISABLED + + + + No documentation. + + + ERROR_GRAPHICS_NO_VIDEO_MEMORY + ERROR_GRAPHICS_NO_VIDEO_MEMORY + + + + No documentation. + + + ERROR_GRAPHICS_CANT_LOCK_MEMORY + ERROR_GRAPHICS_CANT_LOCK_MEMORY + + + + No documentation. + + + ERROR_GRAPHICS_ALLOCATION_BUSY + ERROR_GRAPHICS_ALLOCATION_BUSY + + + + No documentation. + + + ERROR_GRAPHICS_TOO_MANY_REFERENCES + ERROR_GRAPHICS_TOO_MANY_REFERENCES + + + + No documentation. + + + ERROR_GRAPHICS_TRY_AGAIN_LATER + ERROR_GRAPHICS_TRY_AGAIN_LATER + + + + No documentation. + + + ERROR_GRAPHICS_TRY_AGAIN_NOW + ERROR_GRAPHICS_TRY_AGAIN_NOW + + + + No documentation. + + + ERROR_GRAPHICS_ALLOCATION_INVALID + ERROR_GRAPHICS_ALLOCATION_INVALID + + + + No documentation. + + + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE + + + + No documentation. + + + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION + ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE + ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE + + + + No documentation. + + + ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION + ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION + + + + No documentation. + + + ERROR_GRAPHICS_ALLOCATION_CLOSED + ERROR_GRAPHICS_ALLOCATION_CLOSED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE + ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE + ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE + + + + No documentation. + + + ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE + ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE + + + + No documentation. + + + ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST + ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST + + + + No documentation. + + + ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE + ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE + + + + No documentation. + + + ERROR_GRAPHICS_SKIP_ALLOCATION_PREPARATION + ERROR_GRAPHICS_SKIP_ALLOCATION_PREPARATION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED + ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED + ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN + ERROR_GRAPHICS_INVALID_VIDPN + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET + + + + No documentation. + + + ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED + ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_MODE_NOT_PINNED + ERROR_GRAPHICS_MODE_NOT_PINNED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET + ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET + ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_FREQUENCY + ERROR_GRAPHICS_INVALID_FREQUENCY + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_ACTIVE_REGION + ERROR_GRAPHICS_INVALID_ACTIVE_REGION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_TOTAL_REGION + ERROR_GRAPHICS_INVALID_TOTAL_REGION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE + + + + No documentation. + + + ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET + ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY + ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET + ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET + ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET + ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET + + + + No documentation. + + + ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET + ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_TARGET_ALREADY_IN_SET + ERROR_GRAPHICS_TARGET_ALREADY_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH + ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH + + + + No documentation. + + + ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY + ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE + + + + No documentation. + + + ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET + ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_NO_PREFERRED_MODE + ERROR_GRAPHICS_NO_PREFERRED_MODE + + + + No documentation. + + + ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET + ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_STALE_MODESET + ERROR_GRAPHICS_STALE_MODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET + ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE + ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE + + + + No documentation. + + + ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN + ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN + + + + No documentation. + + + ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE + ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE + + + + No documentation. + + + ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION + ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION + + + + No documentation. + + + ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES + ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES + + + + No documentation. + + + ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY + ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR + + + + No documentation. + + + ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET + ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET + ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET + + + + No documentation. + + + ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE + ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE + ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE + + + + No documentation. + + + ERROR_GRAPHICS_RESOURCES_NOT_RELATED + ERROR_GRAPHICS_RESOURCES_NOT_RELATED + + + + No documentation. + + + ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE + ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE + + + + No documentation. + + + ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE + ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE + + + + No documentation. + + + ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET + ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET + + + + No documentation. + + + ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER + ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER + + + + No documentation. + + + ERROR_GRAPHICS_NO_VIDPNMGR + ERROR_GRAPHICS_NO_VIDPNMGR + + + + No documentation. + + + ERROR_GRAPHICS_NO_ACTIVE_VIDPN + ERROR_GRAPHICS_NO_ACTIVE_VIDPN + + + + No documentation. + + + ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY + ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_MONITOR_NOT_CONNECTED + ERROR_GRAPHICS_MONITOR_NOT_CONNECTED + + + + No documentation. + + + ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY + ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE + ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE + ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_STRIDE + ERROR_GRAPHICS_INVALID_STRIDE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PIXELFORMAT + ERROR_GRAPHICS_INVALID_PIXELFORMAT + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_COLORBASIS + ERROR_GRAPHICS_INVALID_COLORBASIS + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE + ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE + + + + No documentation. + + + ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY + ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY + + + + No documentation. + + + ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT + ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT + + + + No documentation. + + + ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE + ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE + + + + No documentation. + + + ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN + ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL + ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION + ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION + + + + No documentation. + + + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_GAMMA_RAMP + ERROR_GRAPHICS_INVALID_GAMMA_RAMP + + + + No documentation. + + + ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED + ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED + ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_MODE_NOT_IN_MODESET + ERROR_GRAPHICS_MODE_NOT_IN_MODESET + + + + No documentation. + + + ERROR_GRAPHICS_DATASET_IS_EMPTY + ERROR_GRAPHICS_DATASET_IS_EMPTY + + + + No documentation. + + + ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET + ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE + ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE + ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE + + + + No documentation. + + + ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS + ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS + + + + No documentation. + + + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING + ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING + + + + No documentation. + + + ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED + ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED + + + + No documentation. + + + ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS + ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS + + + + No documentation. + + + ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT + ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM + ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN + ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT + + + + No documentation. + + + ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED + ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED + + + + No documentation. + + + ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION + ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_CLIENT_TYPE + ERROR_GRAPHICS_INVALID_CLIENT_TYPE + + + + No documentation. + + + ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET + ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET + + + + No documentation. + + + ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED + ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED + + + + No documentation. + + + ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED + ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS + ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS + + + + No documentation. + + + ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER + ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER + + + + No documentation. + + + ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED + ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED + + + + No documentation. + + + ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED + ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY + ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY + + + + No documentation. + + + ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED + ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED + + + + No documentation. + + + ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON + ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON + + + + No documentation. + + + ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE + ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE + + + + No documentation. + + + ERROR_GRAPHICS_LEADLINK_START_DEFERRED + ERROR_GRAPHICS_LEADLINK_START_DEFERRED + + + + No documentation. + + + ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER + ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER + + + + No documentation. + + + ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY + ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY + + + + No documentation. + + + ERROR_GRAPHICS_START_DEFERRED + ERROR_GRAPHICS_START_DEFERRED + + + + No documentation. + + + ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED + ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_NOT_SUPPORTED + ERROR_GRAPHICS_OPM_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_COPP_NOT_SUPPORTED + ERROR_GRAPHICS_COPP_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_UAB_NOT_SUPPORTED + ERROR_GRAPHICS_UAB_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS + ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST + ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INTERNAL_ERROR + ERROR_GRAPHICS_OPM_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_HANDLE + ERROR_GRAPHICS_OPM_INVALID_HANDLE + + + + No documentation. + + + ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH + ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH + + + + No documentation. + + + ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED + ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED + ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED + + + + No documentation. + + + ERROR_GRAPHICS_PVP_HFS_FAILED + ERROR_GRAPHICS_PVP_HFS_FAILED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_SRM + ERROR_GRAPHICS_OPM_INVALID_SRM + + + + No documentation. + + + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP + + + + No documentation. + + + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP + + + + No documentation. + + + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA + + + + No documentation. + + + ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET + ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET + + + + No documentation. + + + ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH + ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH + + + + No documentation. + + + ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE + ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE + + + + No documentation. + + + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS + ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST + ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST + + + + No documentation. + + + ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR + ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS + + + + No documentation. + + + ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED + ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST + ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST + + + + No documentation. + + + ERROR_GRAPHICS_I2C_NOT_SUPPORTED + ERROR_GRAPHICS_I2C_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST + ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA + ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA + + + + No documentation. + + + ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA + ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED + ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_INVALID_DATA + ERROR_GRAPHICS_DDCCI_INVALID_DATA + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE + ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE + + + + No documentation. + + + ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING + ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING + + + + No documentation. + + + ERROR_GRAPHICS_MCA_INTERNAL_ERROR + ERROR_GRAPHICS_MCA_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE + ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE + + + + No documentation. + + + ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS + ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS + + + + No documentation. + + + ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE + ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE + + + + No documentation. + + + ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION + ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION + + + + No documentation. + + + ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION + ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION + + + + No documentation. + + + ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH + ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH + + + + No documentation. + + + ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION + ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION + + + + No documentation. + + + ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED + ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED + + + + No documentation. + + + ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE + ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE + + + + No documentation. + + + ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED + ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME + ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME + + + + No documentation. + + + ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP + ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP + + + + No documentation. + + + ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED + ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED + + + + No documentation. + + + ERROR_GRAPHICS_INVALID_POINTER + ERROR_GRAPHICS_INVALID_POINTER + + + + No documentation. + + + ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE + ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE + + + + No documentation. + + + ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL + ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL + + + + No documentation. + + + ERROR_GRAPHICS_INTERNAL_ERROR + ERROR_GRAPHICS_INTERNAL_ERROR + + + + No documentation. + + + ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS + ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS + + + + No documentation. + + + ERROR_NDIS_INTERFACE_CLOSING + ERROR_NDIS_INTERFACE_CLOSING + + + + No documentation. + + + ERROR_NDIS_BAD_VERSION + ERROR_NDIS_BAD_VERSION + + + + No documentation. + + + ERROR_NDIS_BAD_CHARACTERISTICS + ERROR_NDIS_BAD_CHARACTERISTICS + + + + No documentation. + + + ERROR_NDIS_ADAPTER_NOT_FOUND + ERROR_NDIS_ADAPTER_NOT_FOUND + + + + No documentation. + + + ERROR_NDIS_OPEN_FAILED + ERROR_NDIS_OPEN_FAILED + + + + No documentation. + + + ERROR_NDIS_DEVICE_FAILED + ERROR_NDIS_DEVICE_FAILED + + + + No documentation. + + + ERROR_NDIS_MULTICAST_FULL + ERROR_NDIS_MULTICAST_FULL + + + + No documentation. + + + ERROR_NDIS_MULTICAST_EXISTS + ERROR_NDIS_MULTICAST_EXISTS + + + + No documentation. + + + ERROR_NDIS_MULTICAST_NOT_FOUND + ERROR_NDIS_MULTICAST_NOT_FOUND + + + + No documentation. + + + ERROR_NDIS_REQUEST_ABORTED + ERROR_NDIS_REQUEST_ABORTED + + + + No documentation. + + + ERROR_NDIS_RESET_IN_PROGRESS + ERROR_NDIS_RESET_IN_PROGRESS + + + + No documentation. + + + ERROR_NDIS_NOT_SUPPORTED + ERROR_NDIS_NOT_SUPPORTED + + + + No documentation. + + + ERROR_NDIS_INVALID_PACKET + ERROR_NDIS_INVALID_PACKET + + + + No documentation. + + + ERROR_NDIS_ADAPTER_NOT_READY + ERROR_NDIS_ADAPTER_NOT_READY + + + + No documentation. + + + ERROR_NDIS_INVALID_LENGTH + ERROR_NDIS_INVALID_LENGTH + + + + No documentation. + + + ERROR_NDIS_INVALID_DATA + ERROR_NDIS_INVALID_DATA + + + + No documentation. + + + ERROR_NDIS_BUFFER_TOO_SHORT + ERROR_NDIS_BUFFER_TOO_SHORT + + + + No documentation. + + + ERROR_NDIS_INVALID_OID + ERROR_NDIS_INVALID_OID + + + + No documentation. + + + ERROR_NDIS_ADAPTER_REMOVED + ERROR_NDIS_ADAPTER_REMOVED + + + + No documentation. + + + ERROR_NDIS_UNSUPPORTED_MEDIA + ERROR_NDIS_UNSUPPORTED_MEDIA + + + + No documentation. + + + ERROR_NDIS_GROUP_ADDRESS_IN_USE + ERROR_NDIS_GROUP_ADDRESS_IN_USE + + + + No documentation. + + + ERROR_NDIS_FILE_NOT_FOUND + ERROR_NDIS_FILE_NOT_FOUND + + + + No documentation. + + + ERROR_NDIS_ERROR_READING_FILE + ERROR_NDIS_ERROR_READING_FILE + + + + No documentation. + + + ERROR_NDIS_ALREADY_MAPPED + ERROR_NDIS_ALREADY_MAPPED + + + + No documentation. + + + ERROR_NDIS_RESOURCE_CONFLICT + ERROR_NDIS_RESOURCE_CONFLICT + + + + No documentation. + + + ERROR_NDIS_MEDIA_DISCONNECTED + ERROR_NDIS_MEDIA_DISCONNECTED + + + + No documentation. + + + ERROR_NDIS_INVALID_ADDRESS + ERROR_NDIS_INVALID_ADDRESS + + + + No documentation. + + + ERROR_NDIS_INVALID_DEVICE_REQUEST + ERROR_NDIS_INVALID_DEVICE_REQUEST + + + + No documentation. + + + ERROR_NDIS_PAUSED + ERROR_NDIS_PAUSED + + + + No documentation. + + + ERROR_NDIS_INTERFACE_NOT_FOUND + ERROR_NDIS_INTERFACE_NOT_FOUND + + + + No documentation. + + + ERROR_NDIS_UNSUPPORTED_REVISION + ERROR_NDIS_UNSUPPORTED_REVISION + + + + No documentation. + + + ERROR_NDIS_INVALID_PORT + ERROR_NDIS_INVALID_PORT + + + + No documentation. + + + ERROR_NDIS_INVALID_PORT_STATE + ERROR_NDIS_INVALID_PORT_STATE + + + + No documentation. + + + ERROR_NDIS_LOW_POWER_STATE + ERROR_NDIS_LOW_POWER_STATE + + + + No documentation. + + + ERROR_NDIS_REINIT_REQUIRED + ERROR_NDIS_REINIT_REQUIRED + + + + No documentation. + + + ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED + ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED + + + + No documentation. + + + ERROR_NDIS_DOT11_MEDIA_IN_USE + ERROR_NDIS_DOT11_MEDIA_IN_USE + + + + No documentation. + + + ERROR_NDIS_DOT11_POWER_STATE_INVALID + ERROR_NDIS_DOT11_POWER_STATE_INVALID + + + + No documentation. + + + ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL + ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL + + + + No documentation. + + + ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL + ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL + + + + No documentation. + + + ERROR_NDIS_INDICATION_REQUIRED + ERROR_NDIS_INDICATION_REQUIRED + + + + No documentation. + + + ERROR_NDIS_OFFLOAD_POLICY + ERROR_NDIS_OFFLOAD_POLICY + + + + No documentation. + + + ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED + ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED + + + + No documentation. + + + ERROR_NDIS_OFFLOAD_PATH_REJECTED + ERROR_NDIS_OFFLOAD_PATH_REJECTED + + + + No documentation. + + + ERROR_HV_INVALID_HYPERCALL_CODE + ERROR_HV_INVALID_HYPERCALL_CODE + + + + No documentation. + + + ERROR_HV_INVALID_HYPERCALL_INPUT + ERROR_HV_INVALID_HYPERCALL_INPUT + + + + No documentation. + + + ERROR_HV_INVALID_ALIGNMENT + ERROR_HV_INVALID_ALIGNMENT + + + + No documentation. + + + ERROR_HV_INVALID_PARAMETER + ERROR_HV_INVALID_PARAMETER + + + + No documentation. + + + ERROR_HV_ACCESS_DENIED + ERROR_HV_ACCESS_DENIED + + + + No documentation. + + + ERROR_HV_INVALID_PARTITION_STATE + ERROR_HV_INVALID_PARTITION_STATE + + + + No documentation. + + + ERROR_HV_OPERATION_DENIED + ERROR_HV_OPERATION_DENIED + + + + No documentation. + + + ERROR_HV_UNKNOWN_PROPERTY + ERROR_HV_UNKNOWN_PROPERTY + + + + No documentation. + + + ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE + ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE + + + + No documentation. + + + ERROR_HV_INSUFFICIENT_MEMORY + ERROR_HV_INSUFFICIENT_MEMORY + + + + No documentation. + + + ERROR_HV_PARTITION_TOO_DEEP + ERROR_HV_PARTITION_TOO_DEEP + + + + No documentation. + + + ERROR_HV_INVALID_PARTITION_ID + ERROR_HV_INVALID_PARTITION_ID + + + + No documentation. + + + ERROR_HV_INVALID_VP_INDEX + ERROR_HV_INVALID_VP_INDEX + + + + No documentation. + + + ERROR_HV_INVALID_PORT_ID + ERROR_HV_INVALID_PORT_ID + + + + No documentation. + + + ERROR_HV_INVALID_CONNECTION_ID + ERROR_HV_INVALID_CONNECTION_ID + + + + No documentation. + + + ERROR_HV_INSUFFICIENT_BUFFERS + ERROR_HV_INSUFFICIENT_BUFFERS + + + + No documentation. + + + ERROR_HV_NOT_ACKNOWLEDGED + ERROR_HV_NOT_ACKNOWLEDGED + + + + No documentation. + + + ERROR_HV_ACKNOWLEDGED + ERROR_HV_ACKNOWLEDGED + + + + No documentation. + + + ERROR_HV_INVALID_SAVE_RESTORE_STATE + ERROR_HV_INVALID_SAVE_RESTORE_STATE + + + + No documentation. + + + ERROR_HV_INVALID_SYNIC_STATE + ERROR_HV_INVALID_SYNIC_STATE + + + + No documentation. + + + ERROR_HV_OBJECT_IN_USE + ERROR_HV_OBJECT_IN_USE + + + + No documentation. + + + ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO + ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO + + + + No documentation. + + + ERROR_HV_NO_DATA + ERROR_HV_NO_DATA + + + + No documentation. + + + ERROR_HV_INACTIVE + ERROR_HV_INACTIVE + + + + No documentation. + + + ERROR_HV_NO_RESOURCES + ERROR_HV_NO_RESOURCES + + + + No documentation. + + + ERROR_HV_FEATURE_UNAVAILABLE + ERROR_HV_FEATURE_UNAVAILABLE + + + + No documentation. + + + ERROR_HV_INSUFFICIENT_DEVICE_DOMAINS + ERROR_HV_INSUFFICIENT_DEVICE_DOMAINS + + + + No documentation. + + + ERROR_HV_INVALID_LP_INDEX + ERROR_HV_INVALID_LP_INDEX + + + + No documentation. + + + ERROR_HV_NOT_PRESENT + ERROR_HV_NOT_PRESENT + + + + No documentation. + + + ERROR_VID_DUPLICATE_HANDLER + ERROR_VID_DUPLICATE_HANDLER + + + + No documentation. + + + ERROR_VID_TOO_MANY_HANDLERS + ERROR_VID_TOO_MANY_HANDLERS + + + + No documentation. + + + ERROR_VID_QUEUE_FULL + ERROR_VID_QUEUE_FULL + + + + No documentation. + + + ERROR_VID_HANDLER_NOT_PRESENT + ERROR_VID_HANDLER_NOT_PRESENT + + + + No documentation. + + + ERROR_VID_INVALID_OBJECT_NAME + ERROR_VID_INVALID_OBJECT_NAME + + + + No documentation. + + + ERROR_VID_PARTITION_NAME_TOO_LONG + ERROR_VID_PARTITION_NAME_TOO_LONG + + + + No documentation. + + + ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG + ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG + + + + No documentation. + + + ERROR_VID_PARTITION_ALREADY_EXISTS + ERROR_VID_PARTITION_ALREADY_EXISTS + + + + No documentation. + + + ERROR_VID_PARTITION_DOES_NOT_EXIST + ERROR_VID_PARTITION_DOES_NOT_EXIST + + + + No documentation. + + + ERROR_VID_PARTITION_NAME_NOT_FOUND + ERROR_VID_PARTITION_NAME_NOT_FOUND + + + + No documentation. + + + ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS + ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS + + + + No documentation. + + + ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT + ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT + + + + No documentation. + + + ERROR_VID_MB_STILL_REFERENCED + ERROR_VID_MB_STILL_REFERENCED + + + + No documentation. + + + ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED + ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED + + + + No documentation. + + + ERROR_VID_INVALID_NUMA_SETTINGS + ERROR_VID_INVALID_NUMA_SETTINGS + + + + No documentation. + + + ERROR_VID_INVALID_NUMA_NODE_INDEX + ERROR_VID_INVALID_NUMA_NODE_INDEX + + + + No documentation. + + + ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED + ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED + + + + No documentation. + + + ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE + ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE + + + + No documentation. + + + ERROR_VID_PAGE_RANGE_OVERFLOW + ERROR_VID_PAGE_RANGE_OVERFLOW + + + + No documentation. + + + ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE + ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE + + + + No documentation. + + + ERROR_VID_INVALID_GPA_RANGE_HANDLE + ERROR_VID_INVALID_GPA_RANGE_HANDLE + + + + No documentation. + + + ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE + ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE + + + + No documentation. + + + ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED + ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED + + + + No documentation. + + + ERROR_VID_INVALID_PPM_HANDLE + ERROR_VID_INVALID_PPM_HANDLE + + + + No documentation. + + + ERROR_VID_MBPS_ARE_LOCKED + ERROR_VID_MBPS_ARE_LOCKED + + + + No documentation. + + + ERROR_VID_MESSAGE_QUEUE_CLOSED + ERROR_VID_MESSAGE_QUEUE_CLOSED + + + + No documentation. + + + ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED + ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED + + + + No documentation. + + + ERROR_VID_STOP_PENDING + ERROR_VID_STOP_PENDING + + + + No documentation. + + + ERROR_VID_INVALID_PROCESSOR_STATE + ERROR_VID_INVALID_PROCESSOR_STATE + + + + No documentation. + + + ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT + ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT + + + + No documentation. + + + ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED + ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED + + + + No documentation. + + + ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET + ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET + + + + No documentation. + + + ERROR_VID_MMIO_RANGE_DESTROYED + ERROR_VID_MMIO_RANGE_DESTROYED + + + + No documentation. + + + ERROR_VID_INVALID_CHILD_GPA_PAGE_SET + ERROR_VID_INVALID_CHILD_GPA_PAGE_SET + + + + No documentation. + + + ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED + ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED + + + + No documentation. + + + ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL + ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL + + + + No documentation. + + + ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE + ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE + + + + No documentation. + + + ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT + ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT + + + + No documentation. + + + ERROR_VID_SAVED_STATE_CORRUPT + ERROR_VID_SAVED_STATE_CORRUPT + + + + No documentation. + + + ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM + ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM + + + + No documentation. + + + ERROR_VID_SAVED_STATE_INCOMPATIBLE + ERROR_VID_SAVED_STATE_INCOMPATIBLE + + + + No documentation. + + + ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED + ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED + + + + No documentation. + + + ERROR_VOLMGR_INCOMPLETE_REGENERATION + ERROR_VOLMGR_INCOMPLETE_REGENERATION + + + + No documentation. + + + ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION + ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION + + + + No documentation. + + + ERROR_VOLMGR_DATABASE_FULL + ERROR_VOLMGR_DATABASE_FULL + + + + No documentation. + + + ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED + ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED + + + + No documentation. + + + ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC + ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC + + + + No documentation. + + + ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED + ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED + + + + No documentation. + + + ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME + ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME + + + + No documentation. + + + ERROR_VOLMGR_DISK_DUPLICATE + ERROR_VOLMGR_DISK_DUPLICATE + + + + No documentation. + + + ERROR_VOLMGR_DISK_DYNAMIC + ERROR_VOLMGR_DISK_DYNAMIC + + + + No documentation. + + + ERROR_VOLMGR_DISK_ID_INVALID + ERROR_VOLMGR_DISK_ID_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DISK_INVALID + ERROR_VOLMGR_DISK_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAST_VOTER + ERROR_VOLMGR_DISK_LAST_VOTER + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_INVALID + ERROR_VOLMGR_DISK_LAYOUT_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS + ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED + ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL + ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS + ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS + + + + No documentation. + + + ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS + ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS + + + + No documentation. + + + ERROR_VOLMGR_DISK_MISSING + ERROR_VOLMGR_DISK_MISSING + + + + No documentation. + + + ERROR_VOLMGR_DISK_NOT_EMPTY + ERROR_VOLMGR_DISK_NOT_EMPTY + + + + No documentation. + + + ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE + ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE + + + + No documentation. + + + ERROR_VOLMGR_DISK_REVECTORING_FAILED + ERROR_VOLMGR_DISK_REVECTORING_FAILED + + + + No documentation. + + + ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID + ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DISK_SET_NOT_CONTAINED + ERROR_VOLMGR_DISK_SET_NOT_CONTAINED + + + + No documentation. + + + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS + + + + No documentation. + + + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES + + + + No documentation. + + + ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED + ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_ALREADY_USED + ERROR_VOLMGR_EXTENT_ALREADY_USED + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS + ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION + ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED + ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION + ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION + + + + No documentation. + + + ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH + ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH + + + + No documentation. + + + ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED + ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED + + + + No documentation. + + + ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID + ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID + + + + No documentation. + + + ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS + ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_IN_SYNC + ERROR_VOLMGR_MEMBER_IN_SYNC + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE + ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_INDEX_INVALID + ERROR_VOLMGR_MEMBER_INDEX_INVALID + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_MISSING + ERROR_VOLMGR_MEMBER_MISSING + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_NOT_DETACHED + ERROR_VOLMGR_MEMBER_NOT_DETACHED + + + + No documentation. + + + ERROR_VOLMGR_MEMBER_REGENERATING + ERROR_VOLMGR_MEMBER_REGENERATING + + + + No documentation. + + + ERROR_VOLMGR_ALL_DISKS_FAILED + ERROR_VOLMGR_ALL_DISKS_FAILED + + + + No documentation. + + + ERROR_VOLMGR_NO_REGISTERED_USERS + ERROR_VOLMGR_NO_REGISTERED_USERS + + + + No documentation. + + + ERROR_VOLMGR_NO_SUCH_USER + ERROR_VOLMGR_NO_SUCH_USER + + + + No documentation. + + + ERROR_VOLMGR_NOTIFICATION_RESET + ERROR_VOLMGR_NOTIFICATION_RESET + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID + ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID + ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PACK_DUPLICATE + ERROR_VOLMGR_PACK_DUPLICATE + + + + No documentation. + + + ERROR_VOLMGR_PACK_ID_INVALID + ERROR_VOLMGR_PACK_ID_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PACK_INVALID + ERROR_VOLMGR_PACK_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PACK_NAME_INVALID + ERROR_VOLMGR_PACK_NAME_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PACK_OFFLINE + ERROR_VOLMGR_PACK_OFFLINE + + + + No documentation. + + + ERROR_VOLMGR_PACK_HAS_QUORUM + ERROR_VOLMGR_PACK_HAS_QUORUM + + + + No documentation. + + + ERROR_VOLMGR_PACK_WITHOUT_QUORUM + ERROR_VOLMGR_PACK_WITHOUT_QUORUM + + + + No documentation. + + + ERROR_VOLMGR_PARTITION_STYLE_INVALID + ERROR_VOLMGR_PARTITION_STYLE_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PARTITION_UPDATE_FAILED + ERROR_VOLMGR_PARTITION_UPDATE_FAILED + + + + No documentation. + + + ERROR_VOLMGR_PLEX_IN_SYNC + ERROR_VOLMGR_PLEX_IN_SYNC + + + + No documentation. + + + ERROR_VOLMGR_PLEX_INDEX_DUPLICATE + ERROR_VOLMGR_PLEX_INDEX_DUPLICATE + + + + No documentation. + + + ERROR_VOLMGR_PLEX_INDEX_INVALID + ERROR_VOLMGR_PLEX_INDEX_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PLEX_LAST_ACTIVE + ERROR_VOLMGR_PLEX_LAST_ACTIVE + + + + No documentation. + + + ERROR_VOLMGR_PLEX_MISSING + ERROR_VOLMGR_PLEX_MISSING + + + + No documentation. + + + ERROR_VOLMGR_PLEX_REGENERATING + ERROR_VOLMGR_PLEX_REGENERATING + + + + No documentation. + + + ERROR_VOLMGR_PLEX_TYPE_INVALID + ERROR_VOLMGR_PLEX_TYPE_INVALID + + + + No documentation. + + + ERROR_VOLMGR_PLEX_NOT_RAID5 + ERROR_VOLMGR_PLEX_NOT_RAID5 + + + + No documentation. + + + ERROR_VOLMGR_PLEX_NOT_SIMPLE + ERROR_VOLMGR_PLEX_NOT_SIMPLE + + + + No documentation. + + + ERROR_VOLMGR_STRUCTURE_SIZE_INVALID + ERROR_VOLMGR_STRUCTURE_SIZE_INVALID + + + + No documentation. + + + ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS + ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS + + + + No documentation. + + + ERROR_VOLMGR_TRANSACTION_IN_PROGRESS + ERROR_VOLMGR_TRANSACTION_IN_PROGRESS + + + + No documentation. + + + ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE + ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK + ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_ID_INVALID + ERROR_VOLMGR_VOLUME_ID_INVALID + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_LENGTH_INVALID + ERROR_VOLMGR_VOLUME_LENGTH_INVALID + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE + ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_NOT_MIRRORED + ERROR_VOLMGR_VOLUME_NOT_MIRRORED + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_NOT_RETAINED + ERROR_VOLMGR_VOLUME_NOT_RETAINED + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_OFFLINE + ERROR_VOLMGR_VOLUME_OFFLINE + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_RETAINED + ERROR_VOLMGR_VOLUME_RETAINED + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID + ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID + + + + No documentation. + + + ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE + ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE + + + + No documentation. + + + ERROR_VOLMGR_BAD_BOOT_DISK + ERROR_VOLMGR_BAD_BOOT_DISK + + + + No documentation. + + + ERROR_VOLMGR_PACK_CONFIG_OFFLINE + ERROR_VOLMGR_PACK_CONFIG_OFFLINE + + + + No documentation. + + + ERROR_VOLMGR_PACK_CONFIG_ONLINE + ERROR_VOLMGR_PACK_CONFIG_ONLINE + + + + No documentation. + + + ERROR_VOLMGR_NOT_PRIMARY_PACK + ERROR_VOLMGR_NOT_PRIMARY_PACK + + + + No documentation. + + + ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED + ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID + + + + No documentation. + + + ERROR_VOLMGR_VOLUME_MIRRORED + ERROR_VOLMGR_VOLUME_MIRRORED + + + + No documentation. + + + ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED + ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED + + + + No documentation. + + + ERROR_VOLMGR_NO_VALID_LOG_COPIES + ERROR_VOLMGR_NO_VALID_LOG_COPIES + + + + No documentation. + + + ERROR_VOLMGR_PRIMARY_PACK_PRESENT + ERROR_VOLMGR_PRIMARY_PACK_PRESENT + + + + No documentation. + + + ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID + ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID + + + + No documentation. + + + ERROR_VOLMGR_MIRROR_NOT_SUPPORTED + ERROR_VOLMGR_MIRROR_NOT_SUPPORTED + + + + No documentation. + + + ERROR_VOLMGR_RAID5_NOT_SUPPORTED + ERROR_VOLMGR_RAID5_NOT_SUPPORTED + + + + No documentation. + + + ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED + ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED + + + + No documentation. + + + ERROR_BCD_TOO_MANY_ELEMENTS + ERROR_BCD_TOO_MANY_ELEMENTS + + + + No documentation. + + + ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED + ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED + + + + No documentation. + + + ERROR_VHD_DRIVE_FOOTER_MISSING + ERROR_VHD_DRIVE_FOOTER_MISSING + + + + No documentation. + + + ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH + ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH + + + + No documentation. + + + ERROR_VHD_DRIVE_FOOTER_CORRUPT + ERROR_VHD_DRIVE_FOOTER_CORRUPT + + + + No documentation. + + + ERROR_VHD_FORMAT_UNKNOWN + ERROR_VHD_FORMAT_UNKNOWN + + + + No documentation. + + + ERROR_VHD_FORMAT_UNSUPPORTED_VERSION + ERROR_VHD_FORMAT_UNSUPPORTED_VERSION + + + + No documentation. + + + ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH + ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH + + + + No documentation. + + + ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION + ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION + + + + No documentation. + + + ERROR_VHD_SPARSE_HEADER_CORRUPT + ERROR_VHD_SPARSE_HEADER_CORRUPT + + + + No documentation. + + + ERROR_VHD_BLOCK_ALLOCATION_FAILURE + ERROR_VHD_BLOCK_ALLOCATION_FAILURE + + + + No documentation. + + + ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT + ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT + + + + No documentation. + + + ERROR_VHD_INVALID_BLOCK_SIZE + ERROR_VHD_INVALID_BLOCK_SIZE + + + + No documentation. + + + ERROR_VHD_BITMAP_MISMATCH + ERROR_VHD_BITMAP_MISMATCH + + + + No documentation. + + + ERROR_VHD_PARENT_VHD_NOT_FOUND + ERROR_VHD_PARENT_VHD_NOT_FOUND + + + + No documentation. + + + ERROR_VHD_CHILD_PARENT_ID_MISMATCH + ERROR_VHD_CHILD_PARENT_ID_MISMATCH + + + + No documentation. + + + ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH + ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH + + + + No documentation. + + + ERROR_VHD_METADATA_READ_FAILURE + ERROR_VHD_METADATA_READ_FAILURE + + + + No documentation. + + + ERROR_VHD_METADATA_WRITE_FAILURE + ERROR_VHD_METADATA_WRITE_FAILURE + + + + No documentation. + + + ERROR_VHD_INVALID_SIZE + ERROR_VHD_INVALID_SIZE + + + + No documentation. + + + ERROR_VHD_INVALID_FILE_SIZE + ERROR_VHD_INVALID_FILE_SIZE + + + + No documentation. + + + ERROR_VIRTDISK_PROVIDER_NOT_FOUND + ERROR_VIRTDISK_PROVIDER_NOT_FOUND + + + + No documentation. + + + ERROR_VIRTDISK_NOT_VIRTUAL_DISK + ERROR_VIRTDISK_NOT_VIRTUAL_DISK + + + + No documentation. + + + ERROR_VHD_PARENT_VHD_ACCESS_DENIED + ERROR_VHD_PARENT_VHD_ACCESS_DENIED + + + + No documentation. + + + ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH + ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH + + + + No documentation. + + + ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED + ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED + + + + No documentation. + + + ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT + ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT + + + + No documentation. + + + ERROR_VIRTUAL_DISK_LIMITATION + ERROR_VIRTUAL_DISK_LIMITATION + + + + No documentation. + + + ERROR_VHD_INVALID_TYPE + ERROR_VHD_INVALID_TYPE + + + + No documentation. + + + ERROR_VHD_INVALID_STATE + ERROR_VHD_INVALID_STATE + + + + No documentation. + + + ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE + ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE + + + + No documentation. + + + ERROR_VIRTDISK_DISK_ALREADY_OWNED + ERROR_VIRTDISK_DISK_ALREADY_OWNED + + + + No documentation. + + + ERROR_VIRTDISK_DISK_ONLINE_AND_WRITABLE + ERROR_VIRTDISK_DISK_ONLINE_AND_WRITABLE + + + + No documentation. + + + ERROR_CTLOG_TRACKING_NOT_INITIALIZED + ERROR_CTLOG_TRACKING_NOT_INITIALIZED + + + + No documentation. + + + ERROR_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE + ERROR_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE + + + + No documentation. + + + ERROR_CTLOG_VHD_CHANGED_OFFLINE + ERROR_CTLOG_VHD_CHANGED_OFFLINE + + + + No documentation. + + + ERROR_CTLOG_INVALID_TRACKING_STATE + ERROR_CTLOG_INVALID_TRACKING_STATE + + + + No documentation. + + + ERROR_CTLOG_INCONSISTENT_TRACKING_FILE + ERROR_CTLOG_INCONSISTENT_TRACKING_FILE + + + + No documentation. + + + ERROR_VHD_RESIZE_WOULD_TRUNCATE_DATA + ERROR_VHD_RESIZE_WOULD_TRUNCATE_DATA + + + + No documentation. + + + ERROR_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE + ERROR_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE + + + + No documentation. + + + ERROR_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE + ERROR_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE + + + + No documentation. + + + ERROR_VHD_METADATA_FULL + ERROR_VHD_METADATA_FULL + + + + No documentation. + + + ERROR_QUERY_STORAGE_ERROR + ERROR_QUERY_STORAGE_ERROR + + + + No documentation. + + + ERROR_SPACES_POOL_WAS_DELETED + ERROR_SPACES_POOL_WAS_DELETED + + + + No documentation. + + + ERROR_SPACES_RESILIENCY_TYPE_INVALID + ERROR_SPACES_RESILIENCY_TYPE_INVALID + + + + No documentation. + + + ERROR_SPACES_DRIVE_SECTOR_SIZE_INVALID + ERROR_SPACES_DRIVE_SECTOR_SIZE_INVALID + + + + No documentation. + + + ERROR_SPACES_DRIVE_REDUNDANCY_INVALID + ERROR_SPACES_DRIVE_REDUNDANCY_INVALID + + + + No documentation. + + + ERROR_SPACES_NUMBER_OF_DATA_COPIES_INVALID + ERROR_SPACES_NUMBER_OF_DATA_COPIES_INVALID + + + + No documentation. + + + ERROR_SPACES_PARITY_LAYOUT_INVALID + ERROR_SPACES_PARITY_LAYOUT_INVALID + + + + No documentation. + + + ERROR_SPACES_INTERLEAVE_LENGTH_INVALID + ERROR_SPACES_INTERLEAVE_LENGTH_INVALID + + + + No documentation. + + + ERROR_SPACES_NUMBER_OF_COLUMNS_INVALID + ERROR_SPACES_NUMBER_OF_COLUMNS_INVALID + + + + No documentation. + + + ERROR_SPACES_NOT_ENOUGH_DRIVES + ERROR_SPACES_NOT_ENOUGH_DRIVES + + + + No documentation. + + + ERROR_VOLSNAP_BOOTFILE_NOT_VALID + ERROR_VOLSNAP_BOOTFILE_NOT_VALID + + + + No documentation. + + + ERROR_DBG_CREATE_PROCESS_FAILURE_LOCKDOWN + ERROR_DBG_CREATE_PROCESS_FAILURE_LOCKDOWN + + + + No documentation. + + + ERROR_DBG_ATTACH_PROCESS_FAILURE_LOCKDOWN + ERROR_DBG_ATTACH_PROCESS_FAILURE_LOCKDOWN + + + + No documentation. + + + ERROR_DBG_CONNECT_SERVER_FAILURE_LOCKDOWN + ERROR_DBG_CONNECT_SERVER_FAILURE_LOCKDOWN + + + + No documentation. + + + ERROR_DBG_START_SERVER_FAILURE_LOCKDOWN + ERROR_DBG_START_SERVER_FAILURE_LOCKDOWN + + + +

The + enumeration values indicate the type of locking requested for the specified range of bytes. The values are used in the + ILockBytes::LockRegion and + methods.

+
+ + aa380048 + LOCKTYPE + LOCKTYPE +
+ + + No documentation. + + + LOCK_WRITE + LOCK_WRITE + + + + No documentation. + + + LOCK_EXCLUSIVE + LOCK_EXCLUSIVE + + + + No documentation. + + + LOCK_ONLYONCE + LOCK_ONLYONCE + + + +

The + enumeration values indicate whether the method should try to return a name in the pwcsName member of the + structure. The values are used in the + ILockBytes::Stat, + IStorage::Stat, and + methods to save memory when the pwcsName member is not required.

+
+ + aa380316 + STATFLAG + STATFLAG +
+ + + No documentation. + + + STATFLAG_DEFAULT + STATFLAG_DEFAULT + + + + No documentation. + + + STATFLAG_NONAME + STATFLAG_NONAME + + + + None. + + + None + None + + + +

The + interface lets you read and write data to stream objects. Stream objects contain the data in a structured storage object, where storages provide the structure. Simple data can be written directly to a stream but, most frequently, streams are elements nested within a storage object. They are similar to standard files.

The + interface defines methods similar to the MS-DOS FAT file functions. For example, each stream object has its own access rights and a seek reference. The main difference between a DOS file and a stream object is that in the latter case, streams are opened using an + interface reference rather than a file handle.

The methods in this interface present your object's data as a contiguous sequence of bytes that you can read or write. There are also methods for committing and reverting changes on streams that are open in transacted mode and methods for restricting access to a range of bytes in the stream.

Streams can remain open for long periods of time without consuming file-system resources. The IUnknown::Release method is similar to a close function on a file. Once released, the stream object is no longer valid and cannot be used.

Clients of asynchronous monikers can choose between a data-pull or data-push model for driving an asynchronous + IMoniker::BindToStorage operation and for receiving asynchronous notifications. See + URL Monikers for more information. The following table compares the behavior of asynchronous + and + calls returned in IBindStatusCallback::OnDataAvailable in these two download models:

+
+ + aa380034 + IStream + IStream +
+ + +

The + interface supports simplified sequential access to stream objects. The + interface inherits its + Read and + Write methods from + .

+
+ + aa380010 + ISequentialStream + ISequentialStream +
+ + +

The + interface supports simplified sequential access to stream objects. The + interface inherits its + Read and + Write methods from + .

+
+ + aa380010 + ISequentialStream + ISequentialStream +
+ + + Reads a specified number of bytes from the stream object into memory starting at the current seek pointer. + + The read buffer. + The number of bytes to read. + The actual number of bytes read from the stream object. + + + + Writes a specified number of bytes into the stream object starting at the current seek pointer. + + The buffer. + The number of bytes to read. + The actual number of bytes written to the stream object + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

The Read method reads a specified number of bytes from the stream object into memory, starting at the current seek reference.

+
+

A reference to the buffer which the stream data is read into.

+

The number of bytes of data to read from the stream object.

+

A reference to a ULONG variable that receives the actual number of bytes read from the stream object.

Note??The number of bytes read may be zero.

+ +

This method reads bytes from this stream object into memory. The stream object must be opened in STGM_READ mode. This method adjusts the seek reference by the actual number of bytes read.

The number of bytes actually read is also returned in the pcbRead parameter.

Notes to Callers

The actual number of bytes read can be less than the number of bytes requested if an error occurs or if the end of the stream is reached during the read operation. The number of bytes returned should always be compared to the number of bytes requested. If the number of bytes returned is less than the number of bytes requested, it usually means the Read method attempted to read past the end of the stream.

The application should handle both a returned error and return values on end-of-stream read operations.

+
+ + aa380011 + HRESULT ISequentialStream::Read([Out, Buffer] void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbRead) + ISequentialStream::Read +
+ + +

The Write method writes a specified number of bytes into the stream object starting at the current seek reference.

+
+

A reference to the buffer that contains the data that is to be written to the stream. A valid reference must be provided for this parameter even when cb is zero.

+

The number of bytes of data to attempt to write into the stream. This value can be zero.

+

A reference to a ULONG variable where this method writes the actual number of bytes written to the stream object. The caller can set this reference to null, in which case this method does not provide the actual number of bytes written.

+ +

writes the specified data to a stream object. The seek reference is adjusted for the number of bytes actually written. The number of bytes actually written is returned in the pcbWritten parameter. If the byte count is zero bytes, the write operation has no effect.

If the seek reference is currently past the end of the stream and the byte count is nonzero, this method increases the size of the stream to the seek reference and writes the specified bytes starting at the seek reference. The fill bytes written to the stream are not initialized to any particular value. This is the same as the end-of-file behavior in the MS-DOS FAT file system.

With a zero byte count and a seek reference past the end of the stream, this method does not create the fill bytes to increase the stream to the seek reference. In this case, you must call the + method to increase the size of the stream and write the fill bytes.

The pcbWritten parameter can have a value even if an error occurs.

In the COM-provided implementation, stream objects are not sparse. Any fill bytes are eventually allocated on the disk and assigned to the stream.

+
+ + aa380014 + HRESULT ISequentialStream::Write([In, Buffer] const void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbWritten) + ISequentialStream::Write +
+ + +

The + interface lets you read and write data to stream objects. Stream objects contain the data in a structured storage object, where storages provide the structure. Simple data can be written directly to a stream but, most frequently, streams are elements nested within a storage object. They are similar to standard files.

The + interface defines methods similar to the MS-DOS FAT file functions. For example, each stream object has its own access rights and a seek reference. The main difference between a DOS file and a stream object is that in the latter case, streams are opened using an + interface reference rather than a file handle.

The methods in this interface present your object's data as a contiguous sequence of bytes that you can read or write. There are also methods for committing and reverting changes on streams that are open in transacted mode and methods for restricting access to a range of bytes in the stream.

Streams can remain open for long periods of time without consuming file-system resources. The IUnknown::Release method is similar to a close function on a file. Once released, the stream object is no longer valid and cannot be used.

Clients of asynchronous monikers can choose between a data-pull or data-push model for driving an asynchronous + IMoniker::BindToStorage operation and for receiving asynchronous notifications. See + URL Monikers for more information. The following table compares the behavior of asynchronous + and + calls returned in IBindStatusCallback::OnDataAvailable in these two download models:

+
+ + aa380034 + IStream + IStream +
+ + + Changes the seek pointer to a new location relative to the beginning of the stream, to the end of the stream, or to the current seek pointer. + + The offset. + The origin. + The offset of the seek pointer from the beginning of the stream. + + + + Changes the size of the stream object. + + The new size. + + + + Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream. + + The stream destination. + The number of bytes to copy. + The number of bytes written. + The number of bytes read + + + + Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, Commit has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode. + + The GRF commit flags. + + + + Discards all changes that have been made to a transacted stream since the last call. + + + + + Restricts access to a specified range of bytes in the stream. + + The offset. + The number of bytes to lock. + Type of the dw lock. + + + + Unlocks access to a specified range of bytes in the stream. + + The offset. + The number of bytes to lock. + Type of the dw lock. + + + + Gets the statistics. + + The storage statistics flags. + + + + + Clones this instance. + + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

The Seek method changes the seek reference 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 reference.

+
+

The displacement to be added to the location indicated by the dwOrigin parameter. If dwOrigin is STREAM_SEEK_SET, this is interpreted as an unsigned value rather than a signed value.

+

The origin for the displacement specified in dlibMove. The origin can be the beginning of the file (STREAM_SEEK_SET), the current seek reference (STREAM_SEEK_CUR), or the end of the file (STREAM_SEEK_END). For more information about values, see the STREAM_SEEK enumeration.

+

A reference to the location where this method writes the value of the new seek reference from the beginning of the stream.

You can set this reference to null. In this case, this method does not provide the new seek reference.

+ +

changes the seek reference so that subsequent read and write operations can be performed at a different location in the stream object. It is an error to seek before the beginning of the stream. It is not, however, an error to seek past the end of the stream. Seeking past the end of the stream is useful for subsequent write operations, as the stream byte range will be extended to the new seek position immediately before the write is complete.

You can also use this method to obtain the current value of the seek reference by calling this method with the dwOrigin parameter set to STREAM_SEEK_CUR and the dlibMove parameter set to 0 so that the seek reference is not changed. The current seek reference is returned in the plibNewPosition parameter.

+
+ + aa380043 + HRESULT IStream::Seek([In] LARGE_INTEGER dlibMove,[In] SHARPDX_SEEKORIGIN dwOrigin,[Out, Optional] ULARGE_INTEGER* plibNewPosition) + IStream::Seek +
+ + +

The SetSize method changes the size of the stream object.

+
+

Specifies the new size of the stream as a number of bytes.

+

This method can return one of the following values.

The size of the stream object was successfully changed.

E_PENDING

Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.

STG_E_MEDIUMFULL

The stream size is not changed because there is no space left on the storage device.

STG_E_INVALIDFUNCTION

The value of the libNewSize parameter is not valid. Since streams cannot be greater than 232 bytes in the COM-provided implementation, the high DWORD data type of libNewSize must be 0. If it is nonzero, this parameter is not valid.

STG_E_REVERTED

The object has been invalidated by a revert operation above it in the transaction tree.

+ +

changes the size of the stream object. Call this method to preallocate space for the stream. If the libNewSize parameter is larger than the current stream size, the stream is extended to the indicated size by filling the intervening space with bytes of undefined value. This operation is similar to the + method if the seek reference is past the current end of stream.

If the libNewSize parameter is smaller than the current stream, the stream is truncated to the indicated size.

The seek reference is not affected by the change in stream size.

Calling can be an effective way to obtain a large chunk of contiguous space.

+
+ + aa380044 + HRESULT IStream::SetSize([In] ULARGE_INTEGER libNewSize) + IStream::SetSize +
+ + +

The CopyTo method copies a specified number of bytes from the current seek reference in the stream to the current seek reference in another stream.

+
+

A reference to the destination stream. The stream pointed to by pstm can be a new stream or a clone of the source stream.

+

The number of bytes to copy from the source stream.

+

A reference to the location where this method writes the actual number of bytes written to the destination. You can set this reference to null. In this case, this method does not provide the actual number of bytes written.

+

A reference to the location where this method writes the actual number of bytes read from the source. You can set this reference to null. In this case, this method does not provide the actual number of bytes read.

+ +

The CopyTo method copies the specified bytes from one stream to another. It can also be used to copy a stream to itself. The seek reference in each stream instance is adjusted for the number of bytes read or written. This method is equivalent to reading cb bytes into memory using + and then immediately writing them to the destination stream using + , although will be more efficient.

The destination stream can be a clone of the source stream created by calling the + method.

If returns an error, you cannot assume that the seek references are valid for either the source or destination. Additionally, the values of pcbRead and pcbWritten are not meaningful even though they are returned.

If returns successfully, the actual number of bytes read and written are the same.

To copy the remainder of the source from the current seek reference, specify the maximum large integer value for the cb parameter. If the seek reference is the beginning of the stream, this operation copies the entire stream.

+
+ + aa380038 + HRESULT IStream::CopyTo([In] IStream* pstm,[In] ULARGE_INTEGER cb,[Out] ULARGE_INTEGER* pcbRead,[Out] ULARGE_INTEGER* pcbWritten) + IStream::CopyTo +
+ + +

The Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.

+
+

Controls how the changes for the stream object are committed. See the enumeration for a definition of these values.

+

This method can return one of the following values.

Changes to the stream object were successfully committed to the parent level.

E_PENDING

Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.

STG_E_MEDIUMFULL

The commit operation failed due to lack of space on the storage device.

STG_E_REVERTED

The object has been invalidated by a revert operation above it in the transaction tree.

+ +

The Commit method ensures that changes to a stream object opened in transacted mode are reflected in the parent storage. Changes that have been made to the stream since it was opened or last committed are reflected to the parent storage object. If the parent is opened in transacted mode, the parent may revert at a later time, rolling back the changes to this stream object. The compound file implementation does not support the opening of streams in transacted mode, so this method has very little effect other than to flush memory buffers. For more information, see + - Compound File Implementation.

If the stream is open in direct mode, this method ensures that any memory buffers have been flushed out to the underlying storage object. This is much like a flush in traditional file systems.

The method is useful on a direct mode stream when the implementation of the + interface is a wrapper for underlying file system APIs. In this case, would be connected to the file system's flush call.

+
+ + aa380036 + HRESULT IStream::Commit([In] STGC grfCommitFlags) + IStream::Commit +
+ + +

The Revert method discards all changes that have been made to a transacted stream since the last + call. On streams open in direct mode and streams using the COM compound file implementation of , this method has no effect.

+
+

This method can return one of the following values.

The stream was successfully reverted to its previous version.

E_PENDING

Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.

+ +

The Revert method discards changes made to a transacted stream since the last commit operation.

+
+ + aa380042 + HRESULT IStream::Revert() + IStream::Revert +
+ + +

The LockRegion method restricts access to a specified range of bytes in the stream. Supporting this functionality is optional since some file systems do not provide it.

+
+

Integer that specifies the byte offset for the beginning of the range.

+

Integer that specifies the length of the range, in bytes, to be restricted.

+

Specifies the restrictions being requested on accessing the range.

+

This method can return one of the following values.

The specified range of bytes was locked.

E_PENDING

Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information, see IFillLockBytes and Asynchronous Storage.

STG_E_INVALIDFUNCTION

Locking is not supported at all or the specific type of lock requested is not supported.

STG_E_LOCKVIOLATION

Requested lock is supported, but cannot be granted because of an existing lock.

STG_E_REVERTED

The object has been invalidated by a revert operation above it in the transaction tree.

+ +

The byte range of the stream can be extended. Locking an extended range for the stream is useful as a method of communication between different instances of the stream without changing data that is actually part of the stream.

Three types of locking can be supported: locking to exclude other writers, locking to exclude other readers or writers, and locking that allows only one requester to obtain a lock on the given range, which is usually an alias for one of the other two lock types. A given stream instance might support either of the first two types, or both. The lock type is specified by dwLockType, using a value from the + enumeration.

Any region locked with must later be explicitly unlocked by calling + with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.

Notes to Callers

Since the type of locking supported is optional and can vary in different implementations of + , you must provide code to deal with the STG_E_INVALIDFUNCTION error.

The LockRegion method has no effect in the compound file implementation, because the implementation does not support range locking.

Notes to Implementers

Support for this method is optional for implementations of stream objects since it may not be supported by the underlying file system. The type of locking supported is also optional. The STG_E_INVALIDFUNCTION error is returned if the requested type of locking is not supported.

+
+ + aa380039 + HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType) + IStream::LockRegion +
+ + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + + HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType) + IStream::UnlockRegion + + + +

The Stat method retrieves the + structure for this stream.

+
+ No documentation. + No documentation. + +

retrieves a reference to the + structure that contains information about this open stream. When this stream is within a structured storage and + IStorage::EnumElements is called, it creates an enumerator object with the + IEnumSTATSTG interface on it, which can be called to enumerate the storages and streams through the + structures associated with each of them.

+
+ + aa380045 + HRESULT IStream::Stat([Out] STATSTG* pstatstg,[In] STATFLAG grfStatFlag) + IStream::Stat +
+ + +

The Clone method creates a new stream object with its own seek reference that references the same bytes as the original stream.

+
+

When successful, reference to the location of an reference to the new stream object. If an error occurs, this parameter is null.

+ +

The Clone method creates a new stream object for accessing the same bytes but using a separate seek reference. The new stream object sees the same data as the source-stream object. Changes written to one object are immediately visible in the other. Range locking is shared between the stream objects.

The initial setting of the seek reference in the cloned stream instance is the same as the current setting of the seek reference in the original stream at the time of the clone operation.

+
+ + aa380035 + HRESULT IStream::Clone([Out] IStream** ppstm) + IStream::Clone +
+ + + Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream. + + The stream destination. + The number of bytes to copy. + The bytes written. + The number of bytes read from this instance + + + + Gets a com pointer to the underlying object. + + The stream. + A Com pointer + + + +

The + structure contains statistical data about an open storage, stream, or byte-array object. This structure is used in the + IEnumSTATSTG, + ILockBytes, + IStorage, and + interfaces.

+
+ + aa380319 + STATSTG + STATSTG +
+ + + No documentation. + + + wchar_t* pwcsName + wchar_t pwcsName + + + + No documentation. + + + unsigned int type + unsigned int type + + + + No documentation. + + + ULARGE_INTEGER cbSize + ULARGE_INTEGER cbSize + + + + No documentation. + + + FILETIME mtime + FILETIME mtime + + + + No documentation. + + + FILETIME ctime + FILETIME ctime + + + + No documentation. + + + FILETIME atime + FILETIME atime + + + + No documentation. + + + unsigned int grfMode + unsigned int grfMode + + + + No documentation. + + + unsigned int grfLocksSupported + unsigned int grfLocksSupported + + + + No documentation. + + + GUID clsid + GUID clsid + + + + No documentation. + + + unsigned int grfStateBits + unsigned int grfStateBits + + + + No documentation. + + + unsigned int reserved + unsigned int reserved + + + + A half precision (16 bit) floating point value. + + + + + Number of decimal digits of precision. + + + + + Number of bits in the mantissa. + + + + + Maximum decimal exponent. + + + + + Maximum binary exponent. + + + + + Minimum decimal exponent. + + + + + Minimum binary exponent. + + + + + Exponent radix. + + + + + Additional rounding. + + + + + Smallest such that 1.0 + epsilon != 1.0 + + + + + Maximum value of the number. + + + + + Minimum value of the number. + + + + + Initializes a new instance of the structure. + + The floating point value that should be stored in 16 bit format. + + + + Converts an array of half precision values into full precision values. + + The values to be converted. + An array of converted values. + + + + Converts an array of full precision values into half precision values. + + The values to be converted. + An array of converted values. + + + + Performs an explicit conversion from to . + + The value to be converted. + The converted value. + + + + Performs an implicit conversion from to . + + The value to be converted. + The converted value. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + + Converts the value of the object to its equivalent string representation. + + The string representation of the value of this instance. + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + + + + Determines whether the specified object instances are considered equal. + + + + + true if is the same instance as or + if both are null references or if value1.Equals(value2) returns true; otherwise, false. + + + + Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Gets or sets the raw 16 bit value used to back this half-float. + + + + + Defines a two component vector, using half precision floating point coordinates. + + + + + Gets or sets the X component of the vector. + + The X component of the vector. + + + + Gets or sets the Y component of the vector. + + The Y component of the vector. + + + + Initializes a new instance of the structure. + + The X component. + The Y component. + + + + Initializes a new instance of the structure. + + The value to set for both the X and Y components. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + + + + Determines whether the specified object instances are considered equal. + + + + + true if is the same instance as or + if both are null references or if value1.Equals(value2) returns true; otherwise, false. + + + + Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Defines a three component vector, using half precision floating point coordinates. + + + + + Gets or sets the X component of the vector. + + The X component of the vector. + + + + Gets or sets the Y component of the vector. + + The Y component of the vector. + + + + Gets or sets the Z component of the vector. + + The Z component of the vector. + + + + Initializes a new instance of the structure. + + The X component. + The Y component. + The Z component. + + + + Initializes a new instance of the structure. + + The value to set for the X, Y, and Z components. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + + + + Determines whether the specified object instances are considered equal. + + + + + true if is the same instance as or + if both are null references or if value1.Equals(value2) returns true; otherwise, false. + + + + Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Defines a four component vector, using half precision floating point coordinates. + + + + + Gets or sets the X component of the vector. + + The X component of the vector. + + + + Gets or sets the Y component of the vector. + + The Y component of the vector. + + + + Gets or sets the Z component of the vector. + + The Z component of the vector. + + + + Gets or sets the W component of the vector. + + The W component of the vector. + + + + Initializes a new instance of the structure. + + The X component. + The Y component. + The Z component. + The W component. + + + + Initializes a new instance of the structure. + + The value to set for the X, Y, Z, and W components. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + + + + Determines whether the specified object instances are considered equal. + + + + + true if is the same instance as or + if both are null references or if value1.Equals(value2) returns true; otherwise, false. + + + + Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + + Helper class to perform Half/Float conversion. + Code extract from paper : www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf by Jeroen van der Zijp + + + + + Unpacks the specified h. + + The h. + + + + + Packs the specified f. + + The f. + + + + + Represents a four dimensional mathematical vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0, 0, 0). + + + + + The Y unit (0, 1, 0, 0). + + + + + The Z unit (0, 0, 1, 0). + + + + + The W unit (0, 0, 0, 1). + + + + + A with all of its components set to one. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Creates an array containing the elements of the vector. + + A four-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Performs an implicit conversion from array to . + + The input. + The result of the conversion. + + + + Performs an implicit conversion from to array. + + The input. + The result of the conversion. + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + The implementation of this class is filled by InteropBuilder post-building-event. + + + + + Provides a fixed statement working with generics. + + + The data. + A fixed pointer to the referenced structure + + This is the only function in this class that is inlined in order to inline the fixed statement correctly. + + + + + The value for which all absolute numbers smaller than are considered equal to zero. + + + + + A value specifying the approximation of π which is 180 degrees. + + + + + A value specifying the approximation of 2π which is 360 degrees. + + + + + A value specifying the approximation of π/2 which is 90 degrees. + + + + + A value specifying the approximation of π/4 which is 45 degrees. + + + + + Checks if a - b are almost equals within a float . + + The left value to compare. + The right value to compare. + true if a almost equal to b within a float epsilon, false otherwise + + + + Checks if a - b are almost equals within a float epsilon. + + The left value to compare. + The right value to compare. + Epsilon value + true if a almost equal to b within a float epsilon, false otherwise + + + + Does something with arrays. + + Most likely the type of elements in the array. + Who knows what this is for. + Probably the length of the array. + An array of who knows what. + + + + Converts revolutions to degrees. + + The value to convert. + The converted value. + + + + Converts revolutions to radians. + + The value to convert. + The converted value. + + + + Converts revolutions to gradians. + + The value to convert. + The converted value. + + + + Converts degrees to revolutions. + + The value to convert. + The converted value. + + + + Converts degrees to radians. + + The value to convert. + The converted value. + + + + Converts radians to revolutions. + + The value to convert. + The converted value. + + + + Converts radians to gradians. + + The value to convert. + The converted value. + + + + Converts gradians to revolutions. + + The value to convert. + The converted value. + + + + Converts gradians to degrees. + + The value to convert. + The converted value. + + + + Converts gradians to radians. + + The value to convert. + The converted value. + + + + Converts radians to degrees. + + The value to convert. + The converted value. + + + + Clamps the specified value. + + The value. + The min. + The max. + The result of clamping a value between min and max + + + + Clamps the specified value. + + The value. + The min. + The max. + The result of clamping a value between min and max + + + + Interpolates between two values using a linear function by a given amount. + + + See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and + http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/ + + Value to interpolate from. + Value to interpolate to. + Interpolation amount. + The result of linear interpolation of values based on the amount. + + + + Interpolates between two values using a linear function by a given amount. + + + See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and + http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/ + + Value to interpolate from. + Value to interpolate to. + Interpolation amount. + The result of linear interpolation of values based on the amount. + + + + Interpolates between two values using a linear function by a given amount. + + + See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and + http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/ + + Value to interpolate from. + Value to interpolate to. + Interpolation amount. + The result of linear interpolation of values based on the amount. + + + + Calculates the modulo of the specified value. + + The value. + The modulo. + The result of the modulo applied to value + + + + Calculates the modulo 2*PI of the specified value. + + The value. + The result of the modulo applied to value + + + + Wraps the specified value into a range [min, max] + + The value to wrap. + The min. + The max. + Result of the wrapping. + Is thrown when is greater than . + + + + Wraps the specified value into a range [min, max[ + + The value. + The min. + The max. + Result of the wrapping. + Is thrown when is greater than . + + + + Gauss function. + + Curve amplitude. + Position X. + Position Y + Radius X. + Radius Y. + Curve sigma X. + Curve sigma Y. + The result of Gaussian function. + + + + Gauss function. + + Curve amplitude. + Position X. + Position Y + Radius X. + Radius Y. + Curve sigma X. + Curve sigma Y. + The result of Gaussian function. + + + + Gets random float number within range. + + Current . + Minimum. + Maximum. + Random float number. + + + + Gets random double number within range. + + Current . + Minimum. + Maximum. + Random double number. + + + + Gets random long number. + + Current . + Random long number. + + + + Gets random long number within range. + + Current . + Minimum. + Maximum. + Random long number. + + + + Gets random within range. + + Current . + Minimum. + Maximum. + Random . + + + + Gets random within range. + + Current . + Minimum. + Maximum. + Random . + + + + Gets random within range. + + Current . + Minimum. + Maximum. + Random . + + + + Gets random opaque . + + Current . + Random . + + + + Gets random opaque . + + Current . + Minimum brightness. + Maximum brightness + Random . + + + + Gets random . + + Current . + Minimum brightness. + Maximum brightness + Alpha value. + Random . + + + + Gets random . + + Current . + Minimum brightness. + Maximum brightness + Minimum alpha. + Maximum alpha. + Random . + + + + Gets random . + + Current . + Minimum. + Maximum. + Random . + + + + Gets random . + + Current . + Minimum. + Maximum. + Random . + + + + Gets random . + + Current . + Minimum. + Maximum. + Random . + + + + Represents a 4x4 mathematical matrix. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The identity . + + + + + Value at row 1 column 1 of the matrix. + + + + + Value at row 1 column 2 of the matrix. + + + + + Value at row 1 column 3 of the matrix. + + + + + Value at row 1 column 4 of the matrix. + + + + + Value at row 2 column 1 of the matrix. + + + + + Value at row 2 column 2 of the matrix. + + + + + Value at row 2 column 3 of the matrix. + + + + + Value at row 2 column 4 of the matrix. + + + + + Value at row 3 column 1 of the matrix. + + + + + Value at row 3 column 2 of the matrix. + + + + + Value at row 3 column 3 of the matrix. + + + + + Value at row 3 column 4 of the matrix. + + + + + Value at row 4 column 1 of the matrix. + + + + + Value at row 4 column 2 of the matrix. + + + + + Value at row 4 column 3 of the matrix. + + + + + Value at row 4 column 4 of the matrix. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The value to assign at row 1 column 1 of the matrix. + The value to assign at row 1 column 2 of the matrix. + The value to assign at row 1 column 3 of the matrix. + The value to assign at row 1 column 4 of the matrix. + The value to assign at row 2 column 1 of the matrix. + The value to assign at row 2 column 2 of the matrix. + The value to assign at row 2 column 3 of the matrix. + The value to assign at row 2 column 4 of the matrix. + The value to assign at row 3 column 1 of the matrix. + The value to assign at row 3 column 2 of the matrix. + The value to assign at row 3 column 3 of the matrix. + The value to assign at row 3 column 4 of the matrix. + The value to assign at row 4 column 1 of the matrix. + The value to assign at row 4 column 2 of the matrix. + The value to assign at row 4 column 3 of the matrix. + The value to assign at row 4 column 4 of the matrix. + + + + Initializes a new instance of the struct. + + The values to assign to the components of the matrix. This must be an array with sixteen elements. + Thrown when is null. + Thrown when contains more or less than sixteen elements. + + + + Calculates the determinant of the matrix. + + The determinant of the matrix. + + + + Inverts the matrix. + + + + + Transposes the matrix. + + + + + Orthogonalizes the specified matrix. + + + Orthogonalization is the process of making all rows orthogonal to each other. This + means that any given row in the matrix will be orthogonal to any other given row in the + matrix. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Orthonormalizes the specified matrix. + + + Orthonormalization is the process of making all rows and columns orthogonal to each + other and making all rows and columns of unit length. This means that any given row will + be orthogonal to any other given row and any given column will be orthogonal to any other + given column. Any given row will not be orthogonal to any given column. Every row and every + column will be of unit length. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Decomposes a matrix into an orthonormalized matrix Q and a right triangular matrix R. + + When the method completes, contains the orthonormalized matrix of the decomposition. + When the method completes, contains the right triangular matrix of the decomposition. + + + + Decomposes a matrix into a lower triangular matrix L and an orthonormalized matrix Q. + + When the method completes, contains the lower triangular matrix of the decomposition. + When the method completes, contains the orthonormalized matrix of the decomposition. + + + + Decomposes a matrix into a scale, rotation, and translation. + + When the method completes, contains the scaling component of the decomposed matrix. + When the method completes, contains the rotation component of the decomposed matrix. + When the method completes, contains the translation component of the decomposed matrix. + + This method is designed to decompose an SRT transformation matrix only. + + + + + Exchanges two rows in the matrix. + + The first row to exchange. This is an index of the row starting at zero. + The second row to exchange. This is an index of the row starting at zero. + + + + Exchanges two columns in the matrix. + + The first column to exchange. This is an index of the column starting at zero. + The second column to exchange. This is an index of the column starting at zero. + + + + Creates an array containing the elements of the matrix. + + A sixteen-element array containing the components of the matrix. + + + + Determines the sum of two matrices. + + The first matrix to add. + The second matrix to add. + When the method completes, contains the sum of the two matrices. + + + + Determines the sum of two matrices. + + The first matrix to add. + The second matrix to add. + The sum of the two matrices. + + + + Determines the difference between two matrices. + + The first matrix to subtract. + The second matrix to subtract. + When the method completes, contains the difference between the two matrices. + + + + Determines the difference between two matrices. + + The first matrix to subtract. + The second matrix to subtract. + The difference between the two matrices. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + When the method completes, contains the scaled matrix. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Determines the product of two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Determines the product of two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + When the method completes, contains the scaled matrix. + + + + Scales a matrix by the given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Determines the quotient of two matrices. + + The first matrix to divide. + The second matrix to divide. + When the method completes, contains the quotient of the two matrices. + + + + Determines the quotient of two matrices. + + The first matrix to divide. + The second matrix to divide. + The quotient of the two matrices. + + + + Performs the exponential operation on a matrix. + + The matrix to perform the operation on. + The exponent to raise the matrix to. + When the method completes, contains the exponential matrix. + Thrown when the is negative. + + + + Performs the exponential operation on a matrix. + + The matrix to perform the operation on. + The exponent to raise the matrix to. + The exponential matrix. + Thrown when the is negative. + + + + Negates a matrix. + + The matrix to be negated. + When the method completes, contains the negated matrix. + + + + Negates a matrix. + + The matrix to be negated. + The negated matrix. + + + + Performs a linear interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two matrices. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two matrices. + + + + Performs a cubic interpolation between two matrices. + + Start matrix. + End matrix. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two matrices. + + + + Calculates the transpose of the specified matrix. + + The matrix whose transpose is to be calculated. + When the method completes, contains the transpose of the specified matrix. + + + + Calculates the transpose of the specified matrix. + + The matrix whose transpose is to be calculated. + When the method completes, contains the transpose of the specified matrix. + + + + Calculates the transpose of the specified matrix. + + The matrix whose transpose is to be calculated. + The transpose of the specified matrix. + + + + Calculates the inverse of the specified matrix. + + The matrix whose inverse is to be calculated. + When the method completes, contains the inverse of the specified matrix. + + + + Calculates the inverse of the specified matrix. + + The matrix whose inverse is to be calculated. + The inverse of the specified matrix. + + + + Orthogonalizes the specified matrix. + + The matrix to orthogonalize. + When the method completes, contains the orthogonalized matrix. + + Orthogonalization is the process of making all rows orthogonal to each other. This + means that any given row in the matrix will be orthogonal to any other given row in the + matrix. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Orthogonalizes the specified matrix. + + The matrix to orthogonalize. + The orthogonalized matrix. + + Orthogonalization is the process of making all rows orthogonal to each other. This + means that any given row in the matrix will be orthogonal to any other given row in the + matrix. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Orthonormalizes the specified matrix. + + The matrix to orthonormalize. + When the method completes, contains the orthonormalized matrix. + + Orthonormalization is the process of making all rows and columns orthogonal to each + other and making all rows and columns of unit length. This means that any given row will + be orthogonal to any other given row and any given column will be orthogonal to any other + given column. Any given row will not be orthogonal to any given column. Every row and every + column will be of unit length. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Orthonormalizes the specified matrix. + + The matrix to orthonormalize. + The orthonormalized matrix. + + Orthonormalization is the process of making all rows and columns orthogonal to each + other and making all rows and columns of unit length. This means that any given row will + be orthogonal to any other given row and any given column will be orthogonal to any other + given column. Any given row will not be orthogonal to any given column. Every row and every + column will be of unit length. + Because this method uses the modified Gram-Schmidt process, the resulting matrix + tends to be numerically unstable. The numeric stability decreases according to the rows + so that the first row is the most stable and the last row is the least stable. + This operation is performed on the rows of the matrix rather than the columns. + If you wish for this operation to be performed on the columns, first transpose the + input and than transpose the output. + + + + + Brings the matrix into upper triangular form using elementary row operations. + + The matrix to put into upper triangular form. + When the method completes, contains the upper triangular matrix. + + If the matrix is not invertible (i.e. its determinant is zero) than the result of this + method may produce Single.Nan and Single.Inf values. When the matrix represents a system + of linear equations, than this often means that either no solution exists or an infinite + number of solutions exist. + + + + + Brings the matrix into upper triangular form using elementary row operations. + + The matrix to put into upper triangular form. + The upper triangular matrix. + + If the matrix is not invertible (i.e. its determinant is zero) than the result of this + method may produce Single.Nan and Single.Inf values. When the matrix represents a system + of linear equations, than this often means that either no solution exists or an infinite + number of solutions exist. + + + + + Brings the matrix into lower triangular form using elementary row operations. + + The matrix to put into lower triangular form. + When the method completes, contains the lower triangular matrix. + + If the matrix is not invertible (i.e. its determinant is zero) than the result of this + method may produce Single.Nan and Single.Inf values. When the matrix represents a system + of linear equations, than this often means that either no solution exists or an infinite + number of solutions exist. + + + + + Brings the matrix into lower triangular form using elementary row operations. + + The matrix to put into lower triangular form. + The lower triangular matrix. + + If the matrix is not invertible (i.e. its determinant is zero) than the result of this + method may produce Single.Nan and Single.Inf values. When the matrix represents a system + of linear equations, than this often means that either no solution exists or an infinite + number of solutions exist. + + + + + Brings the matrix into row echelon form using elementary row operations; + + The matrix to put into row echelon form. + When the method completes, contains the row echelon form of the matrix. + + + + Brings the matrix into row echelon form using elementary row operations; + + The matrix to put into row echelon form. + When the method completes, contains the row echelon form of the matrix. + + + + Brings the matrix into reduced row echelon form using elementary row operations. + + The matrix to put into reduced row echelon form. + The fifth column of the matrix. + When the method completes, contains the resultant matrix after the operation. + When the method completes, contains the resultant fifth column of the matrix. + + The fifth column is often called the augmented part of the matrix. This is because the fifth + column is really just an extension of the matrix so that there is a place to put all of the + non-zero components after the operation is complete. + Often times the resultant matrix will the identity matrix or a matrix similar to the identity + matrix. Sometimes, however, that is not possible and numbers other than zero and one may appear. + This method can be used to solve systems of linear equations. Upon completion of this method, + the will contain the solution for the system. It is up to the user + to analyze both the input and the result to determine if a solution really exists. + + + + + Creates a spherical billboard that rotates around a specified object position. + + The position of the object around which the billboard will rotate. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + When the method completes, contains the created billboard matrix. + + + + Creates a spherical billboard that rotates around a specified object position. + + The position of the object around which the billboard will rotate. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard matrix. + + + + Creates a left-handed, look-at matrix. + + The position of the viewer's eye. + The camera look-at target. + The camera's up vector. + When the method completes, contains the created look-at matrix. + + + + Creates a left-handed, look-at matrix. + + The position of the viewer's eye. + The camera look-at target. + The camera's up vector. + The created look-at matrix. + + + + Creates a right-handed, look-at matrix. + + The position of the viewer's eye. + The camera look-at target. + The camera's up vector. + When the method completes, contains the created look-at matrix. + + + + Creates a right-handed, look-at matrix. + + The position of the viewer's eye. + The camera look-at target. + The camera's up vector. + The created look-at matrix. + + + + Creates a left-handed, orthographic projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, orthographic projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, orthographic projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, orthographic projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a left-handed, customized orthographic projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, customized orthographic projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, customized orthographic projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, customized orthographic projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a left-handed, perspective projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, perspective projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, perspective projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, perspective projection matrix. + + Width of the viewing volume. + Height of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a left-handed, perspective projection matrix based on a field of view. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, perspective projection matrix based on a field of view. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, perspective projection matrix based on a field of view. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, perspective projection matrix based on a field of view. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a left-handed, customized perspective projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a left-handed, customized perspective projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Creates a right-handed, customized perspective projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + When the method completes, contains the created projection matrix. + + + + Creates a right-handed, customized perspective projection matrix. + + Minimum x-value of the viewing volume. + Maximum x-value of the viewing volume. + Minimum y-value of the viewing volume. + Maximum y-value of the viewing volume. + Minimum z-value of the viewing volume. + Maximum z-value of the viewing volume. + The created projection matrix. + + + + Builds a matrix that can be used to reflect vectors about a plane. + + The plane for which the reflection occurs. This parameter is assumed to be normalized. + When the method completes, contains the reflection matrix. + + + + Builds a matrix that can be used to reflect vectors about a plane. + + The plane for which the reflection occurs. This parameter is assumed to be normalized. + The reflection matrix. + + + + Creates a matrix that flattens geometry into a shadow. + + The light direction. If the W component is 0, the light is directional light; if the + W component is 1, the light is a point light. + The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized. + When the method completes, contains the shadow matrix. + + + + Creates a matrix that flattens geometry into a shadow. + + The light direction. If the W component is 0, the light is directional light; if the + W component is 1, the light is a point light. + The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized. + The shadow matrix. + + + + Creates a matrix that scales along the x-axis, y-axis, and y-axis. + + Scaling factor for all three axes. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that scales along the x-axis, y-axis, and y-axis. + + Scaling factor for all three axes. + The created scaling matrix. + + + + Creates a matrix that scales along the x-axis, y-axis, and y-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Scaling factor that is applied along the z-axis. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that scales along the x-axis, y-axis, and y-axis. + + Scaling factor that is applied along the x-axis. + Scaling factor that is applied along the y-axis. + Scaling factor that is applied along the z-axis. + The created scaling matrix. + + + + Creates a matrix that uniformly scales along all three axis. + + The uniform scale that is applied along all axis. + When the method completes, contains the created scaling matrix. + + + + Creates a matrix that uniformly scales along all three axis. + + The uniform scale that is applied along all axis. + The created scaling matrix. + + + + Creates a matrix that rotates around the x-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates around the x-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + The created rotation matrix. + + + + Creates a matrix that rotates around the y-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates around the y-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + The created rotation matrix. + + + + Creates a matrix that rotates around the z-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates around the z-axis. + + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + The created rotation matrix. + + + + Creates a matrix that rotates around an arbitrary axis. + + The axis around which to rotate. This parameter is assumed to be normalized. + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + When the method completes, contains the created rotation matrix. + + + + Creates a matrix that rotates around an arbitrary axis. + + The axis around which to rotate. This parameter is assumed to be normalized. + Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin. + The created rotation matrix. + + + + Creates a rotation matrix from a quaternion. + + The quaternion to use to build the matrix. + The created rotation matrix. + + + + Creates a rotation matrix from a quaternion. + + The quaternion to use to build the matrix. + The created rotation matrix. + + + + Creates a rotation matrix with a specified yaw, pitch, and roll. + + Yaw around the y-axis, in radians. + Pitch around the x-axis, in radians. + Roll around the z-axis, in radians. + When the method completes, contains the created rotation matrix. + + + + Creates a rotation matrix with a specified yaw, pitch, and roll. + + Yaw around the y-axis, in radians. + Pitch around the x-axis, in radians. + Roll around the z-axis, in radians. + The created rotation matrix. + + + + Creates a translation matrix using the specified offsets. + + The offset for all three coordinate planes. + When the method completes, contains the created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + The offset for all three coordinate planes. + The created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + Z-coordinate offset. + When the method completes, contains the created translation matrix. + + + + Creates a translation matrix using the specified offsets. + + X-coordinate offset. + Y-coordinate offset. + Z-coordinate offset. + The created translation matrix. + + + + Creates a skew/shear matrix by means of a translation vector, a rotation vector, and a rotation angle. + shearing is performed in the direction of translation vector, where translation vector and rotation vector define the shearing plane. + The effect is such that the skewed rotation vector has the specified angle with rotation itself. + + The rotation angle. + The rotation vector + The translation vector + Contains the created skew/shear matrix. + + + + Creates a 3D affine transformation matrix. + + Scaling factor. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created affine transformation matrix. + + + + Creates a 3D affine transformation matrix. + + Scaling factor. + The rotation of the transformation. + The translation factor of the transformation. + The created affine transformation matrix. + + + + Creates a 3D affine transformation matrix. + + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created affine transformation matrix. + + + + Creates a 3D affine transformation matrix. + + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + The created affine transformation matrix. + + + + Creates a 2D affine transformation matrix. + + Scaling factor. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created affine transformation matrix. + + + + Creates a 2D affine transformation matrix. + + Scaling factor. + The rotation of the transformation. + The translation factor of the transformation. + The created affine transformation matrix. + + + + Creates a 2D affine transformation matrix. + + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created affine transformation matrix. + + + + Creates a 2D affine transformation matrix. + + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + The created affine transformation matrix. + + + + Creates a transformation matrix. + + Center point of the scaling operation. + Scaling rotation amount. + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created transformation matrix. + + + + Creates a transformation matrix. + + Center point of the scaling operation. + Scaling rotation amount. + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + The created transformation matrix. + + + + Creates a 2D transformation matrix. + + Center point of the scaling operation. + Scaling rotation amount. + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + When the method completes, contains the created transformation matrix. + + + + Creates a 2D transformation matrix. + + Center point of the scaling operation. + Scaling rotation amount. + Scaling factor. + The center of the rotation. + The rotation of the transformation. + The translation factor of the transformation. + The created transformation matrix. + + + + Adds two matrices. + + The first matrix to add. + The second matrix to add. + The sum of the two matrices. + + + + Assert a matrix (return it unchanged). + + The matrix to assert (unchanged). + The asserted (unchanged) matrix. + + + + Subtracts two matrices. + + The first matrix to subtract. + The second matrix to subtract. + The difference between the two matrices. + + + + Negates a matrix. + + The matrix to negate. + The negated matrix. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Multiplies two matrices. + + The first matrix to multiply. + The second matrix to multiply. + The product of the two matrices. + + + + Scales a matrix by a given value. + + The matrix to scale. + The amount by which to scale. + The scaled matrix. + + + + Divides two matrices. + + The first matrix to divide. + The second matrix to divide. + The quotient of the two matrices. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets or sets the up of the matrix; that is M21, M22, and M23. + + + + + Gets or sets the down of the matrix; that is -M21, -M22, and -M23. + + + + + Gets or sets the right of the matrix; that is M11, M12, and M13. + + + + + Gets or sets the left of the matrix; that is -M11, -M12, and -M13. + + + + + Gets or sets the forward of the matrix; that is -M31, -M32, and -M33. + + + + + Gets or sets the backward of the matrix; that is M31, M32, and M33. + + + + + Gets or sets the first row in the matrix; that is M11, M12, M13, and M14. + + + + + Gets or sets the second row in the matrix; that is M21, M22, M23, and M24. + + + + + Gets or sets the third row in the matrix; that is M31, M32, M33, and M34. + + + + + Gets or sets the fourth row in the matrix; that is M41, M42, M43, and M44. + + + + + Gets or sets the first column in the matrix; that is M11, M21, M31, and M41. + + + + + Gets or sets the second column in the matrix; that is M12, M22, M32, and M42. + + + + + Gets or sets the third column in the matrix; that is M13, M23, M33, and M43. + + + + + Gets or sets the fourth column in the matrix; that is M14, M24, M34, and M44. + + + + + Gets or sets the translation of the matrix; that is M41, M42, and M43. + + + + + Gets or sets the scale of the matrix; that is M11, M22, and M33. + + + + + Gets a value indicating whether this instance is an identity matrix. + + + true if this instance is an identity matrix; otherwise, false. + + + + + Gets or sets the component at the specified index. + + The value of the matrix component, depending on the index. + The zero-based index of the component to access. + The value of the component at the specified index. + Thrown when the is out of the range [0, 15]. + + + + Gets or sets the component at the specified index. + + The value of the matrix component, depending on the index. + The row of the matrix to access. + The column of the matrix to access. + The value of the component at the specified index. + Thrown when the or is out of the range [0, 3]. + + + + Generic sound input stream supporting WAV (Pcm,Float), ADPCM, xWMA sound file formats. + + + + + Initializes a new instance of the class. + + The sound stream. + + + + Initializes the specified stream. + + The stream. + + + + Converts this stream to a DataStream by loading all the data from the source stream. + + + + + + Performs an implicit conversion from to . + + The stream. + + The result of the conversion. + + + + + When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. + + + An I/O error occurs. + + + + + When overridden in a derived class, sets the position within the current stream. + + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + + The new position within the current stream. + + + An I/O error occurs. + + + + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + + + + Methods were called after the stream was closed. + + + + + When overridden in a derived class, sets the length of the current stream. + + The desired length of the current stream in bytes. + + An I/O error occurs. + + + + The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. + + + + Methods were called after the stream was closed. + + + + + When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + + + The sum of and is larger than the buffer length. + + + + is null. + + + + or is negative. + + + + An I/O error occurs. + + + + The stream does not support reading. + + + + Methods were called after the stream was closed. + + + + + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + The sum of and is greater than the buffer length. + + + + is null. + + + + or is negative. + + + + An I/O error occurs. + + + + The stream does not support writing. + + + + Methods were called after the stream was closed. + + + + + Gets the decoded packets info. + + + This property is only valid for XWMA stream. + + + + Gets the wave format of this instance. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports reading. + + true if the stream supports reading; otherwise, false. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports seeking. + + true if the stream supports seeking; otherwise, false. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports writing. + + true if the stream supports writing; otherwise, false. + + + + + When overridden in a derived class, gets or sets the position within the current stream. + + + The current position within the stream. + + + + An I/O error occurs. + + + + The stream does not support seeking. + + + + Methods were called after the stream was closed. + + + + + When overridden in a derived class, gets the length in bytes of the stream. + + + A long value representing the length of the stream in bytes. + + + + A class derived from Stream does not support seeking. + + + + Methods were called after the stream was closed. + + + + + WaveFormatAdpcm + http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.xaudio2.adpcmwaveformat%28v=vs.85%29.aspx + Additional documentation: http://icculus.org/SDL_sound/downloads/external_documentation/wavecomp.htm + + WAVEFORMATADPCM + + + + Represents a Wave file format + + WAVEFORMATEX + + + format type + + + number of channels + + + sample rate + + + for buffer estimation + + + block size of data + + + number of bits per sample of mono data + + + number of following bytes + + + + Creates a new PCM 44.1Khz stereo 16 bit format + + + + + Creates a new 16 bit wave format with the specified sample + rate and channel count + + Sample Rate + Number of channels + + + + Gets the size of a wave buffer equivalent to the latency in milliseconds. + + The milliseconds. + + + + + Creates a WaveFormat with custom members + + The encoding + Sample Rate + Number of channels + Average Bytes Per Second + Block Align + Bits Per Sample + + + + + Creates an A-law wave format + + Sample Rate + Number of Channels + Wave Format + + + + Creates a Mu-law wave format + + Sample Rate + Number of Channels + Wave Format + + + + Creates a new PCM format with the specified sample rate, bit depth and channels + + + + + Creates a new 32 bit IEEE floating point wave format + + sample rate + number of channels + + + + Helper function to retrieve a WaveFormat structure from a pointer + + Buffer to the WaveFormat rawdata + WaveFormat structure + + + + Helper function to retrieve a WaveFormat structure from a pointer + + Pointer to the WaveFormat rawdata + WaveFormat structure + + + + Helper function to marshal WaveFormat to an IntPtr + + WaveFormat + IntPtr to WaveFormat structure (needs to be freed by callee) + + + + Reads a new WaveFormat object from a stream + + A binary reader that wraps the stream + + + + Reports this WaveFormat as a string + + String describing the wave format + + + + Compares with another WaveFormat object + + Object to compare to + True if the objects are the same + + + + Provides a hash code for this WaveFormat + + A hash code + + + + Reads or writes data from/to the given binary serializer. + + The binary serializer. + + + + Returns the encoding type used + + + + + Returns the number of channels (1=mono,2=stereo etc) + + + + + Returns the sample rate (samples per second) + + + + + Returns the average number of bytes used per second + + + + + Returns the block alignment + + + + + Returns the number of bits per sample (usually 16 or 32, sometimes 24 or 8) + Can be 0 for some codecs + + + + + Returns the number of extra bytes used by this waveformat. Often 0, + except for compressed formats which store extra data after the WAVEFORMATEX header + + + + number of following bytes + + + format type + + + number of channels + + + sample rate + + + for buffer estimation + + + block size of data + + + number of bits per sample of mono data + + + + Parameterless constructor for marshalling + + + + + Creates a new WaveFormatAdpcm for MicrosoftADPCM + + The rate. + The channels. + The block align. If 0, then 256 for [0, 11KHz], 512 for ]11KHz, 22Khz], 1024 for ]22Khz, +inf] + + + + Gets or sets the samples per block. + + + The samples per block. + + + + + Gets or sets the coefficients. + + + The coefficients. + + + + + Gets or sets the coefficients. + + + The coefficients. + + + + + A FourCC descriptor. + + + + + Empty FourCC. + + + + + Initializes a new instance of the struct. + + The fourCC value as a string . + + + + Initializes a new instance of the struct. + + The byte1. + The byte2. + The byte3. + The byte4. + + + + Initializes a new instance of the struct. + + The fourCC value as an uint. + + + + Initializes a new instance of the struct. + + The fourCC value as an int. + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The d. + + The result of the conversion. + + + + + A chunk of a Riff stream. + + + + + Initializes a new instance of the class. + + The stream holding this chunk + The type. + The size. + The data offset. + if set to true [is list]. + if set to true [is header]. + + + + Gets the raw data contained in this chunk. + + + + + + Gets structured data contained in this chunk. + + The type of the data to return + + A structure filled with the chunk data + + + + + Gets structured data contained in this chunk. + + The type of the data to return + A structure filled with the chunk data + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the type. + + + + + Gets the of this chunk. + + + + + Gets the size of the data embedded by this chunk. + + + + + Gets the position of the data embedded by this chunk relative to the stream. + + + + + Gets or sets a value indicating whether this instance is a list chunk. + + + true if this instance is list; otherwise, false. + + + + + Gets a value indicating whether this instance is a header chunk. + + + true if this instance is a header; otherwise, false. + + + + + Riff chunk enumerator. + + + + + Initializes a new instance of the class. + + The input. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Advances the enumerator to the next element of the collection. + + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + The collection was modified after the enumerator was created. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + The collection was modified after the enumerator was created. + + + + + Ascends to the outer chunk. + + + + + Descends to the current chunk. + + + + + Gets all chunks. + + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the current stack of chunks. + + + + + Gets the element in the collection at the current position of the enumerator. + + + The element in the collection at the current position of the enumerator. + + + + + Helper class for Speaker mask. + + + + + Counts the channels from a speaker mask. + + The speakers mask. + + + + + WaveFormatExtensible + http://www.microsoft.com/whdc/device/audio/multichaud.mspx + + WAVEFORMATEXTENSIBLE + + + + Guid of the subformat. + + + + + Speaker configuration + + + + + Parameterless constructor for marshalling + + + + + Creates a new WaveFormatExtensible for PCM or IEEE + + + + + String representation + + + + + The namespace contains fundamental classes used by SharpDX. + + + + + A general purpose tag attribute. + + + + + Initializes a new instance of class. + + + + + + Gets the value. + + + + + Overrides in order to provide for Win8 Modern App. + + + + + + Provides a basic implementation to replace (not available on Win8 Modern App). + + + + + The namespace provides missing ASCIIEncoding for Win8 Modern platform. + + + + + This provides timing information similar to but an update occurring only on a method. + + + + + Initializes a new instance of the class. + + + + + Resets this instance. is set to zero. + + + + + Resumes this instance, only if a call to has been already issued. + + + + + Update the and , + + + This method must be called on a regular basis at every *tick*. + + + + + Pauses this instance. + + + + + Converts a raw time to a . + + The delta. + The . + + + + Gets the total time elapsed since the last reset or when this timer was created. + + + + + Gets the elapsed adjusted time since the previous call to taking into account time. + + + + + Gets the elapsed time since the previous call to . + + + + + Gets a value indicating whether this instance is paused. + + true if this instance is paused; otherwise, false. + + + + Defines the viewport dimensions. + + + + + Position of the pixel coordinate of the upper-left corner of the viewport. + + + + + Position of the pixel coordinate of the upper-left corner of the viewport. + + + + + Width dimension of the viewport. + + + + + Height dimension of the viewport. + + + + + Gets or sets the minimum depth of the clip volume. + + + + + Gets or sets the maximum depth of the clip volume. + + + + + Initializes a new instance of the struct. + + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + + + + Initializes a new instance of the struct. + + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + The minimum depth of the clip volume. + The maximum depth of the clip volume. + + + + Initializes a new instance of the struct. + + A bounding box that defines the location and size of the viewport in a render target. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified object is equal to this instance. + + The object to compare with this instance. + + true if the specified object is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Retrieves a string representation of this object. + + A that represents this instance. + + + + Projects a 3D vector from object space into screen space. + + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + Vector3. + + + + Converts a screen space point into a corresponding point in world space. + + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + Vector3. + + + + Gets the size of this resource. + + The bounds. + + + + Gets the aspect ratio used by the viewport. + + The aspect ratio. + + + + Internal class to interact with Native Message + + + + + Represents a plane in three dimensional space. + + + + + The normal vector of the plane. + + + + + The distance of the plane along its normal from the origin. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + + Initializes a new instance of the class. + + Any point that lies along the plane. + The normal vector to the plane. + + + + Initializes a new instance of the struct. + + The normal of the plane. + The distance of the plane along its normal from the origin + + + + Initializes a new instance of the struct. + + First point of a triangle defining the plane. + Second point of a triangle defining the plane. + Third point of a triangle defining the plane. + + + + Initializes a new instance of the struct. + + The values to assign to the A, B, C, and D components of the plane. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Changes the coefficients of the normal vector of the plane to make it of unit length. + + + + + Creates an array containing the elements of the plane. + + A four-element array containing the components of the plane. + + + + Determines if there is an intersection between the current object and a point. + + The point to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + When the method completes, contains the line of intersection + as a , or a zero ray if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Scales the plane by the given scaling factor. + + The plane to scale. + The amount by which to scale the plane. + When the method completes, contains the scaled plane. + + + + Scales the plane by the given scaling factor. + + The plane to scale. + The amount by which to scale the plane. + The scaled plane. + + + + Calculates the dot product of the specified vector and plane. + + The source plane. + The source vector. + When the method completes, contains the dot product of the specified plane and vector. + + + + Calculates the dot product of the specified vector and plane. + + The source plane. + The source vector. + The dot product of the specified plane and vector. + + + + Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane. + + The source plane. + The source vector. + When the method completes, contains the dot product of a specified vector and the normal of the Plane plus the distance value of the plane. + + + + Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane. + + The source plane. + The source vector. + The dot product of a specified vector and the normal of the Plane plus the distance value of the plane. + + + + Calculates the dot product of the specified vector and the normal of the plane. + + The source plane. + The source vector. + When the method completes, contains the dot product of the specified vector and the normal of the plane. + + + + Calculates the dot product of the specified vector and the normal of the plane. + + The source plane. + The source vector. + The dot product of the specified vector and the normal of the plane. + + + + Changes the coefficients of the normal vector of the plane to make it of unit length. + + The source plane. + When the method completes, contains the normalized plane. + + + + Changes the coefficients of the normal vector of the plane to make it of unit length. + + The source plane. + The normalized plane. + + + + Transforms a normalized plane by a quaternion rotation. + + The normalized source plane. + The quaternion rotation. + When the method completes, contains the transformed plane. + + + + Transforms a normalized plane by a quaternion rotation. + + The normalized source plane. + The quaternion rotation. + The transformed plane. + + + + Transforms an array of normalized planes by a quaternion rotation. + + The array of normalized planes to transform. + The quaternion rotation. + Thrown when is null. + + + + Transforms a normalized plane by a matrix. + + The normalized source plane. + The transformation matrix. + When the method completes, contains the transformed plane. + + + + Transforms a normalized plane by a matrix. + + The normalized source plane. + The transformation matrix. + When the method completes, contains the transformed plane. + + + + Transforms an array of normalized planes by a matrix. + + The array of normalized planes to transform. + The transformation matrix. + Thrown when is null. + + + + Scales a plane by the given value. + + The amount by which to scale the plane. + The plane to scale. + The scaled plane. + + + + Scales a plane by the given value. + + The plane to scale. + The amount by which to scale the plane. + The scaled plane. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Gets or sets the component at the specified index. + + The value of the A, B, C, or D component, depending on the index. + The index of the component to access. Use 0 for the A component, 1 for the B component, 2 for the C component, and 3 for the D component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Represents a four dimensional mathematical quaternion. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + A with all of its components set to one. + + + + + The identity (0, 0, 0, 1). + + + + + The X component of the quaternion. + + + + + The Y component of the quaternion. + + + + + The Z component of the quaternion. + + + + + The W component of the quaternion. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the components. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X, Y, and Z components. + Initial value for the W component of the quaternion. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X and Y components. + Initial value for the Z component of the quaternion. + Initial value for the W component of the quaternion. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the quaternion. + Initial value for the Y component of the quaternion. + Initial value for the Z component of the quaternion. + Initial value for the W component of the quaternion. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the quaternion. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Conjugates the quaternion. + + + + + Conjugates and renormalizes the quaternion. + + + + + Calculates the length of the quaternion. + + The length of the quaternion. + + may be preferred when only the relative length is needed + and speed is of the essence. + + + + + Calculates the squared length of the quaternion. + + The squared length of the quaternion. + + This method may be preferred to when only a relative length is needed + and speed is of the essence. + + + + + Converts the quaternion into a unit quaternion. + + + + + Creates an array containing the elements of the quaternion. + + A four-element array containing the components of the quaternion. + + + + Adds two quaternions. + + The first quaternion to add. + The second quaternion to add. + When the method completes, contains the sum of the two quaternions. + + + + Adds two quaternions. + + The first quaternion to add. + The second quaternion to add. + The sum of the two quaternions. + + + + Subtracts two quaternions. + + The first quaternion to subtract. + The second quaternion to subtract. + When the method completes, contains the difference of the two quaternions. + + + + Subtracts two quaternions. + + The first quaternion to subtract. + The second quaternion to subtract. + The difference of the two quaternions. + + + + Scales a quaternion by the given value. + + The quaternion to scale. + The amount by which to scale the quaternion. + When the method completes, contains the scaled quaternion. + + + + Scales a quaternion by the given value. + + The quaternion to scale. + The amount by which to scale the quaternion. + The scaled quaternion. + + + + Modulates a quaternion by another. + + The first quaternion to modulate. + The second quaternion to modulate. + When the method completes, contains the modulated quaternion. + + + + Modulates a quaternion by another. + + The first quaternion to modulate. + The second quaternion to modulate. + The modulated quaternion. + + + + Reverses the direction of a given quaternion. + + The quaternion to negate. + When the method completes, contains a quaternion facing in the opposite direction. + + + + Reverses the direction of a given quaternion. + + The quaternion to negate. + A quaternion facing in the opposite direction. + + + + Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains a new containing the 4D Cartesian coordinates of the specified point. + + + + Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 4D Cartesian coordinates of the specified point. + + + + Conjugates a quaternion. + + The quaternion to conjugate. + When the method completes, contains the conjugated quaternion. + + + + Conjugates a quaternion. + + The quaternion to conjugate. + The conjugated quaternion. + + + + Calculates the dot product of two quaternions. + + First source quaternion. + Second source quaternion. + When the method completes, contains the dot product of the two quaternions. + + + + Calculates the dot product of two quaternions. + + First source quaternion. + Second source quaternion. + The dot product of the two quaternions. + + + + Exponentiates a quaternion. + + The quaternion to exponentiate. + When the method completes, contains the exponentiated quaternion. + + + + Exponentiates a quaternion. + + The quaternion to exponentiate. + The exponentiated quaternion. + + + + Conjugates and renormalizes the quaternion. + + The quaternion to conjugate and renormalize. + When the method completes, contains the conjugated and renormalized quaternion. + + + + Conjugates and renormalizes the quaternion. + + The quaternion to conjugate and renormalize. + The conjugated and renormalized quaternion. + + + + Performs a linear interpolation between two quaternions. + + Start quaternion. + End quaternion. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two quaternions. + + This method performs the linear interpolation based on the following formula. + start + (end - start) * amount + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two quaternion. + + Start quaternion. + End quaternion. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two quaternions. + + This method performs the linear interpolation based on the following formula. + start + (end - start) * amount + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Calculates the natural logarithm of the specified quaternion. + + The quaternion whose logarithm will be calculated. + When the method completes, contains the natural logarithm of the quaternion. + + + + Calculates the natural logarithm of the specified quaternion. + + The quaternion whose logarithm will be calculated. + The natural logarithm of the quaternion. + + + + Converts the quaternion into a unit quaternion. + + The quaternion to normalize. + When the method completes, contains the normalized quaternion. + + + + Converts the quaternion into a unit quaternion. + + The quaternion to normalize. + The normalized quaternion. + + + + Creates a quaternion given a rotation and an axis. + + The axis of rotation. + The angle of rotation. + When the method completes, contains the newly created quaternion. + + + + Creates a quaternion given a rotation and an axis. + + The axis of rotation. + The angle of rotation. + The newly created quaternion. + + + + Creates a quaternion given a rotation matrix. + + The rotation matrix. + When the method completes, contains the newly created quaternion. + + + + Creates a quaternion given a rotation matrix. + + The rotation matrix. + The newly created quaternion. + + + + Creates a quaternion given a yaw, pitch, and roll value. + + The yaw of rotation. + The pitch of rotation. + The roll of rotation. + When the method completes, contains the newly created quaternion. + + + + Creates a quaternion given a yaw, pitch, and roll value. + + The yaw of rotation. + The pitch of rotation. + The roll of rotation. + The newly created quaternion. + + + + Interpolates between two quaternions, using spherical linear interpolation. + + Start quaternion. + End quaternion. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the spherical linear interpolation of the two quaternions. + + + + Interpolates between two quaternions, using spherical linear interpolation. + + Start quaternion. + End quaternion. + Value between 0 and 1 indicating the weight of . + The spherical linear interpolation of the two quaternions. + + + + Interpolates between quaternions, using spherical quadrangle interpolation. + + First source quaternion. + Second source quaternion. + Third source quaternion. + Fourth source quaternion. + Value between 0 and 1 indicating the weight of interpolation. + When the method completes, contains the spherical quadrangle interpolation of the quaternions. + + + + Interpolates between quaternions, using spherical quadrangle interpolation. + + First source quaternion. + Second source quaternion. + Third source quaternion. + Fourth source quaternion. + Value between 0 and 1 indicating the weight of interpolation. + The spherical quadrangle interpolation of the quaternions. + + + + Sets up control points for spherical quadrangle interpolation. + + First source quaternion. + Second source quaternion. + Third source quaternion. + Fourth source quaternion. + An array of three quaternions that represent control points for spherical quadrangle interpolation. + + + + Adds two quaternions. + + The first quaternion to add. + The second quaternion to add. + The sum of the two quaternions. + + + + Subtracts two quaternions. + + The first quaternion to subtract. + The second quaternion to subtract. + The difference of the two quaternions. + + + + Reverses the direction of a given quaternion. + + The quaternion to negate. + A quaternion facing in the opposite direction. + + + + Scales a quaternion by the given value. + + The quaternion to scale. + The amount by which to scale the quaternion. + The scaled quaternion. + + + + Scales a quaternion by the given value. + + The quaternion to scale. + The amount by which to scale the quaternion. + The scaled quaternion. + + + + Multiplies a quaternion by another. + + The first quaternion to multiply. + The second quaternion to multiply. + The multiplied quaternion. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets a value indicating whether this instance is equivalent to the identity quaternion. + + + true if this instance is an identity quaternion; otherwise, false. + + + + + Gets a value indicting whether this instance is normalized. + + + + + Gets the angle of the quaternion. + + The quaternion's angle. + + + + Gets the axis components of the quaternion. + + The axis components of the quaternion. + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Represents a three dimensional line based on a point in space and a direction. + + + + + The position in three dimensional space where the ray starts. + + + + + The normalized direction in which the ray points. + + + + + Initializes a new instance of the struct. + + The position in three dimensional space of the origin of the ray. + The normalized direction of the ray. + + + + Determines if there is an intersection between the current object and a point. + + The point to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The ray to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The plane to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a triangle. + + The first vertex of the triangle to test. + The second vertex of the triangle to test. + The third vertex of the triangle to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The box to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + When the method completes, contains the distance of the intersection, + or 0 if there was no intersection. + Whether the two objects intersected. + + + + Determines if there is an intersection between the current object and a . + + The sphere to test. + When the method completes, contains the point of intersection, + or if there was no intersection. + Whether the two objects intersected. + + + + Calculates a world space from 2d screen coordinates. + + X coordinate on 2d screen. + Y coordinate on 2d screen. + . + Transformation . + Resulting . + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Define a Rectangle. This structure is slightly different from System.Drawing.Rectangle as It is + internally storing Left,Top,Right,Bottom instead of Left,Top,Width,Height. + Although automatic casting from a to System.Drawing.Rectangle is provided by this class. + + + + + An empty rectangle. + + + + + Initializes a new instance of the struct. + + The left. + The top. + The width. + The height. + + + Changes the position of the Rectangle. + The values to adjust the position of the Rectangle by. + + + Changes the position of the Rectangle. + Change in the x-position. + Change in the y-position. + + + Pushes the edges of the Rectangle out by the horizontal and vertical values specified. + Value to push the sides out by. + Value to push the top and bottom out by. + + + Determines whether this Rectangle contains a specified point represented by its x- and y-coordinates. + The x-coordinate of the specified point. + The y-coordinate of the specified point. + + + Determines whether this Rectangle contains a specified Point. + The Point to evaluate. + + + Determines whether this Rectangle contains a specified Point. + The Point to evaluate. + [OutAttribute] true if the specified Point is contained within this Rectangle; false otherwise. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + [OutAttribute] On exit, is true if this Rectangle entirely contains the specified Rectangle, or false if not. + + + + Checks, if specified point is inside . + + X point coordinate. + Y point coordinate. + true if point is inside , otherwise false. + + + + Checks, if specified is inside . + + Coordinate . + true if is inside , otherwise false. + + + Determines whether a specified Rectangle intersects with this Rectangle. + The Rectangle to evaluate. + + + + Determines whether a specified Rectangle intersects with this Rectangle. + + The Rectangle to evaluate + [OutAttribute] true if the specified Rectangle intersects with this one; false otherwise. + + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + + The first Rectangle to compare. + The second Rectangle to compare. + Rectangle. + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + The first Rectangle to compare. + The second Rectangle to compare. + [OutAttribute] The area where the two first parameters overlap. + + + + Creates a new Rectangle that exactly contains two other rectangles. + + The first Rectangle to contain. + The second Rectangle to contain. + Rectangle. + + + + Creates a new Rectangle that exactly contains two other rectangles. + + The first Rectangle to contain. + The second Rectangle to contain. + [OutAttribute] The Rectangle that must be the union of the first two rectangles. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + + + + Gets or sets the left. + + The left. + + + + Gets or sets the top. + + The top. + + + + Gets or sets the right. + + The right. + + + + Gets or sets the bottom. + + The bottom. + + + + Gets the left position. + + The left position. + + + + Gets the top position. + + The top position. + + + + Gets the width. + + The width. + + + + Gets the height. + + The height. + + + Gets or sets the upper-left value of the Rectangle. + + + Gets the Point that specifies the center of the rectangle. + + + Gets a value that indicates whether the Rectangle is empty. + + + + Gets or sets the size of the rectangle. + + The size of the rectangle. + + + + Gets the position of the top-left corner of the rectangle. + + The top-left corner of the rectangle. + + + + Gets the position of the top-right corner of the rectangle. + + The top-right corner of the rectangle. + + + + Gets the position of the bottom-left corner of the rectangle. + + The bottom-left corner of the rectangle. + + + + Gets the position of the bottom-right corner of the rectangle. + + The bottom-right corner of the rectangle. + + + + Define a RectangleF. This structure is slightly different from System.Drawing.RectangleF as It is + internally storing Left,Top,Right,Bottom instead of Left,Top,Width,Height. + Although automatic casting from a to System.Drawing.Rectangle is provided by this class. + + + + + An empty rectangle + + + + + Initializes a new instance of the struct. + + The left. + The top. + The width. + The height. + + + Changes the position of the Rectangle. + The values to adjust the position of the Rectangle by. + + + Changes the position of the Rectangle. + The values to adjust the position of the Rectangle by. + + + Changes the position of the Rectangle. + Change in the x-position. + Change in the y-position. + + + Pushes the edges of the Rectangle out by the horizontal and vertical values specified. + Value to push the sides out by. + Value to push the top and bottom out by. + + + Determines whether this Rectangle contains a specified Point. + The Point to evaluate. + [OutAttribute] true if the specified Point is contained within this Rectangle; false otherwise. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + [OutAttribute] On exit, is true if this Rectangle entirely contains the specified Rectangle, or false if not. + + + + Checks, if specified point is inside . + + X point coordinate. + Y point coordinate. + true if point is inside , otherwise false. + + + + Checks, if specified is inside . + + Coordinate . + true if is inside , otherwise false. + + + + Checks, if specified is inside . + + Coordinate . + true if is inside , otherwise false. + + + Determines whether a specified Rectangle intersects with this Rectangle. + The Rectangle to evaluate. + + + + Determines whether a specified Rectangle intersects with this Rectangle. + + The Rectangle to evaluate + [OutAttribute] true if the specified Rectangle intersects with this one; false otherwise. + + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + + The first Rectangle to compare. + The second Rectangle to compare. + Rectangle. + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + The first Rectangle to compare. + The second Rectangle to compare. + [OutAttribute] The area where the two first parameters overlap. + + + + Creates a new Rectangle that exactly contains two other rectangles. + + The first Rectangle to contain. + The second Rectangle to contain. + Rectangle. + + + + Creates a new Rectangle that exactly contains two other rectangles. + + The first Rectangle to contain. + The second Rectangle to contain. + [OutAttribute] The Rectangle that must be the union of the first two rectangles. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + + + + Gets or sets the left. + + The left. + + + + Gets or sets the top. + + The top. + + + + Gets or sets the right. + + The right. + + + + Gets or sets the bottom. + + The bottom. + + + + Gets the left position. + + The left position. + + + + Gets the top position. + + The top position. + + + + Gets the width. + + The width. + + + + Gets the height. + + The height. + + + Gets or sets the upper-left value of the Rectangle. + + + Gets the Point that specifies the center of the rectangle. + + + Gets a value that indicates whether the Rectangle is empty. + + + + Gets or sets the size of the rectangle. + + The size of the rectangle. + + + + Gets the position of the top-left corner of the rectangle. + + The top-left corner of the rectangle. + + + + Gets the position of the top-right corner of the rectangle. + + The top-right corner of the rectangle. + + + + Gets the position of the bottom-left corner of the rectangle. + + The bottom-left corner of the rectangle. + + + + Gets the position of the bottom-right corner of the rectangle. + + The bottom-right corner of the rectangle. + + + + Result structure for COM methods. + + + + + Initializes a new instance of the struct. + + The HRESULT error code. + + + + Initializes a new instance of the struct. + + The HRESULT error code. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The result. + The result of the conversion. + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Implements the operator ==. + + The left. + The right. + The result of the operator. + + + + Implements the operator !=. + + The left. + The right. + The result of the operator. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Checks the error. + + + + + Gets a from an . + + The exception + The associated result code + + + + Gets the result from win32 error. + + The win32Error. + A HRESULT. + + + + Result code Ok + + S_OK + + + + Result code False + + S_FALSE + + + + Result code Abort + + E_ABORT + + + + Result code AccessDenied + + E_ACCESSDENIED + + + + Result code Fail + + E_FAIL + + + + Result code Handle + + E_HANDLE + + + + Result code invalid argument + + E_INVALIDARG + + + + Result code no interface + + E_NOINTERFACE + + + + Result code not implemented + + E_NOTIMPL + + + + Result code out of memory + + E_OUTOFMEMORY + + + + Result code Invalid pointer + + E_POINTER + + + + Unexpected failure + + E_UNEXPECTED + + + + Result of a wait abandonned. + + WAIT_ABANDONED + + + + Result of a wait timeout. + + WAIT_TIMEOUT + + + + Gets the HRESULT error code. + + The HRESULT error code. + + + + Gets a value indicating whether this is success. + + true if success; otherwise, false. + + + + Gets a value indicating whether this is failure. + + true if failure; otherwise, false. + + + + The maximum number of bytes to which a pointer can point. Use for a count that must span the full range of a pointer. + Equivalent to Windows type SIZE_T. + + + + + Initializes a new instance of the struct. + + The size. + + + + Default constructor. + + value to set + + + + Default constructor. + + value to set + + + + Default constructor. + + value to set + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Adds two sizes. + + The first size to add. + The second size to add. + The sum of the two sizes. + + + + Assert a size (return it unchanged). + + The size to assert (unchanged). + The asserted (unchanged) size. + + + + Subtracts two sizes. + + The first size to subtract. + The second size to subtract. + The difference of the two sizes. + + + + Reverses the direction of a given size. + + The size to negate. + A size facing in the opposite direction. + + + + Scales a size by the given value. + + The size to scale. + The amount by which to scale the size. + The scaled size. + + + + Scales a size by the given value. + + The size to scale. + The amount by which to scale the size. + The scaled size. + + + + Scales a size by the given value. + + The size to scale. + The amount by which to scale the size. + The scaled size. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from void* to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to void*. + + The value. + The result of the conversion. + + + + A Delegate to get a property value from an object. + + Type of the getter. + The obj to get the property from. + The value to get. + + + + A Delegate to set a property value to an object. + + Type of the setter. + The obj to set the property from. + The value to set. + + + + Utility class. + + + + + Native memcpy. + + The destination memory location. + The source memory location. + The byte count. + + + + Compares two block of memory. + + The pointer to compare from. + The pointer to compare against. + The size in bytes to compare. + true if the buffers are equivalent; otherwise, false. + + + + Clears the memory. + + The dest. + The value. + The size in bytes to clear. + + + + Return the sizeof a struct from a CLR. Equivalent to sizeof operator but works on generics too. + + A struct to evaluate. + Size of this struct. + + + + Return the sizeof an array of struct. Equivalent to sizeof operator but works on generics too. + + A struct. + The array of struct to evaluate. + Size in bytes of this array of struct. + + + + Pins the specified source and call an action with the pinned pointer. + + The type of the structure to pin. + The source. + The pin action to perform on the pinned pointer. + + + + Pins the specified source and call an action with the pinned pointer. + + The type of the structure to pin. + The source array. + The pin action to perform on the pinned pointer. + + + + Converts a structured array to an equivalent byte array. + + The type of source array. + The source array. + Converted byte array. + + + + Swaps the value between two references. + + Type of a data to swap. + The left value. + The right value. + + + + Reads the specified T data from a memory location. + + Type of a data to read. + Memory location to read from. + The data read from the memory location. + + + + Reads the specified T data from a memory location. + + Type of a data to read. + Memory location to read from. + The data write to. + source pointer + sizeof(T). + + + + Reads the specified T data from a memory location. + + Type of a data to read. + Memory location to read from. + The data write to. + source pointer + sizeof(T). + + + + Reads the specified T data from a memory location. + + Type of a data to read. + Memory location to read from. + The data write to. + source pointer + sizeof(T). + + + + Reads the specified array T[] data from a memory location. + + Type of a data to read. + Memory location to read from. + The data write to. + The offset in the array to write to. + The number of T element to read from the memory location. + source pointer + sizeof(T) * count. + + + + Writes the specified T data to a memory location. + + Type of a data to write. + Memory location to write to. + The data to write. + destination pointer + sizeof(T). + + + + Writes the specified T data to a memory location. + + Type of a data to write. + Memory location to write to. + The data to write. + destination pointer + sizeof(T). + + + + Writes the specified array T[] data to a memory location. + + Type of a data to write. + Memory location to write to. + The array of T data to write. + The offset in the array to read from. + The number of T element to write to the memory location. + destination pointer + sizeof(T) * count. + + + + Converts bool array to integer pointers array. + + The bool array. + The destination array of int pointers. + + + + Converts bool array to array. + + The bool array. + Converted array of . + + + + Converts integer pointer array to bool array. + + The array of integer pointers. + Array size. + Converted array of bool. + + + + Converts array to bool array. + + The array. + Converted array of bool. + + + + Gets the from a type. + + The type. + The guid associated with this type. + + + + Allocate an aligned memory buffer. + + Size of the buffer to allocate. + Alignment, 16 bytes by default. + A pointer to a buffer aligned. + + To free this buffer, call . + + + + + Allocate an aligned memory buffer and clear it with a specified value (0 by default). + + Size of the buffer to allocate. + Default value used to clear the buffer. + Alignment, 16 bytes by default. + A pointer to a buffer aligned. + + To free this buffer, call . + + + + + Determines whether the specified memory pointer is aligned in memory. + + The memory pointer. + The align. + true if the specified memory pointer is aligned in memory; otherwise, false. + + + + Allocate an aligned memory buffer. + + A pointer to a buffer aligned. + + The buffer must have been allocated with . + + + + + Converts a pointer to a null-terminating string up to maxLength characters to a .Net string. + + The pointer to an ANSI null string. + Maximum length of the string. + The converted string. + + + + Converts a pointer to a null-terminating string up to maxLength characters to a .Net string. + + The pointer to an Unicode null string. + Maximum length of the string. + The converted string. + + + + Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies. + + A managed string to be copied. + The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null. + + + + Copies the contents of a managed String into unmanaged memory. + + A managed string to be copied. + The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null. + + + + Copies the contents of a managed String into unmanaged memory using + + A managed string to be copied. + The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null. + + + + Gets the IUnknown from object. Similar to but accept null object + by returning an IntPtr.Zero IUnknown pointer. + + The managed object. + An IUnknown pointer to a managed object. + + + + Gets an object from an IUnknown pointer. Similar to but accept IntPtr.Zero + by returning a null object. + + an IUnknown pointer to a managed object. + The managed object. + + + + String helper join method to display an array of object as a single string. + + The separator. + The array. + A string with array elements separated by the separator. + + + + String helper join method to display an enumerable of object as a single string. + + The separator. + The enumerable. + A string with array elements separated by the separator. + + + + String helper join method to display an enumerable of object as a single string. + + The separator. + The enumerable. + A string with array elements separated by the separator. + + + + Converts a blob to a string. + + A blob. + A string extracted from a blob. + + + + Equivalent to IntPtr.Add method from 3.5+ .NET Framework. + Adds an offset to the value of a pointer. + + A native pointer. + The offset to add (number of bytes). + A new pointer that reflects the addition of offset to pointer. + + + + Read stream to a byte[] buffer. + + Input stream. + A byte[] buffer. + + + + Read stream to a byte[] buffer. + + Input stream. + Length to read. + A byte[] buffer. + + + + Compares two collection, element by elements. + + A "from" enumerator. + A "to" enumerator. + true if lists are identical, false otherwise. + + + + Compares two collection, element by elements. + + A "from" enumerator. + A "to" enumerator. + true if lists are identical; otherwise, false. + + + + Compares two collection, element by elements. + + The collection to compare from. + The collection to compare to. + true if lists are identical (but not necessarily of the same time); otherwise , false. + + + + Gets the custom attribute. + + Type of the custom attribute. + The member info. + if set to true [inherited]. + The custom attribute or null if not found. + + + + Gets the custom attributes. + + Type of the custom attribute. + The member info. + if set to true [inherited]. + The custom attribute or null if not found. + + + + Determines whether fromType can be assigned to toType. + + To type. + From type. + + true if [is assignable from] [the specified to type]; otherwise, false. + + + + + Determines whether the specified type to test is an enum. + + The type to test. + + true if the specified type to test is an enum; otherwise, false. + + + + + Determines whether the specified type to test is a value type. + + The type to test. + + true if the specified type to test is a value type; otherwise, false. + + + + + Builds a fast property getter from a type and a property info. + + Type of the getter. + Type of the custom effect. + The property info to get the value from. + A compiled delegate. + + + + Builds a fast property setter from a type and a property info. + + Type of the setter. + Type of the custom effect. + The property info to set the value to. + A compiled delegate. + + + + Suspends the current thread of a . + + The duration to sleep in milliseconds. + + + + Finds an explicit conversion between a source type and a target type. + + Type of the source. + Type of the target. + The method to perform the conversion. null if not found. + + + + Loads a native library. + + Name of the DLL. + If DLL was not found. + Handle to the module. + + + + Gets the proc address of a DLL. + + The handle. + The DLL function to import. + If the function was not found. + Pointer to address of the exported function or variable. + + + + Compute a FNV1-modified Hash from Fowler/Noll/Vo Hash improved version. + + Data to compute the hash from. + A hash value. + + + + Safely dispose a reference if not null, and set it to null after dispose. + + The type of COM interface to dispose. + Object to dispose. + + The reference will be set to null after dispose. + + + + + Transforms an to an array of T. + + Type of the element + The enumerable source. + an array of T + + + + Test if there is an element in this enumeration. + + Type of the element + The enumerable source. + true if there is an element in this enumeration, false otherwise + + + + Select elements from an enumeration. + + The type of the T source. + The type of the T result. + The source. + The selector. + A enumeration of selected values + + + + Selects distinct elements from an enumeration. + + The type of the T source. + The source. + The comparer. + A enumeration of selected values + + + Determines the concurrency model used for incoming calls to objects created by this thread. This concurrency model can be either apartment-threaded or multi-threaded. + + + + Initializes the thread for apartment-threaded object concurrency. + + + + + Initializes the thread for multi-threaded object concurrency. + + + + + Disables DDE for OLE1 support. + + + + + Trade memory for speed. + + + + + Represents a two dimensional mathematical vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0). + + + + + The Y unit (0, 1). + + + + + A with all of its components set to one. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X and Y components of the vector. This must be an array with two elements. + Thrown when is null. + Thrown when contains more or less than two elements. + + + + Calculates the length of the vector. + + The length of the vector. + + may be preferred when only the relative length is needed + and speed is of the essence. + + + + + Calculates the squared length of the vector. + + The squared length of the vector. + + This method may be preferred to when only a relative length is needed + and speed is of the essence. + + + + + Converts the vector into a unit vector. + + + + + Creates an array containing the elements of the vector. + + A two-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 2D Cartesian coordinates of vertex 1 of the triangle. + A containing the 2D Cartesian coordinates of vertex 2 of the triangle. + A containing the 2D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains the 2D Cartesian coordinates of the specified point. + + + + Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 2D Cartesian coordinates of vertex 1 of the triangle. + A containing the 2D Cartesian coordinates of vertex 2 of the triangle. + A containing the 2D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 2D Cartesian coordinates of the specified point. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Saturates this instance in the range [0,1] + + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + The distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector + When the method completes, contains the squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + The squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + When the method completes, contains the dot product of the two vectors. + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + The dot product of the two vectors. + + + + Converts the vector into a unit vector. + + The vector to normalize. + When the method completes, contains the normalized vector. + + + + Converts the vector into a unit vector. + + The vector to normalize. + The normalized vector. + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two vectors. + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two vectors. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + When the method completes, contains the result of the Hermite spline interpolation. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + The result of the Hermite spline interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + When the method completes, contains the result of the Catmull-Rom interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + A vector that is the result of the Catmull-Rom interpolation. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + Normal of the surface. + When the method completes, contains the reflected vector. + Reflect only gives the direction of a reflection off a surface, it does not determine + whether the original vector was close enough to the surface to hit it. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + Normal of the surface. + The reflected vector. + Reflect only gives the direction of a reflection off a surface, it does not determine + whether the original vector was close enough to the surface to hit it. + + + + Orthogonalizes a list of vectors. + + The list of orthogonalized vectors. + The list of vectors to orthogonalize. + + Orthogonalization is the process of making all vectors orthogonal to each other. This + means that any given vector in the list will be orthogonal to any other given vector in the + list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Orthonormalizes a list of vectors. + + The list of orthonormalized vectors. + The list of vectors to orthonormalize. + + Orthonormalization is the process of making all vectors orthogonal to each + other and making all vectors of unit length. This means that any given vector will + be orthogonal to any other given vector in the list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 2D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + When the method completes, contains the transformed . + + + + Transforms a 2D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + The transformed . + + + + Transforms an array of vectors by the given rotation. + + The array of vectors to transform. + The rotation to apply. + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 2D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + + Transforms a 2D vector by the given . + + The source vector. + The transformation . + The transformed . + + + + Transforms an array of 2D vectors by the given . + + The array of vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + Thrown when or is null. + Thrown when is shorter in length than . + + + + Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + When the method completes, contains the transformed coordinates. + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + The transformed coordinates. + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a coordinate transformation on an array of vectors using the given . + + The array of coordinate vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + When the method completes, contains the transformed normal. + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + The transformed normal. + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Performs a normal transformation on an array of vectors using the given . + + The array of normal vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Modulates a vector with another by performing component-wise multiplication equivalent to . + + The first vector to multiply. + The second vector to multiply. + The multiplication of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets a value indicting whether this instance is normalized. + + + + + Gets or sets the component at the specified index. + + The value of the X or Y component, depending on the index. + The index of the component to access. Use 0 for the X component and 1 for the Y component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 1]. + + + + Represents a three dimensional mathematical vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0, 0). + + + + + The Y unit (0, 1, 0). + + + + + The Z unit (0, 0, 1). + + + + + A with all of its components set to one. + + + + + A unit designating up (0, 1, 0). + + + + + A unit designating down (0, -1, 0). + + + + + A unit designating left (-1, 0, 0). + + + + + A unit designating right (1, 0, 0). + + + + + A unit designating forward in a right-handed coordinate system (0, 0, -1). + + + + + A unit designating forward in a left-handed coordinate system (0, 0, 1). + + + + + A unit designating backward in a right-handed coordinate system (0, 0, 1). + + + + + A unit designating backward in a left-handed coordinate system (0, 0, -1). + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X and Y components. + Initial value for the Z component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements. + Thrown when is null. + Thrown when contains more or less than three elements. + + + + Calculates the length of the vector. + + The length of the vector. + + may be preferred when only the relative length is needed + and speed is of the essence. + + + + + Calculates the squared length of the vector. + + The squared length of the vector. + + This method may be preferred to when only a relative length is needed + and speed is of the essence. + + + + + Converts the vector into a unit vector. + + + + + Creates an array containing the elements of the vector. + + A three-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle. + + A containing the 3D Cartesian coordinates of vertex 1 of the triangle. + A containing the 3D Cartesian coordinates of vertex 2 of the triangle. + A containing the 3D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains the 3D Cartesian coordinates of the specified point. + + + + Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle. + + A containing the 3D Cartesian coordinates of vertex 1 of the triangle. + A containing the 3D Cartesian coordinates of vertex 2 of the triangle. + A containing the 3D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 3D Cartesian coordinates of the specified point. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Calculates the cross product of two vectors. + + First source vector. + Second source vector. + When the method completes, contains he cross product of the two vectors. + + + + Calculates the cross product of two vectors. + + First source vector. + Second source vector. + The cross product of the two vectors. + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + The distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + The squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Tests whether one 3D vector is near another 3D vector. + + The left vector. + The right vector. + The epsilon. + true if left and right are near another 3D, false otherwise + + + + Tests whether one 3D vector is near another 3D vector. + + The left vector. + The right vector. + The epsilon. + true if left and right are near another 3D, false otherwise + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + When the method completes, contains the dot product of the two vectors. + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + The dot product of the two vectors. + + + + Converts the vector into a unit vector. + + The vector to normalize. + When the method completes, contains the normalized vector. + + + + Converts the vector into a unit vector. + + The vector to normalize. + The normalized vector. + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two vectors. + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two vectors. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + When the method completes, contains the result of the Hermite spline interpolation. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + The result of the Hermite spline interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + When the method completes, contains the result of the Catmull-Rom interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + A vector that is the result of the Catmull-Rom interpolation. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Projects a 3D vector from object space into screen space. + + The vector to project. + The X position of the viewport. + The Y position of the viewport. + The width of the viewport. + The height of the viewport. + The minimum depth of the viewport. + The maximum depth of the viewport. + The combined world-view-projection matrix. + When the method completes, contains the vector in screen space. + + + + Projects a 3D vector from object space into screen space. + + The vector to project. + The X position of the viewport. + The Y position of the viewport. + The width of the viewport. + The height of the viewport. + The minimum depth of the viewport. + The maximum depth of the viewport. + The combined world-view-projection matrix. + The vector in screen space. + + + + Projects a 3D vector from screen space into object space. + + The vector to project. + The X position of the viewport. + The Y position of the viewport. + The width of the viewport. + The height of the viewport. + The minimum depth of the viewport. + The maximum depth of the viewport. + The combined world-view-projection matrix. + When the method completes, contains the vector in object space. + + + + Projects a 3D vector from screen space into object space. + + The vector to project. + The X position of the viewport. + The Y position of the viewport. + The width of the viewport. + The height of the viewport. + The minimum depth of the viewport. + The maximum depth of the viewport. + The combined world-view-projection matrix. + The vector in object space. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + Normal of the surface. + When the method completes, contains the reflected vector. + Reflect only gives the direction of a reflection off a surface, it does not determine + whether the original vector was close enough to the surface to hit it. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + Normal of the surface. + The reflected vector. + Reflect only gives the direction of a reflection off a surface, it does not determine + whether the original vector was close enough to the surface to hit it. + + + + Orthogonalizes a list of vectors. + + The list of orthogonalized vectors. + The list of vectors to orthogonalize. + + Orthogonalization is the process of making all vectors orthogonal to each other. This + means that any given vector in the list will be orthogonal to any other given vector in the + list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Orthonormalizes a list of vectors. + + The list of orthonormalized vectors. + The list of vectors to orthonormalize. + + Orthonormalization is the process of making all vectors orthogonal to each + other and making all vectors of unit length. This means that any given vector will + be orthogonal to any other given vector in the list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 3D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + When the method completes, contains the transformed . + + + + Transforms a 3D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + The transformed . + + + + Transforms an array of vectors by the given rotation. + + The array of vectors to transform. + The rotation to apply. + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 3D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + + Transforms a 3D vector by the given . + + The source vector. + The transformation . + The transformed . + + + + Transforms an array of 3D vectors by the given . + + The array of vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + Thrown when or is null. + Thrown when is shorter in length than . + + + + Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + When the method completes, contains the transformed coordinates. + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + The transformed coordinates. + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a coordinate transformation on an array of vectors using the given . + + The array of coordinate vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + A coordinate transform performs the transformation with the assumption that the w component + is one. The four dimensional vector obtained from the transformation operation has each + component in the vector divided by the w component. This forces the w component to be one and + therefore makes the vector homogeneous. The homogeneous vector is often preferred when working + with coordinates as the w component can safely be ignored. + + + + + Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + When the method completes, contains the transformed normal. + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + The transformed normal. + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Performs a normal transformation on an array of vectors using the given . + + The array of normal vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + A normal transform performs the transformation with the assumption that the w component + is zero. This causes the fourth row and fourth column of the matrix to be unused. The + end result is a vector that is not translated, but all other transformation properties + apply. This is often preferred for normal vectors as normals purely represent direction + rather than location because normal vectors should not be translated. + + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Modulates a vector with another by performing component-wise multiplication equivalent to . + + The first vector to multiply. + The second vector to multiply. + The multiplication of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets a value indicting whether this instance is normalized. + + + + + Gets or sets the component at the specified index. + + The value of the X, Y, or Z component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 2]. + + + + Represents a four dimensional mathematical vector. + + + + + The size of the type, in bytes. + + + + + A with all of its components set to zero. + + + + + The X unit (1, 0, 0, 0). + + + + + The Y unit (0, 1, 0, 0). + + + + + The Z unit (0, 0, 1, 0). + + + + + The W unit (0, 0, 0, 1). + + + + + A with all of its components set to one. + + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Initializes a new instance of the struct. + + The value that will be assigned to all components. + + + + Initializes a new instance of the struct. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + Initial value for the Z component of the vector. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X, Y, and Z components. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + A vector containing the values with which to initialize the X and Y components. + Initial value for the Z component of the vector. + Initial value for the W component of the vector. + + + + Initializes a new instance of the struct. + + The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. + Thrown when is null. + Thrown when contains more or less than four elements. + + + + Calculates the length of the vector. + + The length of the vector. + + may be preferred when only the relative length is needed + and speed is of the essence. + + + + + Calculates the squared length of the vector. + + The squared length of the vector. + + This method may be preferred to when only a relative length is needed + and speed is of the essence. + + + + + Converts the vector into a unit vector. + + + + + Creates an array containing the elements of the vector. + + A four-element array containing the components of the vector. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + When the method completes, contains the modulated vector. + + + + Modulates a vector with another by performing component-wise multiplication. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle. + + A containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains the 4D Cartesian coordinates of the specified point. + + + + Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle. + + A containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 4D Cartesian coordinates of the specified point. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + + Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the distance between two vectors. + + The first vector. + The second vector. + The distance between the two vectors. + + may be preferred when only the relative distance is needed + and speed is of the essence. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + When the method completes, contains the squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the squared distance between two vectors. + + The first vector. + The second vector. + The squared distance between the two vectors. + Distance squared is the value before taking the square root. + Distance squared can often be used in place of distance if relative comparisons are being made. + For example, consider three points A, B, and C. To determine whether B or C is further from A, + compare the distance between A and B to the distance between A and C. Calculating the two distances + involves two square roots, which are computationally expensive. However, using distance squared + provides the same information and avoids calculating two square roots. + + + + + Calculates the dot product of two vectors. + + First source vector + Second source vector. + When the method completes, contains the dot product of the two vectors. + + + + Calculates the dot product of two vectors. + + First source vector. + Second source vector. + The dot product of the two vectors. + + + + Converts the vector into a unit vector. + + The vector to normalize. + When the method completes, contains the normalized vector. + + + + Converts the vector into a unit vector. + + The vector to normalize. + The normalized vector. + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two vectors. + + Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two vectors. + + + + Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two vectors. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + When the method completes, contains the result of the Hermite spline interpolation. + + + + Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + The result of the Hermite spline interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + When the method completes, contains the result of the Catmull-Rom interpolation. + + + + Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + A vector that is the result of the Catmull-Rom interpolation. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + + Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + + Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + + Orthogonalizes a list of vectors. + + The list of orthogonalized vectors. + The list of vectors to orthogonalize. + + Orthogonalization is the process of making all vectors orthogonal to each other. This + means that any given vector in the list will be orthogonal to any other given vector in the + list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Orthonormalizes a list of vectors. + + The list of orthonormalized vectors. + The list of vectors to orthonormalize. + + Orthonormalization is the process of making all vectors orthogonal to each + other and making all vectors of unit length. This means that any given vector will + be orthogonal to any other given vector in the list. + Because this method uses the modified Gram-Schmidt process, the resulting vectors + tend to be numerically unstable. The numeric stability decreases according to the vectors + position in the list so that the first vector is the most stable and the last vector is the + least stable. + + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 4D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + When the method completes, contains the transformed . + + + + Transforms a 4D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + The transformed . + + + + Transforms an array of vectors by the given rotation. + + The array of vectors to transform. + The rotation to apply. + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + + + Transforms a 4D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + + Transforms a 4D vector by the given . + + The source vector. + The transformation . + The transformed . + + + + Transforms a 4D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + + Transforms a 4D vector by the given . + + The source vector. + The transformation . + The transformed . + + + + Transforms an array of 4D vectors by the given . + + The array of vectors to transform. + The transformation . + The array for which the transformed vectors are stored. + This array may be the same array as . + Thrown when or is null. + Thrown when is shorter in length than . + + + + Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + + Modulates a vector with another by performing component-wise multiplication equivalent to . + + The first vector to multiply. + The second vector to multiply. + The multiplication of the two vectors. + + + + Assert a vector (return it unchanged). + + The vector to assert (unchanged). + The asserted (unchanged) vector. + + + + Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + + Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + + Tests for equality between two objects. + + The first value to compare. + The second value to compare. + true if has the same value as ; otherwise, false. + + + + Tests for inequality between two objects. + + The first value to compare. + The second value to compare. + true if has a different value than ; otherwise, false. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets a value indicting whether this instance is normalized. + + + + + Gets or sets the component at the specified index. + + The value of the X, Y, Z, or W component, depending on the index. + The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component. + The value of the component at the specified index. + Thrown when the is out of the range [0, 3]. + + + + Internal FontFileEnumerator callback + + + + + Internal FontFileEnumerator Callback + + + + HRESULT ISequentialStream::Read([Out, Buffer] void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbRead) + + + HRESULT ISequentialStream::Write([In, Buffer] const void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbWritten) + + + + Callbacks to pointer. + + The stream. + + + + HRESULT IStream::Seek([In] LARGE_INTEGER dlibMove,[In] SHARPDX_SEEKORIGIN dwOrigin,[Out, Optional] ULARGE_INTEGER* plibNewPosition) + + + HRESULT IStream::SetSize([In] ULARGE_INTEGER libNewSize) + + + HRESULT IStream::CopyTo([In] IStream* pstm,[In] ULARGE_INTEGER cb,[Out, Optional] ULARGE_INTEGER* pcbRead,[Out, Optional] ULARGE_INTEGER* pcbWritten) + + + HRESULT IStream::Commit([In] STGC grfCommitFlags) + + + HRESULT IStream::Revert() + + + HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType) + + + HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType) + + + HRESULT IStream::Stat([Out] STATSTG* pstatstg,[In] STATFLAG grfStatFlag) + + + HRESULT IStream::Clone([Out] IStream** ppstm) + + + + Converts a win32 error code to a . + + The error code. + A HRESULT code + + + + Converts a win32 error code to a . + + The error code. + A HRESULT code + + + + The namespace contains common enumerations, structures and helper classes for Win32 low-level API. + + + + + Implementation of OLE IPropertyBag2. + + IPropertyBag2 + + + + Initializes a new instance of the class. + + The property bag pointer. + + + + Gets the value of the property with this name. + + The name. + Value of the property + + + + Gets the value of the property by using a + + The public type of this property. + The marshaling type of this property. + The property key. + Value of the property + + + + Sets the value of the property with this name + + The name. + The value. + + + + Sets the value of the property by using a + + The public type of this property. + The marshaling type of this property. + The property key. + The value. + + + + Gets the number of properties. + + + + + Gets the keys. + + + + + Identifies a typed property in a . + + The public type of this property. + The marshaling type of this property. + + + + Initializes a new instance of the class. + + The name. + + + + Gets the name. + + + + + An enumerator using internally a . + + + + + Initializes a new instance of the class. + + The PTR to I enum string. + + + + Security attributes. + + SECURITY_ATTRIBUTES + + + + Length. + + + + + Descriptor. + + + + + Gets or sets a value indicating whether [inherit handle]. + + + true if [inherit handle]; otherwise, false. + + + + + Variant COM. + + PROPVARIANT + + + + Gets the type of the element. + + + The type of the element. + + + + + Gets the type. + + + + + Gets or sets the value. + + + The value. + + + + + Type of a simple variant value. + + + + + Type of a variant + + + + + Simple value + + + + + Vector value. + + + + + Array value. + + + + + By reference. + + + + + Reserved value. + + + + + The namespace contains basic controls used to render DirectX content. + + +
+
diff --git a/packages/SharpDX.DXGI.2.5.0/SharpDX.DXGI.2.5.0.nupkg b/packages/SharpDX.DXGI.2.5.0/SharpDX.DXGI.2.5.0.nupkg new file mode 100644 index 00000000000..e0c6b57dc17 Binary files /dev/null and b/packages/SharpDX.DXGI.2.5.0/SharpDX.DXGI.2.5.0.nupkg differ diff --git a/packages/SharpDX.DXGI.2.5.0/SharpDX.DXGI.2.5.0.nuspec b/packages/SharpDX.DXGI.2.5.0/SharpDX.DXGI.2.5.0.nuspec new file mode 100644 index 00000000000..6e0d1fb5363 --- /dev/null +++ b/packages/SharpDX.DXGI.2.5.0/SharpDX.DXGI.2.5.0.nuspec @@ -0,0 +1,21 @@ + + + + SharpDX.DXGI + 2.5.0 + SharpDX.DXGI + Alexandre Mutel + Alexandre Mutel + http://sharpdx.org/License.txt + http://sharpdx.org/ + http://sharpdx.org/logo_100x100.png + false + Assembly providing DirectX - DXGI 1.0, 1.1 and 1.2 managed API. + + Copyright (c) 2010-2013 Alexandre Mutel + SharpDX DirectX Direct3D MDX 3D DXGI + + + + + \ No newline at end of file diff --git a/packages/SharpDX.DXGI.2.5.0/lib/net20/SharpDX.DXGI.dll b/packages/SharpDX.DXGI.2.5.0/lib/net20/SharpDX.DXGI.dll new file mode 100644 index 00000000000..062ddf59add Binary files /dev/null and b/packages/SharpDX.DXGI.2.5.0/lib/net20/SharpDX.DXGI.dll differ diff --git a/packages/SharpDX.DXGI.2.5.0/lib/net20/SharpDX.DXGI.xml b/packages/SharpDX.DXGI.2.5.0/lib/net20/SharpDX.DXGI.xml new file mode 100644 index 00000000000..1ca357e2811 --- /dev/null +++ b/packages/SharpDX.DXGI.2.5.0/lib/net20/SharpDX.DXGI.xml @@ -0,0 +1,4229 @@ + + + + SharpDX.DXGI + + + + +

The interface represents a display sub-system (including one or more GPU's, DACs and video memory).

+
+ +

A display sub-system is often referred to as a video card, however, on some machines the display sub-system is part of the mother board.

To enumerate the display sub-systems, use . To get an interface to the adapter for a particular device, use . To create a software adapter, use .

+
+ + bb174523 + IDXGIAdapter + IDXGIAdapter +
+ + +

An interface is a base interface for all DXGI objects; supports associating caller-defined (private data) with an object and retrieval of an interface to the parent object.

+
+ +

implements base class functionality for several other interfaces: , , ,

+
+ + bb174541 + IDXGIObject + IDXGIObject +
+ + + Gets the parent of the object. + + Type of the parent object + Returns the parent object based on the GUID of the type of the parent object. + bb174542 + HRESULT IDXGIObject::GetParent([In] const GUID& riid,[Out] void** ppParent) + IDXGIObject::GetParent + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets application-defined data to the object and associates that data with a .

+
+

A that identifies the data. Use this in a call to GetPrivateData to get the data.

+

The size of the object's data.

+

A reference to the object's data.

+

Returns one of the DXGI_ERROR values.

+ +

SetPrivateData makes a copy of the specified data and stores it with the object.

Private data that SetPrivateData stores in the object occupies the same storage space as private data that is stored by associated Direct3D objects (for example, by a Microsoft Direct3D?11 device through or by a Direct3D?11 child device through ).

The debug layer reports memory leaks by outputting a list of object interface references along with their friendly names. The default friendly name is "<unnamed>". You can set the friendly name so that you can determine if the corresponding object interface reference caused the leak. To set the friendly name, use the SetPrivateData method and the well-known private data () that is in D3Dcommon.h. For example, to give pContext a friendly name of My name, use the following code:

 static const char c_szName[] = "My name";	
+            hr = pContext->SetPrivateData( , sizeof( c_szName ) - 1, c_szName );	
+            

You can use to track down memory leaks and understand performance characteristics of your applications. This information is reflected in the output of the debug layer that is related to memory leaks () and with the event tracing for Windows events that we've added to Windows Developer Preview. +

+
+ + bb174544 + HRESULT IDXGIObject::SetPrivateData([In] const GUID& Name,[In] unsigned int DataSize,[In, Buffer] const void* pData) + IDXGIObject::SetPrivateData +
+ + +

Set an interface in the object's private data.

+
+

A identifying the interface.

+

The interface to set.

+

Returns one of the following DXGI_ERROR.

+ +

This API associates an interface reference with the object.

When the interface is set its reference count is incremented. When the data are overwritten (by calling SPD or SPDI with the same ) or the object is destroyed, ::Release() is called and the interface's reference count is decremented.

+
+ + bb174545 + HRESULT IDXGIObject::SetPrivateDataInterface([In] const GUID& Name,[In] const IUnknown* pUnknown) + IDXGIObject::SetPrivateDataInterface +
+ + +

Get a reference to the object's data.

+
+

A identifying the data.

+

The size of the data.

+

Pointer to the data.

+

Returns one of the following DXGI_ERROR.

+ +

If the data returned is a reference to an , or one of its derivative classes, previously set by , then ::Release() must be called on the reference before the reference is freed to decrement the reference count.

+
+ + bb174543 + HRESULT IDXGIObject::GetPrivateData([In] const GUID& Name,[InOut] unsigned int* pDataSize,[Out, Buffer] void* pData) + IDXGIObject::GetPrivateData +
+ + +

Gets the parent of the object.

+
+

The ID of the requested interface.

+

The address of a reference to the parent object.

+

Returns one of the DXGI_ERROR values.

+ + bb174542 + HRESULT IDXGIObject::GetParent([In] const GUID& riid,[Out] void** ppParent) + IDXGIObject::GetParent +
+ + + Checks to see if a device interface for a graphics component is supported by the system. + + The GUID of the interface of the device version for which support is being checked. For example, typeof(ID3D10Device).GUID. + + true if the interface is supported; otherwise, false. + + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport + + + + Checks to see if a device interface for a graphics component is supported by the system. + + the interface of the device version for which support is being checked. + + true if the interface is supported; otherwise, false. + + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport + + + + Checks to see if a device interface for a graphics component is supported by the system. + + the interface of the device version for which support is being checked. + The user mode driver version of InterfaceName. This is only returned if the interface is supported. + + true if the interface is supported; otherwise, false. + + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport + + + + Checks to see if a device interface for a graphics component is supported by the system. + + The GUID of the interface of the device version for which support is being checked. For example, typeof(ID3D10Device).GUID. + The user mode driver version of InterfaceName. This is only returned if the interface is supported. + + true if the interface is supported; otherwise, false. + + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport + + + + Gets an adapter (video card) outputs. + + The index of the output. + + An instance of + + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + + When the EnumOutputs method succeeds and fills the ppOutput parameter with the address of the reference to the output interface, EnumOutputs increments the output interface's reference count. To avoid a memory leak, when you finish using the output interface, call the Release method to decrement the reference count.EnumOutputs first returns the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumOutputs then returns other outputs. + + if the index is greater than the number of outputs, result code + bb174525 + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + IDXGIAdapter::EnumOutputs + + + + Return the number of available outputs from this adapter. + + The number of outputs + bb174525 + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + IDXGIAdapter::EnumOutputs + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enumerate adapter (video card) outputs.

+
+

The index of the output.

+

The address of a reference to an interface at the position specified by the Output parameter.

+

A code that indicates success or failure (see DXGI_ERROR). Will return if the index is greater than the number of outputs.

+ +

When the EnumOutputs method succeeds and fills the ppOutput parameter with the address of the reference to the output interface, EnumOutputs increments the output interface's reference count. To avoid a memory leak, when you finish using the output interface, call the Release method to decrement the reference count.

EnumOutputs first returns the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumOutputs then returns other outputs.

+
+ + bb174525 + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + IDXGIAdapter::EnumOutputs +
+ + +

Gets a DXGI 1.0 description of an adapter (or video card).

+
+

A reference to a structure that describes the adapter. This parameter must not be null.

+

Returns if successful; otherwise returns E_INVALIDARG if the pDesc parameter is null.

+ +

Graphics applications can use the DXGI API to retrieve an accurate set of graphics memory values on systems that have WDDM drivers. The following are the critical steps involved.

  • Graphics driver model determination ? Because DXGI is only available on systems with WDDM drivers, the application must first confirm the driver model by using the following API.
     HasWDDMDriver()	
    +            { LPDIRECT3DCREATE9EX pD3D9Create9Ex = null; HMODULE             hD3D9          = null; hD3D9 = LoadLibrary( L"d3d9.dll" ); if ( null == hD3D9 ) { return false; } // /*  Try to create  interface (also known as a DX9L interface). This interface can only be created if the driver is a WDDM driver. */ // pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress( hD3D9, "Direct3DCreate9Ex" ); return pD3D9Create9Ex != null;	
    +            } 
  • Retrieval of graphics memory values.? After the driver model is determined to be WDDM, the application can use the DirectX 10 or later API and DXGI to get the amount of graphics memory. After creating a Direct3D device the following code can be used to obtain a structure containing the amount of available graphics memory.
      * pDXGIDevice;	
    +            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
    +             * pDXGIAdapter;	
    +            pDXGIDevice->GetAdapter(&pDXGIAdapter);	
    +             adapterDesc;	
    +            pDXGIAdapter->GetDesc(&adapterDesc); 
+
+ + bb174526 + HRESULT IDXGIAdapter::GetDesc([Out] DXGI_ADAPTER_DESC* pDesc) + IDXGIAdapter::GetDesc +
+ + +

Checks whether the system supports a device interface for a graphics component.

+
+

The of the interface of the device version for which support is being checked. For example, __uuidof().

+

The user mode driver version of InterfaceName. This is returned only if the interface is supported. This parameter can be null.

+

indicates that the interface is supported, otherwise is returned (For more information, see DXGI_ERROR).

+ +

Note??You can use CheckInterfaceSupport only to check whether a Direct3D 10.x interface is supported, and only on Windows Vista SP1 and later versions of the operating system. If you try to use CheckInterfaceSupport to check whether a Direct3D 11.x and later version interface is supported, CheckInterfaceSupport returns . Therefore, do not use CheckInterfaceSupport. Instead, to verify whether the operating system supports a particular interface, try to create the interface. For example, if you call the method and it fails, the operating system does not support the interface.

+
+ + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport +
+ + + Gets all outputs from this adapter. + + bb174525 + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + IDXGIAdapter::EnumOutputs + + + +

Gets a DXGI 1.0 description of an adapter (or video card).

+
+ +

Graphics applications can use the DXGI API to retrieve an accurate set of graphics memory values on systems that have WDDM drivers. The following are the critical steps involved.

  • Graphics driver model determination ? Because DXGI is only available on systems with WDDM drivers, the application must first confirm the driver model by using the following API.
     HasWDDMDriver()	
    +            { LPDIRECT3DCREATE9EX pD3D9Create9Ex = null; HMODULE             hD3D9          = null; hD3D9 = LoadLibrary( L"d3d9.dll" ); if ( null == hD3D9 ) { return false; } // /*  Try to create  interface (also known as a DX9L interface). This interface can only be created if the driver is a WDDM driver. */ // pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress( hD3D9, "Direct3DCreate9Ex" ); return pD3D9Create9Ex != null;	
    +            } 
  • Retrieval of graphics memory values.? After the driver model is determined to be WDDM, the application can use the DirectX 10 or later API and DXGI to get the amount of graphics memory. After creating a Direct3D device the following code can be used to obtain a structure containing the amount of available graphics memory.
      * pDXGIDevice;	
    +            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
    +             * pDXGIAdapter;	
    +            pDXGIDevice->GetAdapter(&pDXGIAdapter);	
    +             adapterDesc;	
    +            pDXGIAdapter->GetDesc(&adapterDesc); 
+
+ + bb174526 + GetDesc + GetDesc + HRESULT IDXGIAdapter::GetDesc([Out] DXGI_ADAPTER_DESC* pDesc) +
+ + + The assembly provides managed DXGI API. + + hh404534 + DXGI + DXGI + + + + The namespace provides a managed DXGI API. + + hh404534 + DXGI + DXGI + + + +

An interface implements a derived class for DXGI objects that produce image data.

+
+ +

The interface is designed for use by DXGI objects that need access to other DXGI objects. This interface is useful to applications that do not use Direct3D to communicate with DXGI.

The object returned by the Direct3D create device functions implements the interface and can be queried for the device's corresponding interface. To retrieve the interface of a Direct3D device the following code can be used.

 * pDXGIDevice;	
+            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
+            
+
+ + bb174527 + IDXGIDevice + IDXGIDevice +
+ + + Gets the residency status of an array of resources. + + + The information returned by the pResidencyStatus argument array describes the residency status at the time that the QueryResourceResidency method was called. Note that the residency status will constantly change. If you call the QueryResourceResidency method during a device removed state, the pResidencyStatus argument will return the DXGI_RESIDENCY_EVICTED_TO_DISK flag. Note??This method should not be called every frame as it incurs a non-trivial amount of overhead. + + An array of interfaces. + Returns an array of flags. Each element describes the residency status for corresponding element in the ppResources argument array. + HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[None] int NumResources) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Returns the adapter for the specified device.

+
+

The address of an interface reference to the adapter. This parameter must not be null.

+

Returns if successful; otherwise, returns one of the DXGI_ERROR that indicates failure. If the pAdapter parameter is null this method returns E_INVALIDARG.

+ +

If the GetAdapter method succeeds, the reference count on the adapter interface will be incremented. To avoid a memory leak, be sure to release the interface when you are finished using it.

+
+ + bb174531 + HRESULT IDXGIDevice::GetAdapter([Out] IDXGIAdapter** pAdapter) + IDXGIDevice::GetAdapter +
+ + +

Returns a surface. This method is used internally and you should not call it directly in your application.

+
+

A reference to a structure that describes the surface.

+

The number of surfaces to create.

+

A DXGI_USAGE flag that specifies how the surface is expected to be used.

+

An optional reference to a structure that contains shared resource information for opening views of such resources.

+

The address of an interface reference to the first created surface.

+

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

+ +

The CreateSurface method creates a buffer to exchange data between one or more devices. It is used internally, and you should not directly call it.

The runtime automatically creates an interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an interface when it calls or to create a 2D texture. To retrieve the interface that represents the 2D texture surface, call ID3D11Texture2D::QueryInterface or ID3D10Texture2D::QueryInterface. In this call, you must pass the identifier of . If the 2D texture has only a single MIP-map level and does not consist of an array of textures, QueryInterface succeeds and returns a reference to the interface reference. Otherwise, QueryInterface fails and does not return the reference to . +

+
+ + bb174530 + HRESULT IDXGIDevice::CreateSurface([In] const DXGI_SURFACE_DESC* pDesc,[In] unsigned int NumSurfaces,[In] unsigned int Usage,[In, Optional] const DXGI_SHARED_RESOURCE* pSharedResource,[Out] IDXGISurface** ppSurface) + IDXGIDevice::CreateSurface +
+ + +

Gets the residency status of an array of resources.

+
+

An array of interfaces.

+

An array of flags. Each element describes the residency status for corresponding element in the ppResources argument array.

+

The number of resources in the ppResources argument array and pResidencyStatus argument array.

+

Returns if successfull; otherwise, returns , E_INVALIDARG, or E_POINTER (see WinError.h for more information).

+ +

The information returned by the pResidencyStatus argument array describes the residency status at the time that the QueryResourceResidency method was called. Note that the residency status will constantly change.

If you call the QueryResourceResidency method during a device removed state, the pResidencyStatus argument will return the flag.

Note??This method should not be called every frame as it incurs a non-trivial amount of overhead.

+
+ + bb174533 + HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[In] unsigned int NumResources) + IDXGIDevice::QueryResourceResidency +
+ + +

Gets the residency status of an array of resources.

+
+

An array of interfaces.

+

An array of flags. Each element describes the residency status for corresponding element in the ppResources argument array.

+

The number of resources in the ppResources argument array and pResidencyStatus argument array.

+

Returns if successfull; otherwise, returns , E_INVALIDARG, or E_POINTER (see WinError.h for more information).

+ +

The information returned by the pResidencyStatus argument array describes the residency status at the time that the QueryResourceResidency method was called. Note that the residency status will constantly change.

If you call the QueryResourceResidency method during a device removed state, the pResidencyStatus argument will return the flag.

Note??This method should not be called every frame as it incurs a non-trivial amount of overhead.

+
+ + bb174533 + HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[In] unsigned int NumResources) + IDXGIDevice::QueryResourceResidency +
+ + +

Sets the GPU thread priority.

+
+

A value that specifies the required GPU thread priority. This value must be between -7 and 7, inclusive, where 0 represents normal priority.

+

Return if successful; otherwise, returns E_INVALIDARG if the Priority parameter is invalid.

+ +

The values for the Priority parameter function as follows:

  • Positive values increase the likelihood that the GPU scheduler will grant GPU execution cycles to the device when rendering.
  • Negative values lessen the likelihood that the device will receive GPU execution cycles when devices compete for them.
  • The device is guaranteed to receive some GPU execution cycles at all settings.

To use the SetGPUThreadPriority method, you should have a comprehensive understanding of GPU scheduling. You should profile your application to ensure that it behaves as intended. If used inappropriately, the SetGPUThreadPriority method can impede rendering speed and result in a poor user experience.

+
+ + bb174534 + HRESULT IDXGIDevice::SetGPUThreadPriority([In] int Priority) + IDXGIDevice::SetGPUThreadPriority +
+ + +

Gets the GPU thread priority.

+
+

A reference to a variable that receives a value that indicates the current GPU thread priority. The value will be between -7 and 7, inclusive, where 0 represents normal priority.

+

Return if successful; otherwise, returns E_POINTER if the pPriority parameter is null.

+ + Bb174532 + HRESULT IDXGIDevice::GetGPUThreadPriority([Out] int* pPriority) + IDXGIDevice::GetGPUThreadPriority +
+ + +

Returns the adapter for the specified device.

+
+ +

If the GetAdapter method succeeds, the reference count on the adapter interface will be incremented. To avoid a memory leak, be sure to release the interface when you are finished using it.

+
+ + bb174531 + GetAdapter + GetAdapter + HRESULT IDXGIDevice::GetAdapter([Out] IDXGIAdapter** pAdapter) +
+ + +

Gets or sets the GPU thread priority.

+
+ + Bb174532 + GetGPUThreadPriority / SetGPUThreadPriority + GetGPUThreadPriority + HRESULT IDXGIDevice::GetGPUThreadPriority([Out] int* pPriority) +
+ + +

Inherited from objects that are tied to the device so that they can retrieve a reference to it.

+
+ + bb174528 + IDXGIDeviceSubObject + IDXGIDeviceSubObject +
+ + + Retrieves the device. + + The interface that is returned can be any interface published by the device. + The associated device. + HRESULT IDXGIDeviceSubObject::GetDevice([In] GUID* riid,[Out] void** ppDevice) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the device.

+
+

The reference id for the device.

+

The address of a reference to the device.

+

A code that indicates success or failure (see DXGI_ERROR).

+ +

The type of interface that is returned can be any interface published by the device. For example, it could be an * called pDevice, and therefore the REFIID would be obtained by calling __uuidof(pDevice).

+
+ + bb174529 + HRESULT IDXGIDeviceSubObject::GetDevice([In] const GUID& riid,[Out] void** ppDevice) + IDXGIDeviceSubObject::GetDevice +
+ + + Gets or sets the debug-name for this object. + + + The debug name. + + + + +

An interface implements methods for generating DXGI objects (which handle full screen transitions).

+
+ +

Create a factory by calling CreateDXGIFactory.

Because a Direct3D device can be created without creating a swap chain, you might need to retrieve the factory that is used to create the device in order to create a swap chain. + This can be accomplished by requesting the interface from the Direct3D device and then using to locate + the factory. The following code illustrates the process.

 * pDXGIDevice;	
+            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);  * pDXGIAdapter;	
+            hr = pDXGIDevice->GetParent(__uuidof(), (void **)&pDXGIAdapter);  * pIDXGIFactory;	
+            pDXGIAdapter->GetParent(__uuidof(), (void **)&pIDXGIFactory);	
+            

See for a diagram of the relationship between DXGI objects.

+
+ + bb174535 + IDXGIFactory + IDXGIFactory +
+ + + Default Constructor for Factory + + + + + Create an adapter interface that represents a software adapter. + + + A software adapter is a DLL that implements the entirety of a device driver interface, plus emulation, if necessary, of kernel-mode graphics components for Windows. Details on implementing a software adapter can be found in the Windows Vista Driver Development Kit. This is a very complex development task, and is not recommended for general readers. Calling this method will increment the module's reference count by one. The reference count can be decremented by calling {{FreeLibrary}}. The typical calling scenario is to call {{LoadLibrary}}, pass the handle to CreateSoftwareAdapter, then immediately call {{FreeLibrary}} on the DLL and forget the DLL's {{HMODULE}}. Since the software adapter calls FreeLibrary when it is destroyed, the lifetime of the DLL will now be owned by the adapter, and the application is free of any further consideration of its lifetime. + + Handle to the software adapter's DLL. + A reference to an adapter (see ). + HRESULT IDXGIFactory::CreateSoftwareAdapter([None] void* Module,[Out] IDXGIAdapter** ppAdapter) + + + + Gets both adapters (video cards) with or without outputs. + + The index of the adapter to enumerate. + a reference to an interface at the position specified by the Adapter parameter + + When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.When the EnumAdapters method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.EnumAdapters first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters then returns other adapters with outputs. + + HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter) + + + + Return the number of available adapters from this factory. + + The number of adapters + HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enumerates the adapters (video cards).

+
+

The index of the adapter to enumerate.

+

The address of a reference to an interface at the position specified by the Adapter parameter. This parameter must not be null.

+

Returns if successful; otherwise, returns if the index is greater than or equal to the number of adapters in the local system, or if ppAdapter parameter is null.

+ +

When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.

When the EnumAdapters method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.

EnumAdapters first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters then returns other adapters with outputs.

+
+ + bb174538 + HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter) + IDXGIFactory::EnumAdapters +
+ + +

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).

+
+

The handle of the window that is to be monitored. This parameter can be null; but only if the flags are also 0.

+

One or more of the following values:

  • - Prevent DXGI from monitoring an applications message queue; this makes DXGI unable to respond to mode changes.
  • - Prevent DXGI from responding to an alt-enter sequence.
  • - Prevent DXGI from responding to a print-screen key.
+

if WindowHandle is invalid, or E_OUTOFMEMORY.

+ +

The combination of WindowHandle and Flags informs DXGI to stop monitoring window messages for the previously-associated window.

If the application switches to full-screen mode, DXGI will choose a full-screen resolution to be the smallest supported resolution that is larger or the same size as the current back buffer size.

Applications can make some changes to make the transition from windowed to full screen more efficient. For example, on a WM_SIZE message, the application should release any outstanding swap-chain back buffers, call , then re-acquire the back buffers from the swap chain(s). This gives the swap chain(s) an opportunity to resize the back buffers, and/or recreate them to enable full-screen flipping operation. If the application does not perform this sequence, DXGI will still make the full-screen/windowed transition, but may be forced to use a stretch operation (since the back buffers may not be the correct size), which may be less efficient. Even if a stretch is not required, presentation may not be optimal because the back buffers might not be directly interchangeable with the front buffer. Thus, a call to ResizeBuffers on WM_SIZE is always recommended, since WM_SIZE is always sent during a fullscreen transition.

While windowed, the application can, if it chooses, restrict the size of its window's client area to sizes to which it is comfortable rendering. A fully flexible application would make no such restriction, but UI elements or other design considerations can, of course, make this flexibility untenable. If the application further chooses to restrict its window's client area to just those that match supported full-screen resolutions, the application can field WM_SIZING, then check against . If a matching mode is found, allow the resize. (The can be retrieved from . Absent subsequent changes to desktop topology, this will be the same output that will be chosen when alt-enter is fielded and fullscreen mode is begun for that swap chain.)

Applications that want to handle mode changes or Alt+Enter themselves should call MakeWindowAssociation with the flag after swap chain creation. The WindowHandle argument, if non-null, specifies that the application message queues will not be handled by the DXGI runtime for all swap chains of a particular target . Calling MakeWindowAssociation with the flag after swapchain creation ensures that DXGI will not interfere with application's handling of window mode changes or Alt+Enter.

Notes for Metro style apps

If a Metro style app calls MakeWindowAssociation, it fails with .

A Microsoft Win32 application can use MakeWindowAssociation to control full-screen transitions through the Alt+Enter key combination and print screen behavior for full screen. For Metro style apps, because DXGI cannot perform full-screen transitions, Metro style app have no way to control full-screen transitions.

+
+ + bb174540 + HRESULT IDXGIFactory::MakeWindowAssociation([In] HWND WindowHandle,[In] DXGI_MWA_FLAGS Flags) + IDXGIFactory::MakeWindowAssociation +
+ + +

Get the window through which the user controls the transition to and from full screen.

+
+

A reference to a window handle.

+ + Notes for Metro style apps

If a Metro style app calls GetWindowAssociation, it fails with .

+
+ + Bb174539 + HRESULT IDXGIFactory::GetWindowAssociation([Out] HWND* pWindowHandle) + IDXGIFactory::GetWindowAssociation +
+ + +

[Starting with Direct3D 11.1, we recommend not to use CreateSwapChain anymore to create a swap chain. Instead, use CreateSwapChainForHwnd, CreateSwapChainForImmersiveWindow, or CreateSwapChainForCompositionSurface depending on how you want to create the swap chain.]

Creates a swap chain.

+
+ No documentation. + No documentation. + No documentation. +

if pDesc or ppSwapChain is null, if you request full-screen mode and it is unavailable, or E_OUTOFMEMORY. Other error codes defined by the type of device passed in may also be returned.

+ +

If you attempt to create a swap chain in full-screen mode, and full-screen mode is unavailable, the swap chain will be created in windowed mode and will be returned.

If the buffer width or the buffer height is zero, the sizes will be inferred from the output window size in the swap-chain description.

Because the target output cannot be chosen explicitly when the swap-chain is created, you should not create a full-screen swap chain. This can reduce presentation performance if the swap chain size and the output window size do not match. Here are two ways to ensure that the sizes match:

  • Create a windowed swap chain and then set it full-screen using .
  • Save a reference to the swap chain immediately after creation, and use it to get the output window size during a WM_SIZE event. Then resize the swap chain buffers (with ) during the transition from windowed to full-screen.

If the swap chain is in full-screen mode, before you release it you must use SetFullscreenState to switch it to windowed mode. For more information about releasing a swap chain, see the "Destroying a Swap Chain" section of DXGI Overview.

You can specify and values in the swap-chain description that pDesc points to. These values allow you to use features like flip-model presentation and content protection by using pre-Windows Developer Preview APIs.

However, to use stereo presentation and to change resize behavior for the flip model, applications must use the IDXGIFactory2::CreateSwapChainForHwnd method. Otherwise, the back-buffer contents implicitly scale to fit the presentation target size; that is, you can't turn off scaling.

Notes for Metro style apps

If a Metro style app calls CreateSwapChain with full screen specified, CreateSwapChain fails.

Metro style apps call the IDXGIFactory2::CreateSwapChainForImmersiveWindow method to create a swap chain.

+
+ + bb174537 + HRESULT IDXGIFactory::CreateSwapChain([In] IUnknown* pDevice,[In] DXGI_SWAP_CHAIN_DESC* pDesc,[Out, Fast] IDXGISwapChain** ppSwapChain) + IDXGIFactory::CreateSwapChain +
+ + +

Create an adapter interface that represents a software adapter.

+
+

Handle to the software adapter's dll. HMODULE can be obtained with GetModuleHandle or LoadLibrary.

+

Address of a reference to an adapter (see ).

+ +

A software adapter is a DLL that implements the entirety of a device driver interface, plus emulation, if necessary, of kernel-mode graphics components for Windows. Details on implementing a software adapter can be found in the Windows Vista Driver Development Kit. This is a very complex development task, and is not recommended for general readers.

Calling this method will increment the module's reference count by one. The reference count can be decremented by calling FreeLibrary.

The typical calling scenario is to call LoadLibrary, pass the handle to CreateSoftwareAdapter, then immediately call FreeLibrary on the DLL and forget the DLL's HMODULE. Since the software adapter calls FreeLibrary when it is destroyed, the lifetime of the DLL will now be owned by the adapter, and the application is free of any further consideration of its lifetime.

+
+ + bb174536 + HRESULT IDXGIFactory::CreateSoftwareAdapter([In] HINSTANCE Module,[Out] IDXGIAdapter** ppAdapter) + IDXGIFactory::CreateSoftwareAdapter +
+ + + Return an array of available from this factory. + + HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter) + + + +

The interface implements methods for generating DXGI objects.

+
+ +

This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

To create a factory, call the CreateDXGIFactory1 function.

+
+ + ff471335 + IDXGIFactory1 + IDXGIFactory1 +
+ + + Default Constructor for Factory1. + + + + + Gets both adapters (video cards) with or without outputs. + + The index of the adapter to enumerate. + a reference to an interface at the position specified by the Adapter parameter + + This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.When the EnumAdapters1 method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters1 increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.EnumAdapters1 first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters1 next returns other adapters with outputs. EnumAdapters1 finally returns adapters without outputs. + + HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter) + + + + Return the number of available adapters from this factory. + + The number of adapters + HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enumerates both adapters (video cards) with or without outputs.

+
+

The index of the adapter to enumerate.

+

The address of a reference to an interface at the position specified by the Adapter parameter. This parameter must not be null.

+

Returns if successful; otherwise, returns if the index is greater than or equal to the number of adapters in the local system, or if ppAdapter parameter is null.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.

When the EnumAdapters1 method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters1 increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.

EnumAdapters1 first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters1 next returns other adapters with outputs. EnumAdapters1 finally returns adapters without outputs.

+
+ + ff471336 + HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter) + IDXGIFactory1::EnumAdapters1 +
+ + +

Informs an application of the possible need to re-enumerate adapters.

+
+

, if a new adapter is becoming available or the current adapter is going away. TRUE, no adapter changes.

IsCurrent returns to inform the calling application to re-enumerate adapters.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

+
+ + ff471337 + BOOL IDXGIFactory1::IsCurrent() + IDXGIFactory1::IsCurrent +
+ + + Return an array of available from this factory. + + HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter) + + + +

Informs an application of the possible need to re-enumerate adapters.

+
+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

+
+ + ff471337 + IsCurrent + IsCurrent + BOOL IDXGIFactory1::IsCurrent() +
+ + + Helper to use with . + + + + + Calculates the size of a in bytes. + + The DXGI format. + size of in bytes + + + + Calculates the size of a in bits. + + The DXGI format. + size of in bits + + + + Returns true if the is valid. + + A format to validate + True if the is valid. + + + + Returns true if the is a compressed format. + + The format to check for compressed. + True if the is a compressed format + + + + Determines whether the specified is packed. + + The DXGI Format. + true if the specified is packed; otherwise, false. + + + + Determines whether the specified is video. + + The . + true if the specified is video; otherwise, false. + + + + Determines whether the specified is a SRGB format. + + The . + true if the specified is a SRGB format; otherwise, false. + + + + Determines whether the specified is typeless. + + The . + true if the specified is typeless; otherwise, false. + + + + Computes the scanline count (number of scanlines). + + The . + The height. + The scanline count. + + + + Static initializer to speed up size calculation (not sure the JIT is enough "smart" for this kind of thing). + + + + +

Identifies the type of DXGI adapter.

+
+ +

The enumerated type is used by the Flags member of the or DXGI_ADAPTER_DESC2 structure to identify the type of DXGI adapter.

+
+ + ff471327 + DXGI_ADAPTER_FLAG + DXGI_ADAPTER_FLAG +
+ + +

Specifies no flags.

+
+ + ff471327 + DXGI_ADAPTER_FLAG_NONE + DXGI_ADAPTER_FLAG_NONE +
+ + +

Value always set to 0. This flag is reserved.

+
+ + ff471327 + DXGI_ADAPTER_FLAG_REMOTE + DXGI_ADAPTER_FLAG_REMOTE +
+ + + No documentation. + + + DXGI_ENUM_MODES_FLAGS + DXGI_ENUM_MODES_FLAGS + + + + No documentation. + + + DXGI_ENUM_MODES_INTERLACED + DXGI_ENUM_MODES_INTERLACED + + + + No documentation. + + + DXGI_ENUM_MODES_SCALING + DXGI_ENUM_MODES_SCALING + + + +

Flags that indicate how the back buffers should be rotated to fit the physical rotation of a monitor.

+
+ + bb173065 + DXGI_MODE_ROTATION + DXGI_MODE_ROTATION +
+ + +

Unspecified rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_UNSPECIFIED + DXGI_MODE_ROTATION_UNSPECIFIED +
+ + +

Specifies no rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_IDENTITY + DXGI_MODE_ROTATION_IDENTITY +
+ + +

Specifies 90 degrees of rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_ROTATE90 + DXGI_MODE_ROTATION_ROTATE90 +
+ + +

Specifies 180 degrees of rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_ROTATE180 + DXGI_MODE_ROTATION_ROTATE180 +
+ + +

Specifies 270 degrees of rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_ROTATE270 + DXGI_MODE_ROTATION_ROTATE270 +
+ + +

Flags indicating how an image is stretched to fit a given monitor's resolution.

+
+ + bb173066 + DXGI_MODE_SCALING + DXGI_MODE_SCALING +
+ + +

Unspecified scaling.

+
+ + bb173066 + DXGI_MODE_SCALING_UNSPECIFIED + DXGI_MODE_SCALING_UNSPECIFIED +
+ + +

Specifies no scaling. The image is centered on the display. This flag is typically used for a fixed-dot-pitch display (such as an LED display).

+
+ + bb173066 + DXGI_MODE_SCALING_CENTERED + DXGI_MODE_SCALING_CENTERED +
+ + +

Specifies stretched scaling.

+
+ + bb173066 + DXGI_MODE_SCALING_STRETCHED + DXGI_MODE_SCALING_STRETCHED +
+ + +

Flags indicating the method the raster uses to create an image on a surface.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER + DXGI_MODE_SCANLINE_ORDER +
+ + +

Scanline order is unspecified.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED + DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED +
+ + +

The image is created from the first scanline to the last without skipping any.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE + DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE +
+ + +

The image is created beginning with the upper field.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST + DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST +
+ + +

The image is created beginning with the lower field.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST + DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST +
+ + +

Status codes that can be returned by DXGI functions.

+
+ + cc308061 + DXGI_STATUS + DXGI_STATUS +
+ + + No documentation. + + + DXGI_STATUS_OCCLUDED + DXGI_STATUS_OCCLUDED + + + + No documentation. + + + DXGI_STATUS_CLIPPED + DXGI_STATUS_CLIPPED + + + + No documentation. + + + DXGI_STATUS_NO_REDIRECTION + DXGI_STATUS_NO_REDIRECTION + + + + No documentation. + + + DXGI_STATUS_NO_DESKTOP_ACCESS + DXGI_STATUS_NO_DESKTOP_ACCESS + + + + No documentation. + + + DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE + DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE + + + + No documentation. + + + DXGI_STATUS_MODE_CHANGED + DXGI_STATUS_MODE_CHANGED + + + + No documentation. + + + DXGI_STATUS_MODE_CHANGE_IN_PROGRESS + DXGI_STATUS_MODE_CHANGE_IN_PROGRESS + + + +

Resource data formats which includes fully-typed and typeless formats. There is a list of format modifiers at the bottom of the page, that more fully describes each format type.

+
+ +

A few formats have additional restrictions.

  1. A resource declared with the DXGI_FORMAT_R32G32B32 family of formats cannot be used simultaneously for vertex and texture data. That is, you may not create a buffer resource with the DXGI_FORMAT_R32G32B32 family of formats that uses any of the following bind flags: , , , or (see ).
  2. is designed specifically for text filtering, and must be used with a format-specific, configurable 8x8 filter mode. When calling an HLSL sampling function using this format, the address offset parameter must be set to (0,0).
  3. A resource using a sub-sampled format (such as DXGI_FORMAT_R8G8_B8G8) must have a size that is a multiple of 2 in the x dimension.
  4. Format is not available in Direct3D 10 and Direct3D 10.1

The following topics provide lists of the formats that particular hardware feature levels support:

  • Hardware Support for Direct3D 11.1 Formats
  • Hardware Support for Direct3D 11 Formats
  • Hardware Support for Direct3D 10.1 Formats
  • Hardware Support for Direct3D 10 Formats
  • Hardware Support for Direct3D 10Level9 Formats

For a list of the DirectXMath types that map to values, see DirectXMath Library Internals.

Format Modifiers

Each enumeration value contains a format modifier which describes the data type.

Format ModifiersDescription
_FLOATA floating-point value; 32-bit floating-point formats use IEEE 754 single-precision (s23e8 format): sign bit, 8-bit biased (127) exponent, and 23-bit mantissa. 16-bit floating-point formats use half-precision (s10e5 format): sign bit, 5-bit biased (15) exponent, and 10-bit mantissa.
_SINTTwo's complement signed integer. For example, a 3-bit SINT represents the values -4, -3, -2, -1, 0, 1, 2, 3.
_SNORMSigned normalized integer; which is interpreted in a resource as a signed integer, and is interpreted in a shader as a signed normalized floating-point value in the range [-1, 1]. For an 2's complement number, the maximum value is 1.0f (a 5-bit value 01111 maps to 1.0f), and the minimum value is -1.0f (a 5-bit value 10000 maps to -1.0f). In addition, the second-minimum number maps to -1.0f (a 5-bit value 10001 maps to -1.0f). The resulting integer representations are evenly spaced floating-point values in the range (-1.0f...0.0f), and also a complementary set of representations for numbers in the range (0.0f...1.0f).
_SRGBStandard RGB data, which roughly displays colors in a linear ramp of luminosity levels such that an average observer, under average viewing conditions, can view them on an average display.

All 0's maps to 0.0f, and all 1's maps to 1.0f. The sequence of unsigned integer encodings between all 0's and all 1's represent a nonlinear progression in the floating-point interpretation of the numbers between 0.0f to 1.0f. For more detail, see the SRGB color standard, IEC 61996-2-1, at IEC (International Electrotechnical Commission).

Conversion to or from sRGB space is automatically done by D3DX10 or D3DX9 texture-load functions. If the format has an alpha channel, the alpha data is also stored in sRGB color space.
_TYPELESSTypeless data, with a defined number of bits. Typeless formats are designed for creating typeless resources; that is, a resource whose size is known, but whose data type is not yet fully defined. When a typeless resource is bound to a shader, the application or shader must resolve the format type (which must match the number of bits per component in the typeless format).

A typeless format contains one or more subformats; each subformat resolves the data type. For example, in the R32G32B32 group, which defines types for three-component 96-bit data, there is one typeless format and three fully typed subformats.

 , , , ,	
+            
_UINTUnsigned integer. For instance, a 3-bit UINT represents the values 0, 1, 2, 3, 4, 5, 6, 7.
_UNORMUnsigned normalized integer; which is interpreted in a resource as an unsigned integer, and is interpreted in a shader as an unsigned normalized floating-point value in the range [0, 1]. All 0's maps to 0.0f, and all 1's maps to 1.0f. A sequence of evenly spaced floating-point values from 0.0f to 1.0f are represented. For instance, a 2-bit UNORM represents 0.0f, 1/3, 2/3, and 1.0f.

?

New Resource Formats

Direct3D 10 offers new data compression formats for compressing high-dynamic range (HDR) lighting data, normal maps and heightfields to a fraction of their original size. These compression types include:

  • Shared-Exponent high-dynamic range (HDR) format (RGBE)
  • New Block-Compressed 1-2 channel UNORM/SNORM formats

The block compression formats can be used for any of the 2D or 3D texture types ( Texture2D, Texture2DArray, Texture3D, or TextureCube) including mipmap surfaces. The block compression techniques require texture dimensions to be a multiple of 4 (since the implementation compresses on blocks of 4x4 texels). In the texture sampler, compressed formats are always decompressed before texture filtering.

+
+ + bb173059 + DXGI_FORMAT + DXGI_FORMAT +
+ + +

The format is not known.

+
+ + bb173059 + DXGI_FORMAT_UNKNOWN + DXGI_FORMAT_UNKNOWN +
+ + +

A four-component, 128-bit typeless format that supports 32 bits per channel including alpha. 1

+
+ + bb173059 + DXGI_FORMAT_R32G32B32A32_TYPELESS + DXGI_FORMAT_R32G32B32A32_TYPELESS +
+ + +

A four-component, 128-bit floating-point format that supports 32 bits per channel including alpha. 1

+
+ + bb173059 + DXGI_FORMAT_R32G32B32A32_FLOAT + DXGI_FORMAT_R32G32B32A32_FLOAT +
+ + +

A four-component, 128-bit unsigned-integer format that supports 32 bits per channel including alpha. 1

+
+ + bb173059 + DXGI_FORMAT_R32G32B32A32_UINT + DXGI_FORMAT_R32G32B32A32_UINT +
+ + +

A four-component, 128-bit signed-integer format that supports 32 bits per channel including alpha. 1

+
+ + bb173059 + DXGI_FORMAT_R32G32B32A32_SINT + DXGI_FORMAT_R32G32B32A32_SINT +
+ + +

A three-component, 96-bit typeless format that supports 32 bits per color channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32B32_TYPELESS + DXGI_FORMAT_R32G32B32_TYPELESS +
+ + +

A three-component, 96-bit floating-point format that supports 32 bits per color channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32B32_FLOAT + DXGI_FORMAT_R32G32B32_FLOAT +
+ + +

A three-component, 96-bit unsigned-integer format that supports 32 bits per color channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32B32_UINT + DXGI_FORMAT_R32G32B32_UINT +
+ + +

A three-component, 96-bit signed-integer format that supports 32 bits per color channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32B32_SINT + DXGI_FORMAT_R32G32B32_SINT +
+ + +

A four-component, 64-bit typeless format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_TYPELESS + DXGI_FORMAT_R16G16B16A16_TYPELESS +
+ + +

A four-component, 64-bit floating-point format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_FLOAT + DXGI_FORMAT_R16G16B16A16_FLOAT +
+ + +

A four-component, 64-bit unsigned-normalized-integer format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_UNORM + DXGI_FORMAT_R16G16B16A16_UNORM +
+ + +

A four-component, 64-bit unsigned-integer format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_UINT + DXGI_FORMAT_R16G16B16A16_UINT +
+ + +

A four-component, 64-bit signed-normalized-integer format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_SNORM + DXGI_FORMAT_R16G16B16A16_SNORM +
+ + +

A four-component, 64-bit signed-integer format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_SINT + DXGI_FORMAT_R16G16B16A16_SINT +
+ + +

A two-component, 64-bit typeless format that supports 32 bits for the red channel and 32 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32_TYPELESS + DXGI_FORMAT_R32G32_TYPELESS +
+ + +

A two-component, 64-bit floating-point format that supports 32 bits for the red channel and 32 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32_FLOAT + DXGI_FORMAT_R32G32_FLOAT +
+ + +

A two-component, 64-bit unsigned-integer format that supports 32 bits for the red channel and 32 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32_UINT + DXGI_FORMAT_R32G32_UINT +
+ + +

A two-component, 64-bit signed-integer format that supports 32 bits for the red channel and 32 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32_SINT + DXGI_FORMAT_R32G32_SINT +
+ + +

A two-component, 64-bit typeless format that supports 32 bits for the red channel, 8 bits for the green channel, and 24 bits are unused.

+
+ + bb173059 + DXGI_FORMAT_R32G8X24_TYPELESS + DXGI_FORMAT_R32G8X24_TYPELESS +
+ + +

A 32-bit floating-point component, and two unsigned-integer components (with an additional 32 bits). This format supports 32-bit depth, 8-bit stencil, and 24 bits are unused.

+
+ + bb173059 + DXGI_FORMAT_D32_FLOAT_S8X24_UINT + DXGI_FORMAT_D32_FLOAT_S8X24_UINT +
+ + +

A 32-bit floating-point component, and two typeless components (with an additional 32 bits). This format supports 32-bit red channel, 8 bits are unused, and 24 bits are unused.

+
+ + bb173059 + DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS + DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS +
+ + +

A 32-bit typeless component, and two unsigned-integer components (with an additional 32 bits). This format has 32 bits unused, 8 bits for green channel, and 24 bits are unused.

+
+ + bb173059 + DXGI_FORMAT_X32_TYPELESS_G8X24_UINT + DXGI_FORMAT_X32_TYPELESS_G8X24_UINT +
+ + +

A four-component, 32-bit typeless format that supports 10 bits for each color and 2 bits for alpha.

+
+ + bb173059 + DXGI_FORMAT_R10G10B10A2_TYPELESS + DXGI_FORMAT_R10G10B10A2_TYPELESS +
+ + +

A four-component, 32-bit unsigned-normalized-integer format that supports 10 bits for each color and 2 bits for alpha.

+
+ + bb173059 + DXGI_FORMAT_R10G10B10A2_UNORM + DXGI_FORMAT_R10G10B10A2_UNORM +
+ + +

A four-component, 32-bit unsigned-integer format that supports 10 bits for each color and 2 bits for alpha.

+
+ + bb173059 + DXGI_FORMAT_R10G10B10A2_UINT + DXGI_FORMAT_R10G10B10A2_UINT +
+ + +

Three partial-precision floating-point numbers encoded into a single 32-bit value (a variant of s10e5, which is sign bit, 10-bit mantissa, and 5-bit biased (15) exponent). There are no sign bits, and there is a 5-bit biased (15) exponent for each channel, 6-bit mantissa for R and G, and a 5-bit mantissa for B, as shown in the following illustration.

+
+ + bb173059 + DXGI_FORMAT_R11G11B10_FLOAT + DXGI_FORMAT_R11G11B10_FLOAT +
+ + +

A four-component, 32-bit typeless format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_TYPELESS + DXGI_FORMAT_R8G8B8A8_TYPELESS +
+ + +

A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_UNORM + DXGI_FORMAT_R8G8B8A8_UNORM +
+ + +

A four-component, 32-bit unsigned-normalized integer sRGB format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_UNORM_SRGB + DXGI_FORMAT_R8G8B8A8_UNORM_SRGB +
+ + +

A four-component, 32-bit unsigned-integer format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_UINT + DXGI_FORMAT_R8G8B8A8_UINT +
+ + +

A four-component, 32-bit signed-normalized-integer format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_SNORM + DXGI_FORMAT_R8G8B8A8_SNORM +
+ + +

A four-component, 32-bit signed-integer format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_SINT + DXGI_FORMAT_R8G8B8A8_SINT +
+ + +

A two-component, 32-bit typeless format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_TYPELESS + DXGI_FORMAT_R16G16_TYPELESS +
+ + +

A two-component, 32-bit floating-point format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_FLOAT + DXGI_FORMAT_R16G16_FLOAT +
+ + +

A two-component, 32-bit unsigned-normalized-integer format that supports 16 bits each for the green and red channels.

+
+ + bb173059 + DXGI_FORMAT_R16G16_UNORM + DXGI_FORMAT_R16G16_UNORM +
+ + +

A two-component, 32-bit unsigned-integer format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_UINT + DXGI_FORMAT_R16G16_UINT +
+ + +

A two-component, 32-bit signed-normalized-integer format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_SNORM + DXGI_FORMAT_R16G16_SNORM +
+ + +

A two-component, 32-bit signed-integer format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_SINT + DXGI_FORMAT_R16G16_SINT +
+ + +

A single-component, 32-bit typeless format that supports 32 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R32_TYPELESS + DXGI_FORMAT_R32_TYPELESS +
+ + +

A single-component, 32-bit floating-point format that supports 32 bits for depth.

+
+ + bb173059 + DXGI_FORMAT_D32_FLOAT + DXGI_FORMAT_D32_FLOAT +
+ + +

A single-component, 32-bit floating-point format that supports 32 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R32_FLOAT + DXGI_FORMAT_R32_FLOAT +
+ + +

A single-component, 32-bit unsigned-integer format that supports 32 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R32_UINT + DXGI_FORMAT_R32_UINT +
+ + +

A single-component, 32-bit signed-integer format that supports 32 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R32_SINT + DXGI_FORMAT_R32_SINT +
+ + +

A two-component, 32-bit typeless format that supports 24 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R24G8_TYPELESS + DXGI_FORMAT_R24G8_TYPELESS +
+ + +

A 32-bit z-buffer format that supports 24 bits for depth and 8 bits for stencil.

+
+ + bb173059 + DXGI_FORMAT_D24_UNORM_S8_UINT + DXGI_FORMAT_D24_UNORM_S8_UINT +
+ + +

A 32-bit format, that contains a 24 bit, single-component, unsigned-normalized integer, with an additional typeless 8 bits. This format has 24 bits red channel and 8 bits unused.

+
+ + bb173059 + DXGI_FORMAT_R24_UNORM_X8_TYPELESS + DXGI_FORMAT_R24_UNORM_X8_TYPELESS +
+ + +

A 32-bit format, that contains a 24 bit, single-component, typeless format, with an additional 8 bit unsigned integer component. This format has 24 bits unused and 8 bits green channel.

+
+ + bb173059 + DXGI_FORMAT_X24_TYPELESS_G8_UINT + DXGI_FORMAT_X24_TYPELESS_G8_UINT +
+ + +

A two-component, 16-bit typeless format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_TYPELESS + DXGI_FORMAT_R8G8_TYPELESS +
+ + +

A two-component, 16-bit unsigned-normalized-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_UNORM + DXGI_FORMAT_R8G8_UNORM +
+ + +

A two-component, 16-bit unsigned-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_UINT + DXGI_FORMAT_R8G8_UINT +
+ + +

A two-component, 16-bit signed-normalized-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_SNORM + DXGI_FORMAT_R8G8_SNORM +
+ + +

A two-component, 16-bit signed-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_SINT + DXGI_FORMAT_R8G8_SINT +
+ + +

A single-component, 16-bit typeless format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_TYPELESS + DXGI_FORMAT_R16_TYPELESS +
+ + +

A single-component, 16-bit floating-point format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_FLOAT + DXGI_FORMAT_R16_FLOAT +
+ + +

A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for depth.

+
+ + bb173059 + DXGI_FORMAT_D16_UNORM + DXGI_FORMAT_D16_UNORM +
+ + +

A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_UNORM + DXGI_FORMAT_R16_UNORM +
+ + +

A single-component, 16-bit unsigned-integer format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_UINT + DXGI_FORMAT_R16_UINT +
+ + +

A single-component, 16-bit signed-normalized-integer format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_SNORM + DXGI_FORMAT_R16_SNORM +
+ + +

A single-component, 16-bit signed-integer format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_SINT + DXGI_FORMAT_R16_SINT +
+ + +

A single-component, 8-bit typeless format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_TYPELESS + DXGI_FORMAT_R8_TYPELESS +
+ + +

A single-component, 8-bit unsigned-normalized-integer format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_UNORM + DXGI_FORMAT_R8_UNORM +
+ + +

A single-component, 8-bit unsigned-integer format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_UINT + DXGI_FORMAT_R8_UINT +
+ + +

A single-component, 8-bit signed-normalized-integer format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_SNORM + DXGI_FORMAT_R8_SNORM +
+ + +

A single-component, 8-bit signed-integer format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_SINT + DXGI_FORMAT_R8_SINT +
+ + +

A single-component, 8-bit unsigned-normalized-integer format for alpha only.

+
+ + bb173059 + DXGI_FORMAT_A8_UNORM + DXGI_FORMAT_A8_UNORM +
+ + +

A single-component, 1-bit unsigned-normalized integer format that supports 1 bit for the red channel. 2.

+
+ + bb173059 + DXGI_FORMAT_R1_UNORM + DXGI_FORMAT_R1_UNORM +
+ + +

Three partial-precision floating-point numbers encoded into a single 32-bit value all sharing the same 5-bit exponent (variant of s10e5, which is sign bit, 10-bit mantissa, and 5-bit biased (15) exponent). There is no sign bit, and there is a shared 5-bit biased (15) exponent and a 9-bit mantissa for each channel, as shown in the following illustration. 2.

+
+ + bb173059 + DXGI_FORMAT_R9G9B9E5_SHAREDEXP + DXGI_FORMAT_R9G9B9E5_SHAREDEXP +
+ + +

A four-component, 32-bit unsigned-normalized-integer format. This packed RGB format is analogous to the UYVY format. Each 32-bit block describes a pair of pixels: (R8, G8, B8) and (R8, G8, B8) where the R8/B8 values are repeated, and the G8 values are unique to each pixel. 3

+
+ + bb173059 + DXGI_FORMAT_R8G8_B8G8_UNORM + DXGI_FORMAT_R8G8_B8G8_UNORM +
+ + +

A four-component, 32-bit unsigned-normalized-integer format. This packed RGB format is analogous to the YUY2 format. Each 32-bit block describes a pair of pixels: (R8, G8, B8) and (R8, G8, B8) where the R8/B8 values are repeated, and the G8 values are unique to each pixel. 3

+
+ + bb173059 + DXGI_FORMAT_G8R8_G8B8_UNORM + DXGI_FORMAT_G8R8_G8B8_UNORM +
+ + +

Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC1_TYPELESS + DXGI_FORMAT_BC1_TYPELESS +
+ + +

Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC1_UNORM + DXGI_FORMAT_BC1_UNORM +
+ + +

Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC1_UNORM_SRGB + DXGI_FORMAT_BC1_UNORM_SRGB +
+ + +

Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC2_TYPELESS + DXGI_FORMAT_BC2_TYPELESS +
+ + +

Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC2_UNORM + DXGI_FORMAT_BC2_UNORM +
+ + +

Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC2_UNORM_SRGB + DXGI_FORMAT_BC2_UNORM_SRGB +
+ + +

Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC3_TYPELESS + DXGI_FORMAT_BC3_TYPELESS +
+ + +

Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC3_UNORM + DXGI_FORMAT_BC3_UNORM +
+ + +

Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC3_UNORM_SRGB + DXGI_FORMAT_BC3_UNORM_SRGB +
+ + +

One-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC4_TYPELESS + DXGI_FORMAT_BC4_TYPELESS +
+ + +

One-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC4_UNORM + DXGI_FORMAT_BC4_UNORM +
+ + +

One-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC4_SNORM + DXGI_FORMAT_BC4_SNORM +
+ + +

Two-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC5_TYPELESS + DXGI_FORMAT_BC5_TYPELESS +
+ + +

Two-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC5_UNORM + DXGI_FORMAT_BC5_UNORM +
+ + +

Two-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC5_SNORM + DXGI_FORMAT_BC5_SNORM +
+ + +

A three-component, 16-bit unsigned-normalized-integer format that supports 5 bits for blue, 6 bits for green, and 5 bits for red.

+
+ + bb173059 + DXGI_FORMAT_B5G6R5_UNORM + DXGI_FORMAT_B5G6R5_UNORM +
+ + +

A four-component, 16-bit unsigned-normalized-integer format that supports 5 bits for each color channel and 1-bit alpha.

+
+ + bb173059 + DXGI_FORMAT_B5G5R5A1_UNORM + DXGI_FORMAT_B5G5R5A1_UNORM +
+ + +

A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8-bit alpha.

+
+ + bb173059 + DXGI_FORMAT_B8G8R8A8_UNORM + DXGI_FORMAT_B8G8R8A8_UNORM +
+ + +

A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8 bits unused.

+
+ + bb173059 + DXGI_FORMAT_B8G8R8X8_UNORM + DXGI_FORMAT_B8G8R8X8_UNORM +
+ + +

A four-component, 32-bit 2.8-biased fixed-point format that supports 10 bits for each color channel and 2-bit alpha.

+
+ + bb173059 + DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM + DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM +
+ + +

A four-component, 32-bit typeless format that supports 8 bits for each channel including alpha. 4

+
+ + bb173059 + DXGI_FORMAT_B8G8R8A8_TYPELESS + DXGI_FORMAT_B8G8R8A8_TYPELESS +
+ + +

A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each channel including alpha. 4

+
+ + bb173059 + DXGI_FORMAT_B8G8R8A8_UNORM_SRGB + DXGI_FORMAT_B8G8R8A8_UNORM_SRGB +
+ + +

A four-component, 32-bit typeless format that supports 8 bits for each color channel, and 8 bits are unused. 4

+
+ + bb173059 + DXGI_FORMAT_B8G8R8X8_TYPELESS + DXGI_FORMAT_B8G8R8X8_TYPELESS +
+ + +

A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each color channel, and 8 bits are unused. 4

+
+ + bb173059 + DXGI_FORMAT_B8G8R8X8_UNORM_SRGB + DXGI_FORMAT_B8G8R8X8_UNORM_SRGB +
+ + +

A typeless block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC6H_TYPELESS + DXGI_FORMAT_BC6H_TYPELESS +
+ + +

A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC6H_UF16 + DXGI_FORMAT_BC6H_UF16 +
+ + +

A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC6H_SF16 + DXGI_FORMAT_BC6H_SF16 +
+ + +

A typeless block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC7_TYPELESS + DXGI_FORMAT_BC7_TYPELESS +
+ + +

A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC7_UNORM + DXGI_FORMAT_BC7_UNORM +
+ + +

A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC7_UNORM_SRGB + DXGI_FORMAT_BC7_UNORM_SRGB +
+ + + No documentation. + + + DXGI_MAP_FLAGS + DXGI_MAP_FLAGS + + + + No documentation. + + + DXGI_MAP_READ + DXGI_MAP_READ + + + + No documentation. + + + DXGI_MAP_WRITE + DXGI_MAP_WRITE + + + + No documentation. + + + DXGI_MAP_DISCARD + DXGI_MAP_DISCARD + + + + No documentation. + + + DXGI_PRESENT_FLAGS + DXGI_PRESENT_FLAGS + + + + No documentation. + + + DXGI_PRESENT_TEST + DXGI_PRESENT_TEST + + + + No documentation. + + + DXGI_PRESENT_DO_NOT_SEQUENCE + DXGI_PRESENT_DO_NOT_SEQUENCE + + + + No documentation. + + + DXGI_PRESENT_RESTART + DXGI_PRESENT_RESTART + + + + None. + + + None + None + + + +

Flags indicating the memory location of a resource.

+
+ + bb173070 + DXGI_RESIDENCY + DXGI_RESIDENCY +
+ + +

The resource is located in video memory.

+
+ + bb173070 + DXGI_RESIDENCY_FULLY_RESIDENT + DXGI_RESIDENCY_FULLY_RESIDENT +
+ + +

At least some of the resource is located in CPU memory.

+
+ + bb173070 + DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY + DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY +
+ + +

At least some of the resource has been paged out to the hard drive.

+
+ + bb173070 + DXGI_RESIDENCY_EVICTED_TO_DISK + DXGI_RESIDENCY_EVICTED_TO_DISK +
+ + + No documentation. + + + DXGI_RESOURCE_PRIORITY + DXGI_RESOURCE_PRIORITY + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_MINIMUM + DXGI_RESOURCE_PRIORITY_MINIMUM + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_LOW + DXGI_RESOURCE_PRIORITY_LOW + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_NORMAL + DXGI_RESOURCE_PRIORITY_NORMAL + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_HIGH + DXGI_RESOURCE_PRIORITY_HIGH + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_MAXIMUM + DXGI_RESOURCE_PRIORITY_MAXIMUM + + + + No documentation. + + + DXGI_SHARED_RESOURCE_FLAGS + DXGI_SHARED_RESOURCE_FLAGS + + + + None. + + + None + None + + + +

Options for swap-chain behavior.

+
+ +

This enumeration is used by the structure and the method.

This enumeration is also used by the DXGI_SWAP_CHAIN_DESC1 structure.

Swap chains that you create in full-screen mode with the method behave as if DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY is set even though the flag is not set. That is, presented content is not accessible by remote access or through the desktop duplication APIs.

Swap chains that you create with the IDXGIFactory2::CreateSwapChainForHwnd, IDXGIFactory2::CreateSwapChainForImmersiveWindow, and IDXGIFactory2::CreateSwapChainForCompositionSurface methods are not protected if DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY is not set and are protected if DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY is set. When swap chains are protected, screen scraping is prevented and, in full-screen mode, presented content is not accessible through the desktop duplication APIs.

+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG + DXGI_SWAP_CHAIN_FLAG +
+ + +

Set this flag to turn off automatic image rotation; that is, do not perform a rotation when transferring the contents of the front buffer to the monitor. Use this flag to avoid a bandwidth penalty when an application expects to handle rotation. This option is valid only during full-screen mode.

+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG_NONPREROTATED + DXGI_SWAP_CHAIN_FLAG_NONPREROTATED +
+ + +

Set this flag to enable an application to switch modes by calling . When switching from windowed to full-screen mode, the display mode (or monitor resolution) will be changed to match the dimensions of the application window.

+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH + DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH +
+ + +

Set this flag to enable an application to render using GDI on a swap chain or a surface. This will allow the application to call on the 0th back buffer or a surface.

+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE + DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE +
+ + + None. + + + None + None + + + +

Options for handling pixels in a display surface after calling .

+
+ +

This enumeration is used by the structure.

This enumeration is also used by the DXGI_SWAP_CHAIN_DESC1 structure.

The primary difference between presentation models is how back-buffer contents get to the Desktop Window Manager (DWM) for composition. In the bitblt model, which is used with the and values, contents of the back buffer get copied into the redirection surface on each call to . In the flip model, which is used with the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value, all back buffers are shared with the DWM. Therefore, the DWM can compose straight from those back buffers without any additional copy operations. + In general, the flip model is the more efficient model. The flip model also provides more features, such as enhanced present statistics. +

Regardless of whether the flip model is more efficient, an application still might choose the bitblt model for the following reasons:

  • The bitblt model is the only way to mix GDI and DirectX presentation.

    In the flip model, the application must create the swap chain with , and then must use GetDC on the back buffer explicitly. After the first successful call to on a flip-model swap chain, GDI no longer works with the that is associated with that swap chain, even after the destruction of the swap chain. This restriction even extends to methods like ScrollWindowEx.

  • The flip model requires at least three window-sized buffers if the application uses child windows. For the bitblt model, this minimum is two buffers.

+
+ + bb173077 + DXGI_SWAP_EFFECT + DXGI_SWAP_EFFECT +
+ + + No documentation. + + + DXGI_SWAP_EFFECT_DISCARD + DXGI_SWAP_EFFECT_DISCARD + + + + No documentation. + + + DXGI_SWAP_EFFECT_SEQUENTIAL + DXGI_SWAP_EFFECT_SEQUENTIAL + + + + No documentation. + + + DXGI_USAGE_ENUM + DXGI_USAGE_ENUM + + + + No documentation. + + + DXGI_USAGE_SHADER_INPUT + DXGI_USAGE_SHADER_INPUT + + + + No documentation. + + + DXGI_USAGE_RENDER_TARGET_OUTPUT + DXGI_USAGE_RENDER_TARGET_OUTPUT + + + + No documentation. + + + DXGI_USAGE_BACK_BUFFER + DXGI_USAGE_BACK_BUFFER + + + + No documentation. + + + DXGI_USAGE_SHARED + DXGI_USAGE_SHARED + + + + No documentation. + + + DXGI_USAGE_READ_ONLY + DXGI_USAGE_READ_ONLY + + + + No documentation. + + + DXGI_USAGE_DISCARD_ON_PRESENT + DXGI_USAGE_DISCARD_ON_PRESENT + + + + No documentation. + + + DXGI_USAGE_UNORDERED_ACCESS + DXGI_USAGE_UNORDERED_ACCESS + + + + No documentation. + + + DXGI_MWA_FLAGS + DXGI_MWA_FLAGS + + + + No documentation. + + + DXGI_MWA_NO_WINDOW_CHANGES + DXGI_MWA_NO_WINDOW_CHANGES + + + + No documentation. + + + DXGI_MWA_NO_ALT_ENTER + DXGI_MWA_NO_ALT_ENTER + + + + No documentation. + + + DXGI_MWA_NO_PRINT_SCREEN + DXGI_MWA_NO_PRINT_SCREEN + + + + No documentation. + + + DXGI_MWA_VALID + DXGI_MWA_VALID + + + + None. + + + None + None + + + + Functions + + + + + +

Creates a DXGI 1.1 factory that generates objects used to enumerate and specify video graphics settings.

+
+

The globally unique identifier () of the object referenced by the ppFactory parameter.

+

Address of a reference to an object.

+

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

+ +

Use a DXGI 1.1 factory to generate objects that enumerate adapters, create swap chains, and associate a window with the alt+enter key sequence for toggling to and from the full-screen display mode.

If the CreateDXGIFactory1 function succeeds, the reference count on the interface is incremented. To avoid a memory leak, when you finish using the interface, call the IDXGIFactory1::Release method to release the interface.

This entry point is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Note??Do not mix the use of DXGI 1.0 () and DXGI 1.1 () in an application. Use or , but not both in an application.

+
+ + ff471318 + HRESULT CreateDXGIFactory1([In] const GUID& riid,[Out] void** ppFactory) + CreateDXGIFactory1 +
+ + +

Creates a DXGI 1.0 factory that generates objects used to enumerate and specify video graphics settings.

+
+

The globally unique identifier () of the object referenced by the ppFactory parameter.

+

Address of a reference to an object.

+

Returns if successful; otherwise, returns one of the following DXGI_ERROR.

+ +

Use a DXGI factory to generate objects that enumerate adapters, create swap chains, and associate a window with the alt+enter key sequence for toggling to and from the fullscreen display mode.

If the CreateDXGIFactory function succeeds, the reference count on the interface is incremented. To avoid a memory leak, when you finish using the interface, call the IDXGIFactory::Release method to release the interface.

Note??Do not mix the use of DXGI 1.0 () and DXGI 1.1 () in an application. Use or , but not both in an application.

The CreateDXGIFactory function does not exist for Metro style apps. Instead, Metro style apps use the CreateDXGIFactory1 function.

+
+ + bb204862 + HRESULT CreateDXGIFactory([In] const GUID& riid,[Out] void** ppFactory) + CreateDXGIFactory +
+ + + Functions + + + + + Constant FrameStatisticsDisjoint. + DXGI_ERROR_FRAME_STATISTICS_DISJOINT + + + Constant DeviceReset. + DXGI_ERROR_DEVICE_RESET + + + Constant NotFound. + DXGI_ERROR_NOT_FOUND + + + Constant DriverInternalError. + DXGI_ERROR_DRIVER_INTERNAL_ERROR + + + Constant InvalidCall. + DXGI_ERROR_INVALID_CALL + + + Constant WasStillDrawing. + DXGI_ERROR_WAS_STILL_DRAWING + + + Constant Unsupported. + DXGI_ERROR_UNSUPPORTED + + + Constant RemoteClientDisconnected. + DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED + + + Constant DeviceRemoved. + DXGI_ERROR_DEVICE_REMOVED + + + Constant DeviceHung. + DXGI_ERROR_DEVICE_HUNG + + + Constant RemoteOufOfMemory. + DXGI_ERROR_REMOTE_OUTOFMEMORY + + + Constant MoreData. + DXGI_ERROR_MORE_DATA + + + Constant Nonexclusive. + DXGI_ERROR_NONEXCLUSIVE + + + Constant GraphicsVidpnSourceInUse. + DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE + + + Constant NotCurrentlyAvailable. + DXGI_ERROR_NOT_CURRENTLY_AVAILABLE + + + +

The interface represents a display sub-system (including one or more GPU's, DACs and video memory).

+
+ +

This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

A display sub-system is often referred to as a video card, however, on some machines the display sub-system is part of the mother board.

To enumerate the display sub-systems, use . To get an interface to the adapter for a particular device, use . To create a software adapter, use .

+
+ + ff471329 + IDXGIAdapter1 + IDXGIAdapter1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets a DXGI 1.1 description of an adapter (or video card).

+
+

A reference to a structure that describes the adapter. This parameter must not be null.

+

Returns if successful; otherwise, returns E_INVALIDARG if the pDesc parameter is null.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Use the GetDesc1 method to get a DXGI 1.1 description of an adapter. To get a DXGI 1.0 description, use the method.

+
+ + ff471330 + HRESULT IDXGIAdapter1::GetDesc1([Out] DXGI_ADAPTER_DESC1* pDesc) + IDXGIAdapter1::GetDesc1 +
+ + +

Gets a DXGI 1.1 description of an adapter (or video card).

+
+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Use the GetDesc1 method to get a DXGI 1.1 description of an adapter. To get a DXGI 1.0 description, use the method.

+
+ + ff471330 + GetDesc1 + GetDesc1 + HRESULT IDXGIAdapter1::GetDesc1([Out] DXGI_ADAPTER_DESC1* pDesc) +
+ + +

An interface implements a derived class for DXGI objects that produce image data.

+
+ +

This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

The interface is designed for use by DXGI objects that need access to other DXGI objects. This interface is useful to applications that do not use Direct3D to communicate with DXGI.

+
+ + ff471331 + IDXGIDevice1 + IDXGIDevice1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the number of frames that the system is allowed to queue for rendering.

+
+

The maximum number of back buffer frames that a driver can queue. The value defaults to 3, but can range from 1 to 16. A value of 0 will reset latency to the default. For multi-head devices, this value is specified per-head.

+

Returns if successful; otherwise, if the device was removed.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.

+
+ + ff471334 + HRESULT IDXGIDevice1::SetMaximumFrameLatency([In] unsigned int MaxLatency) + IDXGIDevice1::SetMaximumFrameLatency +
+ + +

Gets the number of frames that the system is allowed to queue for rendering.

+
+

This value is set to the number of frames that can be queued for render. This value defaults to 3, but can range from 1 to 16.

+

Returns if successful; otherwise, returns one of the following members of the D3DERR enumerated type:

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.

+
+ + ff471332 + HRESULT IDXGIDevice1::GetMaximumFrameLatency([Out] unsigned int* pMaxLatency) + IDXGIDevice1::GetMaximumFrameLatency +
+ + +

Gets or sets the number of frames that the system is allowed to queue for rendering.

+
+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.

+
+ + ff471332 + GetMaximumFrameLatency / SetMaximumFrameLatency + GetMaximumFrameLatency + HRESULT IDXGIDevice1::GetMaximumFrameLatency([Out] unsigned int* pMaxLatency) +
+ + +

Using a key, acquires exclusive rendering access to a shared resource.

+
+ +

The AcquireSync method creates a lock to a surface that is shared between multiple devices, allowing only one device to render to a surface at a time. This method uses a key to determine which device currently has exclusive access to the surface.

When a surface is created using the value of the enumeration, you must call the AcquireSync method before rendering to the surface. You must call the ReleaseSync method when you are done rendering to a surface.

To acquire a reference to the keyed mutex object of a shared resource, call the QueryInterface method of the resource and pass in the UUID of the interface. For more information about acquiring this reference, see the following code example.

The AcquireSync method uses the key as follows, depending on the state of the surface:

  • On initial creation, the surface is unowned and any device can call the AcquireSync method to gain access. For an unowned device, only a key of 0 will succeed. Calling the AcquireSync method for any other key will stall the calling CPU thread.
  • If the surface is owned by a device when you call the AcquireSync method, the CPU thread that called the AcquireSync method will stall until the owning device calls the ReleaseSync method using the same Key.
  • If the surface is unowned when you call the AcquireSync method (for example, the last owning device has already called the ReleaseSync method), the AcquireSync method will succeed if you specify the same key that was specified when the ReleaseSync method was last called. Calling the AcquireSync method using any other key will cause a stall.
  • When the owning device calls the ReleaseSync method with a particular key, and more than one device is waiting after calling the AcquireSync method using the same key, any one of the waiting devices could be woken up first. The order in which devices are woken up is undefined.
  • A keyed mutex does not support recursive calls to the AcquireSync method.
+
+ + ff471339 + IDXGIKeyedMutex + IDXGIKeyedMutex +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Using a key, acquires exclusive rendering access to a shared resource.

+
+

A value that indicates which device to give access to. This method will succeed when the device that currently owns the surface calls the method using the same value. This value can be any UINT64 value.

+

The time-out interval, in milliseconds. This method will return if the interval elapses, and the keyed mutex has not been released using the specified Key. If this value is set to zero, the AcquireSync method will test to see if the keyed mutex has been released and returns immediately. If this value is set to INFINITE, the time-out interval will never elapse.

+

Return if successful.

If the owning device attempted to create another keyed mutex on the same shared resource, AcquireSync returns E_FAIL.

AcquireSync can also return the following DWORD constants. Therefore, you should explicitly check for these constants. If you only use the SUCCEEDED macro on the return value to determine if AcquireSync succeeded, you will not catch these constants.

  • WAIT_ABANDONED - The shared surface and keyed mutex are no longer in a consistent state. If AcquireSync returns this value, you should release and recreate both the keyed mutex and the shared surface.
  • WAIT_TIMEOUT - The time-out interval elapsed before the specified key was released.
+ +

The AcquireSync method creates a lock to a surface that is shared between multiple devices, allowing only one device to render to a surface at a time. This method uses a key to determine which device currently has exclusive access to the surface.

When a surface is created using the value of the enumeration, you must call the AcquireSync method before rendering to the surface. You must call the ReleaseSync method when you are done rendering to a surface.

To acquire a reference to the keyed mutex object of a shared resource, call the QueryInterface method of the resource and pass in the UUID of the interface. For more information about acquiring this reference, see the following code example.

The AcquireSync method uses the key as follows, depending on the state of the surface:

  • On initial creation, the surface is unowned and any device can call the AcquireSync method to gain access. For an unowned device, only a key of 0 will succeed. Calling the AcquireSync method for any other key will stall the calling CPU thread.
  • If the surface is owned by a device when you call the AcquireSync method, the CPU thread that called the AcquireSync method will stall until the owning device calls the ReleaseSync method using the same Key.
  • If the surface is unowned when you call the AcquireSync method (for example, the last owning device has already called the ReleaseSync method), the AcquireSync method will succeed if you specify the same key that was specified when the ReleaseSync method was last called. Calling the AcquireSync method using any other key will cause a stall.
  • When the owning device calls the ReleaseSync method with a particular key, and more than one device is waiting after calling the AcquireSync method using the same key, any one of the waiting devices could be woken up first. The order in which devices are woken up is undefined.
  • A keyed mutex does not support recursive calls to the AcquireSync method.
+
+ + ff471339 + HRESULT IDXGIKeyedMutex::AcquireSync([In] unsigned longlong Key,[In] unsigned int dwMilliseconds) + IDXGIKeyedMutex::AcquireSync +
+ + +

Using a key, releases exclusive rendering access to a shared resource.

+
+

A value that indicates which device to give access to. This method succeeds when the device that currently owns the surface calls the ReleaseSync method using the same value. This value can be any UINT64 value.

+

Returns if successful.

If the device attempted to release a keyed mutex that is not valid or owned by the device, ReleaseSync returns E_FAIL.

+ +

The ReleaseSync method releases a lock to a surface that is shared between multiple devices. This method uses a key to determine which device currently has exclusive access to the surface.

When a surface is created using the value of the enumeration, you must call the method before rendering to the surface. You must call the ReleaseSync method when you are done rendering to a surface.

After you call the ReleaseSync method, the shared resource is unset from the rendering pipeline.

To acquire a reference to the keyed mutex object of a shared resource, call the QueryInterface method of the resource and pass in the UUID of the interface. For more information about acquiring this reference, see the following code example.

+
+ + ff471340 + HRESULT IDXGIKeyedMutex::ReleaseSync([In] unsigned longlong Key) + IDXGIKeyedMutex::ReleaseSync +
+ + +

An interface represents an adapter output (such as a monitor).

+
+ +

To see the outputs available, use . To see the specific output that the swap chain will update, use .

+
+ + bb174546 + IDXGIOutput + IDXGIOutput +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Get a description of the output.

+
+

A reference to the output description (see ).

+

Returns a code that indicates success or failure. if successful, if pDesc is passed in as null.

+ + bb174548 + HRESULT IDXGIOutput::GetDesc([Out] DXGI_OUTPUT_DESC* pDesc) + IDXGIOutput::GetDesc +
+ + +

[Starting with Direct3D 11.1, we recommend not to use GetDisplayModeList anymore to retrieve the matching display mode. Instead, use IDXGIOutput1::GetDisplayModeList1, which supports stereo display mode.]

Gets the display modes that match the requested format and other input options.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

Returns one of the following DXGI_ERROR. It is rare, but possible, that the display modes available can change immediately after calling this method, in which case is returned (if there is not enough room for all the display modes). If GetDisplayModeList is called from a Remote Desktop Services session (formerly Terminal Services session), is returned.

+ +

In general, when switching from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth and refresh rate of the swap chain. To exercise more control over the display mode, use this API to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor).

As shown, this API is designed to be called twice. First to get the number of modes available, and second to return a description of the modes.

 UINT num = 0;	
+             format = ;	
+            UINT flags         = ; pOutput->GetDisplayModeList( format, flags, &num, 0); ...  * pDescs = new [num];	
+            pOutput->GetDisplayModeList( format, flags, &num, pDescs); 
+
+ + bb174549 + HRESULT IDXGIOutput::GetDisplayModeList([In] DXGI_FORMAT EnumFormat,[In] unsigned int Flags,[InOut] unsigned int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC* pDesc) + IDXGIOutput::GetDisplayModeList +
+ + +

[Starting with Direct3D 11.1, we recommend not to use FindClosestMatchingMode anymore to find the display mode that most closely matches the requested display mode. Instead, use IDXGIOutput1::FindClosestMatchingMode1, which supports stereo display mode.]

Finds the display mode that most closely matches the requested display mode.

+
+ No documentation. + No documentation. + No documentation. +

Returns one of the following DXGI_ERROR.

+ +

FindClosestMatchingMode behaves similarly to the IDXGIOutput1::FindClosestMatchingMode1 except FindClosestMatchingMode considers only the mono display modes. IDXGIOutput1::FindClosestMatchingMode1 considers only stereo modes if you set the Stereo member in the DXGI_MODE_DESC1 structure that pModeToMatch points to, and considers only mono modes if Stereo is not set.

IDXGIOutput1::FindClosestMatchingMode1 returns a matched display-mode set with only stereo modes or only mono modes. + FindClosestMatchingMode behaves as though you specified the input mode as mono.

+
+ + bb174547 + HRESULT IDXGIOutput::FindClosestMatchingMode([In] const DXGI_MODE_DESC* pModeToMatch,[Out] DXGI_MODE_DESC* pClosestMatch,[In, Optional] IUnknown* pConcernedDevice) + IDXGIOutput::FindClosestMatchingMode +
+ + +

Halt a thread until the next vertical blank occurs.

+
+

Returns one of the following DXGI_ERROR.

+ +

A vertical blank occurs when the raster moves from the lower right corner to the upper left corner to begin drawing the next frame.

+
+ + bb174559 + HRESULT IDXGIOutput::WaitForVBlank() + IDXGIOutput::WaitForVBlank +
+ + +

Takes ownership of an output.

+
+

A reference to the interface of a device (such as an ).

+

Set to TRUE to enable other threads or applications to take ownership of the device; otherwise, set to .

+

Returns one of the DXGI_ERROR values.

+ +

When you are finished with the output, call .

TakeOwnership should not be called directly by applications, since results will be unpredictable. It is called implicitly by the DXGI swap chain object during full-screen transitions, and should not be used as a substitute for swap-chain methods.

Notes for Metro style apps

If a Metro style app uses TakeOwnership, it fails with .

+
+ + Bb174558 + HRESULT IDXGIOutput::TakeOwnership([In] IUnknown* pDevice,[In] BOOL Exclusive) + IDXGIOutput::TakeOwnership +
+ + +

Releases ownership of the output.

+
+ +

If you are not using a swap chain, get access to an output by calling and release it when you are finished by calling . An application that uses a swap chain will typically not call either of these methods.

+
+ + Bb174554 + void IDXGIOutput::ReleaseOwnership() + IDXGIOutput::ReleaseOwnership +
+ + +

Gets a description of the gamma-control capabilities.

+
+

A reference to a description of the gamma-control capabilities (see ).

+

Returns one of the DXGI_ERROR values.

+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174553 + HRESULT IDXGIOutput::GetGammaControlCapabilities([Out] DXGI_GAMMA_CONTROL_CAPABILITIES* pGammaCaps) + IDXGIOutput::GetGammaControlCapabilities +
+ + +

Sets the gamma controls.

+
+

A reference to an array of gamma controls (see ).

+

Returns one of the DXGI_ERROR values.

+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + Bb174557 + HRESULT IDXGIOutput::SetGammaControl([In] const DXGI_GAMMA_CONTROL* pArray) + IDXGIOutput::SetGammaControl +
+ + +

Gets the gamma control settings.

+
+

An array of gamma control settings (see ).

+

Returns one of the DXGI_ERROR values.

+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174552 + HRESULT IDXGIOutput::GetGammaControl([Out] DXGI_GAMMA_CONTROL* pArray) + IDXGIOutput::GetGammaControl +
+ + +

Changes the display mode.

+
+

A reference to a surface (see ) used for rendering an image to the screen. The surface must have been created as a back buffer (DXGI_USAGE_BACKBUFFER).

+

Returns one of the DXGI_ERROR values.

+ +

should not be called directly by applications, since results will be unpredictable. It is called implicitly by the DXGI swap chain object during full-screen transitions, and should not be used as a substitute for swap-chain methods.

This method should only be called between and calls.

Notes for Metro style apps

If a Metro style app uses SetDisplaySurface, it fails with .

+
+ + bb174556 + HRESULT IDXGIOutput::SetDisplaySurface([In] IDXGISurface* pScanoutSurface) + IDXGIOutput::SetDisplaySurface +
+ + +

[Starting with Direct3D 11.1, we recommend not to use GetDisplaySurfaceData anymore to retrieve the current display surface. Instead, use IDXGIOutput1::GetDisplaySurfaceData1, which supports stereo display mode.]

Gets a copy of the current display surface.

+
+ No documentation. +

Returns one of the DXGI_ERROR values.

+ +

can only be called when an output is in full-screen mode. If the method succeeds, DXGI fills the destination surface.

Use to determine the size (width and height) of the output when you want to allocate space for the destination surface. This is true regardless of target monitor rotation. A destination surface created by a graphics component (such as Direct3D 10) must be created with CPU-write permission (see ). Other surfaces should be created with CPU read-write permission (see D3D10_CPU_ACCESS_READ_WRITE). This method will modify the surface data to fit the destination surface (stretch, shrink, convert format, rotate). The stretch and shrink is performed with point-sampling.

+
+ + bb174550 + HRESULT IDXGIOutput::GetDisplaySurfaceData([In] IDXGISurface* pDestination) + IDXGIOutput::GetDisplaySurfaceData +
+ + +

Gets statistics about recently rendered frames.

+
+

A reference to frame statistics (see ).

+

If this function succeeds, it returns . Otherwise, it might return .

+ +

This API is similar to .

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174551 + HRESULT IDXGIOutput::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats) + IDXGIOutput::GetFrameStatistics +
+ + + Find the display mode that most closely matches the requested display mode. + + + Direct3D devices require UNORM formats. This method finds the closest matching available display mode to the mode specified in pModeToMatch. Similarly ranked fields (i.e. all specified, or all unspecified, etc) are resolved in the following order. ScanlineOrdering Scaling Format Resolution RefreshRate When determining the closest value for a particular field, previously matched fields are used to filter the display mode list choices, and other fields are ignored. For example, when matching Resolution, the display mode list will have already been filtered by a certain ScanlineOrdering, Scaling, and Format, while RefreshRate is ignored. This ordering doesn't define the absolute ordering for every usage scenario of FindClosestMatchingMode, because the application can choose some values initially, effectively changing the order that fields are chosen. Fields of the display mode are matched one at a time, generally in a specified order. If a field is unspecified, FindClosestMatchingMode gravitates toward the values for the desktop related to this output. If this output is not part of the desktop, then the default desktop output is used to find values. If an application uses a fully unspecified display mode, FindClosestMatchingMode will typically return a display mode that matches the desktop settings for this output. Unspecified fields are lower priority than specified fields and will be resolved later than specified fields. + + A reference to the Direct3D device interface. If this parameter is NULL, only modes whose format matches that of pModeToMatch will be returned; otherwise, only those formats that are supported for scan-out by the device are returned. + The desired display mode (see ). Members of DXGI_MODE_DESC can be unspecified indicating no preference for that member. A value of 0 for Width or Height indicates the value is unspecified. If either Width or Height are 0 both must be 0. A numerator and denominator of 0 in RefreshRate indicate it is unspecified. Other members of DXGI_MODE_DESC have enumeration values indicating the member is unspecified. If pConnectedDevice is NULL Format cannot be DXGI_FORMAT_UNKNOWN. + The mode that most closely matches pModeToMatch. + Returns one of the following . + HRESULT IDXGIOutput::FindClosestMatchingMode([In] const DXGI_MODE_DESC* pModeToMatch,[Out] DXGI_MODE_DESC* pClosestMatch,[In, Optional] IUnknown* pConcernedDevice) + + + + Gets the display modes that match the requested format and other input options. + + + In general, when switching from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth and refresh rate of the swap chain. To exercise more control over the display mode, use this API to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor). As shown, this API is designed to be called twice. First to get the number of modes available, and second to return a description of the modes. + UINT num = 0; + DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT; + UINT flags = DXGI_ENUM_MODES_INTERLACED; pOutput->GetDisplayModeList( format, flags, &num, 0); ... DXGI_MODE_DESC * pDescs = new DXGI_MODE_DESC[num]; + pOutput->GetDisplayModeList( format, flags, &num, pDescs); + + + + The color format (see ). + format for modes to include (see {{DXGI_ENUM_MODES}}). DXGI_ENUM_MODES_SCALING needs to be specified to expose the display modes that require scaling. Centered modes, requiring no scaling and corresponding directly to the display output, are enumerated by default. + Returns a list of display modes (see ); + HRESULT IDXGIOutput::GetDisplayModeList([None] DXGI_FORMAT EnumFormat,[None] int Flags,[InOut] int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC* pDesc) + + + +

Get a description of the output.

+
+ + bb174548 + GetDesc + GetDesc + HRESULT IDXGIOutput::GetDesc([Out] DXGI_OUTPUT_DESC* pDesc) +
+ + +

Gets a description of the gamma-control capabilities.

+
+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174553 + GetGammaControlCapabilities + GetGammaControlCapabilities + HRESULT IDXGIOutput::GetGammaControlCapabilities([Out] DXGI_GAMMA_CONTROL_CAPABILITIES* pGammaCaps) +
+ + +

Gets or sets the gamma control settings.

+
+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174552 + GetGammaControl / SetGammaControl + GetGammaControl + HRESULT IDXGIOutput::GetGammaControl([Out] DXGI_GAMMA_CONTROL* pArray) +
+ + +

Gets statistics about recently rendered frames.

+
+ +

This API is similar to .

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174551 + GetFrameStatistics + GetFrameStatistics + HRESULT IDXGIOutput::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats) +
+ + +

An interface allows resource sharing and identifies the memory that a resource resides in.

+
+ +

To find out what type of memory a resource is currently located in, use . To share resources between processes, use . For information about how to share resources between multiple Windows graphics APIs, including Direct3D 11, Direct2D, Direct3D 10, and Direct3D 9Ex, see Surface Sharing Between Windows Graphics APIs.

You can retrieve the interface from any video memory resource that you create from a Direct3D 10 and later function. Any Direct3D object that supports or also supports . For example, the Direct3D 2D texture object that you create from supports . You can call QueryInterface on the 2D texture object () to retrieve the interface. For example, to retrieve the interface from the 2D texture object, use the following code.

 * pDXGIResource;	
+            hr = g_pd3dTexture2D->QueryInterface(__uuidof(), (void **)&pDXGIResource);	
+            
+
+ + bb174560 + IDXGIResource + IDXGIResource +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[Starting with Direct3D 11.1, we recommend not to use GetSharedHandle anymore to retrieve the handle to a shared resource. Instead, use IDXGIResource1::CreateSharedHandle to get a handle for sharing. To use IDXGIResource1::CreateSharedHandle, you must create the resource as shared and specify that it uses NT handles (that is, you set the D3D11_RESOURCE_MISC_SHARED_NTHANDLE flag). We also recommend that you create shared resources that use NT handles so you can use CloseHandle, DuplicateHandle, and so on on those shared resources.]

Gets the handle to a shared resource.

+
+ No documentation. +

Returns one of the DXGI_ERROR values.

+ +

You can pass the handle that GetSharedHandle returns in a call to the method to give a device access to a shared resource that you created on a different device.

GetSharedHandle doesn't always return a handle. GetSharedHandle only returns the handle when you created the resource as shared (that is, you set the or flag).

The handle that GetSharedHandle returns is not an NT handle. Therefore, don't use the handle with CloseHandle, DuplicateHandle, and so on. The creator of a shared resource must not destroy the resource until all entities that opened the resource have destroyed the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device.

+
+ + bb174562 + HRESULT IDXGIResource::GetSharedHandle([Out] void** pSharedHandle) + IDXGIResource::GetSharedHandle +
+ + +

Get the expected resource usage.

+
+

A reference to a usage flag (see DXGI_USAGE). For Direct3D 10, a surface can be used as a shader input or a render-target output.

+

Returns one of the following DXGI_ERROR.

+ + bb174563 + HRESULT IDXGIResource::GetUsage([Out] unsigned int* pUsage) + IDXGIResource::GetUsage +
+ + +

Set the priority for evicting the resource from memory.

+
+

The priority is one of the following values:

ValueMeaning
(0x28000000)

The resource is unused and can be evicted as soon as another resource requires the memory that the resource occupies.

(0x50000000)

The eviction priority of the resource is low. The placement of the resource is not critical, and minimal work is performed to find a location for the resource. For example, if a GPU can render with a vertex buffer from either local or non-local memory with little difference in performance, that vertex buffer is low priority. Other more critical resources (for example, a render target or texture) can then occupy the faster memory.

(0x78000000)

The eviction priority of the resource is normal. The placement of the resource is important, but not critical, for performance. The resource is placed in its preferred location instead of a low-priority resource.

(0xa0000000)

The eviction priority of the resource is high. The resource is placed in its preferred location instead of a low-priority or normal-priority resource.

(0xc8000000)

The resource is evicted from memory only if there is no other way of resolving the memory requirement.

?

+

Returns one of the following DXGI_ERROR.

+ +

The eviction priority is a memory-management variable that is used by DXGI for determining how to populate overcommitted memory.

You can set priority levels other than the defined values when appropriate. For example, you can set a resource with a priority level of 0x78000001 to indicate that the resource is slightly above normal.

+
+ + Bb174564 + HRESULT IDXGIResource::SetEvictionPriority([In] unsigned int EvictionPriority) + IDXGIResource::SetEvictionPriority +
+ + +

Get the eviction priority.

+
+

A reference to the eviction priority, which determines when a resource can be evicted from memory.

The following defined values are possible.

ValueMeaning
(0x28000000)

The resource is unused and can be evicted as soon as another resource requires the memory that the resource occupies.

(0x50000000)

The eviction priority of the resource is low. The placement of the resource is not critical, and minimal work is performed to find a location for the resource. For example, if a GPU can render with a vertex buffer from either local or non-local memory with little difference in performance, that vertex buffer is low priority. Other more critical resources (for example, a render target or texture) can then occupy the faster memory.

(0x78000000)

The eviction priority of the resource is normal. The placement of the resource is important, but not critical, for performance. The resource is placed in its preferred location instead of a low-priority resource.

(0xa0000000)

The eviction priority of the resource is high. The resource is placed in its preferred location instead of a low-priority or normal-priority resource.

(0xc8000000)

The resource is evicted from memory only if there is no other way of resolving the memory requirement.

?

+

Returns one of the following DXGI_ERROR.

+ +

The eviction priority is a memory-management variable that is used by DXGI to determine how to manage overcommitted memory.

Priority levels other than the defined values are used when appropriate. For example, a resource with a priority level of 0x78000001 indicates that the resource is slightly above normal.

+
+ + bb174561 + HRESULT IDXGIResource::GetEvictionPriority([Out] unsigned int* pEvictionPriority) + IDXGIResource::GetEvictionPriority +
+ + +

[Starting with Direct3D 11.1, we recommend not to use GetSharedHandle anymore to retrieve the handle to a shared resource. Instead, use IDXGIResource1::CreateSharedHandle to get a handle for sharing. To use IDXGIResource1::CreateSharedHandle, you must create the resource as shared and specify that it uses NT handles (that is, you set the D3D11_RESOURCE_MISC_SHARED_NTHANDLE flag). We also recommend that you create shared resources that use NT handles so you can use CloseHandle, DuplicateHandle, and so on on those shared resources.]

Gets the handle to a shared resource.

+
+ +

You can pass the handle that GetSharedHandle returns in a call to the method to give a device access to a shared resource that you created on a different device.

GetSharedHandle doesn't always return a handle. GetSharedHandle only returns the handle when you created the resource as shared (that is, you set the or flag).

The handle that GetSharedHandle returns is not an NT handle. Therefore, don't use the handle with CloseHandle, DuplicateHandle, and so on. The creator of a shared resource must not destroy the resource until all entities that opened the resource have destroyed the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device.

+
+ + bb174562 + GetSharedHandle + GetSharedHandle + HRESULT IDXGIResource::GetSharedHandle([Out] void** pSharedHandle) +
+ + +

Get the expected resource usage.

+
+ + bb174563 + GetUsage + GetUsage + HRESULT IDXGIResource::GetUsage([Out] unsigned int* pUsage) +
+ + +

Get or sets the eviction priority.

+
+ +

The eviction priority is a memory-management variable that is used by DXGI to determine how to manage overcommitted memory.

Priority levels other than the defined values are used when appropriate. For example, a resource with a priority level of 0x78000001 indicates that the resource is slightly above normal.

+
+ + bb174561 + GetEvictionPriority / SetEvictionPriority + GetEvictionPriority + HRESULT IDXGIResource::GetEvictionPriority([Out] unsigned int* pEvictionPriority) +
+ + +

The interface implements methods for image-data objects.

+
+ +

An image-data object is a 2D section of memory, commonly called a surface. To get the surface from an output, call .

The runtime automatically creates an interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an interface when you call or to create a 2D texture. To retrieve the interface that represents the 2D texture surface, call ID3D11Texture2D::QueryInterface or ID3D10Texture2D::QueryInterface. In this call, you must pass the identifier of . If the 2D texture has only a single MIP-map level and does not consist of an array of textures, QueryInterface succeeds and returns a reference to the interface reference. Otherwise, QueryInterface fails and does not return the reference to .

+
+ + bb174565 + IDXGISurface + IDXGISurface +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Get a description of the surface.

+
+

A reference to the surface description (see ).

+

Returns if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.

+ + bb174566 + HRESULT IDXGISurface::GetDesc([Out] DXGI_SURFACE_DESC* pDesc) + IDXGISurface::GetDesc +
+ + +

Get a reference to the data contained in the surface, and deny GPU access to the surface.

+
+

A reference to the surface data (see ).

+

CPU read-write flags. These flags can be combined with a logical OR.

  • - Allow CPU read access.
  • - Allow CPU write access.
  • - Discard the previous contents of a resource when it is mapped.
+

Returns if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.

+ +

Use to access a surface from the CPU. To release a mapped surface (and allow GPU access) call .

+
+ + bb174567 + HRESULT IDXGISurface::Map([Out] DXGI_MAPPED_RECT* pLockedRect,[In] unsigned int MapFlags) + IDXGISurface::Map +
+ + +

Invalidate the reference to the surface retrieved by and re-enable GPU access to the resource.

+
+

Returns if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.

+ + bb174568 + HRESULT IDXGISurface::Unmap() + IDXGISurface::Unmap +
+ + + Acquires access to the surface data. + + Flags specifying CPU access permissions. + A for accessing the mapped data, or null on failure.. + + + + Acquires access to the surface data. + + Flags specifying CPU access permissions. + A for accessing the mapped data, or null on failure.. + + + + Gets a swap chain back buffer. + + The swap chain to get the buffer from. + The index of the desired buffer. + The buffer interface, or null on failure. + + + +

Get a description of the surface.

+
+ + bb174566 + GetDesc + GetDesc + HRESULT IDXGISurface::GetDesc([Out] DXGI_SURFACE_DESC* pDesc) +
+ + +

The interface extends the by adding support for using Windows Graphics Device Interface (GDI) to render to a Microsoft DirectX Graphics Infrastructure (DXGI) surface.

+
+ +

This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

An image-data object is a 2D section of memory, commonly called a surface. To get the surface from an output, call . Then, call QueryInterface on the object that returns to retrieve the interface.

Any object that supports also supports .

The runtime automatically creates an interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an interface when you call or to create a 2D texture. To retrieve the interface that represents the 2D texture surface, call ID3D11Texture2D::QueryInterface or ID3D10Texture2D::QueryInterface. In this call, you must pass the identifier of . If the 2D texture has only a single MIP-map level and does not consist of an array of textures, QueryInterface succeeds and returns a reference to the interface reference. Otherwise, QueryInterface fails and does not return the reference to .

+
+ + ff471343 + IDXGISurface1 + IDXGISurface1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Returns a device context (DC) that allows you to render to a Microsoft DirectX Graphics Infrastructure (DXGI) surface using Windows Graphics Device Interface (GDI).

+
+

A Boolean value that specifies whether to preserve Direct3D contents in the GDI DC. TRUE directs the runtime not to preserve Direct3D contents in the GDI DC; that is, the runtime discards the Direct3D contents. guarantees that Direct3D contents are available in the GDI DC.

+

A reference to an handle that represents the current device context for GDI rendering.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

After you use the GetDC method to retrieve a DC, you can render to the DXGI surface by using GDI. The GetDC method readies the surface for GDI rendering and allows inter-operation between DXGI and GDI technologies.

Keep the following in mind when using this method:

  • You must create the surface by using the flag for a surface or by using the flag for swap chains, otherwise this method fails.
  • You must release the device and call the method before you issue any new Direct3D commands.
  • This method fails if an outstanding DC has already been created by this method.
  • The format for the surface or swap chain must be or .
  • On GetDC, the render target in the output merger of the Direct3D pipeline is unbound from the surface. You must call the method on the device prior to Direct3D rendering after GDI rendering.
  • Prior to resizing buffers you must release all outstanding DCs.

You can also call GetDC on the back buffer at index 0 of a swap chain by obtaining an from the swap chain. The following code illustrates the process.

 * g_pSwapChain = null;	
+            * g_pSurface1 = null;	
+            ...	
+            //Setup the device and and swapchain	
+            g_pSwapChain->GetBuffer(0, __uuidof(), (void**) &g_pSurface1);	
+            g_pSurface1->GetDC( , &g_hDC );	
+            ...      	
+            //Draw on the DC using GDI	
+            ...	
+            //When finish drawing release the DC	
+            g_pSurface1->ReleaseDC( null ); 
+
+ + ff471345 + HRESULT IDXGISurface1::GetDC([In] BOOL Discard,[Out] HDC* phdc) + IDXGISurface1::GetDC +
+ + +

Releases the GDI device context (DC) that is associated with the current surface and allows you to use Direct3D to render.

+
+

A reference to a structure that identifies the dirty region of the surface. A dirty region is any part of the surface that you used for GDI rendering and that you want to preserve. This area is used as a performance hint to graphics subsystem in certain scenarios. Do not use this parameter to restrict rendering to the specified rectangular region. If you pass in null, ReleaseDC considers the whole surface as dirty. Otherwise, ReleaseDC uses the area specified by the as a performance hint to indicate what areas have been manipulated by GDI rendering.

You can pass a reference to an empty structure (a rectangle with no position or area) if you didn't change any content.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Use the ReleaseDC method to release the DC and indicate that your application finished all GDI rendering to this surface. You must call the ReleaseDC method before you can use Direct3D to perform additional rendering.

Prior to resizing buffers you must release all outstanding DCs.

+
+ + ff471346 + HRESULT IDXGISurface1::ReleaseDC([In, Optional] RECT* pDirtyRect) + IDXGISurface1::ReleaseDC +
+ + + Releases the GDI device context (DC) associated with the current surface and allows rendering using Direct3D. The whole surface to be considered dirty. + + + Use the ReleaseDC method to release the DC and indicate that your application has finished all GDI rendering to this surface. You must call the ReleaseDC method before you perform addition rendering using Direct3D. Prior to resizing buffers all outstanding DCs must be released. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDXGISurface1::ReleaseDC([In, Optional] RECT* pDirtyRect) + + + + Releases the GDI device context (DC) associated with the current surface and allows rendering using Direct3D. + + + Use the ReleaseDC method to release the DC and indicate that your application has finished all GDI rendering to this surface. You must call the ReleaseDC method before you perform addition rendering using Direct3D. Prior to resizing buffers all outstanding DCs must be released. + + A reference to a structure that identifies the dirty region of the surface. A dirty region is any part of the surface that you have used for GDI rendering and that you want to preserve. This is used as a performance hint to graphics subsystem in certain scenarios. Do not use this parameter to restrict rendering to the specified rectangular region. The area specified by the will be used as a performance hint to indicate what areas have been manipulated by GDI rendering. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDXGISurface1::ReleaseDC([In, Optional] RECT* pDirtyRect) + + + +

An interface implements one or more surfaces for storing rendered data before presenting it to an output.

+
+ +

You can create a swap chain in several ways. If your application uses Direct3D, create a swap chain when you create a device by + calling or . If your application does not need Direct3D, create a swap chain for use directly with DXGI by + calling , IDXGIFactory2::CreateSwapChainForHwnd, IDXGIFactory2::CreateSwapChainForImmersiveWindow, or IDXGIFactory2::CreateSwapChainForCompositionSurface.

+
+ + bb174569 + IDXGISwapChain + IDXGISwapChain +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[Starting with Direct3D 11.1, we recommend not to use Present anymore to present a rendered image. Instead, use IDXGISwapChain1::Present1.]

Presents a rendered image to the user.

+
+ No documentation. + No documentation. +

Possible return values include: , or (see DXGI_ERROR), (see ), or D3DDDIERR_DEVICEREMOVED.

Note??The Present method can return either or D3DDDIERR_DEVICEREMOVED if a video card has been physically removed from the computer, or a driver upgrade for the video card has occurred.

+ +

For the best performance when flipping swap-chain buffers in a full-screen application, see Full-Screen Application Performance Hints.

Because calling Present might cause the render thread to wait on the message-pump thread, be careful when calling this method in an application that uses multiple threads. For more details, see Multithreading Considerations.

Differences between Direct3D 9 and Direct3D 10:

Specifying in the Flags parameter is analogous to in Direct3D 9.

?

For flip presentation model swap chains that you create with the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value set, a successful presentation unbinds back buffer 0 from the graphics pipeline, except for when you pass the flag in the Flags parameter.

Flip presentation model queue

Suppose the following frames with sync-interval values are queued from oldest (A) to newest (E) before you call Present.

A: 3, B: 0, C: 0, D: 1, E: 0

When you call Present, the runtime shows frame A for 3 vertical blank intervals, then frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames C and D.

+
+ + bb174576 + HRESULT IDXGISwapChain::Present([In] unsigned int SyncInterval,[In] DXGI_PRESENT_FLAGS Flags) + IDXGISwapChain::Present +
+ + +

Accesses one of the swap-chain's back buffers.

+
+

A zero-based buffer index.

If the swap chain's swap effect is , this method can only access the first buffer; for this situation, set the index to zero.

If the swap chain's swap effect is either or DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL, this method can only access read-only buffers with indexes greater than zero. Read-only back buffers have the BufferUsage member of the or DXGI_SWAP_CHAIN_DESC1 structure set to .

+

The type of interface used to manipulate the buffer. See remarks.

+

A reference to a back-buffer interface.

+

Returns one of the following DXGI_ERROR.

+ + bb174570 + HRESULT IDXGISwapChain::GetBuffer([In] unsigned int Buffer,[In] const GUID& riid,[Out] void** ppSurface) + IDXGISwapChain::GetBuffer +
+ + +

Sets the display state to windowed or full screen.

+
+

A Boolean value that specifies whether to set the display state to windowed or full screen. TRUE for full screen, and for windowed.

+

If you pass TRUE to the Fullscreen parameter to set the display state to full screen, you can optionally set this parameter to a reference to an interface for the output target that contains the swap chain. If you set this parameter to null, DXGI will choose the output based on the swap-chain's device and the output window's placement. If you pass to Fullscreen, you must set this parameter to null.

+

This methods returns:

  • if the action succeeded and the swap chain was placed in the requested state.
  • if the action failed. There are many reasons why a windowed-mode swap chain cannot switch to full-screen mode. For instance:
    • The application is running over Terminal Server.
    • The output window is occluded.
    • The output window does not have keyboard focus.
    • Another application is already in full-screen mode.

    When this error is returned, an application can continue to run in windowed mode and try to switch to full-screen mode later.

  • is returned if a fullscreen/windowed mode transition is occurring when this API is called.
  • Other error codes if you run out of memory or encounter another unexpected fault; these codes may be treated as hard, non-continuable errors.
+ +

DXGI may change the display state of a swap chain in response to end user or system requests.

We recommend that you create a windowed swap chain and allow the end user to change the swap chain to full screen through SetFullscreenState; that is, do not set the Windowed member of to to force the swap chain to be full screen. However, if you create the swap chain as full screen, also provide the end user with a list of supported display modes because a swap chain that is created with an unsupported display mode might cause the display to go black and prevent the end user from seeing anything. Also, we recommend that you have a time-out confirmation screen or other fallback mechanism when you allow the end user to change display modes.

Notes for Metro style apps

If a Metro style app calls SetFullscreenState to set the display state to full screen, SetFullscreenState fails with .

You cannot call SetFullscreenState on a windowless swap chain that you created with IDXGIFactory2::CreateSwapChainForCompositionSurface.

For the flip presentation model, after you transition the display state to full screen, you must call ResizeBuffers to ensure that your call to IDXGISwapChain1::Present1 succeeds.

+
+ + bb174579 + HRESULT IDXGISwapChain::SetFullscreenState([In] BOOL Fullscreen,[In, Optional] IDXGIOutput* pTarget) + IDXGISwapChain::SetFullscreenState +
+ + +

Get the state associated with full-screen mode.

+
+

A reference to a boolean whose value is either:

  • TRUE if the swap chain is in full-screen mode
  • if the swap chain is in windowed mode
+

A reference to the output target (see ) when the mode is full screen; otherwise null.

+

Returns one of the following DXGI_ERROR.

+ +

When the swap chain is in full-screen mode, a reference to the target output will be returned and its reference count will be incremented.

+
+ + bb174574 + HRESULT IDXGISwapChain::GetFullscreenState([Out] BOOL* pFullscreen,[Out] IDXGIOutput** ppTarget) + IDXGISwapChain::GetFullscreenState +
+ + +

[Starting with Direct3D 11.1, we recommend not to use GetDesc anymore to get a description of the swap chain. Instead, use IDXGISwapChain1::GetDesc1.]

Get a description of the swap chain.

+
+ No documentation. +

Returns one of the following DXGI_ERROR.

+ + bb174572 + HRESULT IDXGISwapChain::GetDesc([Out] DXGI_SWAP_CHAIN_DESC* pDesc) + IDXGISwapChain::GetDesc +
+ + +

Changes the swap chain's back buffer size, format, and number of buffers. This should be called when the application window is resized.

+
+

The number of buffers in the swap chain (including all back and front buffers). This number can be different from the number of buffers with which you created the swap chain. This number can't be greater than DXGI_MAX_SWAP_CHAIN_BUFFERS. Set this number to zero to preserve the existing number of buffers in the swap chain. You can't specify greater than two buffers for the flip presentation model.

+

New width of the back buffer. If you specify zero, DXGI will use the width of the client area of the target window. You can't specify the width as zero if you called the IDXGIFactory2::CreateSwapChainForCompositionSurface method to create the swap chain for a composition surface.

+

New height of the back buffer. If you specify zero, DXGI will use the height of the client area of the target window. You can't specify the height as zero if you called the IDXGIFactory2::CreateSwapChainForCompositionSurface method to create the swap chain for a composition surface.

+

A -typed value for the new format of the back buffer. Set this value to to preserve the existing format of the back buffer. The flip presentation model supports a more restricted set of formats than the bit-block transfer (bitblt) model.

+

A combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies options for swap-chain behavior.

+

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

+ +

You can't resize a swap chain unless you release all outstanding references to its back buffers. You must release all of its direct and indirect references on the back buffers in order for ResizeBuffers to succeed.

Direct references are held by the application after it calls AddRef on a resource.

Indirect references are held by views to a resource, binding a view of the resource to a device context, a command list that used the resource, a command list that used a view to that resource, a command list that executed another command list that used the resource, and so on.

Before you call ResizeBuffers, ensure that the application releases all references (by calling the appropriate number of Release invocations) on the resources, any views to the resource, and any command lists that use either the resources or views, and ensure that neither the resource nor a view is still bound to a device context. You can use to ensure that all references are released. If a view is bound to a deferred context, you must discard the partially built command list as well (by calling ClearState, , then Release on the command list). After you call ResizeBuffers, you can re-query interfaces via .

For swap chains that you created with , before you call ResizeBuffers, also call on the swap chain's back-buffer surface to ensure that you have no outstanding GDI device contexts (DCs) open.

We recommend that you call ResizeBuffers when a client window is resized (that is, when an application receives a WM_SIZE message).

The only difference between ResizeBuffers in Windows Developer Preview and ResizeBuffers in Windows?7 is with flip presentation model swap chains that you create with the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value set. In Windows Developer Preview, you must call ResizeBuffers to realize a transition between full-screen mode and windowed mode; otherwise, your next call to the Present method fails.

+
+ + bb174577 + HRESULT IDXGISwapChain::ResizeBuffers([In] unsigned int BufferCount,[In] unsigned int Width,[In] unsigned int Height,[In] DXGI_FORMAT NewFormat,[In] DXGI_SWAP_CHAIN_FLAG SwapChainFlags) + IDXGISwapChain::ResizeBuffers +
+ + +

Resizes the output target.

+
+

A reference to a structure that describes the mode, which specifies the new width, height, format, and refresh rate of the target. If the format is , ResizeTarget uses the existing format. We only recommend that you use when the swap chain is in full-screen mode as this method is not thread safe.

+

Returns a code that indicates success or failure. is returned if a fullscreen/windowed mode transition is occurring when this API is called. See DXGI_ERROR for additional DXGI error codes.

+ +

ResizeTarget resizes the target window when the swap chain is in windowed mode, and changes the display mode on the target output when the swap chain is in full-screen mode. Therefore, applications can call ResizeTarget to resize the target window (rather than a Microsoft Win32API such as SetWindowPos) without knowledge of the swap chain display mode.

If a Metro style app calls ResizeTarget, it fails with .

You cannot call ResizeTarget on a windowless swap chain that you created with IDXGIFactory2::CreateSwapChainForCompositionSurface.

+
+ + bb174578 + HRESULT IDXGISwapChain::ResizeTarget([In] const DXGI_MODE_DESC* pNewTargetParameters) + IDXGISwapChain::ResizeTarget +
+ + +

Get the output (the display monitor) that contains the majority of the client area of the target window.

+
+

A reference to the output interface (see ).

+

Returns one of the following DXGI_ERROR.

+ +

If the method succeeds, the output interface will be filled and its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.

The output is also owned by the adapter on which the swap chain's device was created.

You cannot call GetContainingOutput on a windowless swap chain that you created with IDXGIFactory2::CreateSwapChainForCompositionSurface.

+
+ + bb174571 + HRESULT IDXGISwapChain::GetContainingOutput([Out] IDXGIOutput** ppOutput) + IDXGISwapChain::GetContainingOutput +
+ + +

Gets performance statistics about the last render frame.

+
+

A reference to a structure for the frame statistics.

+

Returns one of the DXGI_ERROR values.

+ +

You cannot use GetFrameStatistics for swap chains that both use the bit-block transfer (bitblt) presentation model and draw in windowed mode.

You can only use GetFrameStatistics for swap chains that either use the flip presentation model or draw in full-screen mode. You set the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value in the SwapEffect member of the DXGI_SWAP_CHAIN_DESC1 structure to specify that the swap chain uses the flip presentation model.

+
+ + bb174573 + HRESULT IDXGISwapChain::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats) + IDXGISwapChain::GetFrameStatistics +
+ + +

Gets the number of times that or IDXGISwapChain1::Present1 has been called.

+
+ No documentation. +

Returns one of the DXGI_ERROR values.

+ +

For info about presentation statistics for a frame, see .

+
+ + bb174575 + HRESULT IDXGISwapChain::GetLastPresentCount([Out] unsigned int* pLastPresentCount) + IDXGISwapChain::GetLastPresentCount +
+ + + Creates a swap chain. + + + If you attempt to create a swap chain in full-screen mode, and full-screen mode is unavailable, the swap chain will be created in windowed mode and DXGI_STATUS_OCCLUDED will be returned. If the buffer width or the buffer height are zero, the sizes will be inferred from the output window size in the swap-chain description. Since the target output cannot be chosen explicitly when the swap-chain is created, you should not create a full-screen swap chain. This can reduce presentation performance if the swap chain size and the output window size do not match. Here are two ways to ensure the sizes match: Create a windowed swap chain and then set it full-screen using . Save a reference to the swap-chain immediately after creation, and use it to get the output window size during a WM_SIZE event. Then resize the swap chain buffers (with ) during the transition from windowed to full-screen. If the swap chain is in full-screen mode, before you release it, you must use {{SetFullscreenState}} to switch it to windowed mode. For more information about releasing a swap chain, see the Destroying a Swap Chain section of {{DXGI Overview}}. + + a reference to a . + A reference to the device that will write 2D images to the swap chain. + A reference to the swap-chain description (see ). + HRESULT IDXGIFactory::CreateSwapChain([In] IUnknown* pDevice,[In] DXGI_SWAP_CHAIN_DESC* pDesc,[Out] IDXGISwapChain** ppSwapChain) + bb174537 + HRESULT IDXGIFactory::CreateSwapChain([In] IUnknown* pDevice,[In] DXGI_SWAP_CHAIN_DESC* pDesc,[Out, Fast] IDXGISwapChain** ppSwapChain) + IDXGIFactory::CreateSwapChain + + + + Access one of the swap-chain back buffers. + + The interface of the surface to resolve from the back buffer + A zero-based buffer index. If the swap effect is not DXGI_SWAP_EFFECT_SEQUENTIAL, this method only has access to the first buffer; for this case, set the index to zero. + + Returns a reference to a back-buffer interface. + + bb174570 + HRESULT IDXGISwapChain::GetBuffer([In] unsigned int Buffer,[In] const GUID& riid,[Out] void** ppSurface) + IDXGISwapChain::GetBuffer + + + +

[Starting with Direct3D 11.1, we recommend not to use GetDesc anymore to get a description of the swap chain. Instead, use IDXGISwapChain1::GetDesc1.]

Get a description of the swap chain.

+
+ + bb174572 + GetDesc + GetDesc + HRESULT IDXGISwapChain::GetDesc([Out] DXGI_SWAP_CHAIN_DESC* pDesc) +
+ + +

Get the output (the display monitor) that contains the majority of the client area of the target window.

+
+ +

If the method succeeds, the output interface will be filled and its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.

The output is also owned by the adapter on which the swap chain's device was created.

You cannot call GetContainingOutput on a windowless swap chain that you created with IDXGIFactory2::CreateSwapChainForCompositionSurface.

+
+ + bb174571 + GetContainingOutput + GetContainingOutput + HRESULT IDXGISwapChain::GetContainingOutput([Out] IDXGIOutput** ppOutput) +
+ + +

Gets performance statistics about the last render frame.

+
+ +

You cannot use GetFrameStatistics for swap chains that both use the bit-block transfer (bitblt) presentation model and draw in windowed mode.

You can only use GetFrameStatistics for swap chains that either use the flip presentation model or draw in full-screen mode. You set the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value in the SwapEffect member of the DXGI_SWAP_CHAIN_DESC1 structure to specify that the swap chain uses the flip presentation model.

+
+ + bb174573 + GetFrameStatistics + GetFrameStatistics + HRESULT IDXGISwapChain::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats) +
+ + +

Gets the number of times that or IDXGISwapChain1::Present1 has been called.

+
+ +

For info about presentation statistics for a frame, see .

+
+ + bb174575 + GetLastPresentCount + GetLastPresentCount + HRESULT IDXGISwapChain::GetLastPresentCount([Out] unsigned int* pLastPresentCount) +
+ + + Gets or sets a value indicating whether the swapchain is in fullscreen. + + + true if this swapchain is in fullscreen; otherwise, false. + + bb174574 + HRESULT IDXGISwapChain::GetFullscreenState([Out] BOOL* pFullscreen,[Out] IDXGIOutput** ppTarget) + IDXGISwapChain::GetFullscreenState + + + +

Describes an adapter (or video card) by using DXGI 1.0.

+
+ +

The structure provides a description of an adapter. This structure is initialized by using the method.

+
+ + bb173058 + DXGI_ADAPTER_DESC + DXGI_ADAPTER_DESC +
+ + +

A string that contains the adapter description.

+
+ + bb173058 + wchar_t Description[128] + wchar_t Description +
+ + +

The PCI ID of the hardware vendor.

+
+ + bb173058 + unsigned int VendorId + unsigned int VendorId +
+ + +

The PCI ID of the hardware device.

+
+ + bb173058 + unsigned int DeviceId + unsigned int DeviceId +
+ + +

The PCI ID of the sub system.

+
+ + bb173058 + unsigned int SubSysId + unsigned int SubSysId +
+ + +

The PCI ID of the revision number of the adapter.

+
+ + bb173058 + unsigned int Revision + unsigned int Revision +
+ + +

The number of bytes of dedicated video memory that are not shared with the CPU.

+
+ + bb173058 + SIZE_T DedicatedVideoMemory + SIZE_T DedicatedVideoMemory +
+ + +

The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.

+
+ + bb173058 + SIZE_T DedicatedSystemMemory + SIZE_T DedicatedSystemMemory +
+ + +

The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.

+
+ + bb173058 + SIZE_T SharedSystemMemory + SIZE_T SharedSystemMemory +
+ + +

A unique value that identifies the adapter. See for a definition of the structure. is defined in dxgi.h.

+
+ + bb173058 + LUID AdapterLuid + LUID AdapterLuid +
+ + +

Describes an adapter (or video card) using DXGI 1.1.

+
+ +

The structure provides a DXGI 1.1 description of an adapter. This structure is initialized by using the method.

+
+ + ff471326 + DXGI_ADAPTER_DESC1 + DXGI_ADAPTER_DESC1 +
+ + +

A string that contains the adapter description.

+
+ + ff471326 + wchar_t Description[128] + wchar_t Description +
+ + +

The PCI ID of the hardware vendor.

+
+ + ff471326 + unsigned int VendorId + unsigned int VendorId +
+ + +

The PCI ID of the hardware device.

+
+ + ff471326 + unsigned int DeviceId + unsigned int DeviceId +
+ + +

The PCI ID of the sub system.

+
+ + ff471326 + unsigned int SubSysId + unsigned int SubSysId +
+ + +

The PCI ID of the revision number of the adapter.

+
+ + ff471326 + unsigned int Revision + unsigned int Revision +
+ + +

The number of bytes of dedicated video memory that are not shared with the CPU.

+
+ + ff471326 + SIZE_T DedicatedVideoMemory + SIZE_T DedicatedVideoMemory +
+ + +

The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.

+
+ + ff471326 + SIZE_T DedicatedSystemMemory + SIZE_T DedicatedSystemMemory +
+ + +

The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.

+
+ + ff471326 + SIZE_T SharedSystemMemory + SIZE_T SharedSystemMemory +
+ + +

A unique value that identifies the adapter. See for a definition of the structure. is defined in dxgi.h.

+
+ + ff471326 + LUID AdapterLuid + LUID AdapterLuid +
+ + +

A value of the enumerated type that describes the adapter type. The flag is reserved.

+
+ + ff471326 + DXGI_ADAPTER_FLAG Flags + DXGI_ADAPTER_FLAG Flags +
+ + +

Describes timing and presentation statistics for a frame.

+
+ +

You initialize the structure with the or method.

You can only use for swap chains that either use the flip presentation model or draw in full-screen mode. You set the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value in the SwapEffect member of the DXGI_SWAP_CHAIN_DESC1 structure to specify that the swap chain uses the flip presentation model.

The values in the PresentCount and PresentRefreshCount members indicate information about when a frame was presented on the display screen. You can use these values to determine whether a glitch occurred. The values in the SyncRefreshCount and SyncQPCTime members indicate timing information that you can use for audio and video synchronization or very precise animation. If the swap chain draws in full-screen mode, these values are based on when the computer booted. + If the swap chain draws in windowed mode, these values are based on when the swap chain is created.

+
+ + bb173060 + DXGI_FRAME_STATISTICS + DXGI_FRAME_STATISTICS +
+ + +

A value that represents the running total count of times that an image was presented to the monitor since the computer booted.

Note??The number of times that an image was presented to the monitor is not necessarily the same as the number of times that you called or IDXGISwapChain1::Present1.

+
+ + bb173060 + unsigned int PresentCount + unsigned int PresentCount +
+ + +

A value that represents the running total count of v-blanks at which the last image was presented to the monitor and that have happened since the computer booted (for windowed mode, since the swap chain was created).

+
+ + bb173060 + unsigned int PresentRefreshCount + unsigned int PresentRefreshCount +
+ + +

A value that represents the running total count of v-blanks when the scheduler last sampled the machine time by calling QueryPerformanceCounter and that have happened since the computer booted (for windowed mode, since the swap chain was created).

+
+ + bb173060 + unsigned int SyncRefreshCount + unsigned int SyncRefreshCount +
+ + +

A value that represents the high-resolution performance counter timer. This value is the same as the value returned by the QueryPerformanceCounter function.

+
+ + bb173060 + LARGE_INTEGER SyncQPCTime + LARGE_INTEGER SyncQPCTime +
+ + +

Reserved. Always returns 0.

+
+ + bb173060 + LARGE_INTEGER SyncGPUTime + LARGE_INTEGER SyncGPUTime +
+ + +

Controls the settings of a gamma curve.

+
+ +

The structure is used by the method.

+
+ + bb173061 + DXGI_GAMMA_CONTROL + DXGI_GAMMA_CONTROL +
+ + +

A structure with scalar values that are applied to rgb values before being sent to the gamma look up table.

+
+ + bb173061 + DXGI_RGB Scale + DXGI_RGB Scale +
+ + +

A structure with offset values that are applied to the rgb values before being sent to the gamma look up table.

+
+ + bb173061 + DXGI_RGB Offset + DXGI_RGB Offset +
+ + +

An array of structures that control the points of a gamma curve.

+
+ + bb173061 + DXGI_RGB GammaCurve[1025] + DXGI_RGB GammaCurve +
+ + +

Controls the gamma capabilities of an adapter.

+
+ +

To get a list of the capabilities for controlling gamma correction, call .

+
+ + bb173062 + DXGI_GAMMA_CONTROL_CAPABILITIES + DXGI_GAMMA_CONTROL_CAPABILITIES +
+ + +

True if scaling and offset operations are supported during gamma correction; otherwise, false.

+
+ + bb173062 + BOOL ScaleAndOffsetSupported + BOOL ScaleAndOffsetSupported +
+ + +

A value describing the maximum range of the control-point positions.

+
+ + bb173062 + float MaxConvertedValue + float MaxConvertedValue +
+ + +

A value describing the minimum range of the control-point positions.

+
+ + bb173062 + float MinConvertedValue + float MinConvertedValue +
+ + +

A value describing the number of control points in the array.

+
+ + bb173062 + unsigned int NumGammaControlPoints + unsigned int NumGammaControlPoints +
+ + +

An array of values describing control points; the maximum length of control points is 1025.

+
+ + bb173062 + float ControlPointPositions[1025] + float ControlPointPositions +
+ + +

Describes a mapped rectangle that is used to access a surface.

+
+ +

The structure is initialized by the method.

+
+ + bb173063 + DXGI_MAPPED_RECT + DXGI_MAPPED_RECT +
+ + +

A value that describes the width, in bytes, of the surface.

+
+ + bb173063 + int Pitch + int Pitch +
+ + +

A reference to the image buffer of the surface.

+
+ + bb173063 + unsigned char* pBits + unsigned char pBits +
+ + +

Describes a display mode.

+
+ +

The following format values are valid for display modes and when you create a bit-block transfer (bitblt) model swap chain. The valid values depend on the feature level that you are working with.

  • Feature level >= 9.1

    • (except 10.x on Windows?Vista)
    • (except 10.x on Windows?Vista)
  • Feature level >= 10.0

  • Feature level >= 11.0

You can pass one of these format values to to determine if it is a valid format for displaying on screen. If returns in the bit field to which the pFormatSupport parameter points, the format is valid for displaying on screen.

Starting with Windows Developer Preview for a flip model swap chain (that is, a swap chain that has the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value set in the SwapEffect member of ), you must set the Format member of to , , or .

Because of the relaxed render target creation rules that Direct3D 11 has for back buffers, applications can create a render target view from a swap chain so they can use automatic color space conversion when they render the swap chain.

+
+ + bb173064 + DXGI_MODE_DESC + DXGI_MODE_DESC +
+ + +

A value that describes the resolution width. If you specify the width as zero when you call the method to create a swap chain, the runtime obtains the width from the output window and assigns this width value to the swap-chain description. You can subsequently call the method to retrieve the assigned width value.

+
+ + bb173064 + unsigned int Width + unsigned int Width +
+ + +

A value describing the resolution height. If you specify the height as zero when you call the method to create a swap chain, the runtime obtains the height from the output window and assigns this height value to the swap-chain description. You can subsequently call the method to retrieve the assigned height value.

+
+ + bb173064 + unsigned int Height + unsigned int Height +
+ + +

A structure describing the refresh rate in hertz

+
+ + bb173064 + DXGI_RATIONAL RefreshRate + DXGI_RATIONAL RefreshRate +
+ + +

A structure describing the display format.

+
+ + bb173064 + DXGI_FORMAT Format + DXGI_FORMAT Format +
+ + +

A member of the enumerated type describing the scanline drawing mode.

+
+ + bb173064 + DXGI_MODE_SCANLINE_ORDER ScanlineOrdering + DXGI_MODE_SCANLINE_ORDER ScanlineOrdering +
+ + +

A member of the enumerated type describing the scaling mode.

+
+ + bb173064 + DXGI_MODE_SCALING Scaling + DXGI_MODE_SCALING Scaling +
+ + + Initializes a new instance of the structure. + + The width. + The height. + The refresh rate. + The format. + + + +

Describes an output or physical connection between the adapter (video card) and a device.

+
+ +

The structure is initialized by the method.

+
+ + bb173068 + DXGI_OUTPUT_DESC + DXGI_OUTPUT_DESC +
+ + +

A string that contains the name of the output device.

+
+ + bb173068 + wchar_t DeviceName[32] + wchar_t DeviceName +
+ + +

A structure containing the bounds of the output in desktop coordinates.

+
+ + bb173068 + RECT DesktopCoordinates + RECT DesktopCoordinates +
+ + +

True if the output is attached to the desktop; otherwise, false.

+
+ + bb173068 + BOOL AttachedToDesktop + BOOL AttachedToDesktop +
+ + +

A member of the enumerated type describing on how an image is rotated by the output.

+
+ + bb173068 + DXGI_MODE_ROTATION Rotation + DXGI_MODE_ROTATION Rotation +
+ + +

An handle that represents the display monitor. For more information, see and the Device Context.

+
+ + bb173068 + HMONITOR Monitor + HMONITOR Monitor +
+ + +

Represents a rational number.

+
+ +

The structure operates under the following rules:

  • 0/0 is legal and will be interpreted as 0/1.
  • 0/anything is interpreted as zero.
  • If you are representing a whole number, the denominator should be 1.
+
+ + bb173069 + DXGI_RATIONAL + DXGI_RATIONAL +
+ + +

An unsigned integer value representing the top of the rational number.

+
+ + bb173069 + unsigned int Numerator + unsigned int Numerator +
+ + +

An unsigned integer value representing the bottom of the rational number.

+
+ + bb173069 + unsigned int Denominator + unsigned int Denominator +
+ + + An empty rational that can be used for comparisons. + + + + + Initializes a new instance of the structure. + + The numerator of the rational pair. + The denominator of the rational pair. + + + +

Describes multi-sampling parameters for a resource.

+
+ +

The default sampler mode, with no anti-aliasing, has a count of 1 and a quality level of 0.

If multi-sample antialiasing is being used, all bound render targets and depth buffers must have the same sample counts and quality levels.

Differences between Direct3D 10.0 and Direct3D 10.1 and between Direct3D 10.0 and Direct3D 11:

Direct3D 10.1 has defined two standard quality levels: and in the enumeration in D3D10_1.h.

Direct3D 11 has defined two standard quality levels: and in the enumeration in D3D11.h.

?

+
+ + bb173072 + DXGI_SAMPLE_DESC + DXGI_SAMPLE_DESC +
+ + +

The number of multisamples per pixel.

+
+ + bb173072 + unsigned int Count + unsigned int Count +
+ + +

The image quality level. The higher the quality, the lower the performance. The valid range is between zero and one less than the level returned by for Direct3D 10 or for Direct3D 11.

For Direct3D 10.1 and Direct3D 11, you can use two special quality level values. For more information about these quality level values, see Remarks.

+
+ + bb173072 + unsigned int Quality + unsigned int Quality +
+ + + Initializes a new instance of the structure. + + The sample count. + The sample quality. + + + +

Represents a handle to a shared resource.

+
+ +

To create a shared surface, pass a shared-resource handle into the method.

+
+ + bb173073 + DXGI_SHARED_RESOURCE + DXGI_SHARED_RESOURCE +
+ + +

A handle to a shared resource.

+
+ + bb173073 + void* Handle + void Handle +
+ + +

Describes a surface.

+
+ + bb173074 + DXGI_SURFACE_DESC + DXGI_SURFACE_DESC +
+ + +

A value describing the surface width.

+
+ + bb173074 + unsigned int Width + unsigned int Width +
+ + +

A value describing the surface height.

+
+ + bb173074 + unsigned int Height + unsigned int Height +
+ + +

A member of the enumerated type that describes the surface format.

+
+ + bb173074 + DXGI_FORMAT Format + DXGI_FORMAT Format +
+ + +

A member of the structure that describes multi-sampling parameters for the surface.

+
+ + bb173074 + DXGI_SAMPLE_DESC SampleDesc + DXGI_SAMPLE_DESC SampleDesc +
+ + +

Describes a swap chain.

+
+ +

In full-screen mode, there is a dedicated front buffer; in windowed mode, the desktop is the front buffer.

If you create a swap chain with one buffer, specifying does not cause the contents of the single buffer to be swapped with the front buffer.

For performance information about flipping swap-chain buffers in full-screen application, see Full-Screen Application Performance Hints.

+
+ + bb173075 + DXGI_SWAP_CHAIN_DESC + DXGI_SWAP_CHAIN_DESC +
+ + +

A structure that describes the backbuffer display mode.

+
+ + bb173075 + DXGI_MODE_DESC BufferDesc + DXGI_MODE_DESC BufferDesc +
+ + +

A structure that describes multi-sampling parameters.

+
+ + bb173075 + DXGI_SAMPLE_DESC SampleDesc + DXGI_SAMPLE_DESC SampleDesc +
+ + +

A member of the DXGI_USAGE enumerated type that describes the surface usage and CPU access options for the back buffer. The back buffer can be used for shader input or render-target output.

+
+ + bb173075 + DXGI_USAGE_ENUM BufferUsage + DXGI_USAGE_ENUM BufferUsage +
+ + +

A value that describes the number of buffers in the swap chain. When you call to create a full-screen swap chain, you typically include the front buffer in this value. For more information about swap-chain buffers, see Remarks.

+
+ + bb173075 + unsigned int BufferCount + unsigned int BufferCount +
+ + +

An handle to the output window. This member must not be null.

+
+ + bb173075 + HWND OutputWindow + HWND OutputWindow +
+ + +

A Boolean value that specifies whether the output is in windowed mode. TRUE if the output is in windowed mode; otherwise, .

We recommend that you create a windowed swap chain and allow the end user to change the swap chain to full screen through ; that is, do not set this member to to force the swap chain to be full screen. However, if you create the swap chain as full screen, also provide the end user with a list of supported display modes through the BufferDesc member because a swap chain that is created with an unsupported display mode might cause the display to go black and prevent the end user from seeing anything.

For more information about choosing windowed verses full screen, see .

+
+ + bb173075 + BOOL Windowed + BOOL Windowed +
+ + +

A member of the enumerated type that describes options for handling the contents of the presentation buffer after presenting a surface.

+
+ + bb173075 + DXGI_SWAP_EFFECT SwapEffect + DXGI_SWAP_EFFECT SwapEffect +
+ + +

A member of the enumerated type that describes options for swap-chain behavior.

+
+ + bb173075 + DXGI_SWAP_CHAIN_FLAG Flags + DXGI_SWAP_CHAIN_FLAG Flags +
+ + + Internal class used to initialize this assembly. + + + + + Initializes this assembly. + + + This method is called when the assembly is loaded. + + +
+
diff --git a/packages/SharpDX.DXGI.2.5.0/lib/net40/SharpDX.DXGI.dll b/packages/SharpDX.DXGI.2.5.0/lib/net40/SharpDX.DXGI.dll new file mode 100644 index 00000000000..7db18111141 Binary files /dev/null and b/packages/SharpDX.DXGI.2.5.0/lib/net40/SharpDX.DXGI.dll differ diff --git a/packages/SharpDX.DXGI.2.5.0/lib/net40/SharpDX.DXGI.xml b/packages/SharpDX.DXGI.2.5.0/lib/net40/SharpDX.DXGI.xml new file mode 100644 index 00000000000..1ca357e2811 --- /dev/null +++ b/packages/SharpDX.DXGI.2.5.0/lib/net40/SharpDX.DXGI.xml @@ -0,0 +1,4229 @@ + + + + SharpDX.DXGI + + + + +

The interface represents a display sub-system (including one or more GPU's, DACs and video memory).

+
+ +

A display sub-system is often referred to as a video card, however, on some machines the display sub-system is part of the mother board.

To enumerate the display sub-systems, use . To get an interface to the adapter for a particular device, use . To create a software adapter, use .

+
+ + bb174523 + IDXGIAdapter + IDXGIAdapter +
+ + +

An interface is a base interface for all DXGI objects; supports associating caller-defined (private data) with an object and retrieval of an interface to the parent object.

+
+ +

implements base class functionality for several other interfaces: , , ,

+
+ + bb174541 + IDXGIObject + IDXGIObject +
+ + + Gets the parent of the object. + + Type of the parent object + Returns the parent object based on the GUID of the type of the parent object. + bb174542 + HRESULT IDXGIObject::GetParent([In] const GUID& riid,[Out] void** ppParent) + IDXGIObject::GetParent + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets application-defined data to the object and associates that data with a .

+
+

A that identifies the data. Use this in a call to GetPrivateData to get the data.

+

The size of the object's data.

+

A reference to the object's data.

+

Returns one of the DXGI_ERROR values.

+ +

SetPrivateData makes a copy of the specified data and stores it with the object.

Private data that SetPrivateData stores in the object occupies the same storage space as private data that is stored by associated Direct3D objects (for example, by a Microsoft Direct3D?11 device through or by a Direct3D?11 child device through ).

The debug layer reports memory leaks by outputting a list of object interface references along with their friendly names. The default friendly name is "<unnamed>". You can set the friendly name so that you can determine if the corresponding object interface reference caused the leak. To set the friendly name, use the SetPrivateData method and the well-known private data () that is in D3Dcommon.h. For example, to give pContext a friendly name of My name, use the following code:

 static const char c_szName[] = "My name";	
+            hr = pContext->SetPrivateData( , sizeof( c_szName ) - 1, c_szName );	
+            

You can use to track down memory leaks and understand performance characteristics of your applications. This information is reflected in the output of the debug layer that is related to memory leaks () and with the event tracing for Windows events that we've added to Windows Developer Preview. +

+
+ + bb174544 + HRESULT IDXGIObject::SetPrivateData([In] const GUID& Name,[In] unsigned int DataSize,[In, Buffer] const void* pData) + IDXGIObject::SetPrivateData +
+ + +

Set an interface in the object's private data.

+
+

A identifying the interface.

+

The interface to set.

+

Returns one of the following DXGI_ERROR.

+ +

This API associates an interface reference with the object.

When the interface is set its reference count is incremented. When the data are overwritten (by calling SPD or SPDI with the same ) or the object is destroyed, ::Release() is called and the interface's reference count is decremented.

+
+ + bb174545 + HRESULT IDXGIObject::SetPrivateDataInterface([In] const GUID& Name,[In] const IUnknown* pUnknown) + IDXGIObject::SetPrivateDataInterface +
+ + +

Get a reference to the object's data.

+
+

A identifying the data.

+

The size of the data.

+

Pointer to the data.

+

Returns one of the following DXGI_ERROR.

+ +

If the data returned is a reference to an , or one of its derivative classes, previously set by , then ::Release() must be called on the reference before the reference is freed to decrement the reference count.

+
+ + bb174543 + HRESULT IDXGIObject::GetPrivateData([In] const GUID& Name,[InOut] unsigned int* pDataSize,[Out, Buffer] void* pData) + IDXGIObject::GetPrivateData +
+ + +

Gets the parent of the object.

+
+

The ID of the requested interface.

+

The address of a reference to the parent object.

+

Returns one of the DXGI_ERROR values.

+ + bb174542 + HRESULT IDXGIObject::GetParent([In] const GUID& riid,[Out] void** ppParent) + IDXGIObject::GetParent +
+ + + Checks to see if a device interface for a graphics component is supported by the system. + + The GUID of the interface of the device version for which support is being checked. For example, typeof(ID3D10Device).GUID. + + true if the interface is supported; otherwise, false. + + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport + + + + Checks to see if a device interface for a graphics component is supported by the system. + + the interface of the device version for which support is being checked. + + true if the interface is supported; otherwise, false. + + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport + + + + Checks to see if a device interface for a graphics component is supported by the system. + + the interface of the device version for which support is being checked. + The user mode driver version of InterfaceName. This is only returned if the interface is supported. + + true if the interface is supported; otherwise, false. + + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport + + + + Checks to see if a device interface for a graphics component is supported by the system. + + The GUID of the interface of the device version for which support is being checked. For example, typeof(ID3D10Device).GUID. + The user mode driver version of InterfaceName. This is only returned if the interface is supported. + + true if the interface is supported; otherwise, false. + + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport + + + + Gets an adapter (video card) outputs. + + The index of the output. + + An instance of + + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + + When the EnumOutputs method succeeds and fills the ppOutput parameter with the address of the reference to the output interface, EnumOutputs increments the output interface's reference count. To avoid a memory leak, when you finish using the output interface, call the Release method to decrement the reference count.EnumOutputs first returns the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumOutputs then returns other outputs. + + if the index is greater than the number of outputs, result code + bb174525 + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + IDXGIAdapter::EnumOutputs + + + + Return the number of available outputs from this adapter. + + The number of outputs + bb174525 + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + IDXGIAdapter::EnumOutputs + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enumerate adapter (video card) outputs.

+
+

The index of the output.

+

The address of a reference to an interface at the position specified by the Output parameter.

+

A code that indicates success or failure (see DXGI_ERROR). Will return if the index is greater than the number of outputs.

+ +

When the EnumOutputs method succeeds and fills the ppOutput parameter with the address of the reference to the output interface, EnumOutputs increments the output interface's reference count. To avoid a memory leak, when you finish using the output interface, call the Release method to decrement the reference count.

EnumOutputs first returns the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumOutputs then returns other outputs.

+
+ + bb174525 + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + IDXGIAdapter::EnumOutputs +
+ + +

Gets a DXGI 1.0 description of an adapter (or video card).

+
+

A reference to a structure that describes the adapter. This parameter must not be null.

+

Returns if successful; otherwise returns E_INVALIDARG if the pDesc parameter is null.

+ +

Graphics applications can use the DXGI API to retrieve an accurate set of graphics memory values on systems that have WDDM drivers. The following are the critical steps involved.

  • Graphics driver model determination ? Because DXGI is only available on systems with WDDM drivers, the application must first confirm the driver model by using the following API.
     HasWDDMDriver()	
    +            { LPDIRECT3DCREATE9EX pD3D9Create9Ex = null; HMODULE             hD3D9          = null; hD3D9 = LoadLibrary( L"d3d9.dll" ); if ( null == hD3D9 ) { return false; } // /*  Try to create  interface (also known as a DX9L interface). This interface can only be created if the driver is a WDDM driver. */ // pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress( hD3D9, "Direct3DCreate9Ex" ); return pD3D9Create9Ex != null;	
    +            } 
  • Retrieval of graphics memory values.? After the driver model is determined to be WDDM, the application can use the DirectX 10 or later API and DXGI to get the amount of graphics memory. After creating a Direct3D device the following code can be used to obtain a structure containing the amount of available graphics memory.
      * pDXGIDevice;	
    +            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
    +             * pDXGIAdapter;	
    +            pDXGIDevice->GetAdapter(&pDXGIAdapter);	
    +             adapterDesc;	
    +            pDXGIAdapter->GetDesc(&adapterDesc); 
+
+ + bb174526 + HRESULT IDXGIAdapter::GetDesc([Out] DXGI_ADAPTER_DESC* pDesc) + IDXGIAdapter::GetDesc +
+ + +

Checks whether the system supports a device interface for a graphics component.

+
+

The of the interface of the device version for which support is being checked. For example, __uuidof().

+

The user mode driver version of InterfaceName. This is returned only if the interface is supported. This parameter can be null.

+

indicates that the interface is supported, otherwise is returned (For more information, see DXGI_ERROR).

+ +

Note??You can use CheckInterfaceSupport only to check whether a Direct3D 10.x interface is supported, and only on Windows Vista SP1 and later versions of the operating system. If you try to use CheckInterfaceSupport to check whether a Direct3D 11.x and later version interface is supported, CheckInterfaceSupport returns . Therefore, do not use CheckInterfaceSupport. Instead, to verify whether the operating system supports a particular interface, try to create the interface. For example, if you call the method and it fails, the operating system does not support the interface.

+
+ + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport +
+ + + Gets all outputs from this adapter. + + bb174525 + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + IDXGIAdapter::EnumOutputs + + + +

Gets a DXGI 1.0 description of an adapter (or video card).

+
+ +

Graphics applications can use the DXGI API to retrieve an accurate set of graphics memory values on systems that have WDDM drivers. The following are the critical steps involved.

  • Graphics driver model determination ? Because DXGI is only available on systems with WDDM drivers, the application must first confirm the driver model by using the following API.
     HasWDDMDriver()	
    +            { LPDIRECT3DCREATE9EX pD3D9Create9Ex = null; HMODULE             hD3D9          = null; hD3D9 = LoadLibrary( L"d3d9.dll" ); if ( null == hD3D9 ) { return false; } // /*  Try to create  interface (also known as a DX9L interface). This interface can only be created if the driver is a WDDM driver. */ // pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress( hD3D9, "Direct3DCreate9Ex" ); return pD3D9Create9Ex != null;	
    +            } 
  • Retrieval of graphics memory values.? After the driver model is determined to be WDDM, the application can use the DirectX 10 or later API and DXGI to get the amount of graphics memory. After creating a Direct3D device the following code can be used to obtain a structure containing the amount of available graphics memory.
      * pDXGIDevice;	
    +            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
    +             * pDXGIAdapter;	
    +            pDXGIDevice->GetAdapter(&pDXGIAdapter);	
    +             adapterDesc;	
    +            pDXGIAdapter->GetDesc(&adapterDesc); 
+
+ + bb174526 + GetDesc + GetDesc + HRESULT IDXGIAdapter::GetDesc([Out] DXGI_ADAPTER_DESC* pDesc) +
+ + + The assembly provides managed DXGI API. + + hh404534 + DXGI + DXGI + + + + The namespace provides a managed DXGI API. + + hh404534 + DXGI + DXGI + + + +

An interface implements a derived class for DXGI objects that produce image data.

+
+ +

The interface is designed for use by DXGI objects that need access to other DXGI objects. This interface is useful to applications that do not use Direct3D to communicate with DXGI.

The object returned by the Direct3D create device functions implements the interface and can be queried for the device's corresponding interface. To retrieve the interface of a Direct3D device the following code can be used.

 * pDXGIDevice;	
+            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
+            
+
+ + bb174527 + IDXGIDevice + IDXGIDevice +
+ + + Gets the residency status of an array of resources. + + + The information returned by the pResidencyStatus argument array describes the residency status at the time that the QueryResourceResidency method was called. Note that the residency status will constantly change. If you call the QueryResourceResidency method during a device removed state, the pResidencyStatus argument will return the DXGI_RESIDENCY_EVICTED_TO_DISK flag. Note??This method should not be called every frame as it incurs a non-trivial amount of overhead. + + An array of interfaces. + Returns an array of flags. Each element describes the residency status for corresponding element in the ppResources argument array. + HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[None] int NumResources) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Returns the adapter for the specified device.

+
+

The address of an interface reference to the adapter. This parameter must not be null.

+

Returns if successful; otherwise, returns one of the DXGI_ERROR that indicates failure. If the pAdapter parameter is null this method returns E_INVALIDARG.

+ +

If the GetAdapter method succeeds, the reference count on the adapter interface will be incremented. To avoid a memory leak, be sure to release the interface when you are finished using it.

+
+ + bb174531 + HRESULT IDXGIDevice::GetAdapter([Out] IDXGIAdapter** pAdapter) + IDXGIDevice::GetAdapter +
+ + +

Returns a surface. This method is used internally and you should not call it directly in your application.

+
+

A reference to a structure that describes the surface.

+

The number of surfaces to create.

+

A DXGI_USAGE flag that specifies how the surface is expected to be used.

+

An optional reference to a structure that contains shared resource information for opening views of such resources.

+

The address of an interface reference to the first created surface.

+

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

+ +

The CreateSurface method creates a buffer to exchange data between one or more devices. It is used internally, and you should not directly call it.

The runtime automatically creates an interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an interface when it calls or to create a 2D texture. To retrieve the interface that represents the 2D texture surface, call ID3D11Texture2D::QueryInterface or ID3D10Texture2D::QueryInterface. In this call, you must pass the identifier of . If the 2D texture has only a single MIP-map level and does not consist of an array of textures, QueryInterface succeeds and returns a reference to the interface reference. Otherwise, QueryInterface fails and does not return the reference to . +

+
+ + bb174530 + HRESULT IDXGIDevice::CreateSurface([In] const DXGI_SURFACE_DESC* pDesc,[In] unsigned int NumSurfaces,[In] unsigned int Usage,[In, Optional] const DXGI_SHARED_RESOURCE* pSharedResource,[Out] IDXGISurface** ppSurface) + IDXGIDevice::CreateSurface +
+ + +

Gets the residency status of an array of resources.

+
+

An array of interfaces.

+

An array of flags. Each element describes the residency status for corresponding element in the ppResources argument array.

+

The number of resources in the ppResources argument array and pResidencyStatus argument array.

+

Returns if successfull; otherwise, returns , E_INVALIDARG, or E_POINTER (see WinError.h for more information).

+ +

The information returned by the pResidencyStatus argument array describes the residency status at the time that the QueryResourceResidency method was called. Note that the residency status will constantly change.

If you call the QueryResourceResidency method during a device removed state, the pResidencyStatus argument will return the flag.

Note??This method should not be called every frame as it incurs a non-trivial amount of overhead.

+
+ + bb174533 + HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[In] unsigned int NumResources) + IDXGIDevice::QueryResourceResidency +
+ + +

Gets the residency status of an array of resources.

+
+

An array of interfaces.

+

An array of flags. Each element describes the residency status for corresponding element in the ppResources argument array.

+

The number of resources in the ppResources argument array and pResidencyStatus argument array.

+

Returns if successfull; otherwise, returns , E_INVALIDARG, or E_POINTER (see WinError.h for more information).

+ +

The information returned by the pResidencyStatus argument array describes the residency status at the time that the QueryResourceResidency method was called. Note that the residency status will constantly change.

If you call the QueryResourceResidency method during a device removed state, the pResidencyStatus argument will return the flag.

Note??This method should not be called every frame as it incurs a non-trivial amount of overhead.

+
+ + bb174533 + HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[In] unsigned int NumResources) + IDXGIDevice::QueryResourceResidency +
+ + +

Sets the GPU thread priority.

+
+

A value that specifies the required GPU thread priority. This value must be between -7 and 7, inclusive, where 0 represents normal priority.

+

Return if successful; otherwise, returns E_INVALIDARG if the Priority parameter is invalid.

+ +

The values for the Priority parameter function as follows:

  • Positive values increase the likelihood that the GPU scheduler will grant GPU execution cycles to the device when rendering.
  • Negative values lessen the likelihood that the device will receive GPU execution cycles when devices compete for them.
  • The device is guaranteed to receive some GPU execution cycles at all settings.

To use the SetGPUThreadPriority method, you should have a comprehensive understanding of GPU scheduling. You should profile your application to ensure that it behaves as intended. If used inappropriately, the SetGPUThreadPriority method can impede rendering speed and result in a poor user experience.

+
+ + bb174534 + HRESULT IDXGIDevice::SetGPUThreadPriority([In] int Priority) + IDXGIDevice::SetGPUThreadPriority +
+ + +

Gets the GPU thread priority.

+
+

A reference to a variable that receives a value that indicates the current GPU thread priority. The value will be between -7 and 7, inclusive, where 0 represents normal priority.

+

Return if successful; otherwise, returns E_POINTER if the pPriority parameter is null.

+ + Bb174532 + HRESULT IDXGIDevice::GetGPUThreadPriority([Out] int* pPriority) + IDXGIDevice::GetGPUThreadPriority +
+ + +

Returns the adapter for the specified device.

+
+ +

If the GetAdapter method succeeds, the reference count on the adapter interface will be incremented. To avoid a memory leak, be sure to release the interface when you are finished using it.

+
+ + bb174531 + GetAdapter + GetAdapter + HRESULT IDXGIDevice::GetAdapter([Out] IDXGIAdapter** pAdapter) +
+ + +

Gets or sets the GPU thread priority.

+
+ + Bb174532 + GetGPUThreadPriority / SetGPUThreadPriority + GetGPUThreadPriority + HRESULT IDXGIDevice::GetGPUThreadPriority([Out] int* pPriority) +
+ + +

Inherited from objects that are tied to the device so that they can retrieve a reference to it.

+
+ + bb174528 + IDXGIDeviceSubObject + IDXGIDeviceSubObject +
+ + + Retrieves the device. + + The interface that is returned can be any interface published by the device. + The associated device. + HRESULT IDXGIDeviceSubObject::GetDevice([In] GUID* riid,[Out] void** ppDevice) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the device.

+
+

The reference id for the device.

+

The address of a reference to the device.

+

A code that indicates success or failure (see DXGI_ERROR).

+ +

The type of interface that is returned can be any interface published by the device. For example, it could be an * called pDevice, and therefore the REFIID would be obtained by calling __uuidof(pDevice).

+
+ + bb174529 + HRESULT IDXGIDeviceSubObject::GetDevice([In] const GUID& riid,[Out] void** ppDevice) + IDXGIDeviceSubObject::GetDevice +
+ + + Gets or sets the debug-name for this object. + + + The debug name. + + + + +

An interface implements methods for generating DXGI objects (which handle full screen transitions).

+
+ +

Create a factory by calling CreateDXGIFactory.

Because a Direct3D device can be created without creating a swap chain, you might need to retrieve the factory that is used to create the device in order to create a swap chain. + This can be accomplished by requesting the interface from the Direct3D device and then using to locate + the factory. The following code illustrates the process.

 * pDXGIDevice;	
+            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);  * pDXGIAdapter;	
+            hr = pDXGIDevice->GetParent(__uuidof(), (void **)&pDXGIAdapter);  * pIDXGIFactory;	
+            pDXGIAdapter->GetParent(__uuidof(), (void **)&pIDXGIFactory);	
+            

See for a diagram of the relationship between DXGI objects.

+
+ + bb174535 + IDXGIFactory + IDXGIFactory +
+ + + Default Constructor for Factory + + + + + Create an adapter interface that represents a software adapter. + + + A software adapter is a DLL that implements the entirety of a device driver interface, plus emulation, if necessary, of kernel-mode graphics components for Windows. Details on implementing a software adapter can be found in the Windows Vista Driver Development Kit. This is a very complex development task, and is not recommended for general readers. Calling this method will increment the module's reference count by one. The reference count can be decremented by calling {{FreeLibrary}}. The typical calling scenario is to call {{LoadLibrary}}, pass the handle to CreateSoftwareAdapter, then immediately call {{FreeLibrary}} on the DLL and forget the DLL's {{HMODULE}}. Since the software adapter calls FreeLibrary when it is destroyed, the lifetime of the DLL will now be owned by the adapter, and the application is free of any further consideration of its lifetime. + + Handle to the software adapter's DLL. + A reference to an adapter (see ). + HRESULT IDXGIFactory::CreateSoftwareAdapter([None] void* Module,[Out] IDXGIAdapter** ppAdapter) + + + + Gets both adapters (video cards) with or without outputs. + + The index of the adapter to enumerate. + a reference to an interface at the position specified by the Adapter parameter + + When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.When the EnumAdapters method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.EnumAdapters first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters then returns other adapters with outputs. + + HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter) + + + + Return the number of available adapters from this factory. + + The number of adapters + HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enumerates the adapters (video cards).

+
+

The index of the adapter to enumerate.

+

The address of a reference to an interface at the position specified by the Adapter parameter. This parameter must not be null.

+

Returns if successful; otherwise, returns if the index is greater than or equal to the number of adapters in the local system, or if ppAdapter parameter is null.

+ +

When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.

When the EnumAdapters method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.

EnumAdapters first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters then returns other adapters with outputs.

+
+ + bb174538 + HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter) + IDXGIFactory::EnumAdapters +
+ + +

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).

+
+

The handle of the window that is to be monitored. This parameter can be null; but only if the flags are also 0.

+

One or more of the following values:

  • - Prevent DXGI from monitoring an applications message queue; this makes DXGI unable to respond to mode changes.
  • - Prevent DXGI from responding to an alt-enter sequence.
  • - Prevent DXGI from responding to a print-screen key.
+

if WindowHandle is invalid, or E_OUTOFMEMORY.

+ +

The combination of WindowHandle and Flags informs DXGI to stop monitoring window messages for the previously-associated window.

If the application switches to full-screen mode, DXGI will choose a full-screen resolution to be the smallest supported resolution that is larger or the same size as the current back buffer size.

Applications can make some changes to make the transition from windowed to full screen more efficient. For example, on a WM_SIZE message, the application should release any outstanding swap-chain back buffers, call , then re-acquire the back buffers from the swap chain(s). This gives the swap chain(s) an opportunity to resize the back buffers, and/or recreate them to enable full-screen flipping operation. If the application does not perform this sequence, DXGI will still make the full-screen/windowed transition, but may be forced to use a stretch operation (since the back buffers may not be the correct size), which may be less efficient. Even if a stretch is not required, presentation may not be optimal because the back buffers might not be directly interchangeable with the front buffer. Thus, a call to ResizeBuffers on WM_SIZE is always recommended, since WM_SIZE is always sent during a fullscreen transition.

While windowed, the application can, if it chooses, restrict the size of its window's client area to sizes to which it is comfortable rendering. A fully flexible application would make no such restriction, but UI elements or other design considerations can, of course, make this flexibility untenable. If the application further chooses to restrict its window's client area to just those that match supported full-screen resolutions, the application can field WM_SIZING, then check against . If a matching mode is found, allow the resize. (The can be retrieved from . Absent subsequent changes to desktop topology, this will be the same output that will be chosen when alt-enter is fielded and fullscreen mode is begun for that swap chain.)

Applications that want to handle mode changes or Alt+Enter themselves should call MakeWindowAssociation with the flag after swap chain creation. The WindowHandle argument, if non-null, specifies that the application message queues will not be handled by the DXGI runtime for all swap chains of a particular target . Calling MakeWindowAssociation with the flag after swapchain creation ensures that DXGI will not interfere with application's handling of window mode changes or Alt+Enter.

Notes for Metro style apps

If a Metro style app calls MakeWindowAssociation, it fails with .

A Microsoft Win32 application can use MakeWindowAssociation to control full-screen transitions through the Alt+Enter key combination and print screen behavior for full screen. For Metro style apps, because DXGI cannot perform full-screen transitions, Metro style app have no way to control full-screen transitions.

+
+ + bb174540 + HRESULT IDXGIFactory::MakeWindowAssociation([In] HWND WindowHandle,[In] DXGI_MWA_FLAGS Flags) + IDXGIFactory::MakeWindowAssociation +
+ + +

Get the window through which the user controls the transition to and from full screen.

+
+

A reference to a window handle.

+ + Notes for Metro style apps

If a Metro style app calls GetWindowAssociation, it fails with .

+
+ + Bb174539 + HRESULT IDXGIFactory::GetWindowAssociation([Out] HWND* pWindowHandle) + IDXGIFactory::GetWindowAssociation +
+ + +

[Starting with Direct3D 11.1, we recommend not to use CreateSwapChain anymore to create a swap chain. Instead, use CreateSwapChainForHwnd, CreateSwapChainForImmersiveWindow, or CreateSwapChainForCompositionSurface depending on how you want to create the swap chain.]

Creates a swap chain.

+
+ No documentation. + No documentation. + No documentation. +

if pDesc or ppSwapChain is null, if you request full-screen mode and it is unavailable, or E_OUTOFMEMORY. Other error codes defined by the type of device passed in may also be returned.

+ +

If you attempt to create a swap chain in full-screen mode, and full-screen mode is unavailable, the swap chain will be created in windowed mode and will be returned.

If the buffer width or the buffer height is zero, the sizes will be inferred from the output window size in the swap-chain description.

Because the target output cannot be chosen explicitly when the swap-chain is created, you should not create a full-screen swap chain. This can reduce presentation performance if the swap chain size and the output window size do not match. Here are two ways to ensure that the sizes match:

  • Create a windowed swap chain and then set it full-screen using .
  • Save a reference to the swap chain immediately after creation, and use it to get the output window size during a WM_SIZE event. Then resize the swap chain buffers (with ) during the transition from windowed to full-screen.

If the swap chain is in full-screen mode, before you release it you must use SetFullscreenState to switch it to windowed mode. For more information about releasing a swap chain, see the "Destroying a Swap Chain" section of DXGI Overview.

You can specify and values in the swap-chain description that pDesc points to. These values allow you to use features like flip-model presentation and content protection by using pre-Windows Developer Preview APIs.

However, to use stereo presentation and to change resize behavior for the flip model, applications must use the IDXGIFactory2::CreateSwapChainForHwnd method. Otherwise, the back-buffer contents implicitly scale to fit the presentation target size; that is, you can't turn off scaling.

Notes for Metro style apps

If a Metro style app calls CreateSwapChain with full screen specified, CreateSwapChain fails.

Metro style apps call the IDXGIFactory2::CreateSwapChainForImmersiveWindow method to create a swap chain.

+
+ + bb174537 + HRESULT IDXGIFactory::CreateSwapChain([In] IUnknown* pDevice,[In] DXGI_SWAP_CHAIN_DESC* pDesc,[Out, Fast] IDXGISwapChain** ppSwapChain) + IDXGIFactory::CreateSwapChain +
+ + +

Create an adapter interface that represents a software adapter.

+
+

Handle to the software adapter's dll. HMODULE can be obtained with GetModuleHandle or LoadLibrary.

+

Address of a reference to an adapter (see ).

+ +

A software adapter is a DLL that implements the entirety of a device driver interface, plus emulation, if necessary, of kernel-mode graphics components for Windows. Details on implementing a software adapter can be found in the Windows Vista Driver Development Kit. This is a very complex development task, and is not recommended for general readers.

Calling this method will increment the module's reference count by one. The reference count can be decremented by calling FreeLibrary.

The typical calling scenario is to call LoadLibrary, pass the handle to CreateSoftwareAdapter, then immediately call FreeLibrary on the DLL and forget the DLL's HMODULE. Since the software adapter calls FreeLibrary when it is destroyed, the lifetime of the DLL will now be owned by the adapter, and the application is free of any further consideration of its lifetime.

+
+ + bb174536 + HRESULT IDXGIFactory::CreateSoftwareAdapter([In] HINSTANCE Module,[Out] IDXGIAdapter** ppAdapter) + IDXGIFactory::CreateSoftwareAdapter +
+ + + Return an array of available from this factory. + + HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter) + + + +

The interface implements methods for generating DXGI objects.

+
+ +

This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

To create a factory, call the CreateDXGIFactory1 function.

+
+ + ff471335 + IDXGIFactory1 + IDXGIFactory1 +
+ + + Default Constructor for Factory1. + + + + + Gets both adapters (video cards) with or without outputs. + + The index of the adapter to enumerate. + a reference to an interface at the position specified by the Adapter parameter + + This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.When the EnumAdapters1 method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters1 increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.EnumAdapters1 first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters1 next returns other adapters with outputs. EnumAdapters1 finally returns adapters without outputs. + + HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter) + + + + Return the number of available adapters from this factory. + + The number of adapters + HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enumerates both adapters (video cards) with or without outputs.

+
+

The index of the adapter to enumerate.

+

The address of a reference to an interface at the position specified by the Adapter parameter. This parameter must not be null.

+

Returns if successful; otherwise, returns if the index is greater than or equal to the number of adapters in the local system, or if ppAdapter parameter is null.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.

When the EnumAdapters1 method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters1 increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.

EnumAdapters1 first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters1 next returns other adapters with outputs. EnumAdapters1 finally returns adapters without outputs.

+
+ + ff471336 + HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter) + IDXGIFactory1::EnumAdapters1 +
+ + +

Informs an application of the possible need to re-enumerate adapters.

+
+

, if a new adapter is becoming available or the current adapter is going away. TRUE, no adapter changes.

IsCurrent returns to inform the calling application to re-enumerate adapters.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

+
+ + ff471337 + BOOL IDXGIFactory1::IsCurrent() + IDXGIFactory1::IsCurrent +
+ + + Return an array of available from this factory. + + HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter) + + + +

Informs an application of the possible need to re-enumerate adapters.

+
+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

+
+ + ff471337 + IsCurrent + IsCurrent + BOOL IDXGIFactory1::IsCurrent() +
+ + + Helper to use with . + + + + + Calculates the size of a in bytes. + + The DXGI format. + size of in bytes + + + + Calculates the size of a in bits. + + The DXGI format. + size of in bits + + + + Returns true if the is valid. + + A format to validate + True if the is valid. + + + + Returns true if the is a compressed format. + + The format to check for compressed. + True if the is a compressed format + + + + Determines whether the specified is packed. + + The DXGI Format. + true if the specified is packed; otherwise, false. + + + + Determines whether the specified is video. + + The . + true if the specified is video; otherwise, false. + + + + Determines whether the specified is a SRGB format. + + The . + true if the specified is a SRGB format; otherwise, false. + + + + Determines whether the specified is typeless. + + The . + true if the specified is typeless; otherwise, false. + + + + Computes the scanline count (number of scanlines). + + The . + The height. + The scanline count. + + + + Static initializer to speed up size calculation (not sure the JIT is enough "smart" for this kind of thing). + + + + +

Identifies the type of DXGI adapter.

+
+ +

The enumerated type is used by the Flags member of the or DXGI_ADAPTER_DESC2 structure to identify the type of DXGI adapter.

+
+ + ff471327 + DXGI_ADAPTER_FLAG + DXGI_ADAPTER_FLAG +
+ + +

Specifies no flags.

+
+ + ff471327 + DXGI_ADAPTER_FLAG_NONE + DXGI_ADAPTER_FLAG_NONE +
+ + +

Value always set to 0. This flag is reserved.

+
+ + ff471327 + DXGI_ADAPTER_FLAG_REMOTE + DXGI_ADAPTER_FLAG_REMOTE +
+ + + No documentation. + + + DXGI_ENUM_MODES_FLAGS + DXGI_ENUM_MODES_FLAGS + + + + No documentation. + + + DXGI_ENUM_MODES_INTERLACED + DXGI_ENUM_MODES_INTERLACED + + + + No documentation. + + + DXGI_ENUM_MODES_SCALING + DXGI_ENUM_MODES_SCALING + + + +

Flags that indicate how the back buffers should be rotated to fit the physical rotation of a monitor.

+
+ + bb173065 + DXGI_MODE_ROTATION + DXGI_MODE_ROTATION +
+ + +

Unspecified rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_UNSPECIFIED + DXGI_MODE_ROTATION_UNSPECIFIED +
+ + +

Specifies no rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_IDENTITY + DXGI_MODE_ROTATION_IDENTITY +
+ + +

Specifies 90 degrees of rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_ROTATE90 + DXGI_MODE_ROTATION_ROTATE90 +
+ + +

Specifies 180 degrees of rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_ROTATE180 + DXGI_MODE_ROTATION_ROTATE180 +
+ + +

Specifies 270 degrees of rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_ROTATE270 + DXGI_MODE_ROTATION_ROTATE270 +
+ + +

Flags indicating how an image is stretched to fit a given monitor's resolution.

+
+ + bb173066 + DXGI_MODE_SCALING + DXGI_MODE_SCALING +
+ + +

Unspecified scaling.

+
+ + bb173066 + DXGI_MODE_SCALING_UNSPECIFIED + DXGI_MODE_SCALING_UNSPECIFIED +
+ + +

Specifies no scaling. The image is centered on the display. This flag is typically used for a fixed-dot-pitch display (such as an LED display).

+
+ + bb173066 + DXGI_MODE_SCALING_CENTERED + DXGI_MODE_SCALING_CENTERED +
+ + +

Specifies stretched scaling.

+
+ + bb173066 + DXGI_MODE_SCALING_STRETCHED + DXGI_MODE_SCALING_STRETCHED +
+ + +

Flags indicating the method the raster uses to create an image on a surface.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER + DXGI_MODE_SCANLINE_ORDER +
+ + +

Scanline order is unspecified.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED + DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED +
+ + +

The image is created from the first scanline to the last without skipping any.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE + DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE +
+ + +

The image is created beginning with the upper field.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST + DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST +
+ + +

The image is created beginning with the lower field.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST + DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST +
+ + +

Status codes that can be returned by DXGI functions.

+
+ + cc308061 + DXGI_STATUS + DXGI_STATUS +
+ + + No documentation. + + + DXGI_STATUS_OCCLUDED + DXGI_STATUS_OCCLUDED + + + + No documentation. + + + DXGI_STATUS_CLIPPED + DXGI_STATUS_CLIPPED + + + + No documentation. + + + DXGI_STATUS_NO_REDIRECTION + DXGI_STATUS_NO_REDIRECTION + + + + No documentation. + + + DXGI_STATUS_NO_DESKTOP_ACCESS + DXGI_STATUS_NO_DESKTOP_ACCESS + + + + No documentation. + + + DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE + DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE + + + + No documentation. + + + DXGI_STATUS_MODE_CHANGED + DXGI_STATUS_MODE_CHANGED + + + + No documentation. + + + DXGI_STATUS_MODE_CHANGE_IN_PROGRESS + DXGI_STATUS_MODE_CHANGE_IN_PROGRESS + + + +

Resource data formats which includes fully-typed and typeless formats. There is a list of format modifiers at the bottom of the page, that more fully describes each format type.

+
+ +

A few formats have additional restrictions.

  1. A resource declared with the DXGI_FORMAT_R32G32B32 family of formats cannot be used simultaneously for vertex and texture data. That is, you may not create a buffer resource with the DXGI_FORMAT_R32G32B32 family of formats that uses any of the following bind flags: , , , or (see ).
  2. is designed specifically for text filtering, and must be used with a format-specific, configurable 8x8 filter mode. When calling an HLSL sampling function using this format, the address offset parameter must be set to (0,0).
  3. A resource using a sub-sampled format (such as DXGI_FORMAT_R8G8_B8G8) must have a size that is a multiple of 2 in the x dimension.
  4. Format is not available in Direct3D 10 and Direct3D 10.1

The following topics provide lists of the formats that particular hardware feature levels support:

  • Hardware Support for Direct3D 11.1 Formats
  • Hardware Support for Direct3D 11 Formats
  • Hardware Support for Direct3D 10.1 Formats
  • Hardware Support for Direct3D 10 Formats
  • Hardware Support for Direct3D 10Level9 Formats

For a list of the DirectXMath types that map to values, see DirectXMath Library Internals.

Format Modifiers

Each enumeration value contains a format modifier which describes the data type.

Format ModifiersDescription
_FLOATA floating-point value; 32-bit floating-point formats use IEEE 754 single-precision (s23e8 format): sign bit, 8-bit biased (127) exponent, and 23-bit mantissa. 16-bit floating-point formats use half-precision (s10e5 format): sign bit, 5-bit biased (15) exponent, and 10-bit mantissa.
_SINTTwo's complement signed integer. For example, a 3-bit SINT represents the values -4, -3, -2, -1, 0, 1, 2, 3.
_SNORMSigned normalized integer; which is interpreted in a resource as a signed integer, and is interpreted in a shader as a signed normalized floating-point value in the range [-1, 1]. For an 2's complement number, the maximum value is 1.0f (a 5-bit value 01111 maps to 1.0f), and the minimum value is -1.0f (a 5-bit value 10000 maps to -1.0f). In addition, the second-minimum number maps to -1.0f (a 5-bit value 10001 maps to -1.0f). The resulting integer representations are evenly spaced floating-point values in the range (-1.0f...0.0f), and also a complementary set of representations for numbers in the range (0.0f...1.0f).
_SRGBStandard RGB data, which roughly displays colors in a linear ramp of luminosity levels such that an average observer, under average viewing conditions, can view them on an average display.

All 0's maps to 0.0f, and all 1's maps to 1.0f. The sequence of unsigned integer encodings between all 0's and all 1's represent a nonlinear progression in the floating-point interpretation of the numbers between 0.0f to 1.0f. For more detail, see the SRGB color standard, IEC 61996-2-1, at IEC (International Electrotechnical Commission).

Conversion to or from sRGB space is automatically done by D3DX10 or D3DX9 texture-load functions. If the format has an alpha channel, the alpha data is also stored in sRGB color space.
_TYPELESSTypeless data, with a defined number of bits. Typeless formats are designed for creating typeless resources; that is, a resource whose size is known, but whose data type is not yet fully defined. When a typeless resource is bound to a shader, the application or shader must resolve the format type (which must match the number of bits per component in the typeless format).

A typeless format contains one or more subformats; each subformat resolves the data type. For example, in the R32G32B32 group, which defines types for three-component 96-bit data, there is one typeless format and three fully typed subformats.

 , , , ,	
+            
_UINTUnsigned integer. For instance, a 3-bit UINT represents the values 0, 1, 2, 3, 4, 5, 6, 7.
_UNORMUnsigned normalized integer; which is interpreted in a resource as an unsigned integer, and is interpreted in a shader as an unsigned normalized floating-point value in the range [0, 1]. All 0's maps to 0.0f, and all 1's maps to 1.0f. A sequence of evenly spaced floating-point values from 0.0f to 1.0f are represented. For instance, a 2-bit UNORM represents 0.0f, 1/3, 2/3, and 1.0f.

?

New Resource Formats

Direct3D 10 offers new data compression formats for compressing high-dynamic range (HDR) lighting data, normal maps and heightfields to a fraction of their original size. These compression types include:

  • Shared-Exponent high-dynamic range (HDR) format (RGBE)
  • New Block-Compressed 1-2 channel UNORM/SNORM formats

The block compression formats can be used for any of the 2D or 3D texture types ( Texture2D, Texture2DArray, Texture3D, or TextureCube) including mipmap surfaces. The block compression techniques require texture dimensions to be a multiple of 4 (since the implementation compresses on blocks of 4x4 texels). In the texture sampler, compressed formats are always decompressed before texture filtering.

+
+ + bb173059 + DXGI_FORMAT + DXGI_FORMAT +
+ + +

The format is not known.

+
+ + bb173059 + DXGI_FORMAT_UNKNOWN + DXGI_FORMAT_UNKNOWN +
+ + +

A four-component, 128-bit typeless format that supports 32 bits per channel including alpha. 1

+
+ + bb173059 + DXGI_FORMAT_R32G32B32A32_TYPELESS + DXGI_FORMAT_R32G32B32A32_TYPELESS +
+ + +

A four-component, 128-bit floating-point format that supports 32 bits per channel including alpha. 1

+
+ + bb173059 + DXGI_FORMAT_R32G32B32A32_FLOAT + DXGI_FORMAT_R32G32B32A32_FLOAT +
+ + +

A four-component, 128-bit unsigned-integer format that supports 32 bits per channel including alpha. 1

+
+ + bb173059 + DXGI_FORMAT_R32G32B32A32_UINT + DXGI_FORMAT_R32G32B32A32_UINT +
+ + +

A four-component, 128-bit signed-integer format that supports 32 bits per channel including alpha. 1

+
+ + bb173059 + DXGI_FORMAT_R32G32B32A32_SINT + DXGI_FORMAT_R32G32B32A32_SINT +
+ + +

A three-component, 96-bit typeless format that supports 32 bits per color channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32B32_TYPELESS + DXGI_FORMAT_R32G32B32_TYPELESS +
+ + +

A three-component, 96-bit floating-point format that supports 32 bits per color channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32B32_FLOAT + DXGI_FORMAT_R32G32B32_FLOAT +
+ + +

A three-component, 96-bit unsigned-integer format that supports 32 bits per color channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32B32_UINT + DXGI_FORMAT_R32G32B32_UINT +
+ + +

A three-component, 96-bit signed-integer format that supports 32 bits per color channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32B32_SINT + DXGI_FORMAT_R32G32B32_SINT +
+ + +

A four-component, 64-bit typeless format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_TYPELESS + DXGI_FORMAT_R16G16B16A16_TYPELESS +
+ + +

A four-component, 64-bit floating-point format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_FLOAT + DXGI_FORMAT_R16G16B16A16_FLOAT +
+ + +

A four-component, 64-bit unsigned-normalized-integer format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_UNORM + DXGI_FORMAT_R16G16B16A16_UNORM +
+ + +

A four-component, 64-bit unsigned-integer format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_UINT + DXGI_FORMAT_R16G16B16A16_UINT +
+ + +

A four-component, 64-bit signed-normalized-integer format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_SNORM + DXGI_FORMAT_R16G16B16A16_SNORM +
+ + +

A four-component, 64-bit signed-integer format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_SINT + DXGI_FORMAT_R16G16B16A16_SINT +
+ + +

A two-component, 64-bit typeless format that supports 32 bits for the red channel and 32 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32_TYPELESS + DXGI_FORMAT_R32G32_TYPELESS +
+ + +

A two-component, 64-bit floating-point format that supports 32 bits for the red channel and 32 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32_FLOAT + DXGI_FORMAT_R32G32_FLOAT +
+ + +

A two-component, 64-bit unsigned-integer format that supports 32 bits for the red channel and 32 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32_UINT + DXGI_FORMAT_R32G32_UINT +
+ + +

A two-component, 64-bit signed-integer format that supports 32 bits for the red channel and 32 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32_SINT + DXGI_FORMAT_R32G32_SINT +
+ + +

A two-component, 64-bit typeless format that supports 32 bits for the red channel, 8 bits for the green channel, and 24 bits are unused.

+
+ + bb173059 + DXGI_FORMAT_R32G8X24_TYPELESS + DXGI_FORMAT_R32G8X24_TYPELESS +
+ + +

A 32-bit floating-point component, and two unsigned-integer components (with an additional 32 bits). This format supports 32-bit depth, 8-bit stencil, and 24 bits are unused.

+
+ + bb173059 + DXGI_FORMAT_D32_FLOAT_S8X24_UINT + DXGI_FORMAT_D32_FLOAT_S8X24_UINT +
+ + +

A 32-bit floating-point component, and two typeless components (with an additional 32 bits). This format supports 32-bit red channel, 8 bits are unused, and 24 bits are unused.

+
+ + bb173059 + DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS + DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS +
+ + +

A 32-bit typeless component, and two unsigned-integer components (with an additional 32 bits). This format has 32 bits unused, 8 bits for green channel, and 24 bits are unused.

+
+ + bb173059 + DXGI_FORMAT_X32_TYPELESS_G8X24_UINT + DXGI_FORMAT_X32_TYPELESS_G8X24_UINT +
+ + +

A four-component, 32-bit typeless format that supports 10 bits for each color and 2 bits for alpha.

+
+ + bb173059 + DXGI_FORMAT_R10G10B10A2_TYPELESS + DXGI_FORMAT_R10G10B10A2_TYPELESS +
+ + +

A four-component, 32-bit unsigned-normalized-integer format that supports 10 bits for each color and 2 bits for alpha.

+
+ + bb173059 + DXGI_FORMAT_R10G10B10A2_UNORM + DXGI_FORMAT_R10G10B10A2_UNORM +
+ + +

A four-component, 32-bit unsigned-integer format that supports 10 bits for each color and 2 bits for alpha.

+
+ + bb173059 + DXGI_FORMAT_R10G10B10A2_UINT + DXGI_FORMAT_R10G10B10A2_UINT +
+ + +

Three partial-precision floating-point numbers encoded into a single 32-bit value (a variant of s10e5, which is sign bit, 10-bit mantissa, and 5-bit biased (15) exponent). There are no sign bits, and there is a 5-bit biased (15) exponent for each channel, 6-bit mantissa for R and G, and a 5-bit mantissa for B, as shown in the following illustration.

+
+ + bb173059 + DXGI_FORMAT_R11G11B10_FLOAT + DXGI_FORMAT_R11G11B10_FLOAT +
+ + +

A four-component, 32-bit typeless format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_TYPELESS + DXGI_FORMAT_R8G8B8A8_TYPELESS +
+ + +

A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_UNORM + DXGI_FORMAT_R8G8B8A8_UNORM +
+ + +

A four-component, 32-bit unsigned-normalized integer sRGB format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_UNORM_SRGB + DXGI_FORMAT_R8G8B8A8_UNORM_SRGB +
+ + +

A four-component, 32-bit unsigned-integer format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_UINT + DXGI_FORMAT_R8G8B8A8_UINT +
+ + +

A four-component, 32-bit signed-normalized-integer format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_SNORM + DXGI_FORMAT_R8G8B8A8_SNORM +
+ + +

A four-component, 32-bit signed-integer format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_SINT + DXGI_FORMAT_R8G8B8A8_SINT +
+ + +

A two-component, 32-bit typeless format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_TYPELESS + DXGI_FORMAT_R16G16_TYPELESS +
+ + +

A two-component, 32-bit floating-point format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_FLOAT + DXGI_FORMAT_R16G16_FLOAT +
+ + +

A two-component, 32-bit unsigned-normalized-integer format that supports 16 bits each for the green and red channels.

+
+ + bb173059 + DXGI_FORMAT_R16G16_UNORM + DXGI_FORMAT_R16G16_UNORM +
+ + +

A two-component, 32-bit unsigned-integer format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_UINT + DXGI_FORMAT_R16G16_UINT +
+ + +

A two-component, 32-bit signed-normalized-integer format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_SNORM + DXGI_FORMAT_R16G16_SNORM +
+ + +

A two-component, 32-bit signed-integer format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_SINT + DXGI_FORMAT_R16G16_SINT +
+ + +

A single-component, 32-bit typeless format that supports 32 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R32_TYPELESS + DXGI_FORMAT_R32_TYPELESS +
+ + +

A single-component, 32-bit floating-point format that supports 32 bits for depth.

+
+ + bb173059 + DXGI_FORMAT_D32_FLOAT + DXGI_FORMAT_D32_FLOAT +
+ + +

A single-component, 32-bit floating-point format that supports 32 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R32_FLOAT + DXGI_FORMAT_R32_FLOAT +
+ + +

A single-component, 32-bit unsigned-integer format that supports 32 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R32_UINT + DXGI_FORMAT_R32_UINT +
+ + +

A single-component, 32-bit signed-integer format that supports 32 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R32_SINT + DXGI_FORMAT_R32_SINT +
+ + +

A two-component, 32-bit typeless format that supports 24 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R24G8_TYPELESS + DXGI_FORMAT_R24G8_TYPELESS +
+ + +

A 32-bit z-buffer format that supports 24 bits for depth and 8 bits for stencil.

+
+ + bb173059 + DXGI_FORMAT_D24_UNORM_S8_UINT + DXGI_FORMAT_D24_UNORM_S8_UINT +
+ + +

A 32-bit format, that contains a 24 bit, single-component, unsigned-normalized integer, with an additional typeless 8 bits. This format has 24 bits red channel and 8 bits unused.

+
+ + bb173059 + DXGI_FORMAT_R24_UNORM_X8_TYPELESS + DXGI_FORMAT_R24_UNORM_X8_TYPELESS +
+ + +

A 32-bit format, that contains a 24 bit, single-component, typeless format, with an additional 8 bit unsigned integer component. This format has 24 bits unused and 8 bits green channel.

+
+ + bb173059 + DXGI_FORMAT_X24_TYPELESS_G8_UINT + DXGI_FORMAT_X24_TYPELESS_G8_UINT +
+ + +

A two-component, 16-bit typeless format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_TYPELESS + DXGI_FORMAT_R8G8_TYPELESS +
+ + +

A two-component, 16-bit unsigned-normalized-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_UNORM + DXGI_FORMAT_R8G8_UNORM +
+ + +

A two-component, 16-bit unsigned-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_UINT + DXGI_FORMAT_R8G8_UINT +
+ + +

A two-component, 16-bit signed-normalized-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_SNORM + DXGI_FORMAT_R8G8_SNORM +
+ + +

A two-component, 16-bit signed-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_SINT + DXGI_FORMAT_R8G8_SINT +
+ + +

A single-component, 16-bit typeless format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_TYPELESS + DXGI_FORMAT_R16_TYPELESS +
+ + +

A single-component, 16-bit floating-point format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_FLOAT + DXGI_FORMAT_R16_FLOAT +
+ + +

A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for depth.

+
+ + bb173059 + DXGI_FORMAT_D16_UNORM + DXGI_FORMAT_D16_UNORM +
+ + +

A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_UNORM + DXGI_FORMAT_R16_UNORM +
+ + +

A single-component, 16-bit unsigned-integer format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_UINT + DXGI_FORMAT_R16_UINT +
+ + +

A single-component, 16-bit signed-normalized-integer format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_SNORM + DXGI_FORMAT_R16_SNORM +
+ + +

A single-component, 16-bit signed-integer format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_SINT + DXGI_FORMAT_R16_SINT +
+ + +

A single-component, 8-bit typeless format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_TYPELESS + DXGI_FORMAT_R8_TYPELESS +
+ + +

A single-component, 8-bit unsigned-normalized-integer format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_UNORM + DXGI_FORMAT_R8_UNORM +
+ + +

A single-component, 8-bit unsigned-integer format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_UINT + DXGI_FORMAT_R8_UINT +
+ + +

A single-component, 8-bit signed-normalized-integer format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_SNORM + DXGI_FORMAT_R8_SNORM +
+ + +

A single-component, 8-bit signed-integer format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_SINT + DXGI_FORMAT_R8_SINT +
+ + +

A single-component, 8-bit unsigned-normalized-integer format for alpha only.

+
+ + bb173059 + DXGI_FORMAT_A8_UNORM + DXGI_FORMAT_A8_UNORM +
+ + +

A single-component, 1-bit unsigned-normalized integer format that supports 1 bit for the red channel. 2.

+
+ + bb173059 + DXGI_FORMAT_R1_UNORM + DXGI_FORMAT_R1_UNORM +
+ + +

Three partial-precision floating-point numbers encoded into a single 32-bit value all sharing the same 5-bit exponent (variant of s10e5, which is sign bit, 10-bit mantissa, and 5-bit biased (15) exponent). There is no sign bit, and there is a shared 5-bit biased (15) exponent and a 9-bit mantissa for each channel, as shown in the following illustration. 2.

+
+ + bb173059 + DXGI_FORMAT_R9G9B9E5_SHAREDEXP + DXGI_FORMAT_R9G9B9E5_SHAREDEXP +
+ + +

A four-component, 32-bit unsigned-normalized-integer format. This packed RGB format is analogous to the UYVY format. Each 32-bit block describes a pair of pixels: (R8, G8, B8) and (R8, G8, B8) where the R8/B8 values are repeated, and the G8 values are unique to each pixel. 3

+
+ + bb173059 + DXGI_FORMAT_R8G8_B8G8_UNORM + DXGI_FORMAT_R8G8_B8G8_UNORM +
+ + +

A four-component, 32-bit unsigned-normalized-integer format. This packed RGB format is analogous to the YUY2 format. Each 32-bit block describes a pair of pixels: (R8, G8, B8) and (R8, G8, B8) where the R8/B8 values are repeated, and the G8 values are unique to each pixel. 3

+
+ + bb173059 + DXGI_FORMAT_G8R8_G8B8_UNORM + DXGI_FORMAT_G8R8_G8B8_UNORM +
+ + +

Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC1_TYPELESS + DXGI_FORMAT_BC1_TYPELESS +
+ + +

Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC1_UNORM + DXGI_FORMAT_BC1_UNORM +
+ + +

Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC1_UNORM_SRGB + DXGI_FORMAT_BC1_UNORM_SRGB +
+ + +

Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC2_TYPELESS + DXGI_FORMAT_BC2_TYPELESS +
+ + +

Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC2_UNORM + DXGI_FORMAT_BC2_UNORM +
+ + +

Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC2_UNORM_SRGB + DXGI_FORMAT_BC2_UNORM_SRGB +
+ + +

Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC3_TYPELESS + DXGI_FORMAT_BC3_TYPELESS +
+ + +

Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC3_UNORM + DXGI_FORMAT_BC3_UNORM +
+ + +

Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC3_UNORM_SRGB + DXGI_FORMAT_BC3_UNORM_SRGB +
+ + +

One-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC4_TYPELESS + DXGI_FORMAT_BC4_TYPELESS +
+ + +

One-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC4_UNORM + DXGI_FORMAT_BC4_UNORM +
+ + +

One-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC4_SNORM + DXGI_FORMAT_BC4_SNORM +
+ + +

Two-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC5_TYPELESS + DXGI_FORMAT_BC5_TYPELESS +
+ + +

Two-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC5_UNORM + DXGI_FORMAT_BC5_UNORM +
+ + +

Two-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC5_SNORM + DXGI_FORMAT_BC5_SNORM +
+ + +

A three-component, 16-bit unsigned-normalized-integer format that supports 5 bits for blue, 6 bits for green, and 5 bits for red.

+
+ + bb173059 + DXGI_FORMAT_B5G6R5_UNORM + DXGI_FORMAT_B5G6R5_UNORM +
+ + +

A four-component, 16-bit unsigned-normalized-integer format that supports 5 bits for each color channel and 1-bit alpha.

+
+ + bb173059 + DXGI_FORMAT_B5G5R5A1_UNORM + DXGI_FORMAT_B5G5R5A1_UNORM +
+ + +

A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8-bit alpha.

+
+ + bb173059 + DXGI_FORMAT_B8G8R8A8_UNORM + DXGI_FORMAT_B8G8R8A8_UNORM +
+ + +

A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8 bits unused.

+
+ + bb173059 + DXGI_FORMAT_B8G8R8X8_UNORM + DXGI_FORMAT_B8G8R8X8_UNORM +
+ + +

A four-component, 32-bit 2.8-biased fixed-point format that supports 10 bits for each color channel and 2-bit alpha.

+
+ + bb173059 + DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM + DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM +
+ + +

A four-component, 32-bit typeless format that supports 8 bits for each channel including alpha. 4

+
+ + bb173059 + DXGI_FORMAT_B8G8R8A8_TYPELESS + DXGI_FORMAT_B8G8R8A8_TYPELESS +
+ + +

A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each channel including alpha. 4

+
+ + bb173059 + DXGI_FORMAT_B8G8R8A8_UNORM_SRGB + DXGI_FORMAT_B8G8R8A8_UNORM_SRGB +
+ + +

A four-component, 32-bit typeless format that supports 8 bits for each color channel, and 8 bits are unused. 4

+
+ + bb173059 + DXGI_FORMAT_B8G8R8X8_TYPELESS + DXGI_FORMAT_B8G8R8X8_TYPELESS +
+ + +

A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each color channel, and 8 bits are unused. 4

+
+ + bb173059 + DXGI_FORMAT_B8G8R8X8_UNORM_SRGB + DXGI_FORMAT_B8G8R8X8_UNORM_SRGB +
+ + +

A typeless block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC6H_TYPELESS + DXGI_FORMAT_BC6H_TYPELESS +
+ + +

A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC6H_UF16 + DXGI_FORMAT_BC6H_UF16 +
+ + +

A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC6H_SF16 + DXGI_FORMAT_BC6H_SF16 +
+ + +

A typeless block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC7_TYPELESS + DXGI_FORMAT_BC7_TYPELESS +
+ + +

A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC7_UNORM + DXGI_FORMAT_BC7_UNORM +
+ + +

A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC7_UNORM_SRGB + DXGI_FORMAT_BC7_UNORM_SRGB +
+ + + No documentation. + + + DXGI_MAP_FLAGS + DXGI_MAP_FLAGS + + + + No documentation. + + + DXGI_MAP_READ + DXGI_MAP_READ + + + + No documentation. + + + DXGI_MAP_WRITE + DXGI_MAP_WRITE + + + + No documentation. + + + DXGI_MAP_DISCARD + DXGI_MAP_DISCARD + + + + No documentation. + + + DXGI_PRESENT_FLAGS + DXGI_PRESENT_FLAGS + + + + No documentation. + + + DXGI_PRESENT_TEST + DXGI_PRESENT_TEST + + + + No documentation. + + + DXGI_PRESENT_DO_NOT_SEQUENCE + DXGI_PRESENT_DO_NOT_SEQUENCE + + + + No documentation. + + + DXGI_PRESENT_RESTART + DXGI_PRESENT_RESTART + + + + None. + + + None + None + + + +

Flags indicating the memory location of a resource.

+
+ + bb173070 + DXGI_RESIDENCY + DXGI_RESIDENCY +
+ + +

The resource is located in video memory.

+
+ + bb173070 + DXGI_RESIDENCY_FULLY_RESIDENT + DXGI_RESIDENCY_FULLY_RESIDENT +
+ + +

At least some of the resource is located in CPU memory.

+
+ + bb173070 + DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY + DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY +
+ + +

At least some of the resource has been paged out to the hard drive.

+
+ + bb173070 + DXGI_RESIDENCY_EVICTED_TO_DISK + DXGI_RESIDENCY_EVICTED_TO_DISK +
+ + + No documentation. + + + DXGI_RESOURCE_PRIORITY + DXGI_RESOURCE_PRIORITY + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_MINIMUM + DXGI_RESOURCE_PRIORITY_MINIMUM + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_LOW + DXGI_RESOURCE_PRIORITY_LOW + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_NORMAL + DXGI_RESOURCE_PRIORITY_NORMAL + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_HIGH + DXGI_RESOURCE_PRIORITY_HIGH + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_MAXIMUM + DXGI_RESOURCE_PRIORITY_MAXIMUM + + + + No documentation. + + + DXGI_SHARED_RESOURCE_FLAGS + DXGI_SHARED_RESOURCE_FLAGS + + + + None. + + + None + None + + + +

Options for swap-chain behavior.

+
+ +

This enumeration is used by the structure and the method.

This enumeration is also used by the DXGI_SWAP_CHAIN_DESC1 structure.

Swap chains that you create in full-screen mode with the method behave as if DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY is set even though the flag is not set. That is, presented content is not accessible by remote access or through the desktop duplication APIs.

Swap chains that you create with the IDXGIFactory2::CreateSwapChainForHwnd, IDXGIFactory2::CreateSwapChainForImmersiveWindow, and IDXGIFactory2::CreateSwapChainForCompositionSurface methods are not protected if DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY is not set and are protected if DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY is set. When swap chains are protected, screen scraping is prevented and, in full-screen mode, presented content is not accessible through the desktop duplication APIs.

+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG + DXGI_SWAP_CHAIN_FLAG +
+ + +

Set this flag to turn off automatic image rotation; that is, do not perform a rotation when transferring the contents of the front buffer to the monitor. Use this flag to avoid a bandwidth penalty when an application expects to handle rotation. This option is valid only during full-screen mode.

+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG_NONPREROTATED + DXGI_SWAP_CHAIN_FLAG_NONPREROTATED +
+ + +

Set this flag to enable an application to switch modes by calling . When switching from windowed to full-screen mode, the display mode (or monitor resolution) will be changed to match the dimensions of the application window.

+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH + DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH +
+ + +

Set this flag to enable an application to render using GDI on a swap chain or a surface. This will allow the application to call on the 0th back buffer or a surface.

+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE + DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE +
+ + + None. + + + None + None + + + +

Options for handling pixels in a display surface after calling .

+
+ +

This enumeration is used by the structure.

This enumeration is also used by the DXGI_SWAP_CHAIN_DESC1 structure.

The primary difference between presentation models is how back-buffer contents get to the Desktop Window Manager (DWM) for composition. In the bitblt model, which is used with the and values, contents of the back buffer get copied into the redirection surface on each call to . In the flip model, which is used with the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value, all back buffers are shared with the DWM. Therefore, the DWM can compose straight from those back buffers without any additional copy operations. + In general, the flip model is the more efficient model. The flip model also provides more features, such as enhanced present statistics. +

Regardless of whether the flip model is more efficient, an application still might choose the bitblt model for the following reasons:

  • The bitblt model is the only way to mix GDI and DirectX presentation.

    In the flip model, the application must create the swap chain with , and then must use GetDC on the back buffer explicitly. After the first successful call to on a flip-model swap chain, GDI no longer works with the that is associated with that swap chain, even after the destruction of the swap chain. This restriction even extends to methods like ScrollWindowEx.

  • The flip model requires at least three window-sized buffers if the application uses child windows. For the bitblt model, this minimum is two buffers.

+
+ + bb173077 + DXGI_SWAP_EFFECT + DXGI_SWAP_EFFECT +
+ + + No documentation. + + + DXGI_SWAP_EFFECT_DISCARD + DXGI_SWAP_EFFECT_DISCARD + + + + No documentation. + + + DXGI_SWAP_EFFECT_SEQUENTIAL + DXGI_SWAP_EFFECT_SEQUENTIAL + + + + No documentation. + + + DXGI_USAGE_ENUM + DXGI_USAGE_ENUM + + + + No documentation. + + + DXGI_USAGE_SHADER_INPUT + DXGI_USAGE_SHADER_INPUT + + + + No documentation. + + + DXGI_USAGE_RENDER_TARGET_OUTPUT + DXGI_USAGE_RENDER_TARGET_OUTPUT + + + + No documentation. + + + DXGI_USAGE_BACK_BUFFER + DXGI_USAGE_BACK_BUFFER + + + + No documentation. + + + DXGI_USAGE_SHARED + DXGI_USAGE_SHARED + + + + No documentation. + + + DXGI_USAGE_READ_ONLY + DXGI_USAGE_READ_ONLY + + + + No documentation. + + + DXGI_USAGE_DISCARD_ON_PRESENT + DXGI_USAGE_DISCARD_ON_PRESENT + + + + No documentation. + + + DXGI_USAGE_UNORDERED_ACCESS + DXGI_USAGE_UNORDERED_ACCESS + + + + No documentation. + + + DXGI_MWA_FLAGS + DXGI_MWA_FLAGS + + + + No documentation. + + + DXGI_MWA_NO_WINDOW_CHANGES + DXGI_MWA_NO_WINDOW_CHANGES + + + + No documentation. + + + DXGI_MWA_NO_ALT_ENTER + DXGI_MWA_NO_ALT_ENTER + + + + No documentation. + + + DXGI_MWA_NO_PRINT_SCREEN + DXGI_MWA_NO_PRINT_SCREEN + + + + No documentation. + + + DXGI_MWA_VALID + DXGI_MWA_VALID + + + + None. + + + None + None + + + + Functions + + + + + +

Creates a DXGI 1.1 factory that generates objects used to enumerate and specify video graphics settings.

+
+

The globally unique identifier () of the object referenced by the ppFactory parameter.

+

Address of a reference to an object.

+

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

+ +

Use a DXGI 1.1 factory to generate objects that enumerate adapters, create swap chains, and associate a window with the alt+enter key sequence for toggling to and from the full-screen display mode.

If the CreateDXGIFactory1 function succeeds, the reference count on the interface is incremented. To avoid a memory leak, when you finish using the interface, call the IDXGIFactory1::Release method to release the interface.

This entry point is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Note??Do not mix the use of DXGI 1.0 () and DXGI 1.1 () in an application. Use or , but not both in an application.

+
+ + ff471318 + HRESULT CreateDXGIFactory1([In] const GUID& riid,[Out] void** ppFactory) + CreateDXGIFactory1 +
+ + +

Creates a DXGI 1.0 factory that generates objects used to enumerate and specify video graphics settings.

+
+

The globally unique identifier () of the object referenced by the ppFactory parameter.

+

Address of a reference to an object.

+

Returns if successful; otherwise, returns one of the following DXGI_ERROR.

+ +

Use a DXGI factory to generate objects that enumerate adapters, create swap chains, and associate a window with the alt+enter key sequence for toggling to and from the fullscreen display mode.

If the CreateDXGIFactory function succeeds, the reference count on the interface is incremented. To avoid a memory leak, when you finish using the interface, call the IDXGIFactory::Release method to release the interface.

Note??Do not mix the use of DXGI 1.0 () and DXGI 1.1 () in an application. Use or , but not both in an application.

The CreateDXGIFactory function does not exist for Metro style apps. Instead, Metro style apps use the CreateDXGIFactory1 function.

+
+ + bb204862 + HRESULT CreateDXGIFactory([In] const GUID& riid,[Out] void** ppFactory) + CreateDXGIFactory +
+ + + Functions + + + + + Constant FrameStatisticsDisjoint. + DXGI_ERROR_FRAME_STATISTICS_DISJOINT + + + Constant DeviceReset. + DXGI_ERROR_DEVICE_RESET + + + Constant NotFound. + DXGI_ERROR_NOT_FOUND + + + Constant DriverInternalError. + DXGI_ERROR_DRIVER_INTERNAL_ERROR + + + Constant InvalidCall. + DXGI_ERROR_INVALID_CALL + + + Constant WasStillDrawing. + DXGI_ERROR_WAS_STILL_DRAWING + + + Constant Unsupported. + DXGI_ERROR_UNSUPPORTED + + + Constant RemoteClientDisconnected. + DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED + + + Constant DeviceRemoved. + DXGI_ERROR_DEVICE_REMOVED + + + Constant DeviceHung. + DXGI_ERROR_DEVICE_HUNG + + + Constant RemoteOufOfMemory. + DXGI_ERROR_REMOTE_OUTOFMEMORY + + + Constant MoreData. + DXGI_ERROR_MORE_DATA + + + Constant Nonexclusive. + DXGI_ERROR_NONEXCLUSIVE + + + Constant GraphicsVidpnSourceInUse. + DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE + + + Constant NotCurrentlyAvailable. + DXGI_ERROR_NOT_CURRENTLY_AVAILABLE + + + +

The interface represents a display sub-system (including one or more GPU's, DACs and video memory).

+
+ +

This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

A display sub-system is often referred to as a video card, however, on some machines the display sub-system is part of the mother board.

To enumerate the display sub-systems, use . To get an interface to the adapter for a particular device, use . To create a software adapter, use .

+
+ + ff471329 + IDXGIAdapter1 + IDXGIAdapter1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets a DXGI 1.1 description of an adapter (or video card).

+
+

A reference to a structure that describes the adapter. This parameter must not be null.

+

Returns if successful; otherwise, returns E_INVALIDARG if the pDesc parameter is null.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Use the GetDesc1 method to get a DXGI 1.1 description of an adapter. To get a DXGI 1.0 description, use the method.

+
+ + ff471330 + HRESULT IDXGIAdapter1::GetDesc1([Out] DXGI_ADAPTER_DESC1* pDesc) + IDXGIAdapter1::GetDesc1 +
+ + +

Gets a DXGI 1.1 description of an adapter (or video card).

+
+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Use the GetDesc1 method to get a DXGI 1.1 description of an adapter. To get a DXGI 1.0 description, use the method.

+
+ + ff471330 + GetDesc1 + GetDesc1 + HRESULT IDXGIAdapter1::GetDesc1([Out] DXGI_ADAPTER_DESC1* pDesc) +
+ + +

An interface implements a derived class for DXGI objects that produce image data.

+
+ +

This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

The interface is designed for use by DXGI objects that need access to other DXGI objects. This interface is useful to applications that do not use Direct3D to communicate with DXGI.

+
+ + ff471331 + IDXGIDevice1 + IDXGIDevice1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the number of frames that the system is allowed to queue for rendering.

+
+

The maximum number of back buffer frames that a driver can queue. The value defaults to 3, but can range from 1 to 16. A value of 0 will reset latency to the default. For multi-head devices, this value is specified per-head.

+

Returns if successful; otherwise, if the device was removed.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.

+
+ + ff471334 + HRESULT IDXGIDevice1::SetMaximumFrameLatency([In] unsigned int MaxLatency) + IDXGIDevice1::SetMaximumFrameLatency +
+ + +

Gets the number of frames that the system is allowed to queue for rendering.

+
+

This value is set to the number of frames that can be queued for render. This value defaults to 3, but can range from 1 to 16.

+

Returns if successful; otherwise, returns one of the following members of the D3DERR enumerated type:

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.

+
+ + ff471332 + HRESULT IDXGIDevice1::GetMaximumFrameLatency([Out] unsigned int* pMaxLatency) + IDXGIDevice1::GetMaximumFrameLatency +
+ + +

Gets or sets the number of frames that the system is allowed to queue for rendering.

+
+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.

+
+ + ff471332 + GetMaximumFrameLatency / SetMaximumFrameLatency + GetMaximumFrameLatency + HRESULT IDXGIDevice1::GetMaximumFrameLatency([Out] unsigned int* pMaxLatency) +
+ + +

Using a key, acquires exclusive rendering access to a shared resource.

+
+ +

The AcquireSync method creates a lock to a surface that is shared between multiple devices, allowing only one device to render to a surface at a time. This method uses a key to determine which device currently has exclusive access to the surface.

When a surface is created using the value of the enumeration, you must call the AcquireSync method before rendering to the surface. You must call the ReleaseSync method when you are done rendering to a surface.

To acquire a reference to the keyed mutex object of a shared resource, call the QueryInterface method of the resource and pass in the UUID of the interface. For more information about acquiring this reference, see the following code example.

The AcquireSync method uses the key as follows, depending on the state of the surface:

  • On initial creation, the surface is unowned and any device can call the AcquireSync method to gain access. For an unowned device, only a key of 0 will succeed. Calling the AcquireSync method for any other key will stall the calling CPU thread.
  • If the surface is owned by a device when you call the AcquireSync method, the CPU thread that called the AcquireSync method will stall until the owning device calls the ReleaseSync method using the same Key.
  • If the surface is unowned when you call the AcquireSync method (for example, the last owning device has already called the ReleaseSync method), the AcquireSync method will succeed if you specify the same key that was specified when the ReleaseSync method was last called. Calling the AcquireSync method using any other key will cause a stall.
  • When the owning device calls the ReleaseSync method with a particular key, and more than one device is waiting after calling the AcquireSync method using the same key, any one of the waiting devices could be woken up first. The order in which devices are woken up is undefined.
  • A keyed mutex does not support recursive calls to the AcquireSync method.
+
+ + ff471339 + IDXGIKeyedMutex + IDXGIKeyedMutex +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Using a key, acquires exclusive rendering access to a shared resource.

+
+

A value that indicates which device to give access to. This method will succeed when the device that currently owns the surface calls the method using the same value. This value can be any UINT64 value.

+

The time-out interval, in milliseconds. This method will return if the interval elapses, and the keyed mutex has not been released using the specified Key. If this value is set to zero, the AcquireSync method will test to see if the keyed mutex has been released and returns immediately. If this value is set to INFINITE, the time-out interval will never elapse.

+

Return if successful.

If the owning device attempted to create another keyed mutex on the same shared resource, AcquireSync returns E_FAIL.

AcquireSync can also return the following DWORD constants. Therefore, you should explicitly check for these constants. If you only use the SUCCEEDED macro on the return value to determine if AcquireSync succeeded, you will not catch these constants.

  • WAIT_ABANDONED - The shared surface and keyed mutex are no longer in a consistent state. If AcquireSync returns this value, you should release and recreate both the keyed mutex and the shared surface.
  • WAIT_TIMEOUT - The time-out interval elapsed before the specified key was released.
+ +

The AcquireSync method creates a lock to a surface that is shared between multiple devices, allowing only one device to render to a surface at a time. This method uses a key to determine which device currently has exclusive access to the surface.

When a surface is created using the value of the enumeration, you must call the AcquireSync method before rendering to the surface. You must call the ReleaseSync method when you are done rendering to a surface.

To acquire a reference to the keyed mutex object of a shared resource, call the QueryInterface method of the resource and pass in the UUID of the interface. For more information about acquiring this reference, see the following code example.

The AcquireSync method uses the key as follows, depending on the state of the surface:

  • On initial creation, the surface is unowned and any device can call the AcquireSync method to gain access. For an unowned device, only a key of 0 will succeed. Calling the AcquireSync method for any other key will stall the calling CPU thread.
  • If the surface is owned by a device when you call the AcquireSync method, the CPU thread that called the AcquireSync method will stall until the owning device calls the ReleaseSync method using the same Key.
  • If the surface is unowned when you call the AcquireSync method (for example, the last owning device has already called the ReleaseSync method), the AcquireSync method will succeed if you specify the same key that was specified when the ReleaseSync method was last called. Calling the AcquireSync method using any other key will cause a stall.
  • When the owning device calls the ReleaseSync method with a particular key, and more than one device is waiting after calling the AcquireSync method using the same key, any one of the waiting devices could be woken up first. The order in which devices are woken up is undefined.
  • A keyed mutex does not support recursive calls to the AcquireSync method.
+
+ + ff471339 + HRESULT IDXGIKeyedMutex::AcquireSync([In] unsigned longlong Key,[In] unsigned int dwMilliseconds) + IDXGIKeyedMutex::AcquireSync +
+ + +

Using a key, releases exclusive rendering access to a shared resource.

+
+

A value that indicates which device to give access to. This method succeeds when the device that currently owns the surface calls the ReleaseSync method using the same value. This value can be any UINT64 value.

+

Returns if successful.

If the device attempted to release a keyed mutex that is not valid or owned by the device, ReleaseSync returns E_FAIL.

+ +

The ReleaseSync method releases a lock to a surface that is shared between multiple devices. This method uses a key to determine which device currently has exclusive access to the surface.

When a surface is created using the value of the enumeration, you must call the method before rendering to the surface. You must call the ReleaseSync method when you are done rendering to a surface.

After you call the ReleaseSync method, the shared resource is unset from the rendering pipeline.

To acquire a reference to the keyed mutex object of a shared resource, call the QueryInterface method of the resource and pass in the UUID of the interface. For more information about acquiring this reference, see the following code example.

+
+ + ff471340 + HRESULT IDXGIKeyedMutex::ReleaseSync([In] unsigned longlong Key) + IDXGIKeyedMutex::ReleaseSync +
+ + +

An interface represents an adapter output (such as a monitor).

+
+ +

To see the outputs available, use . To see the specific output that the swap chain will update, use .

+
+ + bb174546 + IDXGIOutput + IDXGIOutput +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Get a description of the output.

+
+

A reference to the output description (see ).

+

Returns a code that indicates success or failure. if successful, if pDesc is passed in as null.

+ + bb174548 + HRESULT IDXGIOutput::GetDesc([Out] DXGI_OUTPUT_DESC* pDesc) + IDXGIOutput::GetDesc +
+ + +

[Starting with Direct3D 11.1, we recommend not to use GetDisplayModeList anymore to retrieve the matching display mode. Instead, use IDXGIOutput1::GetDisplayModeList1, which supports stereo display mode.]

Gets the display modes that match the requested format and other input options.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

Returns one of the following DXGI_ERROR. It is rare, but possible, that the display modes available can change immediately after calling this method, in which case is returned (if there is not enough room for all the display modes). If GetDisplayModeList is called from a Remote Desktop Services session (formerly Terminal Services session), is returned.

+ +

In general, when switching from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth and refresh rate of the swap chain. To exercise more control over the display mode, use this API to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor).

As shown, this API is designed to be called twice. First to get the number of modes available, and second to return a description of the modes.

 UINT num = 0;	
+             format = ;	
+            UINT flags         = ; pOutput->GetDisplayModeList( format, flags, &num, 0); ...  * pDescs = new [num];	
+            pOutput->GetDisplayModeList( format, flags, &num, pDescs); 
+
+ + bb174549 + HRESULT IDXGIOutput::GetDisplayModeList([In] DXGI_FORMAT EnumFormat,[In] unsigned int Flags,[InOut] unsigned int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC* pDesc) + IDXGIOutput::GetDisplayModeList +
+ + +

[Starting with Direct3D 11.1, we recommend not to use FindClosestMatchingMode anymore to find the display mode that most closely matches the requested display mode. Instead, use IDXGIOutput1::FindClosestMatchingMode1, which supports stereo display mode.]

Finds the display mode that most closely matches the requested display mode.

+
+ No documentation. + No documentation. + No documentation. +

Returns one of the following DXGI_ERROR.

+ +

FindClosestMatchingMode behaves similarly to the IDXGIOutput1::FindClosestMatchingMode1 except FindClosestMatchingMode considers only the mono display modes. IDXGIOutput1::FindClosestMatchingMode1 considers only stereo modes if you set the Stereo member in the DXGI_MODE_DESC1 structure that pModeToMatch points to, and considers only mono modes if Stereo is not set.

IDXGIOutput1::FindClosestMatchingMode1 returns a matched display-mode set with only stereo modes or only mono modes. + FindClosestMatchingMode behaves as though you specified the input mode as mono.

+
+ + bb174547 + HRESULT IDXGIOutput::FindClosestMatchingMode([In] const DXGI_MODE_DESC* pModeToMatch,[Out] DXGI_MODE_DESC* pClosestMatch,[In, Optional] IUnknown* pConcernedDevice) + IDXGIOutput::FindClosestMatchingMode +
+ + +

Halt a thread until the next vertical blank occurs.

+
+

Returns one of the following DXGI_ERROR.

+ +

A vertical blank occurs when the raster moves from the lower right corner to the upper left corner to begin drawing the next frame.

+
+ + bb174559 + HRESULT IDXGIOutput::WaitForVBlank() + IDXGIOutput::WaitForVBlank +
+ + +

Takes ownership of an output.

+
+

A reference to the interface of a device (such as an ).

+

Set to TRUE to enable other threads or applications to take ownership of the device; otherwise, set to .

+

Returns one of the DXGI_ERROR values.

+ +

When you are finished with the output, call .

TakeOwnership should not be called directly by applications, since results will be unpredictable. It is called implicitly by the DXGI swap chain object during full-screen transitions, and should not be used as a substitute for swap-chain methods.

Notes for Metro style apps

If a Metro style app uses TakeOwnership, it fails with .

+
+ + Bb174558 + HRESULT IDXGIOutput::TakeOwnership([In] IUnknown* pDevice,[In] BOOL Exclusive) + IDXGIOutput::TakeOwnership +
+ + +

Releases ownership of the output.

+
+ +

If you are not using a swap chain, get access to an output by calling and release it when you are finished by calling . An application that uses a swap chain will typically not call either of these methods.

+
+ + Bb174554 + void IDXGIOutput::ReleaseOwnership() + IDXGIOutput::ReleaseOwnership +
+ + +

Gets a description of the gamma-control capabilities.

+
+

A reference to a description of the gamma-control capabilities (see ).

+

Returns one of the DXGI_ERROR values.

+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174553 + HRESULT IDXGIOutput::GetGammaControlCapabilities([Out] DXGI_GAMMA_CONTROL_CAPABILITIES* pGammaCaps) + IDXGIOutput::GetGammaControlCapabilities +
+ + +

Sets the gamma controls.

+
+

A reference to an array of gamma controls (see ).

+

Returns one of the DXGI_ERROR values.

+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + Bb174557 + HRESULT IDXGIOutput::SetGammaControl([In] const DXGI_GAMMA_CONTROL* pArray) + IDXGIOutput::SetGammaControl +
+ + +

Gets the gamma control settings.

+
+

An array of gamma control settings (see ).

+

Returns one of the DXGI_ERROR values.

+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174552 + HRESULT IDXGIOutput::GetGammaControl([Out] DXGI_GAMMA_CONTROL* pArray) + IDXGIOutput::GetGammaControl +
+ + +

Changes the display mode.

+
+

A reference to a surface (see ) used for rendering an image to the screen. The surface must have been created as a back buffer (DXGI_USAGE_BACKBUFFER).

+

Returns one of the DXGI_ERROR values.

+ +

should not be called directly by applications, since results will be unpredictable. It is called implicitly by the DXGI swap chain object during full-screen transitions, and should not be used as a substitute for swap-chain methods.

This method should only be called between and calls.

Notes for Metro style apps

If a Metro style app uses SetDisplaySurface, it fails with .

+
+ + bb174556 + HRESULT IDXGIOutput::SetDisplaySurface([In] IDXGISurface* pScanoutSurface) + IDXGIOutput::SetDisplaySurface +
+ + +

[Starting with Direct3D 11.1, we recommend not to use GetDisplaySurfaceData anymore to retrieve the current display surface. Instead, use IDXGIOutput1::GetDisplaySurfaceData1, which supports stereo display mode.]

Gets a copy of the current display surface.

+
+ No documentation. +

Returns one of the DXGI_ERROR values.

+ +

can only be called when an output is in full-screen mode. If the method succeeds, DXGI fills the destination surface.

Use to determine the size (width and height) of the output when you want to allocate space for the destination surface. This is true regardless of target monitor rotation. A destination surface created by a graphics component (such as Direct3D 10) must be created with CPU-write permission (see ). Other surfaces should be created with CPU read-write permission (see D3D10_CPU_ACCESS_READ_WRITE). This method will modify the surface data to fit the destination surface (stretch, shrink, convert format, rotate). The stretch and shrink is performed with point-sampling.

+
+ + bb174550 + HRESULT IDXGIOutput::GetDisplaySurfaceData([In] IDXGISurface* pDestination) + IDXGIOutput::GetDisplaySurfaceData +
+ + +

Gets statistics about recently rendered frames.

+
+

A reference to frame statistics (see ).

+

If this function succeeds, it returns . Otherwise, it might return .

+ +

This API is similar to .

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174551 + HRESULT IDXGIOutput::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats) + IDXGIOutput::GetFrameStatistics +
+ + + Find the display mode that most closely matches the requested display mode. + + + Direct3D devices require UNORM formats. This method finds the closest matching available display mode to the mode specified in pModeToMatch. Similarly ranked fields (i.e. all specified, or all unspecified, etc) are resolved in the following order. ScanlineOrdering Scaling Format Resolution RefreshRate When determining the closest value for a particular field, previously matched fields are used to filter the display mode list choices, and other fields are ignored. For example, when matching Resolution, the display mode list will have already been filtered by a certain ScanlineOrdering, Scaling, and Format, while RefreshRate is ignored. This ordering doesn't define the absolute ordering for every usage scenario of FindClosestMatchingMode, because the application can choose some values initially, effectively changing the order that fields are chosen. Fields of the display mode are matched one at a time, generally in a specified order. If a field is unspecified, FindClosestMatchingMode gravitates toward the values for the desktop related to this output. If this output is not part of the desktop, then the default desktop output is used to find values. If an application uses a fully unspecified display mode, FindClosestMatchingMode will typically return a display mode that matches the desktop settings for this output. Unspecified fields are lower priority than specified fields and will be resolved later than specified fields. + + A reference to the Direct3D device interface. If this parameter is NULL, only modes whose format matches that of pModeToMatch will be returned; otherwise, only those formats that are supported for scan-out by the device are returned. + The desired display mode (see ). Members of DXGI_MODE_DESC can be unspecified indicating no preference for that member. A value of 0 for Width or Height indicates the value is unspecified. If either Width or Height are 0 both must be 0. A numerator and denominator of 0 in RefreshRate indicate it is unspecified. Other members of DXGI_MODE_DESC have enumeration values indicating the member is unspecified. If pConnectedDevice is NULL Format cannot be DXGI_FORMAT_UNKNOWN. + The mode that most closely matches pModeToMatch. + Returns one of the following . + HRESULT IDXGIOutput::FindClosestMatchingMode([In] const DXGI_MODE_DESC* pModeToMatch,[Out] DXGI_MODE_DESC* pClosestMatch,[In, Optional] IUnknown* pConcernedDevice) + + + + Gets the display modes that match the requested format and other input options. + + + In general, when switching from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth and refresh rate of the swap chain. To exercise more control over the display mode, use this API to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor). As shown, this API is designed to be called twice. First to get the number of modes available, and second to return a description of the modes. + UINT num = 0; + DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT; + UINT flags = DXGI_ENUM_MODES_INTERLACED; pOutput->GetDisplayModeList( format, flags, &num, 0); ... DXGI_MODE_DESC * pDescs = new DXGI_MODE_DESC[num]; + pOutput->GetDisplayModeList( format, flags, &num, pDescs); + + + + The color format (see ). + format for modes to include (see {{DXGI_ENUM_MODES}}). DXGI_ENUM_MODES_SCALING needs to be specified to expose the display modes that require scaling. Centered modes, requiring no scaling and corresponding directly to the display output, are enumerated by default. + Returns a list of display modes (see ); + HRESULT IDXGIOutput::GetDisplayModeList([None] DXGI_FORMAT EnumFormat,[None] int Flags,[InOut] int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC* pDesc) + + + +

Get a description of the output.

+
+ + bb174548 + GetDesc + GetDesc + HRESULT IDXGIOutput::GetDesc([Out] DXGI_OUTPUT_DESC* pDesc) +
+ + +

Gets a description of the gamma-control capabilities.

+
+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174553 + GetGammaControlCapabilities + GetGammaControlCapabilities + HRESULT IDXGIOutput::GetGammaControlCapabilities([Out] DXGI_GAMMA_CONTROL_CAPABILITIES* pGammaCaps) +
+ + +

Gets or sets the gamma control settings.

+
+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174552 + GetGammaControl / SetGammaControl + GetGammaControl + HRESULT IDXGIOutput::GetGammaControl([Out] DXGI_GAMMA_CONTROL* pArray) +
+ + +

Gets statistics about recently rendered frames.

+
+ +

This API is similar to .

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174551 + GetFrameStatistics + GetFrameStatistics + HRESULT IDXGIOutput::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats) +
+ + +

An interface allows resource sharing and identifies the memory that a resource resides in.

+
+ +

To find out what type of memory a resource is currently located in, use . To share resources between processes, use . For information about how to share resources between multiple Windows graphics APIs, including Direct3D 11, Direct2D, Direct3D 10, and Direct3D 9Ex, see Surface Sharing Between Windows Graphics APIs.

You can retrieve the interface from any video memory resource that you create from a Direct3D 10 and later function. Any Direct3D object that supports or also supports . For example, the Direct3D 2D texture object that you create from supports . You can call QueryInterface on the 2D texture object () to retrieve the interface. For example, to retrieve the interface from the 2D texture object, use the following code.

 * pDXGIResource;	
+            hr = g_pd3dTexture2D->QueryInterface(__uuidof(), (void **)&pDXGIResource);	
+            
+
+ + bb174560 + IDXGIResource + IDXGIResource +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[Starting with Direct3D 11.1, we recommend not to use GetSharedHandle anymore to retrieve the handle to a shared resource. Instead, use IDXGIResource1::CreateSharedHandle to get a handle for sharing. To use IDXGIResource1::CreateSharedHandle, you must create the resource as shared and specify that it uses NT handles (that is, you set the D3D11_RESOURCE_MISC_SHARED_NTHANDLE flag). We also recommend that you create shared resources that use NT handles so you can use CloseHandle, DuplicateHandle, and so on on those shared resources.]

Gets the handle to a shared resource.

+
+ No documentation. +

Returns one of the DXGI_ERROR values.

+ +

You can pass the handle that GetSharedHandle returns in a call to the method to give a device access to a shared resource that you created on a different device.

GetSharedHandle doesn't always return a handle. GetSharedHandle only returns the handle when you created the resource as shared (that is, you set the or flag).

The handle that GetSharedHandle returns is not an NT handle. Therefore, don't use the handle with CloseHandle, DuplicateHandle, and so on. The creator of a shared resource must not destroy the resource until all entities that opened the resource have destroyed the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device.

+
+ + bb174562 + HRESULT IDXGIResource::GetSharedHandle([Out] void** pSharedHandle) + IDXGIResource::GetSharedHandle +
+ + +

Get the expected resource usage.

+
+

A reference to a usage flag (see DXGI_USAGE). For Direct3D 10, a surface can be used as a shader input or a render-target output.

+

Returns one of the following DXGI_ERROR.

+ + bb174563 + HRESULT IDXGIResource::GetUsage([Out] unsigned int* pUsage) + IDXGIResource::GetUsage +
+ + +

Set the priority for evicting the resource from memory.

+
+

The priority is one of the following values:

ValueMeaning
(0x28000000)

The resource is unused and can be evicted as soon as another resource requires the memory that the resource occupies.

(0x50000000)

The eviction priority of the resource is low. The placement of the resource is not critical, and minimal work is performed to find a location for the resource. For example, if a GPU can render with a vertex buffer from either local or non-local memory with little difference in performance, that vertex buffer is low priority. Other more critical resources (for example, a render target or texture) can then occupy the faster memory.

(0x78000000)

The eviction priority of the resource is normal. The placement of the resource is important, but not critical, for performance. The resource is placed in its preferred location instead of a low-priority resource.

(0xa0000000)

The eviction priority of the resource is high. The resource is placed in its preferred location instead of a low-priority or normal-priority resource.

(0xc8000000)

The resource is evicted from memory only if there is no other way of resolving the memory requirement.

?

+

Returns one of the following DXGI_ERROR.

+ +

The eviction priority is a memory-management variable that is used by DXGI for determining how to populate overcommitted memory.

You can set priority levels other than the defined values when appropriate. For example, you can set a resource with a priority level of 0x78000001 to indicate that the resource is slightly above normal.

+
+ + Bb174564 + HRESULT IDXGIResource::SetEvictionPriority([In] unsigned int EvictionPriority) + IDXGIResource::SetEvictionPriority +
+ + +

Get the eviction priority.

+
+

A reference to the eviction priority, which determines when a resource can be evicted from memory.

The following defined values are possible.

ValueMeaning
(0x28000000)

The resource is unused and can be evicted as soon as another resource requires the memory that the resource occupies.

(0x50000000)

The eviction priority of the resource is low. The placement of the resource is not critical, and minimal work is performed to find a location for the resource. For example, if a GPU can render with a vertex buffer from either local or non-local memory with little difference in performance, that vertex buffer is low priority. Other more critical resources (for example, a render target or texture) can then occupy the faster memory.

(0x78000000)

The eviction priority of the resource is normal. The placement of the resource is important, but not critical, for performance. The resource is placed in its preferred location instead of a low-priority resource.

(0xa0000000)

The eviction priority of the resource is high. The resource is placed in its preferred location instead of a low-priority or normal-priority resource.

(0xc8000000)

The resource is evicted from memory only if there is no other way of resolving the memory requirement.

?

+

Returns one of the following DXGI_ERROR.

+ +

The eviction priority is a memory-management variable that is used by DXGI to determine how to manage overcommitted memory.

Priority levels other than the defined values are used when appropriate. For example, a resource with a priority level of 0x78000001 indicates that the resource is slightly above normal.

+
+ + bb174561 + HRESULT IDXGIResource::GetEvictionPriority([Out] unsigned int* pEvictionPriority) + IDXGIResource::GetEvictionPriority +
+ + +

[Starting with Direct3D 11.1, we recommend not to use GetSharedHandle anymore to retrieve the handle to a shared resource. Instead, use IDXGIResource1::CreateSharedHandle to get a handle for sharing. To use IDXGIResource1::CreateSharedHandle, you must create the resource as shared and specify that it uses NT handles (that is, you set the D3D11_RESOURCE_MISC_SHARED_NTHANDLE flag). We also recommend that you create shared resources that use NT handles so you can use CloseHandle, DuplicateHandle, and so on on those shared resources.]

Gets the handle to a shared resource.

+
+ +

You can pass the handle that GetSharedHandle returns in a call to the method to give a device access to a shared resource that you created on a different device.

GetSharedHandle doesn't always return a handle. GetSharedHandle only returns the handle when you created the resource as shared (that is, you set the or flag).

The handle that GetSharedHandle returns is not an NT handle. Therefore, don't use the handle with CloseHandle, DuplicateHandle, and so on. The creator of a shared resource must not destroy the resource until all entities that opened the resource have destroyed the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device.

+
+ + bb174562 + GetSharedHandle + GetSharedHandle + HRESULT IDXGIResource::GetSharedHandle([Out] void** pSharedHandle) +
+ + +

Get the expected resource usage.

+
+ + bb174563 + GetUsage + GetUsage + HRESULT IDXGIResource::GetUsage([Out] unsigned int* pUsage) +
+ + +

Get or sets the eviction priority.

+
+ +

The eviction priority is a memory-management variable that is used by DXGI to determine how to manage overcommitted memory.

Priority levels other than the defined values are used when appropriate. For example, a resource with a priority level of 0x78000001 indicates that the resource is slightly above normal.

+
+ + bb174561 + GetEvictionPriority / SetEvictionPriority + GetEvictionPriority + HRESULT IDXGIResource::GetEvictionPriority([Out] unsigned int* pEvictionPriority) +
+ + +

The interface implements methods for image-data objects.

+
+ +

An image-data object is a 2D section of memory, commonly called a surface. To get the surface from an output, call .

The runtime automatically creates an interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an interface when you call or to create a 2D texture. To retrieve the interface that represents the 2D texture surface, call ID3D11Texture2D::QueryInterface or ID3D10Texture2D::QueryInterface. In this call, you must pass the identifier of . If the 2D texture has only a single MIP-map level and does not consist of an array of textures, QueryInterface succeeds and returns a reference to the interface reference. Otherwise, QueryInterface fails and does not return the reference to .

+
+ + bb174565 + IDXGISurface + IDXGISurface +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Get a description of the surface.

+
+

A reference to the surface description (see ).

+

Returns if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.

+ + bb174566 + HRESULT IDXGISurface::GetDesc([Out] DXGI_SURFACE_DESC* pDesc) + IDXGISurface::GetDesc +
+ + +

Get a reference to the data contained in the surface, and deny GPU access to the surface.

+
+

A reference to the surface data (see ).

+

CPU read-write flags. These flags can be combined with a logical OR.

  • - Allow CPU read access.
  • - Allow CPU write access.
  • - Discard the previous contents of a resource when it is mapped.
+

Returns if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.

+ +

Use to access a surface from the CPU. To release a mapped surface (and allow GPU access) call .

+
+ + bb174567 + HRESULT IDXGISurface::Map([Out] DXGI_MAPPED_RECT* pLockedRect,[In] unsigned int MapFlags) + IDXGISurface::Map +
+ + +

Invalidate the reference to the surface retrieved by and re-enable GPU access to the resource.

+
+

Returns if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.

+ + bb174568 + HRESULT IDXGISurface::Unmap() + IDXGISurface::Unmap +
+ + + Acquires access to the surface data. + + Flags specifying CPU access permissions. + A for accessing the mapped data, or null on failure.. + + + + Acquires access to the surface data. + + Flags specifying CPU access permissions. + A for accessing the mapped data, or null on failure.. + + + + Gets a swap chain back buffer. + + The swap chain to get the buffer from. + The index of the desired buffer. + The buffer interface, or null on failure. + + + +

Get a description of the surface.

+
+ + bb174566 + GetDesc + GetDesc + HRESULT IDXGISurface::GetDesc([Out] DXGI_SURFACE_DESC* pDesc) +
+ + +

The interface extends the by adding support for using Windows Graphics Device Interface (GDI) to render to a Microsoft DirectX Graphics Infrastructure (DXGI) surface.

+
+ +

This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

An image-data object is a 2D section of memory, commonly called a surface. To get the surface from an output, call . Then, call QueryInterface on the object that returns to retrieve the interface.

Any object that supports also supports .

The runtime automatically creates an interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an interface when you call or to create a 2D texture. To retrieve the interface that represents the 2D texture surface, call ID3D11Texture2D::QueryInterface or ID3D10Texture2D::QueryInterface. In this call, you must pass the identifier of . If the 2D texture has only a single MIP-map level and does not consist of an array of textures, QueryInterface succeeds and returns a reference to the interface reference. Otherwise, QueryInterface fails and does not return the reference to .

+
+ + ff471343 + IDXGISurface1 + IDXGISurface1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Returns a device context (DC) that allows you to render to a Microsoft DirectX Graphics Infrastructure (DXGI) surface using Windows Graphics Device Interface (GDI).

+
+

A Boolean value that specifies whether to preserve Direct3D contents in the GDI DC. TRUE directs the runtime not to preserve Direct3D contents in the GDI DC; that is, the runtime discards the Direct3D contents. guarantees that Direct3D contents are available in the GDI DC.

+

A reference to an handle that represents the current device context for GDI rendering.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

After you use the GetDC method to retrieve a DC, you can render to the DXGI surface by using GDI. The GetDC method readies the surface for GDI rendering and allows inter-operation between DXGI and GDI technologies.

Keep the following in mind when using this method:

  • You must create the surface by using the flag for a surface or by using the flag for swap chains, otherwise this method fails.
  • You must release the device and call the method before you issue any new Direct3D commands.
  • This method fails if an outstanding DC has already been created by this method.
  • The format for the surface or swap chain must be or .
  • On GetDC, the render target in the output merger of the Direct3D pipeline is unbound from the surface. You must call the method on the device prior to Direct3D rendering after GDI rendering.
  • Prior to resizing buffers you must release all outstanding DCs.

You can also call GetDC on the back buffer at index 0 of a swap chain by obtaining an from the swap chain. The following code illustrates the process.

 * g_pSwapChain = null;	
+            * g_pSurface1 = null;	
+            ...	
+            //Setup the device and and swapchain	
+            g_pSwapChain->GetBuffer(0, __uuidof(), (void**) &g_pSurface1);	
+            g_pSurface1->GetDC( , &g_hDC );	
+            ...      	
+            //Draw on the DC using GDI	
+            ...	
+            //When finish drawing release the DC	
+            g_pSurface1->ReleaseDC( null ); 
+
+ + ff471345 + HRESULT IDXGISurface1::GetDC([In] BOOL Discard,[Out] HDC* phdc) + IDXGISurface1::GetDC +
+ + +

Releases the GDI device context (DC) that is associated with the current surface and allows you to use Direct3D to render.

+
+

A reference to a structure that identifies the dirty region of the surface. A dirty region is any part of the surface that you used for GDI rendering and that you want to preserve. This area is used as a performance hint to graphics subsystem in certain scenarios. Do not use this parameter to restrict rendering to the specified rectangular region. If you pass in null, ReleaseDC considers the whole surface as dirty. Otherwise, ReleaseDC uses the area specified by the as a performance hint to indicate what areas have been manipulated by GDI rendering.

You can pass a reference to an empty structure (a rectangle with no position or area) if you didn't change any content.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Use the ReleaseDC method to release the DC and indicate that your application finished all GDI rendering to this surface. You must call the ReleaseDC method before you can use Direct3D to perform additional rendering.

Prior to resizing buffers you must release all outstanding DCs.

+
+ + ff471346 + HRESULT IDXGISurface1::ReleaseDC([In, Optional] RECT* pDirtyRect) + IDXGISurface1::ReleaseDC +
+ + + Releases the GDI device context (DC) associated with the current surface and allows rendering using Direct3D. The whole surface to be considered dirty. + + + Use the ReleaseDC method to release the DC and indicate that your application has finished all GDI rendering to this surface. You must call the ReleaseDC method before you perform addition rendering using Direct3D. Prior to resizing buffers all outstanding DCs must be released. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDXGISurface1::ReleaseDC([In, Optional] RECT* pDirtyRect) + + + + Releases the GDI device context (DC) associated with the current surface and allows rendering using Direct3D. + + + Use the ReleaseDC method to release the DC and indicate that your application has finished all GDI rendering to this surface. You must call the ReleaseDC method before you perform addition rendering using Direct3D. Prior to resizing buffers all outstanding DCs must be released. + + A reference to a structure that identifies the dirty region of the surface. A dirty region is any part of the surface that you have used for GDI rendering and that you want to preserve. This is used as a performance hint to graphics subsystem in certain scenarios. Do not use this parameter to restrict rendering to the specified rectangular region. The area specified by the will be used as a performance hint to indicate what areas have been manipulated by GDI rendering. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDXGISurface1::ReleaseDC([In, Optional] RECT* pDirtyRect) + + + +

An interface implements one or more surfaces for storing rendered data before presenting it to an output.

+
+ +

You can create a swap chain in several ways. If your application uses Direct3D, create a swap chain when you create a device by + calling or . If your application does not need Direct3D, create a swap chain for use directly with DXGI by + calling , IDXGIFactory2::CreateSwapChainForHwnd, IDXGIFactory2::CreateSwapChainForImmersiveWindow, or IDXGIFactory2::CreateSwapChainForCompositionSurface.

+
+ + bb174569 + IDXGISwapChain + IDXGISwapChain +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[Starting with Direct3D 11.1, we recommend not to use Present anymore to present a rendered image. Instead, use IDXGISwapChain1::Present1.]

Presents a rendered image to the user.

+
+ No documentation. + No documentation. +

Possible return values include: , or (see DXGI_ERROR), (see ), or D3DDDIERR_DEVICEREMOVED.

Note??The Present method can return either or D3DDDIERR_DEVICEREMOVED if a video card has been physically removed from the computer, or a driver upgrade for the video card has occurred.

+ +

For the best performance when flipping swap-chain buffers in a full-screen application, see Full-Screen Application Performance Hints.

Because calling Present might cause the render thread to wait on the message-pump thread, be careful when calling this method in an application that uses multiple threads. For more details, see Multithreading Considerations.

Differences between Direct3D 9 and Direct3D 10:

Specifying in the Flags parameter is analogous to in Direct3D 9.

?

For flip presentation model swap chains that you create with the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value set, a successful presentation unbinds back buffer 0 from the graphics pipeline, except for when you pass the flag in the Flags parameter.

Flip presentation model queue

Suppose the following frames with sync-interval values are queued from oldest (A) to newest (E) before you call Present.

A: 3, B: 0, C: 0, D: 1, E: 0

When you call Present, the runtime shows frame A for 3 vertical blank intervals, then frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames C and D.

+
+ + bb174576 + HRESULT IDXGISwapChain::Present([In] unsigned int SyncInterval,[In] DXGI_PRESENT_FLAGS Flags) + IDXGISwapChain::Present +
+ + +

Accesses one of the swap-chain's back buffers.

+
+

A zero-based buffer index.

If the swap chain's swap effect is , this method can only access the first buffer; for this situation, set the index to zero.

If the swap chain's swap effect is either or DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL, this method can only access read-only buffers with indexes greater than zero. Read-only back buffers have the BufferUsage member of the or DXGI_SWAP_CHAIN_DESC1 structure set to .

+

The type of interface used to manipulate the buffer. See remarks.

+

A reference to a back-buffer interface.

+

Returns one of the following DXGI_ERROR.

+ + bb174570 + HRESULT IDXGISwapChain::GetBuffer([In] unsigned int Buffer,[In] const GUID& riid,[Out] void** ppSurface) + IDXGISwapChain::GetBuffer +
+ + +

Sets the display state to windowed or full screen.

+
+

A Boolean value that specifies whether to set the display state to windowed or full screen. TRUE for full screen, and for windowed.

+

If you pass TRUE to the Fullscreen parameter to set the display state to full screen, you can optionally set this parameter to a reference to an interface for the output target that contains the swap chain. If you set this parameter to null, DXGI will choose the output based on the swap-chain's device and the output window's placement. If you pass to Fullscreen, you must set this parameter to null.

+

This methods returns:

  • if the action succeeded and the swap chain was placed in the requested state.
  • if the action failed. There are many reasons why a windowed-mode swap chain cannot switch to full-screen mode. For instance:
    • The application is running over Terminal Server.
    • The output window is occluded.
    • The output window does not have keyboard focus.
    • Another application is already in full-screen mode.

    When this error is returned, an application can continue to run in windowed mode and try to switch to full-screen mode later.

  • is returned if a fullscreen/windowed mode transition is occurring when this API is called.
  • Other error codes if you run out of memory or encounter another unexpected fault; these codes may be treated as hard, non-continuable errors.
+ +

DXGI may change the display state of a swap chain in response to end user or system requests.

We recommend that you create a windowed swap chain and allow the end user to change the swap chain to full screen through SetFullscreenState; that is, do not set the Windowed member of to to force the swap chain to be full screen. However, if you create the swap chain as full screen, also provide the end user with a list of supported display modes because a swap chain that is created with an unsupported display mode might cause the display to go black and prevent the end user from seeing anything. Also, we recommend that you have a time-out confirmation screen or other fallback mechanism when you allow the end user to change display modes.

Notes for Metro style apps

If a Metro style app calls SetFullscreenState to set the display state to full screen, SetFullscreenState fails with .

You cannot call SetFullscreenState on a windowless swap chain that you created with IDXGIFactory2::CreateSwapChainForCompositionSurface.

For the flip presentation model, after you transition the display state to full screen, you must call ResizeBuffers to ensure that your call to IDXGISwapChain1::Present1 succeeds.

+
+ + bb174579 + HRESULT IDXGISwapChain::SetFullscreenState([In] BOOL Fullscreen,[In, Optional] IDXGIOutput* pTarget) + IDXGISwapChain::SetFullscreenState +
+ + +

Get the state associated with full-screen mode.

+
+

A reference to a boolean whose value is either:

  • TRUE if the swap chain is in full-screen mode
  • if the swap chain is in windowed mode
+

A reference to the output target (see ) when the mode is full screen; otherwise null.

+

Returns one of the following DXGI_ERROR.

+ +

When the swap chain is in full-screen mode, a reference to the target output will be returned and its reference count will be incremented.

+
+ + bb174574 + HRESULT IDXGISwapChain::GetFullscreenState([Out] BOOL* pFullscreen,[Out] IDXGIOutput** ppTarget) + IDXGISwapChain::GetFullscreenState +
+ + +

[Starting with Direct3D 11.1, we recommend not to use GetDesc anymore to get a description of the swap chain. Instead, use IDXGISwapChain1::GetDesc1.]

Get a description of the swap chain.

+
+ No documentation. +

Returns one of the following DXGI_ERROR.

+ + bb174572 + HRESULT IDXGISwapChain::GetDesc([Out] DXGI_SWAP_CHAIN_DESC* pDesc) + IDXGISwapChain::GetDesc +
+ + +

Changes the swap chain's back buffer size, format, and number of buffers. This should be called when the application window is resized.

+
+

The number of buffers in the swap chain (including all back and front buffers). This number can be different from the number of buffers with which you created the swap chain. This number can't be greater than DXGI_MAX_SWAP_CHAIN_BUFFERS. Set this number to zero to preserve the existing number of buffers in the swap chain. You can't specify greater than two buffers for the flip presentation model.

+

New width of the back buffer. If you specify zero, DXGI will use the width of the client area of the target window. You can't specify the width as zero if you called the IDXGIFactory2::CreateSwapChainForCompositionSurface method to create the swap chain for a composition surface.

+

New height of the back buffer. If you specify zero, DXGI will use the height of the client area of the target window. You can't specify the height as zero if you called the IDXGIFactory2::CreateSwapChainForCompositionSurface method to create the swap chain for a composition surface.

+

A -typed value for the new format of the back buffer. Set this value to to preserve the existing format of the back buffer. The flip presentation model supports a more restricted set of formats than the bit-block transfer (bitblt) model.

+

A combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies options for swap-chain behavior.

+

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

+ +

You can't resize a swap chain unless you release all outstanding references to its back buffers. You must release all of its direct and indirect references on the back buffers in order for ResizeBuffers to succeed.

Direct references are held by the application after it calls AddRef on a resource.

Indirect references are held by views to a resource, binding a view of the resource to a device context, a command list that used the resource, a command list that used a view to that resource, a command list that executed another command list that used the resource, and so on.

Before you call ResizeBuffers, ensure that the application releases all references (by calling the appropriate number of Release invocations) on the resources, any views to the resource, and any command lists that use either the resources or views, and ensure that neither the resource nor a view is still bound to a device context. You can use to ensure that all references are released. If a view is bound to a deferred context, you must discard the partially built command list as well (by calling ClearState, , then Release on the command list). After you call ResizeBuffers, you can re-query interfaces via .

For swap chains that you created with , before you call ResizeBuffers, also call on the swap chain's back-buffer surface to ensure that you have no outstanding GDI device contexts (DCs) open.

We recommend that you call ResizeBuffers when a client window is resized (that is, when an application receives a WM_SIZE message).

The only difference between ResizeBuffers in Windows Developer Preview and ResizeBuffers in Windows?7 is with flip presentation model swap chains that you create with the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value set. In Windows Developer Preview, you must call ResizeBuffers to realize a transition between full-screen mode and windowed mode; otherwise, your next call to the Present method fails.

+
+ + bb174577 + HRESULT IDXGISwapChain::ResizeBuffers([In] unsigned int BufferCount,[In] unsigned int Width,[In] unsigned int Height,[In] DXGI_FORMAT NewFormat,[In] DXGI_SWAP_CHAIN_FLAG SwapChainFlags) + IDXGISwapChain::ResizeBuffers +
+ + +

Resizes the output target.

+
+

A reference to a structure that describes the mode, which specifies the new width, height, format, and refresh rate of the target. If the format is , ResizeTarget uses the existing format. We only recommend that you use when the swap chain is in full-screen mode as this method is not thread safe.

+

Returns a code that indicates success or failure. is returned if a fullscreen/windowed mode transition is occurring when this API is called. See DXGI_ERROR for additional DXGI error codes.

+ +

ResizeTarget resizes the target window when the swap chain is in windowed mode, and changes the display mode on the target output when the swap chain is in full-screen mode. Therefore, applications can call ResizeTarget to resize the target window (rather than a Microsoft Win32API such as SetWindowPos) without knowledge of the swap chain display mode.

If a Metro style app calls ResizeTarget, it fails with .

You cannot call ResizeTarget on a windowless swap chain that you created with IDXGIFactory2::CreateSwapChainForCompositionSurface.

+
+ + bb174578 + HRESULT IDXGISwapChain::ResizeTarget([In] const DXGI_MODE_DESC* pNewTargetParameters) + IDXGISwapChain::ResizeTarget +
+ + +

Get the output (the display monitor) that contains the majority of the client area of the target window.

+
+

A reference to the output interface (see ).

+

Returns one of the following DXGI_ERROR.

+ +

If the method succeeds, the output interface will be filled and its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.

The output is also owned by the adapter on which the swap chain's device was created.

You cannot call GetContainingOutput on a windowless swap chain that you created with IDXGIFactory2::CreateSwapChainForCompositionSurface.

+
+ + bb174571 + HRESULT IDXGISwapChain::GetContainingOutput([Out] IDXGIOutput** ppOutput) + IDXGISwapChain::GetContainingOutput +
+ + +

Gets performance statistics about the last render frame.

+
+

A reference to a structure for the frame statistics.

+

Returns one of the DXGI_ERROR values.

+ +

You cannot use GetFrameStatistics for swap chains that both use the bit-block transfer (bitblt) presentation model and draw in windowed mode.

You can only use GetFrameStatistics for swap chains that either use the flip presentation model or draw in full-screen mode. You set the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value in the SwapEffect member of the DXGI_SWAP_CHAIN_DESC1 structure to specify that the swap chain uses the flip presentation model.

+
+ + bb174573 + HRESULT IDXGISwapChain::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats) + IDXGISwapChain::GetFrameStatistics +
+ + +

Gets the number of times that or IDXGISwapChain1::Present1 has been called.

+
+ No documentation. +

Returns one of the DXGI_ERROR values.

+ +

For info about presentation statistics for a frame, see .

+
+ + bb174575 + HRESULT IDXGISwapChain::GetLastPresentCount([Out] unsigned int* pLastPresentCount) + IDXGISwapChain::GetLastPresentCount +
+ + + Creates a swap chain. + + + If you attempt to create a swap chain in full-screen mode, and full-screen mode is unavailable, the swap chain will be created in windowed mode and DXGI_STATUS_OCCLUDED will be returned. If the buffer width or the buffer height are zero, the sizes will be inferred from the output window size in the swap-chain description. Since the target output cannot be chosen explicitly when the swap-chain is created, you should not create a full-screen swap chain. This can reduce presentation performance if the swap chain size and the output window size do not match. Here are two ways to ensure the sizes match: Create a windowed swap chain and then set it full-screen using . Save a reference to the swap-chain immediately after creation, and use it to get the output window size during a WM_SIZE event. Then resize the swap chain buffers (with ) during the transition from windowed to full-screen. If the swap chain is in full-screen mode, before you release it, you must use {{SetFullscreenState}} to switch it to windowed mode. For more information about releasing a swap chain, see the Destroying a Swap Chain section of {{DXGI Overview}}. + + a reference to a . + A reference to the device that will write 2D images to the swap chain. + A reference to the swap-chain description (see ). + HRESULT IDXGIFactory::CreateSwapChain([In] IUnknown* pDevice,[In] DXGI_SWAP_CHAIN_DESC* pDesc,[Out] IDXGISwapChain** ppSwapChain) + bb174537 + HRESULT IDXGIFactory::CreateSwapChain([In] IUnknown* pDevice,[In] DXGI_SWAP_CHAIN_DESC* pDesc,[Out, Fast] IDXGISwapChain** ppSwapChain) + IDXGIFactory::CreateSwapChain + + + + Access one of the swap-chain back buffers. + + The interface of the surface to resolve from the back buffer + A zero-based buffer index. If the swap effect is not DXGI_SWAP_EFFECT_SEQUENTIAL, this method only has access to the first buffer; for this case, set the index to zero. + + Returns a reference to a back-buffer interface. + + bb174570 + HRESULT IDXGISwapChain::GetBuffer([In] unsigned int Buffer,[In] const GUID& riid,[Out] void** ppSurface) + IDXGISwapChain::GetBuffer + + + +

[Starting with Direct3D 11.1, we recommend not to use GetDesc anymore to get a description of the swap chain. Instead, use IDXGISwapChain1::GetDesc1.]

Get a description of the swap chain.

+
+ + bb174572 + GetDesc + GetDesc + HRESULT IDXGISwapChain::GetDesc([Out] DXGI_SWAP_CHAIN_DESC* pDesc) +
+ + +

Get the output (the display monitor) that contains the majority of the client area of the target window.

+
+ +

If the method succeeds, the output interface will be filled and its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.

The output is also owned by the adapter on which the swap chain's device was created.

You cannot call GetContainingOutput on a windowless swap chain that you created with IDXGIFactory2::CreateSwapChainForCompositionSurface.

+
+ + bb174571 + GetContainingOutput + GetContainingOutput + HRESULT IDXGISwapChain::GetContainingOutput([Out] IDXGIOutput** ppOutput) +
+ + +

Gets performance statistics about the last render frame.

+
+ +

You cannot use GetFrameStatistics for swap chains that both use the bit-block transfer (bitblt) presentation model and draw in windowed mode.

You can only use GetFrameStatistics for swap chains that either use the flip presentation model or draw in full-screen mode. You set the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value in the SwapEffect member of the DXGI_SWAP_CHAIN_DESC1 structure to specify that the swap chain uses the flip presentation model.

+
+ + bb174573 + GetFrameStatistics + GetFrameStatistics + HRESULT IDXGISwapChain::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats) +
+ + +

Gets the number of times that or IDXGISwapChain1::Present1 has been called.

+
+ +

For info about presentation statistics for a frame, see .

+
+ + bb174575 + GetLastPresentCount + GetLastPresentCount + HRESULT IDXGISwapChain::GetLastPresentCount([Out] unsigned int* pLastPresentCount) +
+ + + Gets or sets a value indicating whether the swapchain is in fullscreen. + + + true if this swapchain is in fullscreen; otherwise, false. + + bb174574 + HRESULT IDXGISwapChain::GetFullscreenState([Out] BOOL* pFullscreen,[Out] IDXGIOutput** ppTarget) + IDXGISwapChain::GetFullscreenState + + + +

Describes an adapter (or video card) by using DXGI 1.0.

+
+ +

The structure provides a description of an adapter. This structure is initialized by using the method.

+
+ + bb173058 + DXGI_ADAPTER_DESC + DXGI_ADAPTER_DESC +
+ + +

A string that contains the adapter description.

+
+ + bb173058 + wchar_t Description[128] + wchar_t Description +
+ + +

The PCI ID of the hardware vendor.

+
+ + bb173058 + unsigned int VendorId + unsigned int VendorId +
+ + +

The PCI ID of the hardware device.

+
+ + bb173058 + unsigned int DeviceId + unsigned int DeviceId +
+ + +

The PCI ID of the sub system.

+
+ + bb173058 + unsigned int SubSysId + unsigned int SubSysId +
+ + +

The PCI ID of the revision number of the adapter.

+
+ + bb173058 + unsigned int Revision + unsigned int Revision +
+ + +

The number of bytes of dedicated video memory that are not shared with the CPU.

+
+ + bb173058 + SIZE_T DedicatedVideoMemory + SIZE_T DedicatedVideoMemory +
+ + +

The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.

+
+ + bb173058 + SIZE_T DedicatedSystemMemory + SIZE_T DedicatedSystemMemory +
+ + +

The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.

+
+ + bb173058 + SIZE_T SharedSystemMemory + SIZE_T SharedSystemMemory +
+ + +

A unique value that identifies the adapter. See for a definition of the structure. is defined in dxgi.h.

+
+ + bb173058 + LUID AdapterLuid + LUID AdapterLuid +
+ + +

Describes an adapter (or video card) using DXGI 1.1.

+
+ +

The structure provides a DXGI 1.1 description of an adapter. This structure is initialized by using the method.

+
+ + ff471326 + DXGI_ADAPTER_DESC1 + DXGI_ADAPTER_DESC1 +
+ + +

A string that contains the adapter description.

+
+ + ff471326 + wchar_t Description[128] + wchar_t Description +
+ + +

The PCI ID of the hardware vendor.

+
+ + ff471326 + unsigned int VendorId + unsigned int VendorId +
+ + +

The PCI ID of the hardware device.

+
+ + ff471326 + unsigned int DeviceId + unsigned int DeviceId +
+ + +

The PCI ID of the sub system.

+
+ + ff471326 + unsigned int SubSysId + unsigned int SubSysId +
+ + +

The PCI ID of the revision number of the adapter.

+
+ + ff471326 + unsigned int Revision + unsigned int Revision +
+ + +

The number of bytes of dedicated video memory that are not shared with the CPU.

+
+ + ff471326 + SIZE_T DedicatedVideoMemory + SIZE_T DedicatedVideoMemory +
+ + +

The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.

+
+ + ff471326 + SIZE_T DedicatedSystemMemory + SIZE_T DedicatedSystemMemory +
+ + +

The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.

+
+ + ff471326 + SIZE_T SharedSystemMemory + SIZE_T SharedSystemMemory +
+ + +

A unique value that identifies the adapter. See for a definition of the structure. is defined in dxgi.h.

+
+ + ff471326 + LUID AdapterLuid + LUID AdapterLuid +
+ + +

A value of the enumerated type that describes the adapter type. The flag is reserved.

+
+ + ff471326 + DXGI_ADAPTER_FLAG Flags + DXGI_ADAPTER_FLAG Flags +
+ + +

Describes timing and presentation statistics for a frame.

+
+ +

You initialize the structure with the or method.

You can only use for swap chains that either use the flip presentation model or draw in full-screen mode. You set the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value in the SwapEffect member of the DXGI_SWAP_CHAIN_DESC1 structure to specify that the swap chain uses the flip presentation model.

The values in the PresentCount and PresentRefreshCount members indicate information about when a frame was presented on the display screen. You can use these values to determine whether a glitch occurred. The values in the SyncRefreshCount and SyncQPCTime members indicate timing information that you can use for audio and video synchronization or very precise animation. If the swap chain draws in full-screen mode, these values are based on when the computer booted. + If the swap chain draws in windowed mode, these values are based on when the swap chain is created.

+
+ + bb173060 + DXGI_FRAME_STATISTICS + DXGI_FRAME_STATISTICS +
+ + +

A value that represents the running total count of times that an image was presented to the monitor since the computer booted.

Note??The number of times that an image was presented to the monitor is not necessarily the same as the number of times that you called or IDXGISwapChain1::Present1.

+
+ + bb173060 + unsigned int PresentCount + unsigned int PresentCount +
+ + +

A value that represents the running total count of v-blanks at which the last image was presented to the monitor and that have happened since the computer booted (for windowed mode, since the swap chain was created).

+
+ + bb173060 + unsigned int PresentRefreshCount + unsigned int PresentRefreshCount +
+ + +

A value that represents the running total count of v-blanks when the scheduler last sampled the machine time by calling QueryPerformanceCounter and that have happened since the computer booted (for windowed mode, since the swap chain was created).

+
+ + bb173060 + unsigned int SyncRefreshCount + unsigned int SyncRefreshCount +
+ + +

A value that represents the high-resolution performance counter timer. This value is the same as the value returned by the QueryPerformanceCounter function.

+
+ + bb173060 + LARGE_INTEGER SyncQPCTime + LARGE_INTEGER SyncQPCTime +
+ + +

Reserved. Always returns 0.

+
+ + bb173060 + LARGE_INTEGER SyncGPUTime + LARGE_INTEGER SyncGPUTime +
+ + +

Controls the settings of a gamma curve.

+
+ +

The structure is used by the method.

+
+ + bb173061 + DXGI_GAMMA_CONTROL + DXGI_GAMMA_CONTROL +
+ + +

A structure with scalar values that are applied to rgb values before being sent to the gamma look up table.

+
+ + bb173061 + DXGI_RGB Scale + DXGI_RGB Scale +
+ + +

A structure with offset values that are applied to the rgb values before being sent to the gamma look up table.

+
+ + bb173061 + DXGI_RGB Offset + DXGI_RGB Offset +
+ + +

An array of structures that control the points of a gamma curve.

+
+ + bb173061 + DXGI_RGB GammaCurve[1025] + DXGI_RGB GammaCurve +
+ + +

Controls the gamma capabilities of an adapter.

+
+ +

To get a list of the capabilities for controlling gamma correction, call .

+
+ + bb173062 + DXGI_GAMMA_CONTROL_CAPABILITIES + DXGI_GAMMA_CONTROL_CAPABILITIES +
+ + +

True if scaling and offset operations are supported during gamma correction; otherwise, false.

+
+ + bb173062 + BOOL ScaleAndOffsetSupported + BOOL ScaleAndOffsetSupported +
+ + +

A value describing the maximum range of the control-point positions.

+
+ + bb173062 + float MaxConvertedValue + float MaxConvertedValue +
+ + +

A value describing the minimum range of the control-point positions.

+
+ + bb173062 + float MinConvertedValue + float MinConvertedValue +
+ + +

A value describing the number of control points in the array.

+
+ + bb173062 + unsigned int NumGammaControlPoints + unsigned int NumGammaControlPoints +
+ + +

An array of values describing control points; the maximum length of control points is 1025.

+
+ + bb173062 + float ControlPointPositions[1025] + float ControlPointPositions +
+ + +

Describes a mapped rectangle that is used to access a surface.

+
+ +

The structure is initialized by the method.

+
+ + bb173063 + DXGI_MAPPED_RECT + DXGI_MAPPED_RECT +
+ + +

A value that describes the width, in bytes, of the surface.

+
+ + bb173063 + int Pitch + int Pitch +
+ + +

A reference to the image buffer of the surface.

+
+ + bb173063 + unsigned char* pBits + unsigned char pBits +
+ + +

Describes a display mode.

+
+ +

The following format values are valid for display modes and when you create a bit-block transfer (bitblt) model swap chain. The valid values depend on the feature level that you are working with.

  • Feature level >= 9.1

    • (except 10.x on Windows?Vista)
    • (except 10.x on Windows?Vista)
  • Feature level >= 10.0

  • Feature level >= 11.0

You can pass one of these format values to to determine if it is a valid format for displaying on screen. If returns in the bit field to which the pFormatSupport parameter points, the format is valid for displaying on screen.

Starting with Windows Developer Preview for a flip model swap chain (that is, a swap chain that has the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value set in the SwapEffect member of ), you must set the Format member of to , , or .

Because of the relaxed render target creation rules that Direct3D 11 has for back buffers, applications can create a render target view from a swap chain so they can use automatic color space conversion when they render the swap chain.

+
+ + bb173064 + DXGI_MODE_DESC + DXGI_MODE_DESC +
+ + +

A value that describes the resolution width. If you specify the width as zero when you call the method to create a swap chain, the runtime obtains the width from the output window and assigns this width value to the swap-chain description. You can subsequently call the method to retrieve the assigned width value.

+
+ + bb173064 + unsigned int Width + unsigned int Width +
+ + +

A value describing the resolution height. If you specify the height as zero when you call the method to create a swap chain, the runtime obtains the height from the output window and assigns this height value to the swap-chain description. You can subsequently call the method to retrieve the assigned height value.

+
+ + bb173064 + unsigned int Height + unsigned int Height +
+ + +

A structure describing the refresh rate in hertz

+
+ + bb173064 + DXGI_RATIONAL RefreshRate + DXGI_RATIONAL RefreshRate +
+ + +

A structure describing the display format.

+
+ + bb173064 + DXGI_FORMAT Format + DXGI_FORMAT Format +
+ + +

A member of the enumerated type describing the scanline drawing mode.

+
+ + bb173064 + DXGI_MODE_SCANLINE_ORDER ScanlineOrdering + DXGI_MODE_SCANLINE_ORDER ScanlineOrdering +
+ + +

A member of the enumerated type describing the scaling mode.

+
+ + bb173064 + DXGI_MODE_SCALING Scaling + DXGI_MODE_SCALING Scaling +
+ + + Initializes a new instance of the structure. + + The width. + The height. + The refresh rate. + The format. + + + +

Describes an output or physical connection between the adapter (video card) and a device.

+
+ +

The structure is initialized by the method.

+
+ + bb173068 + DXGI_OUTPUT_DESC + DXGI_OUTPUT_DESC +
+ + +

A string that contains the name of the output device.

+
+ + bb173068 + wchar_t DeviceName[32] + wchar_t DeviceName +
+ + +

A structure containing the bounds of the output in desktop coordinates.

+
+ + bb173068 + RECT DesktopCoordinates + RECT DesktopCoordinates +
+ + +

True if the output is attached to the desktop; otherwise, false.

+
+ + bb173068 + BOOL AttachedToDesktop + BOOL AttachedToDesktop +
+ + +

A member of the enumerated type describing on how an image is rotated by the output.

+
+ + bb173068 + DXGI_MODE_ROTATION Rotation + DXGI_MODE_ROTATION Rotation +
+ + +

An handle that represents the display monitor. For more information, see and the Device Context.

+
+ + bb173068 + HMONITOR Monitor + HMONITOR Monitor +
+ + +

Represents a rational number.

+
+ +

The structure operates under the following rules:

  • 0/0 is legal and will be interpreted as 0/1.
  • 0/anything is interpreted as zero.
  • If you are representing a whole number, the denominator should be 1.
+
+ + bb173069 + DXGI_RATIONAL + DXGI_RATIONAL +
+ + +

An unsigned integer value representing the top of the rational number.

+
+ + bb173069 + unsigned int Numerator + unsigned int Numerator +
+ + +

An unsigned integer value representing the bottom of the rational number.

+
+ + bb173069 + unsigned int Denominator + unsigned int Denominator +
+ + + An empty rational that can be used for comparisons. + + + + + Initializes a new instance of the structure. + + The numerator of the rational pair. + The denominator of the rational pair. + + + +

Describes multi-sampling parameters for a resource.

+
+ +

The default sampler mode, with no anti-aliasing, has a count of 1 and a quality level of 0.

If multi-sample antialiasing is being used, all bound render targets and depth buffers must have the same sample counts and quality levels.

Differences between Direct3D 10.0 and Direct3D 10.1 and between Direct3D 10.0 and Direct3D 11:

Direct3D 10.1 has defined two standard quality levels: and in the enumeration in D3D10_1.h.

Direct3D 11 has defined two standard quality levels: and in the enumeration in D3D11.h.

?

+
+ + bb173072 + DXGI_SAMPLE_DESC + DXGI_SAMPLE_DESC +
+ + +

The number of multisamples per pixel.

+
+ + bb173072 + unsigned int Count + unsigned int Count +
+ + +

The image quality level. The higher the quality, the lower the performance. The valid range is between zero and one less than the level returned by for Direct3D 10 or for Direct3D 11.

For Direct3D 10.1 and Direct3D 11, you can use two special quality level values. For more information about these quality level values, see Remarks.

+
+ + bb173072 + unsigned int Quality + unsigned int Quality +
+ + + Initializes a new instance of the structure. + + The sample count. + The sample quality. + + + +

Represents a handle to a shared resource.

+
+ +

To create a shared surface, pass a shared-resource handle into the method.

+
+ + bb173073 + DXGI_SHARED_RESOURCE + DXGI_SHARED_RESOURCE +
+ + +

A handle to a shared resource.

+
+ + bb173073 + void* Handle + void Handle +
+ + +

Describes a surface.

+
+ + bb173074 + DXGI_SURFACE_DESC + DXGI_SURFACE_DESC +
+ + +

A value describing the surface width.

+
+ + bb173074 + unsigned int Width + unsigned int Width +
+ + +

A value describing the surface height.

+
+ + bb173074 + unsigned int Height + unsigned int Height +
+ + +

A member of the enumerated type that describes the surface format.

+
+ + bb173074 + DXGI_FORMAT Format + DXGI_FORMAT Format +
+ + +

A member of the structure that describes multi-sampling parameters for the surface.

+
+ + bb173074 + DXGI_SAMPLE_DESC SampleDesc + DXGI_SAMPLE_DESC SampleDesc +
+ + +

Describes a swap chain.

+
+ +

In full-screen mode, there is a dedicated front buffer; in windowed mode, the desktop is the front buffer.

If you create a swap chain with one buffer, specifying does not cause the contents of the single buffer to be swapped with the front buffer.

For performance information about flipping swap-chain buffers in full-screen application, see Full-Screen Application Performance Hints.

+
+ + bb173075 + DXGI_SWAP_CHAIN_DESC + DXGI_SWAP_CHAIN_DESC +
+ + +

A structure that describes the backbuffer display mode.

+
+ + bb173075 + DXGI_MODE_DESC BufferDesc + DXGI_MODE_DESC BufferDesc +
+ + +

A structure that describes multi-sampling parameters.

+
+ + bb173075 + DXGI_SAMPLE_DESC SampleDesc + DXGI_SAMPLE_DESC SampleDesc +
+ + +

A member of the DXGI_USAGE enumerated type that describes the surface usage and CPU access options for the back buffer. The back buffer can be used for shader input or render-target output.

+
+ + bb173075 + DXGI_USAGE_ENUM BufferUsage + DXGI_USAGE_ENUM BufferUsage +
+ + +

A value that describes the number of buffers in the swap chain. When you call to create a full-screen swap chain, you typically include the front buffer in this value. For more information about swap-chain buffers, see Remarks.

+
+ + bb173075 + unsigned int BufferCount + unsigned int BufferCount +
+ + +

An handle to the output window. This member must not be null.

+
+ + bb173075 + HWND OutputWindow + HWND OutputWindow +
+ + +

A Boolean value that specifies whether the output is in windowed mode. TRUE if the output is in windowed mode; otherwise, .

We recommend that you create a windowed swap chain and allow the end user to change the swap chain to full screen through ; that is, do not set this member to to force the swap chain to be full screen. However, if you create the swap chain as full screen, also provide the end user with a list of supported display modes through the BufferDesc member because a swap chain that is created with an unsupported display mode might cause the display to go black and prevent the end user from seeing anything.

For more information about choosing windowed verses full screen, see .

+
+ + bb173075 + BOOL Windowed + BOOL Windowed +
+ + +

A member of the enumerated type that describes options for handling the contents of the presentation buffer after presenting a surface.

+
+ + bb173075 + DXGI_SWAP_EFFECT SwapEffect + DXGI_SWAP_EFFECT SwapEffect +
+ + +

A member of the enumerated type that describes options for swap-chain behavior.

+
+ + bb173075 + DXGI_SWAP_CHAIN_FLAG Flags + DXGI_SWAP_CHAIN_FLAG Flags +
+ + + Internal class used to initialize this assembly. + + + + + Initializes this assembly. + + + This method is called when the assembly is loaded. + + +
+
diff --git a/packages/SharpDX.DXGI.2.5.0/lib/win8/SharpDX.DXGI.dll b/packages/SharpDX.DXGI.2.5.0/lib/win8/SharpDX.DXGI.dll new file mode 100644 index 00000000000..6f6c2ef85ab Binary files /dev/null and b/packages/SharpDX.DXGI.2.5.0/lib/win8/SharpDX.DXGI.dll differ diff --git a/packages/SharpDX.DXGI.2.5.0/lib/win8/SharpDX.DXGI.xml b/packages/SharpDX.DXGI.2.5.0/lib/win8/SharpDX.DXGI.xml new file mode 100644 index 00000000000..c9297346413 --- /dev/null +++ b/packages/SharpDX.DXGI.2.5.0/lib/win8/SharpDX.DXGI.xml @@ -0,0 +1,6373 @@ + + + + SharpDX.DXGI + + + + +

The interface represents a display sub-system (including one or more GPU's, DACs and video memory).

+
+ +

A display sub-system is often referred to as a video card, however, on some machines the display sub-system is part of the mother board.

To enumerate the display sub-systems, use . To get an interface to the adapter for a particular device, use . To create a software adapter, use .

+
+ + bb174523 + IDXGIAdapter + IDXGIAdapter +
+ + +

An interface is a base interface for all DXGI objects; supports associating caller-defined (private data) with an object and retrieval of an interface to the parent object.

+
+ +

implements base class functionality for several other interfaces: , , ,

+
+ + bb174541 + IDXGIObject + IDXGIObject +
+ + + Gets the parent of the object. + + Type of the parent object + Returns the parent object based on the GUID of the type of the parent object. + bb174542 + HRESULT IDXGIObject::GetParent([In] const GUID& riid,[Out] void** ppParent) + IDXGIObject::GetParent + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets application-defined data to the object and associates that data with a .

+
+

A that identifies the data. Use this in a call to GetPrivateData to get the data.

+

The size of the object's data.

+

A reference to the object's data.

+

Returns one of the DXGI_ERROR values.

+ +

SetPrivateData makes a copy of the specified data and stores it with the object.

Private data that SetPrivateData stores in the object occupies the same storage space as private data that is stored by associated Direct3D objects (for example, by a Microsoft Direct3D?11 device through or by a Direct3D?11 child device through ).

The debug layer reports memory leaks by outputting a list of object interface references along with their friendly names. The default friendly name is "<unnamed>". You can set the friendly name so that you can determine if the corresponding object interface reference caused the leak. To set the friendly name, use the SetPrivateData method and the well-known private data () that is in D3Dcommon.h. For example, to give pContext a friendly name of My name, use the following code:

 static const char c_szName[] = "My name";	
+            hr = pContext->SetPrivateData( , sizeof( c_szName ) - 1, c_szName );	
+            

You can use to track down memory leaks and understand performance characteristics of your applications. This information is reflected in the output of the debug layer that is related to memory leaks () and with the event tracing for Windows events that we've added to Windows Developer Preview. +

+
+ + bb174544 + HRESULT IDXGIObject::SetPrivateData([In] const GUID& Name,[In] unsigned int DataSize,[In, Buffer] const void* pData) + IDXGIObject::SetPrivateData +
+ + +

Set an interface in the object's private data.

+
+

A identifying the interface.

+

The interface to set.

+

Returns one of the following DXGI_ERROR.

+ +

This API associates an interface reference with the object.

When the interface is set its reference count is incremented. When the data are overwritten (by calling SPD or SPDI with the same ) or the object is destroyed, ::Release() is called and the interface's reference count is decremented.

+
+ + bb174545 + HRESULT IDXGIObject::SetPrivateDataInterface([In] const GUID& Name,[In] const IUnknown* pUnknown) + IDXGIObject::SetPrivateDataInterface +
+ + +

Get a reference to the object's data.

+
+

A identifying the data.

+

The size of the data.

+

Pointer to the data.

+

Returns one of the following DXGI_ERROR.

+ +

If the data returned is a reference to an , or one of its derivative classes, previously set by , then ::Release() must be called on the reference before the reference is freed to decrement the reference count.

+
+ + bb174543 + HRESULT IDXGIObject::GetPrivateData([In] const GUID& Name,[InOut] unsigned int* pDataSize,[Out, Buffer] void* pData) + IDXGIObject::GetPrivateData +
+ + +

Gets the parent of the object.

+
+

The ID of the requested interface.

+

The address of a reference to the parent object.

+

Returns one of the DXGI_ERROR values.

+ + bb174542 + HRESULT IDXGIObject::GetParent([In] const GUID& riid,[Out] void** ppParent) + IDXGIObject::GetParent +
+ + + Checks to see if a device interface for a graphics component is supported by the system. + + The GUID of the interface of the device version for which support is being checked. For example, typeof(ID3D10Device).GUID. + + true if the interface is supported; otherwise, false. + + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport + + + + Checks to see if a device interface for a graphics component is supported by the system. + + the interface of the device version for which support is being checked. + + true if the interface is supported; otherwise, false. + + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport + + + + Checks to see if a device interface for a graphics component is supported by the system. + + the interface of the device version for which support is being checked. + The user mode driver version of InterfaceName. This is only returned if the interface is supported. + + true if the interface is supported; otherwise, false. + + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport + + + + Checks to see if a device interface for a graphics component is supported by the system. + + The GUID of the interface of the device version for which support is being checked. For example, typeof(ID3D10Device).GUID. + The user mode driver version of InterfaceName. This is only returned if the interface is supported. + + true if the interface is supported; otherwise, false. + + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport + + + + Gets an adapter (video card) outputs. + + The index of the output. + + An instance of + + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + + When the EnumOutputs method succeeds and fills the ppOutput parameter with the address of the reference to the output interface, EnumOutputs increments the output interface's reference count. To avoid a memory leak, when you finish using the output interface, call the Release method to decrement the reference count.EnumOutputs first returns the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumOutputs then returns other outputs. + + if the index is greater than the number of outputs, result code + bb174525 + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + IDXGIAdapter::EnumOutputs + + + + Return the number of available outputs from this adapter. + + The number of outputs + bb174525 + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + IDXGIAdapter::EnumOutputs + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enumerate adapter (video card) outputs.

+
+

The index of the output.

+

The address of a reference to an interface at the position specified by the Output parameter.

+

A code that indicates success or failure (see DXGI_ERROR). Will return if the index is greater than the number of outputs.

+ +

When the EnumOutputs method succeeds and fills the ppOutput parameter with the address of the reference to the output interface, EnumOutputs increments the output interface's reference count. To avoid a memory leak, when you finish using the output interface, call the Release method to decrement the reference count.

EnumOutputs first returns the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumOutputs then returns other outputs.

+
+ + bb174525 + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + IDXGIAdapter::EnumOutputs +
+ + +

Gets a DXGI 1.0 description of an adapter (or video card).

+
+

A reference to a structure that describes the adapter. This parameter must not be null.

+

Returns if successful; otherwise returns E_INVALIDARG if the pDesc parameter is null.

+ +

Graphics applications can use the DXGI API to retrieve an accurate set of graphics memory values on systems that have WDDM drivers. The following are the critical steps involved.

  • Graphics driver model determination ? Because DXGI is only available on systems with WDDM drivers, the application must first confirm the driver model by using the following API.
     HasWDDMDriver()	
    +            { LPDIRECT3DCREATE9EX pD3D9Create9Ex = null; HMODULE             hD3D9          = null; hD3D9 = LoadLibrary( L"d3d9.dll" ); if ( null == hD3D9 ) { return false; } // /*  Try to create IDirect3D9Ex interface (also known as a DX9L interface). This interface can only be created if the driver is a WDDM driver. */ // pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress( hD3D9, "Direct3DCreate9Ex" ); return pD3D9Create9Ex != null;	
    +            } 
  • Retrieval of graphics memory values.? After the driver model is determined to be WDDM, the application can use the DirectX 10 or later API and DXGI to get the amount of graphics memory. After creating a Direct3D device the following code can be used to obtain a structure containing the amount of available graphics memory.
      * pDXGIDevice;	
    +            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
    +             * pDXGIAdapter;	
    +            pDXGIDevice->GetAdapter(&pDXGIAdapter);	
    +             adapterDesc;	
    +            pDXGIAdapter->GetDesc(&adapterDesc); 
+
+ + bb174526 + HRESULT IDXGIAdapter::GetDesc([Out] DXGI_ADAPTER_DESC* pDesc) + IDXGIAdapter::GetDesc +
+ + +

Checks whether the system supports a device interface for a graphics component.

+
+

The of the interface of the device version for which support is being checked. For example, __uuidof(ID3D10Device).

+

The user mode driver version of InterfaceName. This is returned only if the interface is supported. This parameter can be null.

+

indicates that the interface is supported, otherwise is returned (For more information, see DXGI_ERROR).

+ +

Note??You can use CheckInterfaceSupport only to check whether a Direct3D 10.x interface is supported, and only on Windows Vista SP1 and later versions of the operating system. If you try to use CheckInterfaceSupport to check whether a Direct3D 11.x and later version interface is supported, CheckInterfaceSupport returns . Therefore, do not use CheckInterfaceSupport. Instead, to verify whether the operating system supports a particular interface, try to create the interface. For example, if you call the method and it fails, the operating system does not support the interface.

+
+ + Bb174524 + HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID& InterfaceName,[Out] LARGE_INTEGER* pUMDVersion) + IDXGIAdapter::CheckInterfaceSupport +
+ + + Gets all outputs from this adapter. + + bb174525 + HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) + IDXGIAdapter::EnumOutputs + + + +

Gets a DXGI 1.0 description of an adapter (or video card).

+
+ +

Graphics applications can use the DXGI API to retrieve an accurate set of graphics memory values on systems that have WDDM drivers. The following are the critical steps involved.

  • Graphics driver model determination ? Because DXGI is only available on systems with WDDM drivers, the application must first confirm the driver model by using the following API.
     HasWDDMDriver()	
    +            { LPDIRECT3DCREATE9EX pD3D9Create9Ex = null; HMODULE             hD3D9          = null; hD3D9 = LoadLibrary( L"d3d9.dll" ); if ( null == hD3D9 ) { return false; } // /*  Try to create IDirect3D9Ex interface (also known as a DX9L interface). This interface can only be created if the driver is a WDDM driver. */ // pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress( hD3D9, "Direct3DCreate9Ex" ); return pD3D9Create9Ex != null;	
    +            } 
  • Retrieval of graphics memory values.? After the driver model is determined to be WDDM, the application can use the DirectX 10 or later API and DXGI to get the amount of graphics memory. After creating a Direct3D device the following code can be used to obtain a structure containing the amount of available graphics memory.
      * pDXGIDevice;	
    +            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
    +             * pDXGIAdapter;	
    +            pDXGIDevice->GetAdapter(&pDXGIAdapter);	
    +             adapterDesc;	
    +            pDXGIAdapter->GetDesc(&adapterDesc); 
+
+ + bb174526 + GetDesc + GetDesc + HRESULT IDXGIAdapter::GetDesc([Out] DXGI_ADAPTER_DESC* pDesc) +
+ + + The assembly provides managed DXGI API. + + hh404534 + DXGI + DXGI + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Creates a desktop duplication interface from the interface that represents an adapter output.

+
+ +

If an application wants to duplicate the entire desktop, it must create a desktop duplication interface on each active output on the desktop. This interface does not provide an explicit way to synchronize the timing of each output image. Instead, the application must use the time stamp of each output, and then determine how to combine the images.

For DuplicateOutput to succeed, you must create pDevice from or a later version of a DXGI factory interface that inherits from .

If the current mode is a stereo mode, the desktop duplication interface provides the image for the left stereo image only.

By default, only four processes can use a IDXGIOutputDuplication interface at the same time within a single session. A process can have only one desktop duplication interface on a single desktop output; however, that process can have a desktop duplication interface for each output that is part of the desktop.

If DuplicateOutput fails with , the application can wait for system notification of desktop switches and mode changes and then call DuplicateOutput again after such a notification occurs. For more information, see information in desktop switch (EVENT_SYSTEM_DESKTOPSWITCH) and mode change notification (WM_DISPLAYCHANGE).

+
+ + hh404600 + IDXGIOutput1 + IDXGIOutput1 +
+ + +

An interface represents an adapter output (such as a monitor).

+
+ +

To see the outputs available, use . To see the specific output that the swap chain will update, use .

+
+ + bb174546 + IDXGIOutput + IDXGIOutput +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Get a description of the output.

+
+

A reference to the output description (see ).

+

Returns a code that indicates success or failure. if successful, if pDesc is passed in as null.

+ + bb174548 + HRESULT IDXGIOutput::GetDesc([Out] DXGI_OUTPUT_DESC* pDesc) + IDXGIOutput::GetDesc +
+ + +

[Starting with Direct3D 11.1, we recommend not to use GetDisplayModeList anymore to retrieve the matching display mode. Instead, use , which supports stereo display mode.]

Gets the display modes that match the requested format and other input options.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

Returns one of the following DXGI_ERROR. It is rare, but possible, that the display modes available can change immediately after calling this method, in which case is returned (if there is not enough room for all the display modes). If GetDisplayModeList is called from a Remote Desktop Services session (formerly Terminal Services session), is returned.

+ +

In general, when switching from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth and refresh rate of the swap chain. To exercise more control over the display mode, use this API to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor).

As shown, this API is designed to be called twice. First to get the number of modes available, and second to return a description of the modes.

 UINT num = 0;	
+             format = ;	
+            UINT flags         = ; pOutput->GetDisplayModeList( format, flags, &num, 0); ...  * pDescs = new [num];	
+            pOutput->GetDisplayModeList( format, flags, &num, pDescs); 
+
+ + bb174549 + HRESULT IDXGIOutput::GetDisplayModeList([In] DXGI_FORMAT EnumFormat,[In] unsigned int Flags,[InOut] unsigned int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC* pDesc) + IDXGIOutput::GetDisplayModeList +
+ + +

[Starting with Direct3D 11.1, we recommend not to use FindClosestMatchingMode anymore to find the display mode that most closely matches the requested display mode. Instead, use , which supports stereo display mode.]

Finds the display mode that most closely matches the requested display mode.

+
+ No documentation. + No documentation. + No documentation. +

Returns one of the following DXGI_ERROR.

+ +

FindClosestMatchingMode behaves similarly to the except FindClosestMatchingMode considers only the mono display modes. considers only stereo modes if you set the Stereo member in the structure that pModeToMatch points to, and considers only mono modes if Stereo is not set.

returns a matched display-mode set with only stereo modes or only mono modes. + FindClosestMatchingMode behaves as though you specified the input mode as mono.

+
+ + bb174547 + HRESULT IDXGIOutput::FindClosestMatchingMode([In] const DXGI_MODE_DESC* pModeToMatch,[Out] DXGI_MODE_DESC* pClosestMatch,[In, Optional] IUnknown* pConcernedDevice) + IDXGIOutput::FindClosestMatchingMode +
+ + +

Halt a thread until the next vertical blank occurs.

+
+

Returns one of the following DXGI_ERROR.

+ +

A vertical blank occurs when the raster moves from the lower right corner to the upper left corner to begin drawing the next frame.

+
+ + bb174559 + HRESULT IDXGIOutput::WaitForVBlank() + IDXGIOutput::WaitForVBlank +
+ + +

Takes ownership of an output.

+
+

A reference to the interface of a device (such as an ID3D10Device).

+

Set to TRUE to enable other threads or applications to take ownership of the device; otherwise, set to .

+

Returns one of the DXGI_ERROR values.

+ +

When you are finished with the output, call .

TakeOwnership should not be called directly by applications, since results will be unpredictable. It is called implicitly by the DXGI swap chain object during full-screen transitions, and should not be used as a substitute for swap-chain methods.

Notes for Metro style apps

If a Metro style app uses TakeOwnership, it fails with .

+
+ + Bb174558 + HRESULT IDXGIOutput::TakeOwnership([In] IUnknown* pDevice,[In] BOOL Exclusive) + IDXGIOutput::TakeOwnership +
+ + +

Releases ownership of the output.

+
+ +

If you are not using a swap chain, get access to an output by calling and release it when you are finished by calling . An application that uses a swap chain will typically not call either of these methods.

+
+ + Bb174554 + void IDXGIOutput::ReleaseOwnership() + IDXGIOutput::ReleaseOwnership +
+ + +

Gets a description of the gamma-control capabilities.

+
+

A reference to a description of the gamma-control capabilities (see ).

+

Returns one of the DXGI_ERROR values.

+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174553 + HRESULT IDXGIOutput::GetGammaControlCapabilities([Out] DXGI_GAMMA_CONTROL_CAPABILITIES* pGammaCaps) + IDXGIOutput::GetGammaControlCapabilities +
+ + +

Sets the gamma controls.

+
+

A reference to an array of gamma controls (see ).

+

Returns one of the DXGI_ERROR values.

+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + Bb174557 + HRESULT IDXGIOutput::SetGammaControl([In] const DXGI_GAMMA_CONTROL* pArray) + IDXGIOutput::SetGammaControl +
+ + +

Gets the gamma control settings.

+
+

An array of gamma control settings (see ).

+

Returns one of the DXGI_ERROR values.

+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174552 + HRESULT IDXGIOutput::GetGammaControl([Out] DXGI_GAMMA_CONTROL* pArray) + IDXGIOutput::GetGammaControl +
+ + +

Changes the display mode.

+
+

A reference to a surface (see ) used for rendering an image to the screen. The surface must have been created as a back buffer (DXGI_USAGE_BACKBUFFER).

+

Returns one of the DXGI_ERROR values.

+ +

should not be called directly by applications, since results will be unpredictable. It is called implicitly by the DXGI swap chain object during full-screen transitions, and should not be used as a substitute for swap-chain methods.

This method should only be called between and calls.

Notes for Metro style apps

If a Metro style app uses SetDisplaySurface, it fails with .

+
+ + bb174556 + HRESULT IDXGIOutput::SetDisplaySurface([In] IDXGISurface* pScanoutSurface) + IDXGIOutput::SetDisplaySurface +
+ + +

[Starting with Direct3D 11.1, we recommend not to use GetDisplaySurfaceData anymore to retrieve the current display surface. Instead, use , which supports stereo display mode.]

Gets a copy of the current display surface.

+
+ No documentation. +

Returns one of the DXGI_ERROR values.

+ +

can only be called when an output is in full-screen mode. If the method succeeds, DXGI fills the destination surface.

Use to determine the size (width and height) of the output when you want to allocate space for the destination surface. This is true regardless of target monitor rotation. A destination surface created by a graphics component (such as Direct3D 10) must be created with CPU-write permission (see D3D10_CPU_ACCESS_WRITE). Other surfaces should be created with CPU read-write permission (see D3D10_CPU_ACCESS_READ_WRITE). This method will modify the surface data to fit the destination surface (stretch, shrink, convert format, rotate). The stretch and shrink is performed with point-sampling.

+
+ + bb174550 + HRESULT IDXGIOutput::GetDisplaySurfaceData([In] IDXGISurface* pDestination) + IDXGIOutput::GetDisplaySurfaceData +
+ + +

Gets statistics about recently rendered frames.

+
+

A reference to frame statistics (see ).

+

If this function succeeds, it returns . Otherwise, it might return .

+ +

This API is similar to .

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174551 + HRESULT IDXGIOutput::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats) + IDXGIOutput::GetFrameStatistics +
+ + + Find the display mode that most closely matches the requested display mode. + + + Direct3D devices require UNORM formats. This method finds the closest matching available display mode to the mode specified in pModeToMatch. Similarly ranked fields (i.e. all specified, or all unspecified, etc) are resolved in the following order. ScanlineOrdering Scaling Format Resolution RefreshRate When determining the closest value for a particular field, previously matched fields are used to filter the display mode list choices, and other fields are ignored. For example, when matching Resolution, the display mode list will have already been filtered by a certain ScanlineOrdering, Scaling, and Format, while RefreshRate is ignored. This ordering doesn't define the absolute ordering for every usage scenario of FindClosestMatchingMode, because the application can choose some values initially, effectively changing the order that fields are chosen. Fields of the display mode are matched one at a time, generally in a specified order. If a field is unspecified, FindClosestMatchingMode gravitates toward the values for the desktop related to this output. If this output is not part of the desktop, then the default desktop output is used to find values. If an application uses a fully unspecified display mode, FindClosestMatchingMode will typically return a display mode that matches the desktop settings for this output. Unspecified fields are lower priority than specified fields and will be resolved later than specified fields. + + A reference to the Direct3D device interface. If this parameter is NULL, only modes whose format matches that of pModeToMatch will be returned; otherwise, only those formats that are supported for scan-out by the device are returned. + The desired display mode (see ). Members of DXGI_MODE_DESC can be unspecified indicating no preference for that member. A value of 0 for Width or Height indicates the value is unspecified. If either Width or Height are 0 both must be 0. A numerator and denominator of 0 in RefreshRate indicate it is unspecified. Other members of DXGI_MODE_DESC have enumeration values indicating the member is unspecified. If pConnectedDevice is NULL Format cannot be DXGI_FORMAT_UNKNOWN. + The mode that most closely matches pModeToMatch. + Returns one of the following . + HRESULT IDXGIOutput::FindClosestMatchingMode([In] const DXGI_MODE_DESC* pModeToMatch,[Out] DXGI_MODE_DESC* pClosestMatch,[In, Optional] IUnknown* pConcernedDevice) + + + + Gets the display modes that match the requested format and other input options. + + + In general, when switching from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth and refresh rate of the swap chain. To exercise more control over the display mode, use this API to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor). As shown, this API is designed to be called twice. First to get the number of modes available, and second to return a description of the modes. + UINT num = 0; + DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT; + UINT flags = DXGI_ENUM_MODES_INTERLACED; pOutput->GetDisplayModeList( format, flags, &num, 0); ... DXGI_MODE_DESC * pDescs = new DXGI_MODE_DESC[num]; + pOutput->GetDisplayModeList( format, flags, &num, pDescs); + + + + The color format (see ). + format for modes to include (see {{DXGI_ENUM_MODES}}). DXGI_ENUM_MODES_SCALING needs to be specified to expose the display modes that require scaling. Centered modes, requiring no scaling and corresponding directly to the display output, are enumerated by default. + Returns a list of display modes (see ); + HRESULT IDXGIOutput::GetDisplayModeList([None] DXGI_FORMAT EnumFormat,[None] int Flags,[InOut] int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC* pDesc) + + + +

Get a description of the output.

+
+ + bb174548 + GetDesc + GetDesc + HRESULT IDXGIOutput::GetDesc([Out] DXGI_OUTPUT_DESC* pDesc) +
+ + +

Gets a description of the gamma-control capabilities.

+
+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174553 + GetGammaControlCapabilities + GetGammaControlCapabilities + HRESULT IDXGIOutput::GetGammaControlCapabilities([Out] DXGI_GAMMA_CONTROL_CAPABILITIES* pGammaCaps) +
+ + +

Gets or sets the gamma control settings.

+
+ +

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174552 + GetGammaControl / SetGammaControl + GetGammaControl + HRESULT IDXGIOutput::GetGammaControl([Out] DXGI_GAMMA_CONTROL* pArray) +
+ + +

Gets statistics about recently rendered frames.

+
+ +

This API is similar to .

Note??Calling this method is only supported while in full-screen mode.

+
+ + bb174551 + GetFrameStatistics + GetFrameStatistics + HRESULT IDXGIOutput::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the display modes that match the requested format and other input options.

+
+

A -typed value for the color format.

+

A combination of DXGI_ENUM_MODES-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for display modes to include. You must specify to expose the display modes that require scaling. Centered modes that require no scaling and correspond directly to the display output are enumerated by default.

+ A list of display modes + +

GetDisplayModeList1 is updated from GetDisplayModeList to return a list of structures, which are updated mode descriptions. GetDisplayModeList behaves as though it calls GetDisplayModeList1 because GetDisplayModeList can return all of the modes that are specified by DXGI_ENUM_MODES, including stereo mode. However, GetDisplayModeList returns a list of structures, which are the former mode descriptions and do not indicate stereo mode.

The GetDisplayModeList1 method does not enumerate stereo modes unless you specify the flag in the Flags parameter. If you specify , stereo modes are included in the list of returned modes that the pDesc parameter points to. In other words, the method returns both stereo and mono modes.

In general, when you switch from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth, and refresh rate of the swap chain. To exercise more control over the display mode, use GetDisplayModeList1 to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor).

The following example code shows that you need to call GetDisplayModeList1 twice. First call GetDisplayModeList1 to get the number of modes available, and second call GetDisplayModeList1 to return a description of the modes.

 UINT num = 0;	
+             format = ;	
+            UINT flags         = ; pOutput->GetDisplayModeList1( format, flags, &num, 0); ...  * pDescs = new [num];	
+            pOutput->GetDisplayModeList1( format, flags, &num, pDescs); 
+
+ hh404606 + HRESULT IDXGIOutput1::GetDisplayModeList1([In] DXGI_FORMAT EnumFormat,[In] unsigned int Flags,[InOut] unsigned int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC1* pDesc) + IDXGIOutput1::GetDisplayModeList1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the display modes that match the requested format and other input options.

+
+

A -typed value for the color format.

+

A combination of DXGI_ENUM_MODES-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for display modes to include. You must specify to expose the display modes that require scaling. Centered modes that require no scaling and correspond directly to the display output are enumerated by default.

+

A reference to a variable that receives the number of display modes that GetDisplayModeList1 returns in the memory block to which pDesc points. Set pDesc to null so that pNumModes returns the number of display modes that match the format and the options. Otherwise, pNumModes returns the number of display modes returned in pDesc.

+

A reference to a list of display modes; set to null to get the number of display modes.

+

Returns one of the error codes described in the DXGI_ERROR topic. It is rare, but possible, that the display modes available can change immediately after calling this method, in which case is returned (if there is not enough room for all the display modes).

+ +

GetDisplayModeList1 is updated from GetDisplayModeList to return a list of structures, which are updated mode descriptions. GetDisplayModeList behaves as though it calls GetDisplayModeList1 because GetDisplayModeList can return all of the modes that are specified by DXGI_ENUM_MODES, including stereo mode. However, GetDisplayModeList returns a list of structures, which are the former mode descriptions and do not indicate stereo mode.

The GetDisplayModeList1 method does not enumerate stereo modes unless you specify the flag in the Flags parameter. If you specify , stereo modes are included in the list of returned modes that the pDesc parameter points to. In other words, the method returns both stereo and mono modes.

In general, when you switch from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth, and refresh rate of the swap chain. To exercise more control over the display mode, use GetDisplayModeList1 to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor).

The following example code shows that you need to call GetDisplayModeList1 twice. First call GetDisplayModeList1 to get the number of modes available, and second call GetDisplayModeList1 to return a description of the modes.

 UINT num = 0;	
+             format = ;	
+            UINT flags         = ; pOutput->GetDisplayModeList1( format, flags, &num, 0); ...  * pDescs = new [num];	
+            pOutput->GetDisplayModeList1( format, flags, &num, pDescs); 
+
+ + hh404606 + HRESULT IDXGIOutput1::GetDisplayModeList1([In] DXGI_FORMAT EnumFormat,[In] unsigned int Flags,[InOut] unsigned int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC1* pDesc) + IDXGIOutput1::GetDisplayModeList1 +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Finds the display mode that most closely matches the requested display mode.

+
+

A reference to the structure that describes the display mode to match. Members of can be unspecified, which indicates no preference for that member. A value of 0 for Width or Height indicates that the value is unspecified. If either Width or Height is 0, both must be 0. A numerator and denominator of 0 in RefreshRate indicate it is unspecified. Other members of have enumeration values that indicate that the member is unspecified. If pConcernedDevice is null, the Format member of cannot be .

+

A reference to the structure that receives a description of the display mode that most closely matches the display mode described at pModeToMatch.

+

A reference to the Direct3D device interface. If this parameter is null, FindClosestMatchingMode1 returns only modes whose format matches that of pModeToMatch; otherwise, FindClosestMatchingMode1 returns only those formats that are supported for scan-out by the device. For info about the formats that are supported for scan-out by the device at each feature level, see Hardware Support for Direct3D 10 Formats, Hardware Support for Direct3D 10.1 Formats, Hardware Support for Direct3D 10Level9 Formats, Hardware Support for Direct3D 11 Formats, and Hardware Support for Direct3D 11.1 Formats.

+

Returns one of the error codes described in the DXGI_ERROR topic.

+ +

Direct3D devices require UNORM formats.

FindClosestMatchingMode1 finds the closest matching available display mode to the mode that you specify in pModeToMatch.

If you set the Stereo member in the structure to which pModeToMatch points to specify a stereo mode as input, FindClosestMatchingMode1 considers only stereo modes. FindClosestMatchingMode1 considers only mono modes if Stereo is not set.

FindClosestMatchingMode1 resolves similarly ranked members of display modes (that is, all specified, or all unspecified, and so on) in the following order:

  1. ScanlineOrdering
  2. Scaling
  3. Format
  4. Resolution
  5. RefreshRate

When FindClosestMatchingMode1 determines the closest value for a particular member, it uses previously matched members to filter the display mode list choices, and ignores other members. For example, when FindClosestMatchingMode1 matches Resolution, it already filtered the display mode list by a certain ScanlineOrdering, Scaling, and Format, while it ignores RefreshRate. This ordering doesn't define the absolute ordering for every usage scenario of FindClosestMatchingMode1, because the application can choose some values initially, which effectively changes the order of resolving members.

FindClosestMatchingMode1 matches members of the display mode one at a time, generally in a specified order.

If a member is unspecified, FindClosestMatchingMode1 gravitates toward the values for the desktop related to this output. If this output is not part of the desktop, FindClosestMatchingMode1 uses the default desktop output to find values. If an application uses a fully unspecified display mode, FindClosestMatchingMode1 typically returns a display mode that matches the desktop settings for this output. Because unspecified members are lower priority than specified members, FindClosestMatchingMode1 resolves unspecified members later than specified members.

+
+ + hh404603 + HRESULT IDXGIOutput1::FindClosestMatchingMode1([In] const DXGI_MODE_DESC1* pModeToMatch,[Out] DXGI_MODE_DESC1* pClosestMatch,[In, Optional] IUnknown* pConcernedDevice) + IDXGIOutput1::FindClosestMatchingMode1 +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Copies the display surface (front buffer) to a user-provided resource.

+
+

A reference to a resource interface that represents the resource to which GetDisplaySurfaceData1 copies the display surface.

+

Returns one of the error codes described in the DXGI_ERROR topic.

+ +

GetDisplaySurfaceData1 is similar to except GetDisplaySurfaceData1 takes an and takes an .

GetDisplaySurfaceData1 returns an error if the input resource is not a 2D texture (represented by the interface) with an array size (ArraySize member of the structure) that is equal to the swap chain buffers.

The original and the updated GetDisplaySurfaceData1 behave exactly the same. GetDisplaySurfaceData1 was required because textures with an array size equal to 2 (ArraySize = 2) do not implement .

You can call GetDisplaySurfaceData1 only when an output is in full-screen mode. If GetDisplaySurfaceData1 succeeds, it fills the destination resource.

Use to determine the size (width and height) of the output when you want to allocate space for the destination resource. This is true regardless of target monitor rotation. A destination resource created by a graphics component (such as Direct3D 11) must be created with CPU write permission (see ). Other surfaces can be created with CPU read-write permission ( | ). GetDisplaySurfaceData1 modifies the surface data to fit the destination resource (stretch, shrink, convert format, rotate). GetDisplaySurfaceData1 performs the stretch and shrink with point sampling.

+
+ + hh404609 + HRESULT IDXGIOutput1::GetDisplaySurfaceData1([In] IDXGIResource* pDestination) + IDXGIOutput1::GetDisplaySurfaceData1 +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Creates a desktop duplication interface from the interface that represents an adapter output.

+
+ No documentation. + No documentation. +

DuplicateOutput returns:

  • if DuplicateOutput successfully created the desktop duplication interface.
  • E_INVALIDARG for one of the following reasons:
    • The specified device (pDevice) is invalid, was not created on the correct adapter, or was not created from (or a later version of a DXGI factory interface that inherits from ).
    • The calling application is already duplicating this desktop output.
    For more information about this error, see Remarks.
  • E_ACCESSDENIED if the application does not have access privilege to the current desktop image. For example, only an application that runs at LOCAL_SYSTEM can access the secure desktop.
  • if the created IDXGIOutputDuplication interface does not support the current desktop mode or scenario. For example, 8bpp and non-DWM desktop modes are not supported.
  • if DXGI reached the limit on the maximum number of concurrent duplication applications (default of four). Therefore, the calling application cannot create any desktop duplication interfaces until the other applications close.
  • if DuplicateOutput failed because the session is currently disconnected.
  • Other error codes are described in the DXGI_ERROR topic.
+ +

If an application wants to duplicate the entire desktop, it must create a desktop duplication interface on each active output on the desktop. This interface does not provide an explicit way to synchronize the timing of each output image. Instead, the application must use the time stamp of each output, and then determine how to combine the images.

For DuplicateOutput to succeed, you must create pDevice from or a later version of a DXGI factory interface that inherits from .

If the current mode is a stereo mode, the desktop duplication interface provides the image for the left stereo image only.

By default, only four processes can use a IDXGIOutputDuplication interface at the same time within a single session. A process can have only one desktop duplication interface on a single desktop output; however, that process can have a desktop duplication interface for each output that is part of the desktop.

If DuplicateOutput fails with , the application can wait for system notification of desktop switches and mode changes and then call DuplicateOutput again after such a notification occurs. For more information, see information in desktop switch (EVENT_SYSTEM_DESKTOPSWITCH) and mode change notification (WM_DISPLAYCHANGE).

+
+ + hh404600 + HRESULT IDXGIOutput1::DuplicateOutput([In] IUnknown* pDevice,[Out] void** ppOutputDuplication) + IDXGIOutput1::DuplicateOutput +
+ + + The namespace provides a managed DXGI API. + + hh404534 + DXGI + DXGI + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

The interface extends the interface by adding support for subresource surfaces and getting a handle to a shared resource.

+
+ +

An image-data object is a 2D section of memory, commonly called a surface. To get the surface from an output, call . Then, call QueryInterface on the object that returns to retrieve the interface.

Any object that supports also supports .

The runtime automatically creates an interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an interface when you call to create a 2D texture. To retrieve the interface that represents the 2D texture surface, call ID3D11Texture2D::QueryInterface. In this call, you must pass the identifier of . If the 2D texture has only a single MIP-map level and does not consist of an array of textures, QueryInterface succeeds and returns a reference to the interface reference. Otherwise, QueryInterface fails and does not return the reference to .

You can call the method to create an interface that refers to one subresource of a stereo resource.

+
+ + hh404628 + IDXGISurface2 + IDXGISurface2 +
+ + +

The interface extends the by adding support for using Windows Graphics Device Interface (GDI) to render to a Microsoft DirectX Graphics Infrastructure (DXGI) surface.

+
+ +

This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

An image-data object is a 2D section of memory, commonly called a surface. To get the surface from an output, call . Then, call QueryInterface on the object that returns to retrieve the interface.

Any object that supports also supports .

The runtime automatically creates an interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an interface when you call or ID3D10Device::CreateTexture2D to create a 2D texture. To retrieve the interface that represents the 2D texture surface, call ID3D11Texture2D::QueryInterface or ID3D10Texture2D::QueryInterface. In this call, you must pass the identifier of . If the 2D texture has only a single MIP-map level and does not consist of an array of textures, QueryInterface succeeds and returns a reference to the interface reference. Otherwise, QueryInterface fails and does not return the reference to .

+
+ + ff471343 + IDXGISurface1 + IDXGISurface1 +
+ + +

The interface implements methods for image-data objects.

+
+ +

An image-data object is a 2D section of memory, commonly called a surface. To get the surface from an output, call .

The runtime automatically creates an interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an interface when you call or ID3D10Device::CreateTexture2D to create a 2D texture. To retrieve the interface that represents the 2D texture surface, call ID3D11Texture2D::QueryInterface or ID3D10Texture2D::QueryInterface. In this call, you must pass the identifier of . If the 2D texture has only a single MIP-map level and does not consist of an array of textures, QueryInterface succeeds and returns a reference to the interface reference. Otherwise, QueryInterface fails and does not return the reference to .

+
+ + bb174565 + IDXGISurface + IDXGISurface +
+ + +

Inherited from objects that are tied to the device so that they can retrieve a reference to it.

+
+ + bb174528 + IDXGIDeviceSubObject + IDXGIDeviceSubObject +
+ + + Retrieves the device. + + The interface that is returned can be any interface published by the device. + The associated device. + HRESULT IDXGIDeviceSubObject::GetDevice([In] GUID* riid,[Out] void** ppDevice) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the device.

+
+

The reference id for the device.

+

The address of a reference to the device.

+

A code that indicates success or failure (see DXGI_ERROR).

+ +

The type of interface that is returned can be any interface published by the device. For example, it could be an * called pDevice, and therefore the REFIID would be obtained by calling __uuidof(pDevice).

+
+ + bb174529 + HRESULT IDXGIDeviceSubObject::GetDevice([In] const GUID& riid,[Out] void** ppDevice) + IDXGIDeviceSubObject::GetDevice +
+ + + Gets or sets the debug-name for this object. + + + The debug name. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Get a description of the surface.

+
+

A reference to the surface description (see ).

+

Returns if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.

+ + bb174566 + HRESULT IDXGISurface::GetDesc([Out] DXGI_SURFACE_DESC* pDesc) + IDXGISurface::GetDesc +
+ + +

Get a reference to the data contained in the surface, and deny GPU access to the surface.

+
+

A reference to the surface data (see ).

+

CPU read-write flags. These flags can be combined with a logical OR.

  • - Allow CPU read access.
  • - Allow CPU write access.
  • - Discard the previous contents of a resource when it is mapped.
+

Returns if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.

+ +

Use to access a surface from the CPU. To release a mapped surface (and allow GPU access) call .

+
+ + bb174567 + HRESULT IDXGISurface::Map([Out] DXGI_MAPPED_RECT* pLockedRect,[In] unsigned int MapFlags) + IDXGISurface::Map +
+ + +

Invalidate the reference to the surface retrieved by and re-enable GPU access to the resource.

+
+

Returns if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.

+ + bb174568 + HRESULT IDXGISurface::Unmap() + IDXGISurface::Unmap +
+ + + Acquires access to the surface data. + + Flags specifying CPU access permissions. + A for accessing the mapped data, or null on failure.. + + + + Acquires access to the surface data. + + Flags specifying CPU access permissions. + A for accessing the mapped data, or null on failure.. + + + + Gets a swap chain back buffer. + + The swap chain to get the buffer from. + The index of the desired buffer. + The buffer interface, or null on failure. + + + +

Get a description of the surface.

+
+ + bb174566 + GetDesc + GetDesc + HRESULT IDXGISurface::GetDesc([Out] DXGI_SURFACE_DESC* pDesc) +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Returns a device context (DC) that allows you to render to a Microsoft DirectX Graphics Infrastructure (DXGI) surface using Windows Graphics Device Interface (GDI).

+
+

A Boolean value that specifies whether to preserve Direct3D contents in the GDI DC. TRUE directs the runtime not to preserve Direct3D contents in the GDI DC; that is, the runtime discards the Direct3D contents. guarantees that Direct3D contents are available in the GDI DC.

+

A reference to an handle that represents the current device context for GDI rendering.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

After you use the GetDC method to retrieve a DC, you can render to the DXGI surface by using GDI. The GetDC method readies the surface for GDI rendering and allows inter-operation between DXGI and GDI technologies.

Keep the following in mind when using this method:

  • You must create the surface by using the flag for a surface or by using the flag for swap chains, otherwise this method fails.
  • You must release the device and call the method before you issue any new Direct3D commands.
  • This method fails if an outstanding DC has already been created by this method.
  • The format for the surface or swap chain must be or .
  • On GetDC, the render target in the output merger of the Direct3D pipeline is unbound from the surface. You must call the method on the device prior to Direct3D rendering after GDI rendering.
  • Prior to resizing buffers you must release all outstanding DCs.

You can also call GetDC on the back buffer at index 0 of a swap chain by obtaining an from the swap chain. The following code illustrates the process.

 * g_pSwapChain = null;	
+            * g_pSurface1 = null;	
+            ...	
+            //Setup the device and and swapchain	
+            g_pSwapChain->GetBuffer(0, __uuidof(), (void**) &g_pSurface1);	
+            g_pSurface1->GetDC( , &g_hDC );	
+            ...      	
+            //Draw on the DC using GDI	
+            ...	
+            //When finish drawing release the DC	
+            g_pSurface1->ReleaseDC( null ); 
+
+ + ff471345 + HRESULT IDXGISurface1::GetDC([In] BOOL Discard,[Out] HDC* phdc) + IDXGISurface1::GetDC +
+ + +

Releases the GDI device context (DC) that is associated with the current surface and allows you to use Direct3D to render.

+
+

A reference to a structure that identifies the dirty region of the surface. A dirty region is any part of the surface that you used for GDI rendering and that you want to preserve. This area is used as a performance hint to graphics subsystem in certain scenarios. Do not use this parameter to restrict rendering to the specified rectangular region. If you pass in null, ReleaseDC considers the whole surface as dirty. Otherwise, ReleaseDC uses the area specified by the as a performance hint to indicate what areas have been manipulated by GDI rendering.

You can pass a reference to an empty structure (a rectangle with no position or area) if you didn't change any content.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Use the ReleaseDC method to release the DC and indicate that your application finished all GDI rendering to this surface. You must call the ReleaseDC method before you can use Direct3D to perform additional rendering.

Prior to resizing buffers you must release all outstanding DCs.

+
+ + ff471346 + HRESULT IDXGISurface1::ReleaseDC([In, Optional] RECT* pDirtyRect) + IDXGISurface1::ReleaseDC +
+ + + Releases the GDI device context (DC) associated with the current surface and allows rendering using Direct3D. The whole surface to be considered dirty. + + + Use the ReleaseDC method to release the DC and indicate that your application has finished all GDI rendering to this surface. You must call the ReleaseDC method before you perform addition rendering using Direct3D. Prior to resizing buffers all outstanding DCs must be released. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDXGISurface1::ReleaseDC([In, Optional] RECT* pDirtyRect) + + + + Releases the GDI device context (DC) associated with the current surface and allows rendering using Direct3D. + + + Use the ReleaseDC method to release the DC and indicate that your application has finished all GDI rendering to this surface. You must call the ReleaseDC method before you perform addition rendering using Direct3D. Prior to resizing buffers all outstanding DCs must be released. + + A reference to a structure that identifies the dirty region of the surface. A dirty region is any part of the surface that you have used for GDI rendering and that you want to preserve. This is used as a performance hint to graphics subsystem in certain scenarios. Do not use this parameter to restrict rendering to the specified rectangular region. The area specified by the will be used as a performance hint to indicate what areas have been manipulated by GDI rendering. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDXGISurface1::ReleaseDC([In, Optional] RECT* pDirtyRect) + + + + Initializes a new sub resource surface instance of class. + + + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the parent resource and subresource index that support a subresource surface.

+
+

The globally unique identifier () of the requested interface type.

+

A reference to a buffer that receives a reference to the parent resource object for the subresource surface.

+

A reference to a variable that receives the index of the subresource surface.

+

Returns if successful; otherwise, returns one of the following values:

  • E_NOINTERFACE if the object does not implement the that the riid parameter specifies.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
+ +

For subresource surface objects that the method creates, GetResource simply returns the values that were used to create the subresource surface.

Current objects that implement are either resources or views. GetResource for these objects returns ?this? or the resource that supports the view respectively. In this situation, the subresource index is 0.

+
+ + hh404629 + HRESULT IDXGISurface2::GetResource([In] const GUID& riid,[Out] void** ppParentResource,[Out] unsigned int* pSubresourceIndex) + IDXGISurface2::GetResource +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a handle to a shared resource. You can then use the returned handle with multiple Direct3D devices.

+
+ +

CreateSharedHandle only returns the NT handle when you created the resource as shared and specified that it uses NT handles (that is, you set the and flags). If you created the resource as shared and specified that it uses NT handles, you must use CreateSharedHandle to get a handle for sharing. In this situation, you can't use the method because it will fail.

You can pass the handle that CreateSharedHandle returns in a call to the method to give a device access to a shared resource that you created on a different device.

Because the handle that CreateSharedHandle returns is an NT handle, you can use the handle with CloseHandle, DuplicateHandle, and so on. You can call CreateSharedHandle only once for a shared resource; later calls fail. If you need more handles to the same shared resource, call DuplicateHandle. When you no longer need the shared resource handle, call CloseHandle to close the handle, in order to avoid memory leaks.

If you pass a name for the resource to lpName when you call CreateSharedHandle to share the resource, you can subsequently pass this name in a call to the method to give another device access to the shared resource. If you use a named resource, a malicious user can use this named resource before you do and prevent your app from starting. To prevent this situation, create a randomly named resource and store the name so that it can only be obtained by an authorized user. Alternatively, you can use a file for this purpose. To limit your app to one instance per user, create a locked file in the user's profile directory.

If you created the resource as shared and did not specify that it uses NT handles, you cannot use CreateSharedHandle to get a handle for sharing because CreateSharedHandle will fail.

+
+ + hh404626 + IDXGIResource1 + IDXGIResource1 +
+ + +

An interface allows resource sharing and identifies the memory that a resource resides in.

+
+ +

To find out what type of memory a resource is currently located in, use . To share resources between processes, use ID3D10Device::OpenSharedResource. For information about how to share resources between multiple Windows graphics APIs, including Direct3D 11, Direct2D, Direct3D 10, and Direct3D 9Ex, see Surface Sharing Between Windows Graphics APIs.

You can retrieve the interface from any video memory resource that you create from a Direct3D 10 and later function. Any Direct3D object that supports ID3D10Resource or also supports . For example, the Direct3D 2D texture object that you create from supports . You can call QueryInterface on the 2D texture object () to retrieve the interface. For example, to retrieve the interface from the 2D texture object, use the following code.

 * pDXGIResource;	
+            hr = g_pd3dTexture2D->QueryInterface(__uuidof(), (void **)&pDXGIResource);	
+            
+
+ + bb174560 + IDXGIResource + IDXGIResource +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[Starting with Direct3D 11.1, we recommend not to use GetSharedHandle anymore to retrieve the handle to a shared resource. Instead, use to get a handle for sharing. To use , you must create the resource as shared and specify that it uses NT handles (that is, you set the flag). We also recommend that you create shared resources that use NT handles so you can use CloseHandle, DuplicateHandle, and so on on those shared resources.]

Gets the handle to a shared resource.

+
+ No documentation. +

Returns one of the DXGI_ERROR values.

+ +

You can pass the handle that GetSharedHandle returns in a call to the method to give a device access to a shared resource that you created on a different device.

GetSharedHandle doesn't always return a handle. GetSharedHandle only returns the handle when you created the resource as shared (that is, you set the or flag).

The handle that GetSharedHandle returns is not an NT handle. Therefore, don't use the handle with CloseHandle, DuplicateHandle, and so on. The creator of a shared resource must not destroy the resource until all entities that opened the resource have destroyed the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device.

+
+ + bb174562 + HRESULT IDXGIResource::GetSharedHandle([Out] void** pSharedHandle) + IDXGIResource::GetSharedHandle +
+ + +

Get the expected resource usage.

+
+

A reference to a usage flag (see DXGI_USAGE). For Direct3D 10, a surface can be used as a shader input or a render-target output.

+

Returns one of the following DXGI_ERROR.

+ + bb174563 + HRESULT IDXGIResource::GetUsage([Out] unsigned int* pUsage) + IDXGIResource::GetUsage +
+ + +

Set the priority for evicting the resource from memory.

+
+

The priority is one of the following values:

ValueMeaning
(0x28000000)

The resource is unused and can be evicted as soon as another resource requires the memory that the resource occupies.

(0x50000000)

The eviction priority of the resource is low. The placement of the resource is not critical, and minimal work is performed to find a location for the resource. For example, if a GPU can render with a vertex buffer from either local or non-local memory with little difference in performance, that vertex buffer is low priority. Other more critical resources (for example, a render target or texture) can then occupy the faster memory.

(0x78000000)

The eviction priority of the resource is normal. The placement of the resource is important, but not critical, for performance. The resource is placed in its preferred location instead of a low-priority resource.

(0xa0000000)

The eviction priority of the resource is high. The resource is placed in its preferred location instead of a low-priority or normal-priority resource.

(0xc8000000)

The resource is evicted from memory only if there is no other way of resolving the memory requirement.

?

+

Returns one of the following DXGI_ERROR.

+ +

The eviction priority is a memory-management variable that is used by DXGI for determining how to populate overcommitted memory.

You can set priority levels other than the defined values when appropriate. For example, you can set a resource with a priority level of 0x78000001 to indicate that the resource is slightly above normal.

+
+ + Bb174564 + HRESULT IDXGIResource::SetEvictionPriority([In] unsigned int EvictionPriority) + IDXGIResource::SetEvictionPriority +
+ + +

Get the eviction priority.

+
+

A reference to the eviction priority, which determines when a resource can be evicted from memory.

The following defined values are possible.

ValueMeaning
(0x28000000)

The resource is unused and can be evicted as soon as another resource requires the memory that the resource occupies.

(0x50000000)

The eviction priority of the resource is low. The placement of the resource is not critical, and minimal work is performed to find a location for the resource. For example, if a GPU can render with a vertex buffer from either local or non-local memory with little difference in performance, that vertex buffer is low priority. Other more critical resources (for example, a render target or texture) can then occupy the faster memory.

(0x78000000)

The eviction priority of the resource is normal. The placement of the resource is important, but not critical, for performance. The resource is placed in its preferred location instead of a low-priority resource.

(0xa0000000)

The eviction priority of the resource is high. The resource is placed in its preferred location instead of a low-priority or normal-priority resource.

(0xc8000000)

The resource is evicted from memory only if there is no other way of resolving the memory requirement.

?

+

Returns one of the following DXGI_ERROR.

+ +

The eviction priority is a memory-management variable that is used by DXGI to determine how to manage overcommitted memory.

Priority levels other than the defined values are used when appropriate. For example, a resource with a priority level of 0x78000001 indicates that the resource is slightly above normal.

+
+ + bb174561 + HRESULT IDXGIResource::GetEvictionPriority([Out] unsigned int* pEvictionPriority) + IDXGIResource::GetEvictionPriority +
+ + +

[Starting with Direct3D 11.1, we recommend not to use GetSharedHandle anymore to retrieve the handle to a shared resource. Instead, use to get a handle for sharing. To use , you must create the resource as shared and specify that it uses NT handles (that is, you set the flag). We also recommend that you create shared resources that use NT handles so you can use CloseHandle, DuplicateHandle, and so on on those shared resources.]

Gets the handle to a shared resource.

+
+ +

You can pass the handle that GetSharedHandle returns in a call to the method to give a device access to a shared resource that you created on a different device.

GetSharedHandle doesn't always return a handle. GetSharedHandle only returns the handle when you created the resource as shared (that is, you set the or flag).

The handle that GetSharedHandle returns is not an NT handle. Therefore, don't use the handle with CloseHandle, DuplicateHandle, and so on. The creator of a shared resource must not destroy the resource until all entities that opened the resource have destroyed the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device.

+
+ + bb174562 + GetSharedHandle + GetSharedHandle + HRESULT IDXGIResource::GetSharedHandle([Out] void** pSharedHandle) +
+ + +

Get the expected resource usage.

+
+ + bb174563 + GetUsage + GetUsage + HRESULT IDXGIResource::GetUsage([Out] unsigned int* pUsage) +
+ + +

Get or sets the eviction priority.

+
+ +

The eviction priority is a memory-management variable that is used by DXGI to determine how to manage overcommitted memory.

Priority levels other than the defined values are used when appropriate. For example, a resource with a priority level of 0x78000001 indicates that the resource is slightly above normal.

+
+ + bb174561 + GetEvictionPriority / SetEvictionPriority + GetEvictionPriority + HRESULT IDXGIResource::GetEvictionPriority([Out] unsigned int* pEvictionPriority) +
+ + + Creates a handle to a shared resource. You can then use the returned handle with multiple Direct3D devices. + + A reference to a structure that contains two separate but related data members: an optional security descriptor, and a Boolean value that determines whether child processes can inherit the returned handle. Set this parameter to null if you want child processes that the application might create to not inherit the handle returned by CreateSharedHandle, and if you want the resource that is associated with the returned handle to get a default security descriptor. The lpSecurityDescriptor member of the structure specifies a SECURITY_DESCRIPTOR for the resource. Set this member to null if you want the runtime to assign a default security descriptor to the resource that is associated with the returned handle. + The requested access rights to the resource. In addition to the generic access rights, DXGI defines the following values: ( 0x80000000L ) - specifies read access to the resource. ( 1 ) - specifies write access to the resource. You can combine these values by using a bitwise OR operation. + The name of the resource to share. You will need the resource name if you call the method to access the shared resource by name. If you instead call the method to access the shared resource by handle, set this parameter to null. + A reference to a variable that receives the NT HANDLE value to the resource to share. You can use this handle in calls to access the resource. + + If you created the resource as shared and specified that it uses NT handles (that is, you set the flag), you must use CreateSharedHandle to get a handle for sharing. In this situation, you cannot use the method because it will fail. Similarly, if you created the resource as shared and did not specify that it uses NT handles, you cannot use CreateSharedHandle to get a handle for sharing because CreateSharedHandle will fail.You can pass the handle that CreateSharedHandle returns in a call to the or method to give a device access to a shared resource that you created on a different device.CreateSharedHandle only returns the NT handle when you created the resource as shared (that is, you set the and flags).Because the handle that CreateSharedHandle returns is an NT handle, you can use the handle with CloseHandle, DuplicateHandle, and so on. You can call CreateSharedHandle only once for a shared resource; later calls fail. If you need more handles to the same shared resource, call DuplicateHandle. When you no longer need the shared resource handle, call CloseHandle to close the handle, in order to avoid memory leaks.The creator of a shared resource must not destroy the resource until all entities that opened the resource have destroyed the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device. + + HRESULT IDXGIResource1::CreateSharedHandle([In, Optional] const SECURITY_ATTRIBUTES* pAttributes,[In] DXGI_SHARED_RESOURCE_FLAGS dwAccess,[In, Optional] const wchar_t* name,[Out] void** pHandle) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a subresource surface object.

+
+

The index of the subresource surface object to enumerate.

+

The address of a reference to a interface that represents the created subresource surface object at the position specified by the index parameter.

+

Returns if successful; otherwise, returns one of the following values:

  • if the index is out of range or if the subresource is not a valid surface.
  • E_OUTOFMEMORY if insufficient memory is available to create the subresource surface object.

A subresource is a valid surface if the original resource would have been a valid surface had its array size been equal to 1.

+ +

Subresource surface objects implement the interface, which inherits from and indirectly . Therefore, the GDI-interoperable methods of work if the original resource interface object was created with the GDI-interoperable flag ().

CreateSubresourceSurface creates a subresource surface that is based on the resource interface on which CreateSubresourceSurface is called. For example, if the original resource interface object is a 2D texture, the created subresource surface is also a 2D texture.

You can use CreateSubresourceSurface to create parts of a stereo resource so you can use Direct2D on either the left or right part of the stereo resource.

+
+ + hh404627 + HRESULT IDXGIResource1::CreateSubresourceSurface([In] unsigned int index,[Out, Fast] IDXGISurface2** ppSurface) + IDXGIResource1::CreateSubresourceSurface +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a handle to a shared resource. You can then use the returned handle with multiple Direct3D devices.

+
+

A reference to a structure that contains two separate but related data members: an optional security descriptor, and a Boolean value that determines whether child processes can inherit the returned handle.

Set this parameter to null if you want child processes that the application might create to not inherit the handle returned by CreateSharedHandle, and if you want the resource that is associated with the returned handle to get a default security descriptor.

The lpSecurityDescriptor member of the structure specifies a SECURITY_DESCRIPTOR for the resource. Set this member to null if you want the runtime to assign a default security descriptor to the resource that is associated with the returned handle. The ACLs in the default security descriptor for the resource come from the primary or impersonation token of the creator. For more info, see Synchronization Object Security and Access Rights.

+

The requested access rights to the resource. In addition to the generic access rights, DXGI defines the following values:

  • ( 0x80000000L ) - specifies read access to the resource.
  • ( 1 ) - specifies write access to the resource.

You can combine these values by using a bitwise OR operation.

+

The name of the resource to share. The name is limited to MAX_PATH characters. Name comparison is case sensitive. You will need the resource name if you call the method to access the shared resource by name. If you instead call the method to access the shared resource by handle, set this parameter to null.

If lpName matches the name of an existing resource, CreateSharedHandle fails with . This occurs because these objects share the same namespace.

The name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session namespace. The remainder of the name can contain any character except the backslash character (\). For more information, see Kernel Object Namespaces. Fast user switching is implemented using Terminal Services sessions. Kernel object names must follow the guidelines outlined for Terminal Services so that applications can support multiple users.

The object can be created in a private namespace. For more information, see Object Namespaces.

+

A reference to a variable that receives the NT HANDLE value to the resource to share. You can use this handle in calls to access the resource.

+ +

CreateSharedHandle only returns the NT handle when you created the resource as shared and specified that it uses NT handles (that is, you set the and flags). If you created the resource as shared and specified that it uses NT handles, you must use CreateSharedHandle to get a handle for sharing. In this situation, you can't use the method because it will fail.

You can pass the handle that CreateSharedHandle returns in a call to the method to give a device access to a shared resource that you created on a different device.

Because the handle that CreateSharedHandle returns is an NT handle, you can use the handle with CloseHandle, DuplicateHandle, and so on. You can call CreateSharedHandle only once for a shared resource; later calls fail. If you need more handles to the same shared resource, call DuplicateHandle. When you no longer need the shared resource handle, call CloseHandle to close the handle, in order to avoid memory leaks.

If you pass a name for the resource to lpName when you call CreateSharedHandle to share the resource, you can subsequently pass this name in a call to the method to give another device access to the shared resource. If you use a named resource, a malicious user can use this named resource before you do and prevent your app from starting. To prevent this situation, create a randomly named resource and store the name so that it can only be obtained by an authorized user. Alternatively, you can use a file for this purpose. To limit your app to one instance per user, create a locked file in the user's profile directory.

If you created the resource as shared and did not specify that it uses NT handles, you cannot use CreateSharedHandle to get a handle for sharing because CreateSharedHandle will fail.

+
+ + hh404626 + HRESULT IDXGIResource1::CreateSharedHandle([In, Optional] const SECURITY_ATTRIBUTES* pAttributes,[In] DXGI_SHARED_RESOURCE_FLAGS dwAccess,[In, Optional] const wchar_t* lpName,[Out] void** pHandle) + IDXGIResource1::CreateSharedHandle +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: Metro style apps only

Provides the implementation of a large (greater than the screen size) shared surface for DirectX drawing.

+
+ +

This interface provides the native implementation of the Windows::UI::Xaml::Media::Imaging::VirtualSurfaceImageSource Windows runtime type. To obtain a reference to , you must cast a VirtualSurfaceImageSource instance to IInspectable or , and call QueryInterface.

 Microsoft::WRL::ComPtr<>	m_vsisNative;	
+            // ...	
+            IInspectable* vsisInspectable = (IInspectable*) reinterpret_cast<IInspectable*>(virtualSurfaceImageSource);	
+            vsisInspectable->QueryInterface(__uuidof(), (void **)&m_vsisNative) 
+
+ + hh848328 + IVirtualSurfaceImageSourceNative + IVirtualSurfaceImageSourceNative +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Closes the surface draw operation.

+
+ + hh848324 + ISurfaceImageSourceNative + ISurfaceImageSourceNative +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Closes the surface draw operation.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + hh848324 + HRESULT ISurfaceImageSourceNative::SetDevice([In] IDXGIDevice* pDevice) + ISurfaceImageSourceNative::SetDevice +
+ + + No documentation. + + No documentation. + No documentation. + No documentation. + + HRESULT ISurfaceImageSourceNative::BeginDraw([In] RECT updateRect,[Out] IDXGISurface** pSurface,[Out] POINT* offset) + ISurfaceImageSourceNative::BeginDraw + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Closes the surface draw operation.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + hh848324 + HRESULT ISurfaceImageSourceNative::EndDraw() + ISurfaceImageSourceNative::EndDraw +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Closes the surface draw operation.

+
+ + hh848324 + SetDevice + SetDevice + HRESULT ISurfaceImageSourceNative::SetDevice([In] IDXGIDevice* pDevice) +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: Metro style apps only

Invalidates a specific region of the shared surface for drawing.

+
+

The region of the surface to invalidate.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + hh848332 + HRESULT IVirtualSurfaceImageSourceNative::Invalidate([In] RECT updateRect) + IVirtualSurfaceImageSourceNative::Invalidate +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: Metro style apps only

Provides the implementation of a large (greater than the screen size) shared surface for DirectX drawing.

+
+ No documentation. + +

This interface provides the native implementation of the Windows::UI::Xaml::Media::Imaging::VirtualSurfaceImageSource Windows runtime type. To obtain a reference to , you must cast a VirtualSurfaceImageSource instance to IInspectable or , and call QueryInterface.

 Microsoft::WRL::ComPtr<>	m_vsisNative;	
+            // ...	
+            IInspectable* vsisInspectable = (IInspectable*) reinterpret_cast<IInspectable*>(virtualSurfaceImageSource);	
+            vsisInspectable->QueryInterface(__uuidof(), (void **)&m_vsisNative) 
+
+ + hh848328 + HRESULT IVirtualSurfaceImageSourceNative::GetUpdateRectCount([Out] unsigned int* pCount) + IVirtualSurfaceImageSourceNative::GetUpdateRectCount +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: Metro style apps only

Provides the implementation of a large (greater than the screen size) shared surface for DirectX drawing.

+
+ No documentation. + No documentation. + No documentation. + +

This interface provides the native implementation of the Windows::UI::Xaml::Media::Imaging::VirtualSurfaceImageSource Windows runtime type. To obtain a reference to , you must cast a VirtualSurfaceImageSource instance to IInspectable or , and call QueryInterface.

 Microsoft::WRL::ComPtr<>	m_vsisNative;	
+            // ...	
+            IInspectable* vsisInspectable = (IInspectable*) reinterpret_cast<IInspectable*>(virtualSurfaceImageSource);	
+            vsisInspectable->QueryInterface(__uuidof(), (void **)&m_vsisNative) 
+
+ + hh848328 + HRESULT IVirtualSurfaceImageSourceNative::GetUpdateRects([Out, Buffer] RECT* pUpdates,[In] unsigned int count) + IVirtualSurfaceImageSourceNative::GetUpdateRects +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: Metro style apps only

Provides the implementation of a large (greater than the screen size) shared surface for DirectX drawing.

+
+ No documentation. + No documentation. + +

This interface provides the native implementation of the Windows::UI::Xaml::Media::Imaging::VirtualSurfaceImageSource Windows runtime type. To obtain a reference to , you must cast a VirtualSurfaceImageSource instance to IInspectable or , and call QueryInterface.

 Microsoft::WRL::ComPtr<>	m_vsisNative;	
+            // ...	
+            IInspectable* vsisInspectable = (IInspectable*) reinterpret_cast<IInspectable*>(virtualSurfaceImageSource);	
+            vsisInspectable->QueryInterface(__uuidof(), (void **)&m_vsisNative) 
+
+ + hh848328 + HRESULT IVirtualSurfaceImageSourceNative::GetVisibleBounds([Out] RECT* pBounds) + IVirtualSurfaceImageSourceNative::GetVisibleBounds +
+ + + No documentation. + + No documentation. + No documentation. + + HRESULT IVirtualSurfaceImageSourceNative::RegisterForUpdatesNeeded([In] IVirtualSurfaceUpdatesCallbackNative* pCallback) + IVirtualSurfaceImageSourceNative::RegisterForUpdatesNeeded + + + +

[This documentation is preliminary and is subject to change.]

Applies to: Metro style apps only

Provides the implementation of a large (greater than the screen size) shared surface for DirectX drawing.

+
+ No documentation. + No documentation. + No documentation. + +

This interface provides the native implementation of the Windows::UI::Xaml::Media::Imaging::VirtualSurfaceImageSource Windows runtime type. To obtain a reference to , you must cast a VirtualSurfaceImageSource instance to IInspectable or , and call QueryInterface.

 Microsoft::WRL::ComPtr<>	m_vsisNative;	
+            // ...	
+            IInspectable* vsisInspectable = (IInspectable*) reinterpret_cast<IInspectable*>(virtualSurfaceImageSource);	
+            vsisInspectable->QueryInterface(__uuidof(), (void **)&m_vsisNative) 
+
+ + hh848328 + HRESULT IVirtualSurfaceImageSourceNative::Resize([In] int newWidth,[In] int newHeight) + IVirtualSurfaceImageSourceNative::Resize +
+ + + Gets the set of regions that must be updated on the shared surface. + + + + + Event fired when an update is needed. Use to get the region to update. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: Metro style apps only

Provides the implementation of a large (greater than the screen size) shared surface for DirectX drawing.

+
+ +

This interface provides the native implementation of the Windows::UI::Xaml::Media::Imaging::VirtualSurfaceImageSource Windows runtime type. To obtain a reference to , you must cast a VirtualSurfaceImageSource instance to IInspectable or , and call QueryInterface.

 Microsoft::WRL::ComPtr<>	m_vsisNative;	
+            // ...	
+            IInspectable* vsisInspectable = (IInspectable*) reinterpret_cast<IInspectable*>(virtualSurfaceImageSource);	
+            vsisInspectable->QueryInterface(__uuidof(), (void **)&m_vsisNative) 
+
+ + hh848328 + GetVisibleBounds + GetVisibleBounds + HRESULT IVirtualSurfaceImageSourceNative::GetVisibleBounds([Out] RECT* pBounds) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Provides an interface for the implementation of drawing behaviors when a VirtualSurfaceImageSource requests an update.

+
+ +

This interface is implemented by the developer to provide specific drawing behaviors for updates to a VirtualSurfaceImageSource. Classes that implement this interface are provided to the , which calls the UpdatesNeeded method implementation whenever an update is requested.

+
+ + hh848336 + IVirtualSurfaceUpdatesCallbackNative + IVirtualSurfaceUpdatesCallbackNative +
+ + + Callback method for IVirtualSurfaceUpdatesCallbackNative + + HRESULT IVirtualSurfaceUpdatesCallbackNative::UpdatesNeeded() + + + +

An interface implements a derived class for DXGI objects that produce image data.

+
+ +

The interface is designed for use by DXGI objects that need access to other DXGI objects. This interface is useful to applications that do not use Direct3D to communicate with DXGI.

The object returned by the Direct3D create device functions implements the interface and can be queried for the device's corresponding interface. To retrieve the interface of a Direct3D device the following code can be used.

 * pDXGIDevice;	
+            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
+            
+
+ + bb174527 + IDXGIDevice + IDXGIDevice +
+ + + Gets the residency status of an array of resources. + + + The information returned by the pResidencyStatus argument array describes the residency status at the time that the QueryResourceResidency method was called. Note that the residency status will constantly change. If you call the QueryResourceResidency method during a device removed state, the pResidencyStatus argument will return the DXGI_RESIDENCY_EVICTED_TO_DISK flag. Note??This method should not be called every frame as it incurs a non-trivial amount of overhead. + + An array of interfaces. + Returns an array of flags. Each element describes the residency status for corresponding element in the ppResources argument array. + HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[None] int NumResources) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Returns the adapter for the specified device.

+
+

The address of an interface reference to the adapter. This parameter must not be null.

+

Returns if successful; otherwise, returns one of the DXGI_ERROR that indicates failure. If the pAdapter parameter is null this method returns E_INVALIDARG.

+ +

If the GetAdapter method succeeds, the reference count on the adapter interface will be incremented. To avoid a memory leak, be sure to release the interface when you are finished using it.

+
+ + bb174531 + HRESULT IDXGIDevice::GetAdapter([Out] IDXGIAdapter** pAdapter) + IDXGIDevice::GetAdapter +
+ + +

Returns a surface. This method is used internally and you should not call it directly in your application.

+
+

A reference to a structure that describes the surface.

+

The number of surfaces to create.

+

A DXGI_USAGE flag that specifies how the surface is expected to be used.

+

An optional reference to a structure that contains shared resource information for opening views of such resources.

+

The address of an interface reference to the first created surface.

+

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

+ +

The CreateSurface method creates a buffer to exchange data between one or more devices. It is used internally, and you should not directly call it.

The runtime automatically creates an interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an interface when it calls or ID3D10Device::CreateTexture2D to create a 2D texture. To retrieve the interface that represents the 2D texture surface, call ID3D11Texture2D::QueryInterface or ID3D10Texture2D::QueryInterface. In this call, you must pass the identifier of . If the 2D texture has only a single MIP-map level and does not consist of an array of textures, QueryInterface succeeds and returns a reference to the interface reference. Otherwise, QueryInterface fails and does not return the reference to . +

+
+ + bb174530 + HRESULT IDXGIDevice::CreateSurface([In] const DXGI_SURFACE_DESC* pDesc,[In] unsigned int NumSurfaces,[In] unsigned int Usage,[In, Optional] const DXGI_SHARED_RESOURCE* pSharedResource,[Out] IDXGISurface** ppSurface) + IDXGIDevice::CreateSurface +
+ + +

Gets the residency status of an array of resources.

+
+

An array of interfaces.

+

An array of flags. Each element describes the residency status for corresponding element in the ppResources argument array.

+

The number of resources in the ppResources argument array and pResidencyStatus argument array.

+

Returns if successfull; otherwise, returns , E_INVALIDARG, or E_POINTER (see WinError.h for more information).

+ +

The information returned by the pResidencyStatus argument array describes the residency status at the time that the QueryResourceResidency method was called. Note that the residency status will constantly change.

If you call the QueryResourceResidency method during a device removed state, the pResidencyStatus argument will return the flag.

Note??This method should not be called every frame as it incurs a non-trivial amount of overhead.

+
+ + bb174533 + HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[In] unsigned int NumResources) + IDXGIDevice::QueryResourceResidency +
+ + +

Gets the residency status of an array of resources.

+
+

An array of interfaces.

+

An array of flags. Each element describes the residency status for corresponding element in the ppResources argument array.

+

The number of resources in the ppResources argument array and pResidencyStatus argument array.

+

Returns if successfull; otherwise, returns , E_INVALIDARG, or E_POINTER (see WinError.h for more information).

+ +

The information returned by the pResidencyStatus argument array describes the residency status at the time that the QueryResourceResidency method was called. Note that the residency status will constantly change.

If you call the QueryResourceResidency method during a device removed state, the pResidencyStatus argument will return the flag.

Note??This method should not be called every frame as it incurs a non-trivial amount of overhead.

+
+ + bb174533 + HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[In] unsigned int NumResources) + IDXGIDevice::QueryResourceResidency +
+ + +

Sets the GPU thread priority.

+
+

A value that specifies the required GPU thread priority. This value must be between -7 and 7, inclusive, where 0 represents normal priority.

+

Return if successful; otherwise, returns E_INVALIDARG if the Priority parameter is invalid.

+ +

The values for the Priority parameter function as follows:

  • Positive values increase the likelihood that the GPU scheduler will grant GPU execution cycles to the device when rendering.
  • Negative values lessen the likelihood that the device will receive GPU execution cycles when devices compete for them.
  • The device is guaranteed to receive some GPU execution cycles at all settings.

To use the SetGPUThreadPriority method, you should have a comprehensive understanding of GPU scheduling. You should profile your application to ensure that it behaves as intended. If used inappropriately, the SetGPUThreadPriority method can impede rendering speed and result in a poor user experience.

+
+ + bb174534 + HRESULT IDXGIDevice::SetGPUThreadPriority([In] int Priority) + IDXGIDevice::SetGPUThreadPriority +
+ + +

Gets the GPU thread priority.

+
+

A reference to a variable that receives a value that indicates the current GPU thread priority. The value will be between -7 and 7, inclusive, where 0 represents normal priority.

+

Return if successful; otherwise, returns E_POINTER if the pPriority parameter is null.

+ + Bb174532 + HRESULT IDXGIDevice::GetGPUThreadPriority([Out] int* pPriority) + IDXGIDevice::GetGPUThreadPriority +
+ + +

Returns the adapter for the specified device.

+
+ +

If the GetAdapter method succeeds, the reference count on the adapter interface will be incremented. To avoid a memory leak, be sure to release the interface when you are finished using it.

+
+ + bb174531 + GetAdapter + GetAdapter + HRESULT IDXGIDevice::GetAdapter([Out] IDXGIAdapter** pAdapter) +
+ + +

Gets or sets the GPU thread priority.

+
+ + Bb174532 + GetGPUThreadPriority / SetGPUThreadPriority + GetGPUThreadPriority + HRESULT IDXGIDevice::GetGPUThreadPriority([Out] int* pPriority) +
+ + +

An interface implements methods for generating DXGI objects (which handle full screen transitions).

+
+ +

Create a factory by calling CreateDXGIFactory.

Because a Direct3D device can be created without creating a swap chain, you might need to retrieve the factory that is used to create the device in order to create a swap chain. + This can be accomplished by requesting the interface from the Direct3D device and then using to locate + the factory. The following code illustrates the process.

 * pDXGIDevice;	
+            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);  * pDXGIAdapter;	
+            hr = pDXGIDevice->GetParent(__uuidof(), (void **)&pDXGIAdapter);  * pIDXGIFactory;	
+            pDXGIAdapter->GetParent(__uuidof(), (void **)&pIDXGIFactory);	
+            

See for a diagram of the relationship between DXGI objects.

+
+ + bb174535 + IDXGIFactory + IDXGIFactory +
+ + + Gets both adapters (video cards) with or without outputs. + + The index of the adapter to enumerate. + a reference to an interface at the position specified by the Adapter parameter + + When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.When the EnumAdapters method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.EnumAdapters first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters then returns other adapters with outputs. + + HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter) + + + + Return the number of available adapters from this factory. + + The number of adapters + HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enumerates the adapters (video cards).

+
+

The index of the adapter to enumerate.

+

The address of a reference to an interface at the position specified by the Adapter parameter. This parameter must not be null.

+

Returns if successful; otherwise, returns if the index is greater than or equal to the number of adapters in the local system, or if ppAdapter parameter is null.

+ +

When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.

When the EnumAdapters method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.

EnumAdapters first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters then returns other adapters with outputs.

+
+ + bb174538 + HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter) + IDXGIFactory::EnumAdapters +
+ + +

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).

+
+

The handle of the window that is to be monitored. This parameter can be null; but only if the flags are also 0.

+

One or more of the following values:

  • - Prevent DXGI from monitoring an applications message queue; this makes DXGI unable to respond to mode changes.
  • - Prevent DXGI from responding to an alt-enter sequence.
  • - Prevent DXGI from responding to a print-screen key.
+

if WindowHandle is invalid, or E_OUTOFMEMORY.

+ +

The combination of WindowHandle and Flags informs DXGI to stop monitoring window messages for the previously-associated window.

If the application switches to full-screen mode, DXGI will choose a full-screen resolution to be the smallest supported resolution that is larger or the same size as the current back buffer size.

Applications can make some changes to make the transition from windowed to full screen more efficient. For example, on a WM_SIZE message, the application should release any outstanding swap-chain back buffers, call , then re-acquire the back buffers from the swap chain(s). This gives the swap chain(s) an opportunity to resize the back buffers, and/or recreate them to enable full-screen flipping operation. If the application does not perform this sequence, DXGI will still make the full-screen/windowed transition, but may be forced to use a stretch operation (since the back buffers may not be the correct size), which may be less efficient. Even if a stretch is not required, presentation may not be optimal because the back buffers might not be directly interchangeable with the front buffer. Thus, a call to ResizeBuffers on WM_SIZE is always recommended, since WM_SIZE is always sent during a fullscreen transition.

While windowed, the application can, if it chooses, restrict the size of its window's client area to sizes to which it is comfortable rendering. A fully flexible application would make no such restriction, but UI elements or other design considerations can, of course, make this flexibility untenable. If the application further chooses to restrict its window's client area to just those that match supported full-screen resolutions, the application can field WM_SIZING, then check against . If a matching mode is found, allow the resize. (The can be retrieved from . Absent subsequent changes to desktop topology, this will be the same output that will be chosen when alt-enter is fielded and fullscreen mode is begun for that swap chain.)

Applications that want to handle mode changes or Alt+Enter themselves should call MakeWindowAssociation with the flag after swap chain creation. The WindowHandle argument, if non-null, specifies that the application message queues will not be handled by the DXGI runtime for all swap chains of a particular target . Calling MakeWindowAssociation with the flag after swapchain creation ensures that DXGI will not interfere with application's handling of window mode changes or Alt+Enter.

Notes for Metro style apps

If a Metro style app calls MakeWindowAssociation, it fails with .

A Microsoft Win32 application can use MakeWindowAssociation to control full-screen transitions through the Alt+Enter key combination and print screen behavior for full screen. For Metro style apps, because DXGI cannot perform full-screen transitions, Metro style app have no way to control full-screen transitions.

+
+ + bb174540 + HRESULT IDXGIFactory::MakeWindowAssociation([In] HWND WindowHandle,[In] DXGI_MWA_FLAGS Flags) + IDXGIFactory::MakeWindowAssociation +
+ + +

Get the window through which the user controls the transition to and from full screen.

+
+

A reference to a window handle.

+ + Notes for Metro style apps

If a Metro style app calls GetWindowAssociation, it fails with .

+
+ + Bb174539 + HRESULT IDXGIFactory::GetWindowAssociation([Out] HWND* pWindowHandle) + IDXGIFactory::GetWindowAssociation +
+ + +

[Starting with Direct3D 11.1, we recommend not to use CreateSwapChain anymore to create a swap chain. Instead, use CreateSwapChainForHwnd, CreateSwapChainForImmersiveWindow, or CreateSwapChainForCompositionSurface depending on how you want to create the swap chain.]

Creates a swap chain.

+
+ No documentation. + No documentation. + No documentation. +

if pDesc or ppSwapChain is null, if you request full-screen mode and it is unavailable, or E_OUTOFMEMORY. Other error codes defined by the type of device passed in may also be returned.

+ +

If you attempt to create a swap chain in full-screen mode, and full-screen mode is unavailable, the swap chain will be created in windowed mode and will be returned.

If the buffer width or the buffer height is zero, the sizes will be inferred from the output window size in the swap-chain description.

Because the target output cannot be chosen explicitly when the swap-chain is created, you should not create a full-screen swap chain. This can reduce presentation performance if the swap chain size and the output window size do not match. Here are two ways to ensure that the sizes match:

  • Create a windowed swap chain and then set it full-screen using .
  • Save a reference to the swap chain immediately after creation, and use it to get the output window size during a WM_SIZE event. Then resize the swap chain buffers (with ) during the transition from windowed to full-screen.

If the swap chain is in full-screen mode, before you release it you must use SetFullscreenState to switch it to windowed mode. For more information about releasing a swap chain, see the "Destroying a Swap Chain" section of DXGI Overview.

You can specify and values in the swap-chain description that pDesc points to. These values allow you to use features like flip-model presentation and content protection by using pre-Windows Developer Preview APIs.

However, to use stereo presentation and to change resize behavior for the flip model, applications must use the method. Otherwise, the back-buffer contents implicitly scale to fit the presentation target size; that is, you can't turn off scaling.

Notes for Metro style apps

If a Metro style app calls CreateSwapChain with full screen specified, CreateSwapChain fails.

Metro style apps call the IDXGIFactory2::CreateSwapChainForImmersiveWindow method to create a swap chain.

+
+ + bb174537 + HRESULT IDXGIFactory::CreateSwapChain([In] IUnknown* pDevice,[In] DXGI_SWAP_CHAIN_DESC* pDesc,[Out, Fast] IDXGISwapChain** ppSwapChain) + IDXGIFactory::CreateSwapChain +
+ + +

Create an adapter interface that represents a software adapter.

+
+

Handle to the software adapter's dll. HMODULE can be obtained with GetModuleHandle or LoadLibrary.

+

Address of a reference to an adapter (see ).

+ +

A software adapter is a DLL that implements the entirety of a device driver interface, plus emulation, if necessary, of kernel-mode graphics components for Windows. Details on implementing a software adapter can be found in the Windows Vista Driver Development Kit. This is a very complex development task, and is not recommended for general readers.

Calling this method will increment the module's reference count by one. The reference count can be decremented by calling FreeLibrary.

The typical calling scenario is to call LoadLibrary, pass the handle to CreateSoftwareAdapter, then immediately call FreeLibrary on the DLL and forget the DLL's HMODULE. Since the software adapter calls FreeLibrary when it is destroyed, the lifetime of the DLL will now be owned by the adapter, and the application is free of any further consideration of its lifetime.

+
+ + bb174536 + HRESULT IDXGIFactory::CreateSoftwareAdapter([In] HINSTANCE Module,[Out] IDXGIAdapter** ppAdapter) + IDXGIFactory::CreateSoftwareAdapter +
+ + + Return an array of available from this factory. + + HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter) + + + +

The interface implements methods for generating DXGI objects.

+
+ +

This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

To create a factory, call the CreateDXGIFactory1 function.

+
+ + ff471335 + IDXGIFactory1 + IDXGIFactory1 +
+ + + Default Constructor for Factory1. + + + + + Gets both adapters (video cards) with or without outputs. + + The index of the adapter to enumerate. + a reference to an interface at the position specified by the Adapter parameter + + This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.When the EnumAdapters1 method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters1 increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.EnumAdapters1 first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters1 next returns other adapters with outputs. EnumAdapters1 finally returns adapters without outputs. + + HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter) + + + + Return the number of available adapters from this factory. + + The number of adapters + HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enumerates both adapters (video cards) with or without outputs.

+
+

The index of the adapter to enumerate.

+

The address of a reference to an interface at the position specified by the Adapter parameter. This parameter must not be null.

+

Returns if successful; otherwise, returns if the index is greater than or equal to the number of adapters in the local system, or if ppAdapter parameter is null.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.

When the EnumAdapters1 method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters1 increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.

EnumAdapters1 first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters1 next returns other adapters with outputs. EnumAdapters1 finally returns adapters without outputs.

+
+ + ff471336 + HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter) + IDXGIFactory1::EnumAdapters1 +
+ + +

Informs an application of the possible need to re-enumerate adapters.

+
+

, if a new adapter is becoming available or the current adapter is going away. TRUE, no adapter changes.

IsCurrent returns to inform the calling application to re-enumerate adapters.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

+
+ + ff471337 + BOOL IDXGIFactory1::IsCurrent() + IDXGIFactory1::IsCurrent +
+ + + Return an array of available from this factory. + + HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter) + + + +

Informs an application of the possible need to re-enumerate adapters.

+
+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

+
+ + ff471337 + IsCurrent + IsCurrent + BOOL IDXGIFactory1::IsCurrent() +
+ + + Helper to use with . + + + + + Calculates the size of a in bytes. + + The DXGI format. + size of in bytes + + + + Calculates the size of a in bits. + + The DXGI format. + size of in bits + + + + Returns true if the is valid. + + A format to validate + True if the is valid. + + + + Returns true if the is a compressed format. + + The format to check for compressed. + True if the is a compressed format + + + + Determines whether the specified is packed. + + The DXGI Format. + true if the specified is packed; otherwise, false. + + + + Determines whether the specified is video. + + The . + true if the specified is video; otherwise, false. + + + + Determines whether the specified is a SRGB format. + + The . + true if the specified is a SRGB format; otherwise, false. + + + + Determines whether the specified is typeless. + + The . + true if the specified is typeless; otherwise, false. + + + + Computes the scanline count (number of scanlines). + + The . + The height. + The scanline count. + + + + Static initializer to speed up size calculation (not sure the JIT is enough "smart" for this kind of thing). + + + + +

Identifies the type of DXGI adapter.

+
+ +

The enumerated type is used by the Flags member of the or structure to identify the type of DXGI adapter.

+
+ + ff471327 + DXGI_ADAPTER_FLAG + DXGI_ADAPTER_FLAG +
+ + +

Specifies no flags.

+
+ + ff471327 + DXGI_ADAPTER_FLAG_NONE + DXGI_ADAPTER_FLAG_NONE +
+ + +

Value always set to 0. This flag is reserved.

+
+ + ff471327 + DXGI_ADAPTER_FLAG_REMOTE + DXGI_ADAPTER_FLAG_REMOTE +
+ + +

Specifies a software adapter.

Direct3D 11:??This enumeration value is supported starting with Windows Developer Preview.
+
+ + ff471327 + DXGI_ADAPTER_FLAG_SOFTWARE + DXGI_ADAPTER_FLAG_SOFTWARE +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Identifies the alpha value, transparency behavior, of a surface.

+
+ +

For more information about alpha mode, see .

+
+ + hh404496 + DXGI_ALPHA_MODE + DXGI_ALPHA_MODE +
+ + +

Indicates that the transparency behavior is not specified.

+
+ + hh404496 + DXGI_ALPHA_MODE_UNSPECIFIED + DXGI_ALPHA_MODE_UNSPECIFIED +
+ + +

Indicates that the transparency behavior is premultiplied. Each color is first scaled by the alpha value. The alpha value itself is the same in both straight and premultiplied alpha. Typically, no color channel value is greater than the alpha channel value. If a color channel value in a premultiplied format is greater than the alpha channel, the standard source-over blending math results in an additive blend.

+
+ + hh404496 + DXGI_ALPHA_MODE_PREMULTIPLIED + DXGI_ALPHA_MODE_PREMULTIPLIED +
+ + +

Indicates that the transparency behavior is not premultiplied. The alpha channel indicates the transparency of the color.

+
+ + hh404496 + DXGI_ALPHA_MODE_STRAIGHT + DXGI_ALPHA_MODE_STRAIGHT +
+ + +

Indicates to ignore the transparency behavior.

+
+ + hh404496 + DXGI_ALPHA_MODE_IGNORE + DXGI_ALPHA_MODE_IGNORE +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Identifies the granularity at which the graphics processing unit (GPU) can be preempted from performing its current compute task.

+
+ +

You call the method to retrieve the granularity level at which the GPU can be preempted from performing its current compute task. The operating system specifies the compute granularity level in the ComputePreemptionGranularity member of the structure.

+
+ + hh404499 + DXGI_COMPUTE_PREEMPTION_GRANULARITY + DXGI_COMPUTE_PREEMPTION_GRANULARITY +
+ + +

Indicates the preemption granularity as a compute packet.

+
+ + hh404499 + DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY + DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY +
+ + +

Indicates the preemption granularity as a dispatch (for example, a call to the method). A dispatch is a part of a compute packet.

+
+ + hh404499 + DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY + DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY +
+ + +

Indicates the preemption granularity as a thread group. A thread group is a part of a dispatch.

+
+ + hh404499 + DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY + DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY +
+ + +

Indicates the preemption granularity as a thread in a thread group. A thread is a part of a thread group.

+
+ + hh404499 + DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY + DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY +
+ + +

Indicates the preemption granularity as a compute instruction in a thread.

+
+ + hh404499 + DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY + DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY +
+ + + No documentation. + + + DXGI_ENUM_MODES_FLAGS + DXGI_ENUM_MODES_FLAGS + + + + No documentation. + + + DXGI_ENUM_MODES_INTERLACED + DXGI_ENUM_MODES_INTERLACED + + + + No documentation. + + + DXGI_ENUM_MODES_SCALING + DXGI_ENUM_MODES_SCALING + + + + No documentation. + + + DXGI_ENUM_MODES_STEREO + DXGI_ENUM_MODES_STEREO + + + + No documentation. + + + DXGI_ENUM_MODES_DISABLED_STEREO + DXGI_ENUM_MODES_DISABLED_STEREO + + + +

Flags that indicate how the back buffers should be rotated to fit the physical rotation of a monitor.

+
+ + bb173065 + DXGI_MODE_ROTATION + DXGI_MODE_ROTATION +
+ + +

Unspecified rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_UNSPECIFIED + DXGI_MODE_ROTATION_UNSPECIFIED +
+ + +

Specifies no rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_IDENTITY + DXGI_MODE_ROTATION_IDENTITY +
+ + +

Specifies 90 degrees of rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_ROTATE90 + DXGI_MODE_ROTATION_ROTATE90 +
+ + +

Specifies 180 degrees of rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_ROTATE180 + DXGI_MODE_ROTATION_ROTATE180 +
+ + +

Specifies 270 degrees of rotation.

+
+ + bb173065 + DXGI_MODE_ROTATION_ROTATE270 + DXGI_MODE_ROTATION_ROTATE270 +
+ + +

Flags indicating how an image is stretched to fit a given monitor's resolution.

+
+ + bb173066 + DXGI_MODE_SCALING + DXGI_MODE_SCALING +
+ + +

Unspecified scaling.

+
+ + bb173066 + DXGI_MODE_SCALING_UNSPECIFIED + DXGI_MODE_SCALING_UNSPECIFIED +
+ + +

Specifies no scaling. The image is centered on the display. This flag is typically used for a fixed-dot-pitch display (such as an LED display).

+
+ + bb173066 + DXGI_MODE_SCALING_CENTERED + DXGI_MODE_SCALING_CENTERED +
+ + +

Specifies stretched scaling.

+
+ + bb173066 + DXGI_MODE_SCALING_STRETCHED + DXGI_MODE_SCALING_STRETCHED +
+ + +

Flags indicating the method the raster uses to create an image on a surface.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER + DXGI_MODE_SCANLINE_ORDER +
+ + +

Scanline order is unspecified.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED + DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED +
+ + +

The image is created from the first scanline to the last without skipping any.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE + DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE +
+ + +

The image is created beginning with the upper field.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST + DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST +
+ + +

The image is created beginning with the lower field.

+
+ + bb173067 + DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST + DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST +
+ + +

Status codes that can be returned by DXGI functions.

+
+ + cc308061 + DXGI_STATUS + DXGI_STATUS +
+ + + No documentation. + + + DXGI_STATUS_OCCLUDED + DXGI_STATUS_OCCLUDED + + + + No documentation. + + + DXGI_STATUS_CLIPPED + DXGI_STATUS_CLIPPED + + + + No documentation. + + + DXGI_STATUS_NO_REDIRECTION + DXGI_STATUS_NO_REDIRECTION + + + + No documentation. + + + DXGI_STATUS_NO_DESKTOP_ACCESS + DXGI_STATUS_NO_DESKTOP_ACCESS + + + + No documentation. + + + DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE + DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE + + + + No documentation. + + + DXGI_STATUS_MODE_CHANGED + DXGI_STATUS_MODE_CHANGED + + + + No documentation. + + + DXGI_STATUS_MODE_CHANGE_IN_PROGRESS + DXGI_STATUS_MODE_CHANGE_IN_PROGRESS + + + + No documentation. + + + DXGI_STATUS_UNOCCLUDED + DXGI_STATUS_UNOCCLUDED + + + + No documentation. + + + DXGI_STATUS_DDA_WAS_STILL_DRAWING + DXGI_STATUS_DDA_WAS_STILL_DRAWING + + + +

Resource data formats which includes fully-typed and typeless formats. There is a list of format modifiers at the bottom of the page, that more fully describes each format type.

+
+ +

A few formats have additional restrictions.

  1. A resource declared with the DXGI_FORMAT_R32G32B32 family of formats cannot be used simultaneously for vertex and texture data. That is, you may not create a buffer resource with the DXGI_FORMAT_R32G32B32 family of formats that uses any of the following bind flags: D3D10_BIND_VERTEX_BUFFER, D3D10_BIND_INDEX_BUFFER, D3D10_BIND_CONSTANT_BUFFER, or D3D10_BIND_STREAM_OUTPUT (see D3D10_BIND_FLAG).
  2. is designed specifically for text filtering, and must be used with a format-specific, configurable 8x8 filter mode. When calling an HLSL sampling function using this format, the address offset parameter must be set to (0,0).
  3. A resource using a sub-sampled format (such as DXGI_FORMAT_R8G8_B8G8) must have a size that is a multiple of 2 in the x dimension.
  4. Format is not available in Direct3D 10 and Direct3D 10.1

The following topics provide lists of the formats that particular hardware feature levels support:

  • Hardware Support for Direct3D 11.1 Formats
  • Hardware Support for Direct3D 11 Formats
  • Hardware Support for Direct3D 10.1 Formats
  • Hardware Support for Direct3D 10 Formats
  • Hardware Support for Direct3D 10Level9 Formats

For a list of the DirectXMath types that map to values, see DirectXMath Library Internals.

Format Modifiers

Each enumeration value contains a format modifier which describes the data type.

Format ModifiersDescription
_FLOATA floating-point value; 32-bit floating-point formats use IEEE 754 single-precision (s23e8 format): sign bit, 8-bit biased (127) exponent, and 23-bit mantissa. 16-bit floating-point formats use half-precision (s10e5 format): sign bit, 5-bit biased (15) exponent, and 10-bit mantissa.
_SINTTwo's complement signed integer. For example, a 3-bit SINT represents the values -4, -3, -2, -1, 0, 1, 2, 3.
_SNORMSigned normalized integer; which is interpreted in a resource as a signed integer, and is interpreted in a shader as a signed normalized floating-point value in the range [-1, 1]. For an 2's complement number, the maximum value is 1.0f (a 5-bit value 01111 maps to 1.0f), and the minimum value is -1.0f (a 5-bit value 10000 maps to -1.0f). In addition, the second-minimum number maps to -1.0f (a 5-bit value 10001 maps to -1.0f). The resulting integer representations are evenly spaced floating-point values in the range (-1.0f...0.0f), and also a complementary set of representations for numbers in the range (0.0f...1.0f).
_SRGBStandard RGB data, which roughly displays colors in a linear ramp of luminosity levels such that an average observer, under average viewing conditions, can view them on an average display.

All 0's maps to 0.0f, and all 1's maps to 1.0f. The sequence of unsigned integer encodings between all 0's and all 1's represent a nonlinear progression in the floating-point interpretation of the numbers between 0.0f to 1.0f. For more detail, see the SRGB color standard, IEC 61996-2-1, at IEC (International Electrotechnical Commission).

Conversion to or from sRGB space is automatically done by D3DX10 or D3DX9 texture-load functions. If the format has an alpha channel, the alpha data is also stored in sRGB color space.
_TYPELESSTypeless data, with a defined number of bits. Typeless formats are designed for creating typeless resources; that is, a resource whose size is known, but whose data type is not yet fully defined. When a typeless resource is bound to a shader, the application or shader must resolve the format type (which must match the number of bits per component in the typeless format).

A typeless format contains one or more subformats; each subformat resolves the data type. For example, in the R32G32B32 group, which defines types for three-component 96-bit data, there is one typeless format and three fully typed subformats.

 , , , ,	
+            
_UINTUnsigned integer. For instance, a 3-bit UINT represents the values 0, 1, 2, 3, 4, 5, 6, 7.
_UNORMUnsigned normalized integer; which is interpreted in a resource as an unsigned integer, and is interpreted in a shader as an unsigned normalized floating-point value in the range [0, 1]. All 0's maps to 0.0f, and all 1's maps to 1.0f. A sequence of evenly spaced floating-point values from 0.0f to 1.0f are represented. For instance, a 2-bit UNORM represents 0.0f, 1/3, 2/3, and 1.0f.

?

New Resource Formats

Direct3D 10 offers new data compression formats for compressing high-dynamic range (HDR) lighting data, normal maps and heightfields to a fraction of their original size. These compression types include:

  • Shared-Exponent high-dynamic range (HDR) format (RGBE)
  • New Block-Compressed 1-2 channel UNORM/SNORM formats

The block compression formats can be used for any of the 2D or 3D texture types ( Texture2D, Texture2DArray, Texture3D, or TextureCube) including mipmap surfaces. The block compression techniques require texture dimensions to be a multiple of 4 (since the implementation compresses on blocks of 4x4 texels). In the texture sampler, compressed formats are always decompressed before texture filtering.

+
+ + bb173059 + DXGI_FORMAT + DXGI_FORMAT +
+ + +

The format is not known.

+
+ + bb173059 + DXGI_FORMAT_UNKNOWN + DXGI_FORMAT_UNKNOWN +
+ + +

A four-component, 128-bit typeless format that supports 32 bits per channel including alpha. 1

+
+ + bb173059 + DXGI_FORMAT_R32G32B32A32_TYPELESS + DXGI_FORMAT_R32G32B32A32_TYPELESS +
+ + +

A four-component, 128-bit floating-point format that supports 32 bits per channel including alpha. 1

+
+ + bb173059 + DXGI_FORMAT_R32G32B32A32_FLOAT + DXGI_FORMAT_R32G32B32A32_FLOAT +
+ + +

A four-component, 128-bit unsigned-integer format that supports 32 bits per channel including alpha. 1

+
+ + bb173059 + DXGI_FORMAT_R32G32B32A32_UINT + DXGI_FORMAT_R32G32B32A32_UINT +
+ + +

A four-component, 128-bit signed-integer format that supports 32 bits per channel including alpha. 1

+
+ + bb173059 + DXGI_FORMAT_R32G32B32A32_SINT + DXGI_FORMAT_R32G32B32A32_SINT +
+ + +

A three-component, 96-bit typeless format that supports 32 bits per color channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32B32_TYPELESS + DXGI_FORMAT_R32G32B32_TYPELESS +
+ + +

A three-component, 96-bit floating-point format that supports 32 bits per color channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32B32_FLOAT + DXGI_FORMAT_R32G32B32_FLOAT +
+ + +

A three-component, 96-bit unsigned-integer format that supports 32 bits per color channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32B32_UINT + DXGI_FORMAT_R32G32B32_UINT +
+ + +

A three-component, 96-bit signed-integer format that supports 32 bits per color channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32B32_SINT + DXGI_FORMAT_R32G32B32_SINT +
+ + +

A four-component, 64-bit typeless format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_TYPELESS + DXGI_FORMAT_R16G16B16A16_TYPELESS +
+ + +

A four-component, 64-bit floating-point format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_FLOAT + DXGI_FORMAT_R16G16B16A16_FLOAT +
+ + +

A four-component, 64-bit unsigned-normalized-integer format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_UNORM + DXGI_FORMAT_R16G16B16A16_UNORM +
+ + +

A four-component, 64-bit unsigned-integer format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_UINT + DXGI_FORMAT_R16G16B16A16_UINT +
+ + +

A four-component, 64-bit signed-normalized-integer format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_SNORM + DXGI_FORMAT_R16G16B16A16_SNORM +
+ + +

A four-component, 64-bit signed-integer format that supports 16 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R16G16B16A16_SINT + DXGI_FORMAT_R16G16B16A16_SINT +
+ + +

A two-component, 64-bit typeless format that supports 32 bits for the red channel and 32 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32_TYPELESS + DXGI_FORMAT_R32G32_TYPELESS +
+ + +

A two-component, 64-bit floating-point format that supports 32 bits for the red channel and 32 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32_FLOAT + DXGI_FORMAT_R32G32_FLOAT +
+ + +

A two-component, 64-bit unsigned-integer format that supports 32 bits for the red channel and 32 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32_UINT + DXGI_FORMAT_R32G32_UINT +
+ + +

A two-component, 64-bit signed-integer format that supports 32 bits for the red channel and 32 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R32G32_SINT + DXGI_FORMAT_R32G32_SINT +
+ + +

A two-component, 64-bit typeless format that supports 32 bits for the red channel, 8 bits for the green channel, and 24 bits are unused.

+
+ + bb173059 + DXGI_FORMAT_R32G8X24_TYPELESS + DXGI_FORMAT_R32G8X24_TYPELESS +
+ + +

A 32-bit floating-point component, and two unsigned-integer components (with an additional 32 bits). This format supports 32-bit depth, 8-bit stencil, and 24 bits are unused.

+
+ + bb173059 + DXGI_FORMAT_D32_FLOAT_S8X24_UINT + DXGI_FORMAT_D32_FLOAT_S8X24_UINT +
+ + +

A 32-bit floating-point component, and two typeless components (with an additional 32 bits). This format supports 32-bit red channel, 8 bits are unused, and 24 bits are unused.

+
+ + bb173059 + DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS + DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS +
+ + +

A 32-bit typeless component, and two unsigned-integer components (with an additional 32 bits). This format has 32 bits unused, 8 bits for green channel, and 24 bits are unused.

+
+ + bb173059 + DXGI_FORMAT_X32_TYPELESS_G8X24_UINT + DXGI_FORMAT_X32_TYPELESS_G8X24_UINT +
+ + +

A four-component, 32-bit typeless format that supports 10 bits for each color and 2 bits for alpha.

+
+ + bb173059 + DXGI_FORMAT_R10G10B10A2_TYPELESS + DXGI_FORMAT_R10G10B10A2_TYPELESS +
+ + +

A four-component, 32-bit unsigned-normalized-integer format that supports 10 bits for each color and 2 bits for alpha.

+
+ + bb173059 + DXGI_FORMAT_R10G10B10A2_UNORM + DXGI_FORMAT_R10G10B10A2_UNORM +
+ + +

A four-component, 32-bit unsigned-integer format that supports 10 bits for each color and 2 bits for alpha.

+
+ + bb173059 + DXGI_FORMAT_R10G10B10A2_UINT + DXGI_FORMAT_R10G10B10A2_UINT +
+ + +

Three partial-precision floating-point numbers encoded into a single 32-bit value (a variant of s10e5, which is sign bit, 10-bit mantissa, and 5-bit biased (15) exponent). There are no sign bits, and there is a 5-bit biased (15) exponent for each channel, 6-bit mantissa for R and G, and a 5-bit mantissa for B, as shown in the following illustration.

+
+ + bb173059 + DXGI_FORMAT_R11G11B10_FLOAT + DXGI_FORMAT_R11G11B10_FLOAT +
+ + +

A four-component, 32-bit typeless format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_TYPELESS + DXGI_FORMAT_R8G8B8A8_TYPELESS +
+ + +

A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_UNORM + DXGI_FORMAT_R8G8B8A8_UNORM +
+ + +

A four-component, 32-bit unsigned-normalized integer sRGB format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_UNORM_SRGB + DXGI_FORMAT_R8G8B8A8_UNORM_SRGB +
+ + +

A four-component, 32-bit unsigned-integer format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_UINT + DXGI_FORMAT_R8G8B8A8_UINT +
+ + +

A four-component, 32-bit signed-normalized-integer format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_SNORM + DXGI_FORMAT_R8G8B8A8_SNORM +
+ + +

A four-component, 32-bit signed-integer format that supports 8 bits per channel including alpha.

+
+ + bb173059 + DXGI_FORMAT_R8G8B8A8_SINT + DXGI_FORMAT_R8G8B8A8_SINT +
+ + +

A two-component, 32-bit typeless format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_TYPELESS + DXGI_FORMAT_R16G16_TYPELESS +
+ + +

A two-component, 32-bit floating-point format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_FLOAT + DXGI_FORMAT_R16G16_FLOAT +
+ + +

A two-component, 32-bit unsigned-normalized-integer format that supports 16 bits each for the green and red channels.

+
+ + bb173059 + DXGI_FORMAT_R16G16_UNORM + DXGI_FORMAT_R16G16_UNORM +
+ + +

A two-component, 32-bit unsigned-integer format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_UINT + DXGI_FORMAT_R16G16_UINT +
+ + +

A two-component, 32-bit signed-normalized-integer format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_SNORM + DXGI_FORMAT_R16G16_SNORM +
+ + +

A two-component, 32-bit signed-integer format that supports 16 bits for the red channel and 16 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R16G16_SINT + DXGI_FORMAT_R16G16_SINT +
+ + +

A single-component, 32-bit typeless format that supports 32 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R32_TYPELESS + DXGI_FORMAT_R32_TYPELESS +
+ + +

A single-component, 32-bit floating-point format that supports 32 bits for depth.

+
+ + bb173059 + DXGI_FORMAT_D32_FLOAT + DXGI_FORMAT_D32_FLOAT +
+ + +

A single-component, 32-bit floating-point format that supports 32 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R32_FLOAT + DXGI_FORMAT_R32_FLOAT +
+ + +

A single-component, 32-bit unsigned-integer format that supports 32 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R32_UINT + DXGI_FORMAT_R32_UINT +
+ + +

A single-component, 32-bit signed-integer format that supports 32 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R32_SINT + DXGI_FORMAT_R32_SINT +
+ + +

A two-component, 32-bit typeless format that supports 24 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R24G8_TYPELESS + DXGI_FORMAT_R24G8_TYPELESS +
+ + +

A 32-bit z-buffer format that supports 24 bits for depth and 8 bits for stencil.

+
+ + bb173059 + DXGI_FORMAT_D24_UNORM_S8_UINT + DXGI_FORMAT_D24_UNORM_S8_UINT +
+ + +

A 32-bit format, that contains a 24 bit, single-component, unsigned-normalized integer, with an additional typeless 8 bits. This format has 24 bits red channel and 8 bits unused.

+
+ + bb173059 + DXGI_FORMAT_R24_UNORM_X8_TYPELESS + DXGI_FORMAT_R24_UNORM_X8_TYPELESS +
+ + +

A 32-bit format, that contains a 24 bit, single-component, typeless format, with an additional 8 bit unsigned integer component. This format has 24 bits unused and 8 bits green channel.

+
+ + bb173059 + DXGI_FORMAT_X24_TYPELESS_G8_UINT + DXGI_FORMAT_X24_TYPELESS_G8_UINT +
+ + +

A two-component, 16-bit typeless format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_TYPELESS + DXGI_FORMAT_R8G8_TYPELESS +
+ + +

A two-component, 16-bit unsigned-normalized-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_UNORM + DXGI_FORMAT_R8G8_UNORM +
+ + +

A two-component, 16-bit unsigned-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_UINT + DXGI_FORMAT_R8G8_UINT +
+ + +

A two-component, 16-bit signed-normalized-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_SNORM + DXGI_FORMAT_R8G8_SNORM +
+ + +

A two-component, 16-bit signed-integer format that supports 8 bits for the red channel and 8 bits for the green channel.

+
+ + bb173059 + DXGI_FORMAT_R8G8_SINT + DXGI_FORMAT_R8G8_SINT +
+ + +

A single-component, 16-bit typeless format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_TYPELESS + DXGI_FORMAT_R16_TYPELESS +
+ + +

A single-component, 16-bit floating-point format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_FLOAT + DXGI_FORMAT_R16_FLOAT +
+ + +

A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for depth.

+
+ + bb173059 + DXGI_FORMAT_D16_UNORM + DXGI_FORMAT_D16_UNORM +
+ + +

A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_UNORM + DXGI_FORMAT_R16_UNORM +
+ + +

A single-component, 16-bit unsigned-integer format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_UINT + DXGI_FORMAT_R16_UINT +
+ + +

A single-component, 16-bit signed-normalized-integer format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_SNORM + DXGI_FORMAT_R16_SNORM +
+ + +

A single-component, 16-bit signed-integer format that supports 16 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R16_SINT + DXGI_FORMAT_R16_SINT +
+ + +

A single-component, 8-bit typeless format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_TYPELESS + DXGI_FORMAT_R8_TYPELESS +
+ + +

A single-component, 8-bit unsigned-normalized-integer format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_UNORM + DXGI_FORMAT_R8_UNORM +
+ + +

A single-component, 8-bit unsigned-integer format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_UINT + DXGI_FORMAT_R8_UINT +
+ + +

A single-component, 8-bit signed-normalized-integer format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_SNORM + DXGI_FORMAT_R8_SNORM +
+ + +

A single-component, 8-bit signed-integer format that supports 8 bits for the red channel.

+
+ + bb173059 + DXGI_FORMAT_R8_SINT + DXGI_FORMAT_R8_SINT +
+ + +

A single-component, 8-bit unsigned-normalized-integer format for alpha only.

+
+ + bb173059 + DXGI_FORMAT_A8_UNORM + DXGI_FORMAT_A8_UNORM +
+ + +

A single-component, 1-bit unsigned-normalized integer format that supports 1 bit for the red channel. 2.

+
+ + bb173059 + DXGI_FORMAT_R1_UNORM + DXGI_FORMAT_R1_UNORM +
+ + +

Three partial-precision floating-point numbers encoded into a single 32-bit value all sharing the same 5-bit exponent (variant of s10e5, which is sign bit, 10-bit mantissa, and 5-bit biased (15) exponent). There is no sign bit, and there is a shared 5-bit biased (15) exponent and a 9-bit mantissa for each channel, as shown in the following illustration. 2.

+
+ + bb173059 + DXGI_FORMAT_R9G9B9E5_SHAREDEXP + DXGI_FORMAT_R9G9B9E5_SHAREDEXP +
+ + +

A four-component, 32-bit unsigned-normalized-integer format. This packed RGB format is analogous to the UYVY format. Each 32-bit block describes a pair of pixels: (R8, G8, B8) and (R8, G8, B8) where the R8/B8 values are repeated, and the G8 values are unique to each pixel. 3

+
+ + bb173059 + DXGI_FORMAT_R8G8_B8G8_UNORM + DXGI_FORMAT_R8G8_B8G8_UNORM +
+ + +

A four-component, 32-bit unsigned-normalized-integer format. This packed RGB format is analogous to the YUY2 format. Each 32-bit block describes a pair of pixels: (R8, G8, B8) and (R8, G8, B8) where the R8/B8 values are repeated, and the G8 values are unique to each pixel. 3

+
+ + bb173059 + DXGI_FORMAT_G8R8_G8B8_UNORM + DXGI_FORMAT_G8R8_G8B8_UNORM +
+ + +

Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC1_TYPELESS + DXGI_FORMAT_BC1_TYPELESS +
+ + +

Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC1_UNORM + DXGI_FORMAT_BC1_UNORM +
+ + +

Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC1_UNORM_SRGB + DXGI_FORMAT_BC1_UNORM_SRGB +
+ + +

Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC2_TYPELESS + DXGI_FORMAT_BC2_TYPELESS +
+ + +

Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC2_UNORM + DXGI_FORMAT_BC2_UNORM +
+ + +

Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC2_UNORM_SRGB + DXGI_FORMAT_BC2_UNORM_SRGB +
+ + +

Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC3_TYPELESS + DXGI_FORMAT_BC3_TYPELESS +
+ + +

Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC3_UNORM + DXGI_FORMAT_BC3_UNORM +
+ + +

Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC3_UNORM_SRGB + DXGI_FORMAT_BC3_UNORM_SRGB +
+ + +

One-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC4_TYPELESS + DXGI_FORMAT_BC4_TYPELESS +
+ + +

One-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC4_UNORM + DXGI_FORMAT_BC4_UNORM +
+ + +

One-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC4_SNORM + DXGI_FORMAT_BC4_SNORM +
+ + +

Two-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC5_TYPELESS + DXGI_FORMAT_BC5_TYPELESS +
+ + +

Two-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC5_UNORM + DXGI_FORMAT_BC5_UNORM +
+ + +

Two-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC5_SNORM + DXGI_FORMAT_BC5_SNORM +
+ + +

A three-component, 16-bit unsigned-normalized-integer format that supports 5 bits for blue, 6 bits for green, and 5 bits for red.

+
+ + bb173059 + DXGI_FORMAT_B5G6R5_UNORM + DXGI_FORMAT_B5G6R5_UNORM +
+ + +

A four-component, 16-bit unsigned-normalized-integer format that supports 5 bits for each color channel and 1-bit alpha.

+
+ + bb173059 + DXGI_FORMAT_B5G5R5A1_UNORM + DXGI_FORMAT_B5G5R5A1_UNORM +
+ + +

A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8-bit alpha.

+
+ + bb173059 + DXGI_FORMAT_B8G8R8A8_UNORM + DXGI_FORMAT_B8G8R8A8_UNORM +
+ + +

A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8 bits unused.

+
+ + bb173059 + DXGI_FORMAT_B8G8R8X8_UNORM + DXGI_FORMAT_B8G8R8X8_UNORM +
+ + +

A four-component, 32-bit 2.8-biased fixed-point format that supports 10 bits for each color channel and 2-bit alpha.

+
+ + bb173059 + DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM + DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM +
+ + +

A four-component, 32-bit typeless format that supports 8 bits for each channel including alpha. 4

+
+ + bb173059 + DXGI_FORMAT_B8G8R8A8_TYPELESS + DXGI_FORMAT_B8G8R8A8_TYPELESS +
+ + +

A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each channel including alpha. 4

+
+ + bb173059 + DXGI_FORMAT_B8G8R8A8_UNORM_SRGB + DXGI_FORMAT_B8G8R8A8_UNORM_SRGB +
+ + +

A four-component, 32-bit typeless format that supports 8 bits for each color channel, and 8 bits are unused. 4

+
+ + bb173059 + DXGI_FORMAT_B8G8R8X8_TYPELESS + DXGI_FORMAT_B8G8R8X8_TYPELESS +
+ + +

A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each color channel, and 8 bits are unused. 4

+
+ + bb173059 + DXGI_FORMAT_B8G8R8X8_UNORM_SRGB + DXGI_FORMAT_B8G8R8X8_UNORM_SRGB +
+ + +

A typeless block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC6H_TYPELESS + DXGI_FORMAT_BC6H_TYPELESS +
+ + +

A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC6H_UF16 + DXGI_FORMAT_BC6H_UF16 +
+ + +

A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC6H_SF16 + DXGI_FORMAT_BC6H_SF16 +
+ + +

A typeless block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC7_TYPELESS + DXGI_FORMAT_BC7_TYPELESS +
+ + +

A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC7_UNORM + DXGI_FORMAT_BC7_UNORM +
+ + +

A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.

+
+ + bb173059 + DXGI_FORMAT_BC7_UNORM_SRGB + DXGI_FORMAT_BC7_UNORM_SRGB +
+ + +

Most common YUV 4:4:4 video resource format. Valid view formats for this video resource format are and . For UAVs, an additional valid view format is . By using for UAVs, you can both read and write as opposed to just write for and . Supported view types are SRV, RTV, and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is V->R8, + U->G8, + Y->B8, + and A->A8.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_AYUV + DXGI_FORMAT_AYUV +
+ + +

10-bit per channel packed YUV 4:4:4 video resource format. Valid view formats for this video resource format are and . For UAVs, an additional valid view format is . By using for UAVs, you can both read and write as opposed to just write for and . Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is U->R10, + Y->G10, + V->B10, + and A->A2.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_Y410 + DXGI_FORMAT_Y410 +
+ + +

16-bit per channel packed YUV 4:4:4 video resource format. Valid view formats for this video resource format are and . Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is U->R16, + Y->G16, + V->B16, + and A->A16.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_Y416 + DXGI_FORMAT_Y416 +
+ + +

Most common YUV 4:2:0 video resource format. Valid luminance data view formats for this video resource format are and . Valid chrominance data view formats (width and height are each 1/2 of luminance view) for this video resource format are and . Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y->R8. For chrominance data view, the mapping to the view channel is U->R8 and + V->G8.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_NV12 + DXGI_FORMAT_NV12 +
+ + +

10-bit per channel planar YUV 4:2:0 video resource format. Valid luminance data view formats for this video resource format are and . The runtime does not enforce whether the lowest 6 bits are 0 (given that this video resource format is a 10-bit format that uses 16 bits). If required, application shader code would have to enforce this manually. From the runtime's point of view, is no different than . Valid chrominance data view formats (width and height are each 1/2 of luminance view) for this video resource format are and . For UAVs, an additional valid chrominance data view format is . By using for UAVs, you can both read and write as opposed to just write for and . Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y->R16. For chrominance data view, the mapping to the view channel is U->R16 and + V->G16.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_P010 + DXGI_FORMAT_P010 +
+ + +

16-bit per channel planar YUV 4:2:0 video resource format. Valid luminance data view formats for this video resource format are and . Valid chrominance data view formats (width and height are each 1/2 of luminance view) for this video resource format are and . For UAVs, an additional valid chrominance data view format is . By using for UAVs, you can both read and write as opposed to just write for and . Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y->R16. For chrominance data view, the mapping to the view channel is U->R16 and + V->G16.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_P016 + DXGI_FORMAT_P016 +
+ + +

8-bit per channel planar YUV 4:2:0 video resource format. This format is subsampled where each pixel has its own Y value, but each 2x2 pixel block shares a single U and V value. The runtime requires that the width and height of all resources that are created with this format are multiples of 2. The runtime also requires that the left, right, top, and bottom members of any that are used for this format are multiples of 2. This format differs from in that the layout of the data within the resource is completely opaque to applications. Applications cannot use the CPU to map the resource and then access the data within the resource. You cannot use shaders with this format. Because of this behavior, legacy hardware that supports a non-NV12 4:2:0 layout (for example, YV12, and so on) can be used. Also, new hardware that has a 4:2:0 implementation better than NV12 can be used when the application does not need the data to be in a standard layout.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_420_OPAQUE + DXGI_FORMAT_420_OPAQUE +
+ + +

Most common YUV 4:2:2 video resource format. Valid view formats for this video resource format are and . For UAVs, an additional valid view format is . By using for UAVs, you can both read and write as opposed to just write for and . Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is Y0->R8, + U0->G8, + Y1->B8, + and V0->A8.

A unique valid view format for this video resource format is . With this view format, the width of the view appears to be twice what the or view would be when hardware reconstructs RGBA automatically on read and before filtering. This Direct3D hardware behavior is legacy and is likely not useful any more. With this view format, the mapping to the view channel is Y0->R8, + U0-> + G8[0], + Y1->B8, + and V0-> + G8[1].

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_YUY2 + DXGI_FORMAT_YUY2 +
+ + +

10-bit per channel packed YUV 4:2:2 video resource format. Valid view formats for this video resource format are and . The runtime does not enforce whether the lowest 6 bits are 0 (given that this video resource format is a 10-bit format that uses 16 bits). If required, application shader code would have to enforce this manually. From the runtime's point of view, is no different than . Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is Y0->R16, + U->G16, + Y1->B16, + and V->A16.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_Y210 + DXGI_FORMAT_Y210 +
+ + +

16-bit per channel packed YUV 4:2:2 video resource format. Valid view formats for this video resource format are and . Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is Y0->R16, + U->G16, + Y1->B16, + and V->A16.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_Y216 + DXGI_FORMAT_Y216 +
+ + +

Most common planar YUV 4:1:1 video resource format. Valid luminance data view formats for this video resource format are and . Valid chrominance data view formats (width and height are each 1/4 of luminance view) for this video resource format are and . Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y->R8. For chrominance data view, the mapping to the view channel is U->R8 and + V->G8.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_NV11 + DXGI_FORMAT_NV11 +
+ + +

4-bit palletized YUV format that is commonly used for DVD subpicture.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_AI44 + DXGI_FORMAT_AI44 +
+ + +

4-bit palletized YUV format that is commonly used for DVD subpicture.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_IA44 + DXGI_FORMAT_IA44 +
+ + +

8-bit palletized format that is used for palletized RGB data when the processor processes ISDB-T data and for palletized YUV data when the processor processes BluRay data.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_P8 + DXGI_FORMAT_P8 +
+ + +

8-bit palletized format with 8 bits of alpha that is used for palletized YUV data when the processor processes BluRay data.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_A8P8 + DXGI_FORMAT_A8P8 +
+ + +

A four-component, 16-bit unsigned-normalized integer format that supports 4 bits for each channel including alpha.

Direct3D 11:??This value is not supported until Windows Developer Preview.
+
+ + bb173059 + DXGI_FORMAT_B4G4R4A4_UNORM + DXGI_FORMAT_B4G4R4A4_UNORM +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Identifies the granularity at which the graphics processing unit (GPU) can be preempted from performing its current graphics rendering task.

+
+ +

You call the method to retrieve the granularity level at which the GPU can be preempted from performing its current graphics rendering task. The operating system specifies the graphics granularity level in the GraphicsPreemptionGranularity member of the structure.

The following figure shows granularity of graphics rendering tasks.

+
+ + hh404504 + DXGI_GRAPHICS_PREEMPTION_GRANULARITY + DXGI_GRAPHICS_PREEMPTION_GRANULARITY +
+ + +

Indicates the preemption granularity as a DMA buffer.

+
+ + hh404504 + DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY + DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY +
+ + +

Indicates the preemption granularity as a graphics primitive. A primitive is a section in a DMA buffer and can be a group of triangles.

+
+ + hh404504 + DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY + DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY +
+ + +

Indicates the preemption granularity as a triangle. A triangle is a part of a primitive.

+
+ + hh404504 + DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY + DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY +
+ + +

Indicates the preemption granularity as a pixel. A pixel is a part of a triangle.

+
+ + hh404504 + DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY + DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY +
+ + +

Indicates the preemption granularity as a graphics instruction. A graphics instruction operates on a pixel.

+
+ + hh404504 + DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY + DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY +
+ + + No documentation. + + + DXGI_MAP_FLAGS + DXGI_MAP_FLAGS + + + + No documentation. + + + DXGI_MAP_READ + DXGI_MAP_READ + + + + No documentation. + + + DXGI_MAP_WRITE + DXGI_MAP_WRITE + + + + No documentation. + + + DXGI_MAP_DISCARD + DXGI_MAP_DISCARD + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Identifies the importance of a resource?s content when you call the method to offer the resource.

+
+ +

Priority determines how likely the operating system is to discard an offered resource. Resources offered with lower priority are discarded first.

+
+ + hh404509 + DXGI_OFFER_RESOURCE_PRIORITY + DXGI_OFFER_RESOURCE_PRIORITY +
+ + + No documentation. + + + DXGI_OFFER_RESOURCE_PRIORITY_LOW + DXGI_OFFER_RESOURCE_PRIORITY_LOW + + + + No documentation. + + + DXGI_OFFER_RESOURCE_PRIORITY_NORMAL + DXGI_OFFER_RESOURCE_PRIORITY_NORMAL + + + + No documentation. + + + DXGI_OFFER_RESOURCE_PRIORITY_HIGH + DXGI_OFFER_RESOURCE_PRIORITY_HIGH + + + + No documentation. + + + DXGI_PRESENT_FLAGS + DXGI_PRESENT_FLAGS + + + + No documentation. + + + DXGI_PRESENT_TEST + DXGI_PRESENT_TEST + + + + No documentation. + + + DXGI_PRESENT_DO_NOT_SEQUENCE + DXGI_PRESENT_DO_NOT_SEQUENCE + + + + No documentation. + + + DXGI_PRESENT_RESTART + DXGI_PRESENT_RESTART + + + + No documentation. + + + DXGI_PRESENT_DO_NOT_WAIT + DXGI_PRESENT_DO_NOT_WAIT + + + + No documentation. + + + DXGI_PRESENT_STEREO_PREFER_RIGHT + DXGI_PRESENT_STEREO_PREFER_RIGHT + + + + No documentation. + + + DXGI_PRESENT_STEREO_TEMPORARY_MONO + DXGI_PRESENT_STEREO_TEMPORARY_MONO + + + + No documentation. + + + DXGI_PRESENT_RESTRICT_TO_OUTPUT + DXGI_PRESENT_RESTRICT_TO_OUTPUT + + + + None. + + + None + None + + + +

Flags indicating the memory location of a resource.

+
+ + bb173070 + DXGI_RESIDENCY + DXGI_RESIDENCY +
+ + +

The resource is located in video memory.

+
+ + bb173070 + DXGI_RESIDENCY_FULLY_RESIDENT + DXGI_RESIDENCY_FULLY_RESIDENT +
+ + +

At least some of the resource is located in CPU memory.

+
+ + bb173070 + DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY + DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY +
+ + +

At least some of the resource has been paged out to the hard drive.

+
+ + bb173070 + DXGI_RESIDENCY_EVICTED_TO_DISK + DXGI_RESIDENCY_EVICTED_TO_DISK +
+ + + No documentation. + + + DXGI_RESOURCE_PRIORITY + DXGI_RESOURCE_PRIORITY + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_MINIMUM + DXGI_RESOURCE_PRIORITY_MINIMUM + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_LOW + DXGI_RESOURCE_PRIORITY_LOW + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_NORMAL + DXGI_RESOURCE_PRIORITY_NORMAL + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_HIGH + DXGI_RESOURCE_PRIORITY_HIGH + + + + No documentation. + + + DXGI_RESOURCE_PRIORITY_MAXIMUM + DXGI_RESOURCE_PRIORITY_MAXIMUM + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Identifies resize behavior when the back-buffer size does not match the size of the target output.

+
+ +

The value is supported only for flip presentation model swap chains that you create with the value. You pass these values in a call to , , or .

+
+ + hh404526 + DXGI_SCALING + DXGI_SCALING +
+ + +

Directs DXGI to make the back-buffer contents scale to fit the presentation target size. This is the implicit behavior of DXGI when you call the method.

+
+ + hh404526 + DXGI_SCALING_STRETCH + DXGI_SCALING_STRETCH +
+ + +

Directs DXGI to make the back-buffer contents appear without any scaling when the presentation target size is not equal to the back-buffer size. The top edges of the back buffer and presentation target are aligned together. If the WS_EX_LAYOUTRTL style is associated with the handle to the target output window, the right edges of the back buffer and presentation target are aligned together; otherwise, the left edges are aligned together. All target area outside the back buffer is filled with window background color.

This value specifies that all target areas outside the back buffer of a swap chain are filled with the background color that you specify in a call to .

+
+ + hh404526 + DXGI_SCALING_NONE + DXGI_SCALING_NONE +
+ + + No documentation. + + + DXGI_SHARED_RESOURCE_FLAGS + DXGI_SHARED_RESOURCE_FLAGS + + + + No documentation. + + + DXGI_SHARED_RESOURCE_READ + DXGI_SHARED_RESOURCE_READ + + + + No documentation. + + + DXGI_SHARED_RESOURCE_WRITE + DXGI_SHARED_RESOURCE_WRITE + + + + None. + + + None + None + + + +

Options for swap-chain behavior.

+
+ +

This enumeration is used by the structure and the method.

This enumeration is also used by the structure.

Swap chains that you create in full-screen mode with the method behave as if is set even though the flag is not set. That is, presented content is not accessible by remote access or through the desktop duplication APIs.

Swap chains that you create with the , IDXGIFactory2::CreateSwapChainForImmersiveWindow, and IDXGIFactory2::CreateSwapChainForCompositionSurface methods are not protected if is not set and are protected if is set. When swap chains are protected, screen scraping is prevented and, in full-screen mode, presented content is not accessible through the desktop duplication APIs.

+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG + DXGI_SWAP_CHAIN_FLAG +
+ + +

Set this flag to turn off automatic image rotation; that is, do not perform a rotation when transferring the contents of the front buffer to the monitor. Use this flag to avoid a bandwidth penalty when an application expects to handle rotation. This option is valid only during full-screen mode.

+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG_NONPREROTATED + DXGI_SWAP_CHAIN_FLAG_NONPREROTATED +
+ + +

Set this flag to enable an application to switch modes by calling . When switching from windowed to full-screen mode, the display mode (or monitor resolution) will be changed to match the dimensions of the application window.

+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH + DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH +
+ + +

Set this flag to enable an application to render using GDI on a swap chain or a surface. This will allow the application to call on the 0th back buffer or a surface.

+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE + DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE +
+ + +

Set this flag to indicate that the swap chain might contain protected content; therefore, the operating system supports the creation of the swap chain only when driver and hardware protection is used. If the driver and hardware do not support content protection, the call to create a resource for the swap chain fails.

Direct3D 11:??This enumeration value is supported starting with Windows Developer Preview.
+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT + DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT +
+ + +

Set this flag to indicate that shared resources that are created within the swap chain must be protected by using the driver?s mechanism for restricting access to shared surfaces.

Direct3D 11:??This enumeration value is supported starting with Windows Developer Preview.
+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER + DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER +
+ + +

Set this flag to restrict presented content to the local displays. Therefore, the presented content is not accessible via remote accessing or through the desktop duplication APIs.

This flag supports the window content protection features of Windows. Applications can use this flag to protect their own onscreen window content from being captured or copied through a specific set of public operating system features and APIs.

If you use this flag with windowed ( or IWindow) swap chains where another process created the , the owner of the must use the SetWindowDisplayAffinity function appropriately in order to allow calls to or to succeed. +

Direct3D 11:??This enumeration value is supported starting with Windows Developer Preview.
+
+ + bb173076 + DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY + DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY +
+ + + None. + + + None + None + + + +

Options for handling pixels in a display surface after calling .

+
+ +

This enumeration is used by the structure.

This enumeration is also used by the structure.

The primary difference between presentation models is how back-buffer contents get to the Desktop Window Manager (DWM) for composition. In the bitblt model, which is used with the and values, contents of the back buffer get copied into the redirection surface on each call to . In the flip model, which is used with the value, all back buffers are shared with the DWM. Therefore, the DWM can compose straight from those back buffers without any additional copy operations. + In general, the flip model is the more efficient model. The flip model also provides more features, such as enhanced present statistics. +

Regardless of whether the flip model is more efficient, an application still might choose the bitblt model for the following reasons:

  • The bitblt model is the only way to mix GDI and DirectX presentation.

    In the flip model, the application must create the swap chain with , and then must use GetDC on the back buffer explicitly. After the first successful call to on a flip-model swap chain, GDI no longer works with the that is associated with that swap chain, even after the destruction of the swap chain. This restriction even extends to methods like ScrollWindowEx.

  • The flip model requires at least three window-sized buffers if the application uses child windows. For the bitblt model, this minimum is two buffers.

+
+ + bb173077 + DXGI_SWAP_EFFECT + DXGI_SWAP_EFFECT +
+ + + No documentation. + + + DXGI_SWAP_EFFECT_DISCARD + DXGI_SWAP_EFFECT_DISCARD + + + + No documentation. + + + DXGI_SWAP_EFFECT_SEQUENTIAL + DXGI_SWAP_EFFECT_SEQUENTIAL + + + + No documentation. + + + DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL + DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL + + + + No documentation. + + + DXGI_USAGE_ENUM + DXGI_USAGE_ENUM + + + + No documentation. + + + DXGI_USAGE_SHADER_INPUT + DXGI_USAGE_SHADER_INPUT + + + + No documentation. + + + DXGI_USAGE_RENDER_TARGET_OUTPUT + DXGI_USAGE_RENDER_TARGET_OUTPUT + + + + No documentation. + + + DXGI_USAGE_BACK_BUFFER + DXGI_USAGE_BACK_BUFFER + + + + No documentation. + + + DXGI_USAGE_SHARED + DXGI_USAGE_SHARED + + + + No documentation. + + + DXGI_USAGE_READ_ONLY + DXGI_USAGE_READ_ONLY + + + + No documentation. + + + DXGI_USAGE_DISCARD_ON_PRESENT + DXGI_USAGE_DISCARD_ON_PRESENT + + + + No documentation. + + + DXGI_USAGE_UNORDERED_ACCESS + DXGI_USAGE_UNORDERED_ACCESS + + + + No documentation. + + + DXGI_MWA_FLAGS + DXGI_MWA_FLAGS + + + + No documentation. + + + DXGI_MWA_NO_WINDOW_CHANGES + DXGI_MWA_NO_WINDOW_CHANGES + + + + No documentation. + + + DXGI_MWA_NO_ALT_ENTER + DXGI_MWA_NO_ALT_ENTER + + + + No documentation. + + + DXGI_MWA_NO_PRINT_SCREEN + DXGI_MWA_NO_PRINT_SCREEN + + + + No documentation. + + + DXGI_MWA_VALID + DXGI_MWA_VALID + + + + None. + + + None + None + + + + Functions + + + + + +

Creates a DXGI 1.1 factory that generates objects used to enumerate and specify video graphics settings.

+
+

The globally unique identifier () of the object referenced by the ppFactory parameter.

+

Address of a reference to an object.

+

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

+ +

Use a DXGI 1.1 factory to generate objects that enumerate adapters, create swap chains, and associate a window with the alt+enter key sequence for toggling to and from the full-screen display mode.

If the CreateDXGIFactory1 function succeeds, the reference count on the interface is incremented. To avoid a memory leak, when you finish using the interface, call the IDXGIFactory1::Release method to release the interface.

This entry point is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Note??Do not mix the use of DXGI 1.0 () and DXGI 1.1 () in an application. Use or , but not both in an application.

+
+ + ff471318 + HRESULT CreateDXGIFactory1([In] const GUID& riid,[Out] void** ppFactory) + CreateDXGIFactory1 +
+ + + Functions + + + + + Constant AccessLost. + DXGI_ERROR_ACCESS_LOST + + + Constant RemoteClientDisconnected. + DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED + + + Constant DeviceRemoved. + DXGI_ERROR_DEVICE_REMOVED + + + Constant CannotProtectContent. + DXGI_ERROR_CANNOT_PROTECT_CONTENT + + + Constant Nonexclusive. + DXGI_ERROR_NONEXCLUSIVE + + + Constant FrameStatisticsDisjoint. + DXGI_ERROR_FRAME_STATISTICS_DISJOINT + + + Constant DeviceHung. + DXGI_ERROR_DEVICE_HUNG + + + Constant RemoteOufOfMemory. + DXGI_ERROR_REMOTE_OUTOFMEMORY + + + Constant Unsupported. + DXGI_ERROR_UNSUPPORTED + + + Constant RestrictToOutputStale. + DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE + + + Constant NotFound. + DXGI_ERROR_NOT_FOUND + + + Constant DeviceReset. + DXGI_ERROR_DEVICE_RESET + + + Constant MoreData. + DXGI_ERROR_MORE_DATA + + + Constant SessionDisconnected. + DXGI_ERROR_SESSION_DISCONNECTED + + + Constant DriverInternalError. + DXGI_ERROR_DRIVER_INTERNAL_ERROR + + + Constant InvalidCall. + DXGI_ERROR_INVALID_CALL + + + Constant GraphicsVidpnSourceInUse. + DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE + + + Constant WasStillDrawing. + DXGI_ERROR_WAS_STILL_DRAWING + + + Constant WaitTimeout. + DXGI_ERROR_WAIT_TIMEOUT + + + Constant AccessDenied. + DXGI_ERROR_ACCESS_DENIED + + + Constant NotCurrentlyAvailable. + DXGI_ERROR_NOT_CURRENTLY_AVAILABLE + + + Constant NameAlreadyExists. + DXGI_ERROR_NAME_ALREADY_EXISTS + + + Constant ModeChangeInProgress. + DXGI_ERROR_MODE_CHANGE_IN_PROGRESS + + + +

The interface represents a display sub-system (including one or more GPU's, DACs and video memory).

+
+ +

This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

A display sub-system is often referred to as a video card, however, on some machines the display sub-system is part of the mother board.

To enumerate the display sub-systems, use . To get an interface to the adapter for a particular device, use . To create a software adapter, use .

+
+ + ff471329 + IDXGIAdapter1 + IDXGIAdapter1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets a DXGI 1.1 description of an adapter (or video card).

+
+

A reference to a structure that describes the adapter. This parameter must not be null.

+

Returns if successful; otherwise, returns E_INVALIDARG if the pDesc parameter is null.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Use the GetDesc1 method to get a DXGI 1.1 description of an adapter. To get a DXGI 1.0 description, use the method.

+
+ + ff471330 + HRESULT IDXGIAdapter1::GetDesc1([Out] DXGI_ADAPTER_DESC1* pDesc) + IDXGIAdapter1::GetDesc1 +
+ + +

Gets a DXGI 1.1 description of an adapter (or video card).

+
+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Use the GetDesc1 method to get a DXGI 1.1 description of an adapter. To get a DXGI 1.0 description, use the method.

+
+ + ff471330 + GetDesc1 + GetDesc1 + HRESULT IDXGIAdapter1::GetDesc1([Out] DXGI_ADAPTER_DESC1* pDesc) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets a Microsoft DirectX Graphics Infrastructure (DXGI) 1.2 description of an adapter or video card. This description includes information about the granularity at which the graphics processing unit (GPU) can be preempted from performing its current task.

+
+ +

Use the GetDesc2 method to get a DXGI 1.2 description of an adapter. To get a DXGI 1.1 description, use the method. To get a DXGI 1.0 description, use the method.

The Windows Display Driver Model (WDDM) scheduler can preempt the GPU's execution of application tasks. The granularity at which the GPU can be preempted from performing its current task in the WDDM 1.1 or earlier driver model is a direct memory access (DMA) buffer for graphics tasks or a compute packet for compute tasks. The GPU can switch between tasks only after it completes the currently executing unit of work, a DMA buffer or a compute packet.

A DMA buffer is the largest independent unit of graphics work that the WDDM scheduler can submit to the GPU. This buffer contains a set of GPU instructions that the WDDM driver and GPU use. A compute packet is the largest independent unit of compute work that the WDDM scheduler can submit to the GPU. A compute packet contains dispatches (for example, calls to the method), which contain thread groups. The WDDM 1.2 or later driver model allows the GPU to be preempted at finer granularity levels than a DMA buffer or compute packet. You can use the GetDesc2 method to retrieve the granularity levels for graphics and compute tasks.

+
+ + hh404540 + IDXGIAdapter2 + IDXGIAdapter2 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets a Microsoft DirectX Graphics Infrastructure (DXGI) 1.2 description of an adapter or video card. This description includes information about the granularity at which the graphics processing unit (GPU) can be preempted from performing its current task.

+
+

A reference to a structure that describes the adapter. This parameter must not be null.

+

Returns if successful; otherwise, returns E_INVALIDARG if the pDesc parameter is null.

+ +

Use the GetDesc2 method to get a DXGI 1.2 description of an adapter. To get a DXGI 1.1 description, use the method. To get a DXGI 1.0 description, use the method.

The Windows Display Driver Model (WDDM) scheduler can preempt the GPU's execution of application tasks. The granularity at which the GPU can be preempted from performing its current task in the WDDM 1.1 or earlier driver model is a direct memory access (DMA) buffer for graphics tasks or a compute packet for compute tasks. The GPU can switch between tasks only after it completes the currently executing unit of work, a DMA buffer or a compute packet.

A DMA buffer is the largest independent unit of graphics work that the WDDM scheduler can submit to the GPU. This buffer contains a set of GPU instructions that the WDDM driver and GPU use. A compute packet is the largest independent unit of compute work that the WDDM scheduler can submit to the GPU. A compute packet contains dispatches (for example, calls to the method), which contain thread groups. The WDDM 1.2 or later driver model allows the GPU to be preempted at finer granularity levels than a DMA buffer or compute packet. You can use the GetDesc2 method to retrieve the granularity levels for graphics and compute tasks.

+
+ + hh404540 + HRESULT IDXGIAdapter2::GetDesc2([Out] DXGI_ADAPTER_DESC2* pDesc) + IDXGIAdapter2::GetDesc2 +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets a Microsoft DirectX Graphics Infrastructure (DXGI) 1.2 description of an adapter or video card. This description includes information about the granularity at which the graphics processing unit (GPU) can be preempted from performing its current task.

+
+ +

Use the GetDesc2 method to get a DXGI 1.2 description of an adapter. To get a DXGI 1.1 description, use the method. To get a DXGI 1.0 description, use the method.

The Windows Display Driver Model (WDDM) scheduler can preempt the GPU's execution of application tasks. The granularity at which the GPU can be preempted from performing its current task in the WDDM 1.1 or earlier driver model is a direct memory access (DMA) buffer for graphics tasks or a compute packet for compute tasks. The GPU can switch between tasks only after it completes the currently executing unit of work, a DMA buffer or a compute packet.

A DMA buffer is the largest independent unit of graphics work that the WDDM scheduler can submit to the GPU. This buffer contains a set of GPU instructions that the WDDM driver and GPU use. A compute packet is the largest independent unit of compute work that the WDDM scheduler can submit to the GPU. A compute packet contains dispatches (for example, calls to the method), which contain thread groups. The WDDM 1.2 or later driver model allows the GPU to be preempted at finer granularity levels than a DMA buffer or compute packet. You can use the GetDesc2 method to retrieve the granularity levels for graphics and compute tasks.

+
+ + hh404540 + GetDesc2 + GetDesc2 + HRESULT IDXGIAdapter2::GetDesc2([Out] DXGI_ADAPTER_DESC2* pDesc) +
+ + +

An interface implements a derived class for DXGI objects that produce image data.

+
+ +

This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

The interface is designed for use by DXGI objects that need access to other DXGI objects. This interface is useful to applications that do not use Direct3D to communicate with DXGI.

+
+ + ff471331 + IDXGIDevice1 + IDXGIDevice1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the number of frames that the system is allowed to queue for rendering.

+
+

The maximum number of back buffer frames that a driver can queue. The value defaults to 3, but can range from 1 to 16. A value of 0 will reset latency to the default. For multi-head devices, this value is specified per-head.

+

Returns if successful; otherwise, if the device was removed.

+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.

+
+ + ff471334 + HRESULT IDXGIDevice1::SetMaximumFrameLatency([In] unsigned int MaxLatency) + IDXGIDevice1::SetMaximumFrameLatency +
+ + +

Gets the number of frames that the system is allowed to queue for rendering.

+
+

This value is set to the number of frames that can be queued for render. This value defaults to 3, but can range from 1 to 16.

+

Returns if successful; otherwise, returns one of the following members of the D3DERR enumerated type:

  • D3DERR_DEVICELOST
  • D3DERR_DEVICEREMOVED
  • D3DERR_DRIVERINTERNALERROR
  • D3DERR_INVALIDCALL
  • D3DERR_OUTOFVIDEOMEMORY
+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.

+
+ + ff471332 + HRESULT IDXGIDevice1::GetMaximumFrameLatency([Out] unsigned int* pMaxLatency) + IDXGIDevice1::GetMaximumFrameLatency +
+ + +

Gets or sets the number of frames that the system is allowed to queue for rendering.

+
+ +

This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).

Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.

+
+ + ff471332 + GetMaximumFrameLatency / SetMaximumFrameLatency + GetMaximumFrameLatency + HRESULT IDXGIDevice1::GetMaximumFrameLatency([Out] unsigned int* pMaxLatency) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Flushes any outstanding rendering commands and sets the specified event object to the signaled state after all previously submitted rendering commands complete.

+
+ +

EnqueueSetEvent calls the SetEvent function on the event object after all previously submitted rendering commands complete or the device is removed.

After an application calls EnqueueSetEvent, it can immediately call the WaitForSingleObject function to put itself to sleep until rendering commands complete.

You cannot use EnqueueSetEvent to determine work completion that is associated with presentation (); instead, we recommend that you use .

+
+ + hh404546 + IDXGIDevice2 + IDXGIDevice2 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Allows the operating system to free the video memory of resources by discarding their content.

+
+

The number of resources in the ppResources argument array.

+

An array of references to interfaces for the resources to offer.

+

A -typed value that indicates how valuable data is.

+

OfferResources returns:

  • if resources were successfully offered
  • E_INVALIDARG if a resource in the array or the priority is invalid
+ +

The priority value that the Priority parameter specifies describes how valuable the caller considers the content to be. The operating system uses the priority value to discard resources in order of priority. The operating system discards a resource that is offered with low priority before it discards a resource that is offered with a higher priority.

If you call OfferResources to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call OfferResources on a resource that is mapped. After you offer a resource, the resource cannot be mapped or bound to the pipeline until you call the IDXGIDevice2::ReclaimResource method to reclaim the resource. You cannot call OfferResources to offer immutable resources.

To offer shared resources, call OfferResources on only one of the sharing devices. To ensure exclusive access to the resources, you must use an object and then call OfferResources only while you hold the mutex.

+
+ + hh404549 + HRESULT IDXGIDevice2::OfferResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority) + IDXGIDevice2::OfferResources +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Allows the operating system to free the video memory of resources by discarding their content.

+
+

The number of resources in the ppResources argument array.

+

An array of references to interfaces for the resources to offer.

+

A -typed value that indicates how valuable data is.

+

OfferResources returns:

  • if resources were successfully offered
  • E_INVALIDARG if a resource in the array or the priority is invalid
+ +

The priority value that the Priority parameter specifies describes how valuable the caller considers the content to be. The operating system uses the priority value to discard resources in order of priority. The operating system discards a resource that is offered with low priority before it discards a resource that is offered with a higher priority.

If you call OfferResources to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call OfferResources on a resource that is mapped. After you offer a resource, the resource cannot be mapped or bound to the pipeline until you call the IDXGIDevice2::ReclaimResource method to reclaim the resource. You cannot call OfferResources to offer immutable resources.

To offer shared resources, call OfferResources on only one of the sharing devices. To ensure exclusive access to the resources, you must use an object and then call OfferResources only while you hold the mutex.

+
+ + hh404549 + HRESULT IDXGIDevice2::OfferResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority) + IDXGIDevice2::OfferResources +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Restores access to resources that were previously offered by calling .

+
+ No documentation. + No documentation. + No documentation. +

ReclaimResources returns:

  • if resources were successfully reclaimed
  • E_INVALIDARG if the resources are invalid
+ +

After you call to offer one or more resources, you must call ReclaimResources before you can use those resources again. You must check the values in the array at pDiscarded to determine whether each resource?s content was discarded. If a resource?s content was discarded while it was offered, its current content is undefined. Therefore, you must overwrite the resource?s content before you use the resource.

To reclaim shared resources, call ReclaimResources only on one of the sharing devices. To ensure exclusive access to the resources, you must use an object and then call ReclaimResources only while you hold the mutex.

+
+ + hh404551 + HRESULT IDXGIDevice2::ReclaimResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer, Optional] BOOL* pDiscarded) + IDXGIDevice2::ReclaimResources +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Restores access to resources that were previously offered by calling .

+
+ No documentation. + No documentation. + No documentation. +

ReclaimResources returns:

  • if resources were successfully reclaimed
  • E_INVALIDARG if the resources are invalid
+ +

After you call to offer one or more resources, you must call ReclaimResources before you can use those resources again. You must check the values in the array at pDiscarded to determine whether each resource?s content was discarded. If a resource?s content was discarded while it was offered, its current content is undefined. Therefore, you must overwrite the resource?s content before you use the resource.

To reclaim shared resources, call ReclaimResources only on one of the sharing devices. To ensure exclusive access to the resources, you must use an object and then call ReclaimResources only while you hold the mutex.

+
+ + hh404551 + HRESULT IDXGIDevice2::ReclaimResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer, Optional] BOOL* pDiscarded) + IDXGIDevice2::ReclaimResources +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Flushes any outstanding rendering commands and sets the specified event object to the signaled state after all previously submitted rendering commands complete.

+
+

A handle to the event object. The CreateEvent or OpenEvent function returns this handle. All types of event objects (manual-reset, auto-reset, and so on) are supported.

The handle must have the EVENT_MODIFY_STATE access right. For more information about access rights, see Synchronization Object Security and Access Rights.

+

Returns if successful; otherwise, returns one of the following values:

  • E_OUTOFMEMORY if insufficient memory is available to complete the operation.
  • E_INVALIDARG if the parameter was validated and determined to be incorrect.
+ +

EnqueueSetEvent calls the SetEvent function on the event object after all previously submitted rendering commands complete or the device is removed.

After an application calls EnqueueSetEvent, it can immediately call the WaitForSingleObject function to put itself to sleep until rendering commands complete.

You cannot use EnqueueSetEvent to determine work completion that is associated with presentation (); instead, we recommend that you use .

+
+ + hh404546 + HRESULT IDXGIDevice2::EnqueueSetEvent([In] void* hEvent) + IDXGIDevice2::EnqueueSetEvent +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a swap chain that is associated with an IWindow object for the output window for the swap chain.

+
+ +

Note??Use this method in Metro style apps rather than .

If you specify the width, height, or both (Width and Height members of that pDesc points to) of the swap chain as zero, the runtime obtains the size from the output window that the pWindow parameter specifies. You can subsequently call the method to retrieve the assigned width or height value.

Because you can associate only one flip presentation model swap chain at a time with an IWindow, the Microsoft Direct3D?11 policy of deferring the destruction of objects can cause problems if you attempt to destroy a flip presentation model swap chain and replace it with another swap chain. For more info about this situation, see Deferred Destruction Issues with Flip Presentation Swap Chains.

+
+ + hh404559 + IDXGIFactory2 + IDXGIFactory2 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Determines whether to use stereo mode.

+
+

Indicates whether to use stereo mode. TRUE indicates that you can use stereo mode; otherwise, .

+ +

We recommend that windowed applications call IsWindowedStereoEnabled before they attempt to use stereo. IsWindowedStereoEnabled returns TRUE if both of the following items are true:

  • All adapters in the computer have drivers that are capable of stereo. This only means that the driver is implemented to the Windows Display Driver Model (WDDM) for Windows?8 Consumer Preview (WDDM 1.2). However, the adapter does not necessarily have to be able to scan out stereo.
  • The current desktop mode (desktop modes are mono) and system policy and hardware are configured so that the Desktop Window Manager (DWM) performs stereo composition on at least one adapter output.

The creation of a windowed stereo swap chain succeeds if the first requirement is met. However, if the adapter can't scan out stereo, the output on that adapter is reduced to mono.

The Direct3D 11.1 Simple Stereo 3D Sample shows how to add a stereoscopic 3D effect and how to respond to system stereo changes.

+
+ + hh404561 + BOOL IDXGIFactory2::IsWindowedStereoEnabled() + IDXGIFactory2::IsWindowedStereoEnabled +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Creates a swap chain that is associated with an handle to the output window for the swap chain.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + +

Note??Do not use this method in Metro style apps. Instead, use .

If you specify the width, height, or both (Width and Height members of that pDesc points to) of the swap chain as zero, the runtime obtains the size from the output window that the hWnd parameter specifies. You can subsequently call the method to retrieve the assigned width or height value.

Because you can associate only one flip presentation model swap chain at a time with an , the Microsoft Direct3D?11 policy of deferring the destruction of objects can cause problems if you attempt to destroy a flip presentation model swap chain and replace it with another swap chain. For more info about this situation, see Deferred Destruction Issues with Flip Presentation Swap Chains.

+
+ + hh404557 + HRESULT IDXGIFactory2::CreateSwapChainForHwnd([In] IUnknown* pDevice,[In] HWND hWnd,[In] const DXGI_SWAP_CHAIN_DESC1* pDesc,[In, Optional] const DXGI_SWAP_CHAIN_FULLSCREEN_DESC* pFullscreenDesc,[In, Optional] IDXGIOutput* pRestrictToOutput,[Out] IDXGISwapChain1** ppSwapChain) + IDXGIFactory2::CreateSwapChainForHwnd +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a swap chain that is associated with an IWindow object for the output window for the swap chain.

+
+

A reference to the Direct3D device for the swap chain. This parameter cannot be null.

+

A reference to the IWindow object that is associated with the swap chain that CreateSwapChainForCoreWindow creates.

+

A reference to a structure for the swap-chain description. This parameter cannot be null.

+

A reference to the interface that the swap chain is restricted to. If the swap chain is moved to a different output, the content is black. You can optionally set this parameter to an output target that uses to restrict the content on this output. If you do not set this parameter to restrict content on an output target, you can set it to null.

+

A reference to a variable that receives a reference to the interface for the swap chain that CreateSwapChainForCoreWindow creates.

+ +

Note??Use this method in Metro style apps rather than .

If you specify the width, height, or both (Width and Height members of that pDesc points to) of the swap chain as zero, the runtime obtains the size from the output window that the pWindow parameter specifies. You can subsequently call the method to retrieve the assigned width or height value.

Because you can associate only one flip presentation model swap chain at a time with an IWindow, the Microsoft Direct3D?11 policy of deferring the destruction of objects can cause problems if you attempt to destroy a flip presentation model swap chain and replace it with another swap chain. For more info about this situation, see Deferred Destruction Issues with Flip Presentation Swap Chains.

+
+ + hh404559 + HRESULT IDXGIFactory2::CreateSwapChainForCoreWindow([In] IUnknown* pDevice,[In] IUnknown* pWindow,[In] const DXGI_SWAP_CHAIN_DESC1* pDesc,[In, Optional] IDXGIOutput* pRestrictToOutput,[Out] IDXGISwapChain1** ppSwapChain) + IDXGIFactory2::CreateSwapChainForCoreWindow +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Identifies the adapter on which a shared resource object was created.

+
+

A handle to a shared resource object. The method returns this handle.

+

A reference to a variable that receives a locally unique identifier () value that identifies the adapter. is defined in Dxgi.h. An is a 64-bit value that is guaranteed to be unique only on the operating system on which it was generated. The uniqueness of an is guaranteed only until the operating system is restarted.

+

GetSharedResourceAdapterLuid returns:

  • if it identified the adapter.
  • if hResource is invalid.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
+ +

You cannot share resources across adapters. Therefore, you cannot open a shared resource on an adapter other than the adapter on which the resource was created. Call GetSharedResourceAdapterLuid before you open a shared resource to ensure that the resource was created on the appropriate adapter. To open a shared resource, call the or method.

+
+ + hh404560 + HRESULT IDXGIFactory2::GetSharedResourceAdapterLuid([In] void* hResource,[Out] LUID* pLuid) + IDXGIFactory2::GetSharedResourceAdapterLuid +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Registers an application window to receive notification messages of changes of stereo status.

+
+

The handle of the window to send a notification message to when stereo status change occurs.

+

Identifies the notification message to send.

+

A reference to a key value that an application can pass to the method to unregister the notification message that wMsg specifies.

+

RegisterStereoStatusWindow returns:

  • if it successfully registered the window.
  • E_OUTOFMEMORY if memory is unavailable to complete the operation.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
+ + hh404587 + HRESULT IDXGIFactory2::RegisterStereoStatusWindow([In] HWND WindowHandle,[In] unsigned int wMsg,[Out] unsigned int* pdwCookie) + IDXGIFactory2::RegisterStereoStatusWindow +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Registers to receive notification of changes in stereo status by using event signaling.

+
+

A handle to the event object that the operating system sets when notification of stereo status change occurs. The CreateEvent or OpenEvent function returns this handle.

+

A reference to a key value that an application can pass to the method to unregister the notification event that hEvent specifies.

+

RegisterStereoStatusEvent returns:

  • if it successfully registered the event.
  • E_OUTOFMEMORY if memory is unavailable to complete the operation.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
+ + hh404584 + HRESULT IDXGIFactory2::RegisterStereoStatusEvent([In] void* hEvent,[Out] unsigned int* pdwCookie) + IDXGIFactory2::RegisterStereoStatusEvent +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Unregisters a window or an event to stop it from receiving notification when stereo status changes.

+
+

A key value for the window or event to unregister. The or method returns this value.

+ + hh404593 + void IDXGIFactory2::UnregisterStereoStatus([In] unsigned int dwCookie) + IDXGIFactory2::UnregisterStereoStatus +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Registers an application window to receive notification messages of changes of occlusion status.

+
+

The handle of the window to send a notification message to when occlusion status change occurs.

+

Identifies the notification message to send.

+

A reference to a key value that an application can pass to the method to unregister the notification message that wMsg specifies.

+

RegisterOcclusionStatusWindow returns:

  • if it successfully registered the window.
  • E_OUTOFMEMORY if memory is unavailable to complete the operation.
  • if WindowHandle is not a valid window handle or not the window handle that the current process owns.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
+ +

Apps choose the Windows message that Windows sends when occlusion status changes.

+
+ + hh404581 + HRESULT IDXGIFactory2::RegisterOcclusionStatusWindow([In] HWND WindowHandle,[In] unsigned int wMsg,[Out] unsigned int* pdwCookie) + IDXGIFactory2::RegisterOcclusionStatusWindow +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Registers to receive notification of changes in occlusion status by using event signaling.

+
+

A handle to the event object that the operating system sets when notification of occlusion status change occurs. The CreateEvent or OpenEvent function returns this handle.

+

A reference to a key value that an application can pass to the method to unregister the notification event that hEvent specifies.

+

RegisterOcclusionStatusEvent returns:

  • if the method successfully registered the event.
  • E_OUTOFMEMORY if memory is unavailable to complete the operation.
  • if hEvent is not a valid handle or not an event handle.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
+ +

If you call RegisterOcclusionStatusEvent multiple times with the same event handle, RegisterOcclusionStatusEvent fails with .

If you call RegisterOcclusionStatusEvent multiple times with the different event handles, RegisterOcclusionStatusEvent properly registers the events.

+
+ + hh404578 + HRESULT IDXGIFactory2::RegisterOcclusionStatusEvent([In] void* hEvent,[Out] unsigned int* pdwCookie) + IDXGIFactory2::RegisterOcclusionStatusEvent +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Unregisters a window or an event to stop it from receiving notification when occlusion status changes.

+
+

A key value for the window or event to unregister. The or method returns this value.

+ + hh404590 + void IDXGIFactory2::UnregisterOcclusionStatus([In] unsigned int dwCookie) + IDXGIFactory2::UnregisterOcclusionStatus +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

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.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + +

You can use composition swap chains with either DirectComposition?s IDCompositionVisual interface or XAML?s SwapChainBackgroundPanel class. For DirectComposition, you can call the IDCompositionVisual::SetContent method to set the swap chain as the content of a visual object, which then allows you to bind the swap chain to the visual tree. For XAML, the SwapChainBackgroundPanel class exposes a classic COM interface . You can use the method to bind to the XAML UI graph.

The , , , , and IDXGISwapChain::GetCoreWindow methods aren't valid on this type of swap chain. If you call any of these methods on this type of swap chain, they fail.

+
+ + hh404558 + HRESULT IDXGIFactory2::CreateSwapChainForComposition([In] IUnknown* pDevice,[In] const DXGI_SWAP_CHAIN_DESC1* pDesc,[In, Optional] IDXGIOutput* pRestrictToOutput,[Out] IDXGISwapChain1** ppSwapChain) + IDXGIFactory2::CreateSwapChainForComposition +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Determines whether to use stereo mode.

+
+ +

We recommend that windowed applications call IsWindowedStereoEnabled before they attempt to use stereo. IsWindowedStereoEnabled returns TRUE if both of the following items are true:

  • All adapters in the computer have drivers that are capable of stereo. This only means that the driver is implemented to the Windows Display Driver Model (WDDM) for Windows?8 Consumer Preview (WDDM 1.2). However, the adapter does not necessarily have to be able to scan out stereo.
  • The current desktop mode (desktop modes are mono) and system policy and hardware are configured so that the Desktop Window Manager (DWM) performs stereo composition on at least one adapter output.

The creation of a windowed stereo swap chain succeeds if the first requirement is met. However, if the adapter can't scan out stereo, the output on that adapter is reduced to mono.

The Direct3D 11.1 Simple Stereo 3D Sample shows how to add a stereoscopic 3D effect and how to respond to system stereo changes.

+
+ + hh404561 + IsWindowedStereoEnabled + IsWindowedStereoEnabled + BOOL IDXGIFactory2::IsWindowedStereoEnabled() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Provides interoperation between XAML and a DirectX swap chain.

+
+ +

This interface provides the native implementation of the Windows::UI::XAML::Control::SwapChainBackgroundPanel Windows Runtime type. To obtain a reference to , you must cast a SwapChainBackgroundPanel instance to IInspectable or , and call QueryInterface.

 Microsoft::WRL::ComPtr<>	m_swapChainNative;	
+            // ...	
+            IInspectable* panelInspectable = (IInspectable*) reinterpret_cast<IInspectable*>(swapChainPanel);	
+            panelInspectable->QueryInterface(__uuidof(), (void **)&m_swapChainNative); 
+
+ + hh848326 + ISwapChainBackgroundPanelNative + ISwapChainBackgroundPanelNative +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Sets the DirectX swap chain for SwapChainBackgroundPanel.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + hh848327 + HRESULT ISwapChainBackgroundPanelNative::SetSwapChain([In] IDXGISwapChain* pSwapChain) + ISwapChainBackgroundPanelNative::SetSwapChain +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Sets the DirectX swap chain for SwapChainBackgroundPanel.

+
+ + hh848327 + SetSwapChain + SetSwapChain + HRESULT ISwapChainBackgroundPanelNative::SetSwapChain([In] IDXGISwapChain* pSwapChain) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Provides an interface for the implementation of drawing behaviors when a VirtualSurfaceImageSource requests an update.

+
+ +

This interface is implemented by the developer to provide specific drawing behaviors for updates to a VirtualSurfaceImageSource. Classes that implement this interface are provided to the , which calls the UpdatesNeeded method implementation whenever an update is requested.

+
+ + hh848336 + IVirtualSurfaceUpdatesCallbackNative + IVirtualSurfaceUpdatesCallbackNative +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Performs the drawing behaviors when an update to VirtualSurfaceImageSource is requested.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method is implemented by the developer.

+
+ + hh848337 + HRESULT IVirtualSurfaceUpdatesCallbackNative::UpdatesNeeded() + IVirtualSurfaceUpdatesCallbackNative::UpdatesNeeded +
+ + +

Using a key, acquires exclusive rendering access to a shared resource.

+
+ +

The AcquireSync method creates a lock to a surface that is shared between multiple devices, allowing only one device to render to a surface at a time. This method uses a key to determine which device currently has exclusive access to the surface.

When a surface is created using the D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX value of the D3D10_RESOURCE_MISC_FLAG enumeration, you must call the AcquireSync method before rendering to the surface. You must call the ReleaseSync method when you are done rendering to a surface.

To acquire a reference to the keyed mutex object of a shared resource, call the QueryInterface method of the resource and pass in the UUID of the interface. For more information about acquiring this reference, see the following code example.

The AcquireSync method uses the key as follows, depending on the state of the surface:

  • On initial creation, the surface is unowned and any device can call the AcquireSync method to gain access. For an unowned device, only a key of 0 will succeed. Calling the AcquireSync method for any other key will stall the calling CPU thread.
  • If the surface is owned by a device when you call the AcquireSync method, the CPU thread that called the AcquireSync method will stall until the owning device calls the ReleaseSync method using the same Key.
  • If the surface is unowned when you call the AcquireSync method (for example, the last owning device has already called the ReleaseSync method), the AcquireSync method will succeed if you specify the same key that was specified when the ReleaseSync method was last called. Calling the AcquireSync method using any other key will cause a stall.
  • When the owning device calls the ReleaseSync method with a particular key, and more than one device is waiting after calling the AcquireSync method using the same key, any one of the waiting devices could be woken up first. The order in which devices are woken up is undefined.
  • A keyed mutex does not support recursive calls to the AcquireSync method.
+
+ + ff471339 + IDXGIKeyedMutex + IDXGIKeyedMutex +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Using a key, acquires exclusive rendering access to a shared resource.

+
+

A value that indicates which device to give access to. This method will succeed when the device that currently owns the surface calls the method using the same value. This value can be any UINT64 value.

+

The time-out interval, in milliseconds. This method will return if the interval elapses, and the keyed mutex has not been released using the specified Key. If this value is set to zero, the AcquireSync method will test to see if the keyed mutex has been released and returns immediately. If this value is set to INFINITE, the time-out interval will never elapse.

+

Return if successful.

If the owning device attempted to create another keyed mutex on the same shared resource, AcquireSync returns E_FAIL.

AcquireSync can also return the following DWORD constants. Therefore, you should explicitly check for these constants. If you only use the SUCCEEDED macro on the return value to determine if AcquireSync succeeded, you will not catch these constants.

  • WAIT_ABANDONED - The shared surface and keyed mutex are no longer in a consistent state. If AcquireSync returns this value, you should release and recreate both the keyed mutex and the shared surface.
  • WAIT_TIMEOUT - The time-out interval elapsed before the specified key was released.
+ +

The AcquireSync method creates a lock to a surface that is shared between multiple devices, allowing only one device to render to a surface at a time. This method uses a key to determine which device currently has exclusive access to the surface.

When a surface is created using the D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX value of the D3D10_RESOURCE_MISC_FLAG enumeration, you must call the AcquireSync method before rendering to the surface. You must call the ReleaseSync method when you are done rendering to a surface.

To acquire a reference to the keyed mutex object of a shared resource, call the QueryInterface method of the resource and pass in the UUID of the interface. For more information about acquiring this reference, see the following code example.

The AcquireSync method uses the key as follows, depending on the state of the surface:

  • On initial creation, the surface is unowned and any device can call the AcquireSync method to gain access. For an unowned device, only a key of 0 will succeed. Calling the AcquireSync method for any other key will stall the calling CPU thread.
  • If the surface is owned by a device when you call the AcquireSync method, the CPU thread that called the AcquireSync method will stall until the owning device calls the ReleaseSync method using the same Key.
  • If the surface is unowned when you call the AcquireSync method (for example, the last owning device has already called the ReleaseSync method), the AcquireSync method will succeed if you specify the same key that was specified when the ReleaseSync method was last called. Calling the AcquireSync method using any other key will cause a stall.
  • When the owning device calls the ReleaseSync method with a particular key, and more than one device is waiting after calling the AcquireSync method using the same key, any one of the waiting devices could be woken up first. The order in which devices are woken up is undefined.
  • A keyed mutex does not support recursive calls to the AcquireSync method.
+
+ + ff471339 + HRESULT IDXGIKeyedMutex::AcquireSync([In] unsigned longlong Key,[In] unsigned int dwMilliseconds) + IDXGIKeyedMutex::AcquireSync +
+ + +

Using a key, releases exclusive rendering access to a shared resource.

+
+

A value that indicates which device to give access to. This method succeeds when the device that currently owns the surface calls the ReleaseSync method using the same value. This value can be any UINT64 value.

+

Returns if successful.

If the device attempted to release a keyed mutex that is not valid or owned by the device, ReleaseSync returns E_FAIL.

+ +

The ReleaseSync method releases a lock to a surface that is shared between multiple devices. This method uses a key to determine which device currently has exclusive access to the surface.

When a surface is created using the D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX value of the D3D10_RESOURCE_MISC_FLAG enumeration, you must call the method before rendering to the surface. You must call the ReleaseSync method when you are done rendering to a surface.

After you call the ReleaseSync method, the shared resource is unset from the rendering pipeline.

To acquire a reference to the keyed mutex object of a shared resource, call the QueryInterface method of the resource and pass in the UUID of the interface. For more information about acquiring this reference, see the following code example.

+
+ + ff471340 + HRESULT IDXGIKeyedMutex::ReleaseSync([In] unsigned longlong Key) + IDXGIKeyedMutex::ReleaseSync +
+ + +

An interface implements one or more surfaces for storing rendered data before presenting it to an output.

+
+ +

You can create a swap chain in several ways. If your application uses Direct3D, create a swap chain when you create a device by + calling D3D10CreateDeviceAndSwapChain or D3D11CreateDeviceAndSwapChain. If your application does not need Direct3D, create a swap chain for use directly with DXGI by + calling , , IDXGIFactory2::CreateSwapChainForImmersiveWindow, or IDXGIFactory2::CreateSwapChainForCompositionSurface.

+
+ + bb174569 + IDXGISwapChain + IDXGISwapChain +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[Starting with Direct3D 11.1, we recommend not to use Present anymore to present a rendered image. Instead, use .]

Presents a rendered image to the user.

+
+ No documentation. + No documentation. +

Possible return values include: , or (see DXGI_ERROR), (see ), or D3DDDIERR_DEVICEREMOVED.

Note??The Present method can return either or D3DDDIERR_DEVICEREMOVED if a video card has been physically removed from the computer, or a driver upgrade for the video card has occurred.

+ +

For the best performance when flipping swap-chain buffers in a full-screen application, see Full-Screen Application Performance Hints.

Because calling Present might cause the render thread to wait on the message-pump thread, be careful when calling this method in an application that uses multiple threads. For more details, see Multithreading Considerations.

Differences between Direct3D 9 and Direct3D 10:

Specifying in the Flags parameter is analogous to IDirect3DDevice9::TestCooperativeLevel in Direct3D 9.

?

For flip presentation model swap chains that you create with the value set, a successful presentation unbinds back buffer 0 from the graphics pipeline, except for when you pass the flag in the Flags parameter.

Flip presentation model queue

Suppose the following frames with sync-interval values are queued from oldest (A) to newest (E) before you call Present.

A: 3, B: 0, C: 0, D: 1, E: 0

When you call Present, the runtime shows frame A for 3 vertical blank intervals, then frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames C and D.

+
+ + bb174576 + HRESULT IDXGISwapChain::Present([In] unsigned int SyncInterval,[In] DXGI_PRESENT_FLAGS Flags) + IDXGISwapChain::Present +
+ + +

Accesses one of the swap-chain's back buffers.

+
+

A zero-based buffer index.

If the swap chain's swap effect is , this method can only access the first buffer; for this situation, set the index to zero.

If the swap chain's swap effect is either or , this method can only access read-only buffers with indexes greater than zero. Read-only back buffers have the BufferUsage member of the or structure set to .

+

The type of interface used to manipulate the buffer. See remarks.

+

A reference to a back-buffer interface.

+

Returns one of the following DXGI_ERROR.

+ + bb174570 + HRESULT IDXGISwapChain::GetBuffer([In] unsigned int Buffer,[In] const GUID& riid,[Out] void** ppSurface) + IDXGISwapChain::GetBuffer +
+ + +

Sets the display state to windowed or full screen.

+
+

A Boolean value that specifies whether to set the display state to windowed or full screen. TRUE for full screen, and for windowed.

+

If you pass TRUE to the Fullscreen parameter to set the display state to full screen, you can optionally set this parameter to a reference to an interface for the output target that contains the swap chain. If you set this parameter to null, DXGI will choose the output based on the swap-chain's device and the output window's placement. If you pass to Fullscreen, you must set this parameter to null.

+

This methods returns:

  • if the action succeeded and the swap chain was placed in the requested state.
  • if the action failed. There are many reasons why a windowed-mode swap chain cannot switch to full-screen mode. For instance:
    • The application is running over Terminal Server.
    • The output window is occluded.
    • The output window does not have keyboard focus.
    • Another application is already in full-screen mode.

    When this error is returned, an application can continue to run in windowed mode and try to switch to full-screen mode later.

  • is returned if a fullscreen/windowed mode transition is occurring when this API is called.
  • Other error codes if you run out of memory or encounter another unexpected fault; these codes may be treated as hard, non-continuable errors.
+ +

DXGI may change the display state of a swap chain in response to end user or system requests.

We recommend that you create a windowed swap chain and allow the end user to change the swap chain to full screen through SetFullscreenState; that is, do not set the Windowed member of to to force the swap chain to be full screen. However, if you create the swap chain as full screen, also provide the end user with a list of supported display modes because a swap chain that is created with an unsupported display mode might cause the display to go black and prevent the end user from seeing anything. Also, we recommend that you have a time-out confirmation screen or other fallback mechanism when you allow the end user to change display modes.

Notes for Metro style apps

If a Metro style app calls SetFullscreenState to set the display state to full screen, SetFullscreenState fails with .

You cannot call SetFullscreenState on a windowless swap chain that you created with IDXGIFactory2::CreateSwapChainForCompositionSurface.

For the flip presentation model, after you transition the display state to full screen, you must call ResizeBuffers to ensure that your call to succeeds.

+
+ + bb174579 + HRESULT IDXGISwapChain::SetFullscreenState([In] BOOL Fullscreen,[In, Optional] IDXGIOutput* pTarget) + IDXGISwapChain::SetFullscreenState +
+ + +

Get the state associated with full-screen mode.

+
+

A reference to a boolean whose value is either:

  • TRUE if the swap chain is in full-screen mode
  • if the swap chain is in windowed mode
+

A reference to the output target (see ) when the mode is full screen; otherwise null.

+

Returns one of the following DXGI_ERROR.

+ +

When the swap chain is in full-screen mode, a reference to the target output will be returned and its reference count will be incremented.

+
+ + bb174574 + HRESULT IDXGISwapChain::GetFullscreenState([Out, Optional] BOOL* pFullscreen,[Out, Optional] IDXGIOutput** ppTarget) + IDXGISwapChain::GetFullscreenState +
+ + +

[Starting with Direct3D 11.1, we recommend not to use GetDesc anymore to get a description of the swap chain. Instead, use .]

Get a description of the swap chain.

+
+ No documentation. +

Returns one of the following DXGI_ERROR.

+ + bb174572 + HRESULT IDXGISwapChain::GetDesc([Out] DXGI_SWAP_CHAIN_DESC* pDesc) + IDXGISwapChain::GetDesc +
+ + +

Changes the swap chain's back buffer size, format, and number of buffers. This should be called when the application window is resized.

+
+

The number of buffers in the swap chain (including all back and front buffers). This number can be different from the number of buffers with which you created the swap chain. This number can't be greater than DXGI_MAX_SWAP_CHAIN_BUFFERS. Set this number to zero to preserve the existing number of buffers in the swap chain. You can't specify greater than two buffers for the flip presentation model.

+

New width of the back buffer. If you specify zero, DXGI will use the width of the client area of the target window. You can't specify the width as zero if you called the IDXGIFactory2::CreateSwapChainForCompositionSurface method to create the swap chain for a composition surface.

+

New height of the back buffer. If you specify zero, DXGI will use the height of the client area of the target window. You can't specify the height as zero if you called the IDXGIFactory2::CreateSwapChainForCompositionSurface method to create the swap chain for a composition surface.

+

A -typed value for the new format of the back buffer. Set this value to to preserve the existing format of the back buffer. The flip presentation model supports a more restricted set of formats than the bit-block transfer (bitblt) model.

+

A combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies options for swap-chain behavior.

+

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

+ +

You can't resize a swap chain unless you release all outstanding references to its back buffers. You must release all of its direct and indirect references on the back buffers in order for ResizeBuffers to succeed.

Direct references are held by the application after it calls AddRef on a resource.

Indirect references are held by views to a resource, binding a view of the resource to a device context, a command list that used the resource, a command list that used a view to that resource, a command list that executed another command list that used the resource, and so on.

Before you call ResizeBuffers, ensure that the application releases all references (by calling the appropriate number of Release invocations) on the resources, any views to the resource, and any command lists that use either the resources or views, and ensure that neither the resource nor a view is still bound to a device context. You can use to ensure that all references are released. If a view is bound to a deferred context, you must discard the partially built command list as well (by calling ClearState, , then Release on the command list). After you call ResizeBuffers, you can re-query interfaces via .

For swap chains that you created with , before you call ResizeBuffers, also call on the swap chain's back-buffer surface to ensure that you have no outstanding GDI device contexts (DCs) open.

We recommend that you call ResizeBuffers when a client window is resized (that is, when an application receives a WM_SIZE message).

The only difference between ResizeBuffers in Windows Developer Preview and ResizeBuffers in Windows?7 is with flip presentation model swap chains that you create with the value set. In Windows Developer Preview, you must call ResizeBuffers to realize a transition between full-screen mode and windowed mode; otherwise, your next call to the Present method fails.

+
+ + bb174577 + HRESULT IDXGISwapChain::ResizeBuffers([In] unsigned int BufferCount,[In] unsigned int Width,[In] unsigned int Height,[In] DXGI_FORMAT NewFormat,[In] DXGI_SWAP_CHAIN_FLAG SwapChainFlags) + IDXGISwapChain::ResizeBuffers +
+ + +

Resizes the output target.

+
+

A reference to a structure that describes the mode, which specifies the new width, height, format, and refresh rate of the target. If the format is , ResizeTarget uses the existing format. We only recommend that you use when the swap chain is in full-screen mode as this method is not thread safe.

+

Returns a code that indicates success or failure. is returned if a fullscreen/windowed mode transition is occurring when this API is called. See DXGI_ERROR for additional DXGI error codes.

+ +

ResizeTarget resizes the target window when the swap chain is in windowed mode, and changes the display mode on the target output when the swap chain is in full-screen mode. Therefore, applications can call ResizeTarget to resize the target window (rather than a Microsoft Win32API such as SetWindowPos) without knowledge of the swap chain display mode.

If a Metro style app calls ResizeTarget, it fails with .

You cannot call ResizeTarget on a windowless swap chain that you created with IDXGIFactory2::CreateSwapChainForCompositionSurface.

+
+ + bb174578 + HRESULT IDXGISwapChain::ResizeTarget([In] const DXGI_MODE_DESC* pNewTargetParameters) + IDXGISwapChain::ResizeTarget +
+ + +

Get the output (the display monitor) that contains the majority of the client area of the target window.

+
+

A reference to the output interface (see ).

+

Returns one of the following DXGI_ERROR.

+ +

If the method succeeds, the output interface will be filled and its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.

The output is also owned by the adapter on which the swap chain's device was created.

You cannot call GetContainingOutput on a windowless swap chain that you created with IDXGIFactory2::CreateSwapChainForCompositionSurface.

+
+ + bb174571 + HRESULT IDXGISwapChain::GetContainingOutput([Out] IDXGIOutput** ppOutput) + IDXGISwapChain::GetContainingOutput +
+ + +

Gets performance statistics about the last render frame.

+
+

A reference to a structure for the frame statistics.

+

Returns one of the DXGI_ERROR values.

+ +

You cannot use GetFrameStatistics for swap chains that both use the bit-block transfer (bitblt) presentation model and draw in windowed mode.

You can only use GetFrameStatistics for swap chains that either use the flip presentation model or draw in full-screen mode. You set the value in the SwapEffect member of the structure to specify that the swap chain uses the flip presentation model.

+
+ + bb174573 + HRESULT IDXGISwapChain::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats) + IDXGISwapChain::GetFrameStatistics +
+ + +

Gets the number of times that or has been called.

+
+ No documentation. +

Returns one of the DXGI_ERROR values.

+ +

For info about presentation statistics for a frame, see .

+
+ + bb174575 + HRESULT IDXGISwapChain::GetLastPresentCount([Out] unsigned int* pLastPresentCount) + IDXGISwapChain::GetLastPresentCount +
+ + + Creates a swap chain. + + + If you attempt to create a swap chain in full-screen mode, and full-screen mode is unavailable, the swap chain will be created in windowed mode and DXGI_STATUS_OCCLUDED will be returned. If the buffer width or the buffer height are zero, the sizes will be inferred from the output window size in the swap-chain description. Since the target output cannot be chosen explicitly when the swap-chain is created, you should not create a full-screen swap chain. This can reduce presentation performance if the swap chain size and the output window size do not match. Here are two ways to ensure the sizes match: Create a windowed swap chain and then set it full-screen using . Save a reference to the swap-chain immediately after creation, and use it to get the output window size during a WM_SIZE event. Then resize the swap chain buffers (with ) during the transition from windowed to full-screen. If the swap chain is in full-screen mode, before you release it, you must use {{SetFullscreenState}} to switch it to windowed mode. For more information about releasing a swap chain, see the Destroying a Swap Chain section of {{DXGI Overview}}. + + a reference to a . + A reference to the device that will write 2D images to the swap chain. + A reference to the swap-chain description (see ). + HRESULT IDXGIFactory::CreateSwapChain([In] IUnknown* pDevice,[In] DXGI_SWAP_CHAIN_DESC* pDesc,[Out] IDXGISwapChain** ppSwapChain) + bb174537 + HRESULT IDXGIFactory::CreateSwapChain([In] IUnknown* pDevice,[In] DXGI_SWAP_CHAIN_DESC* pDesc,[Out, Fast] IDXGISwapChain** ppSwapChain) + IDXGIFactory::CreateSwapChain + + + + Access one of the swap-chain back buffers. + + The interface of the surface to resolve from the back buffer + A zero-based buffer index. If the swap effect is not DXGI_SWAP_EFFECT_SEQUENTIAL, this method only has access to the first buffer; for this case, set the index to zero. + + Returns a reference to a back-buffer interface. + + bb174570 + HRESULT IDXGISwapChain::GetBuffer([In] unsigned int Buffer,[In] const GUID& riid,[Out] void** ppSurface) + IDXGISwapChain::GetBuffer + + + +

[Starting with Direct3D 11.1, we recommend not to use GetDesc anymore to get a description of the swap chain. Instead, use .]

Get a description of the swap chain.

+
+ + bb174572 + GetDesc + GetDesc + HRESULT IDXGISwapChain::GetDesc([Out] DXGI_SWAP_CHAIN_DESC* pDesc) +
+ + +

Get the output (the display monitor) that contains the majority of the client area of the target window.

+
+ +

If the method succeeds, the output interface will be filled and its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.

The output is also owned by the adapter on which the swap chain's device was created.

You cannot call GetContainingOutput on a windowless swap chain that you created with IDXGIFactory2::CreateSwapChainForCompositionSurface.

+
+ + bb174571 + GetContainingOutput + GetContainingOutput + HRESULT IDXGISwapChain::GetContainingOutput([Out] IDXGIOutput** ppOutput) +
+ + +

Gets performance statistics about the last render frame.

+
+ +

You cannot use GetFrameStatistics for swap chains that both use the bit-block transfer (bitblt) presentation model and draw in windowed mode.

You can only use GetFrameStatistics for swap chains that either use the flip presentation model or draw in full-screen mode. You set the value in the SwapEffect member of the structure to specify that the swap chain uses the flip presentation model.

+
+ + bb174573 + GetFrameStatistics + GetFrameStatistics + HRESULT IDXGISwapChain::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats) +
+ + +

Gets the number of times that or has been called.

+
+ +

For info about presentation statistics for a frame, see .

+
+ + bb174575 + GetLastPresentCount + GetLastPresentCount + HRESULT IDXGISwapChain::GetLastPresentCount([Out] unsigned int* pLastPresentCount) +
+ + + Gets or sets a value indicating whether the swapchain is in fullscreen. + + + true if this swapchain is in fullscreen; otherwise, false. + + bb174574 + HRESULT IDXGISwapChain::GetFullscreenState([Out] BOOL* pFullscreen,[Out] IDXGIOutput** ppTarget) + IDXGISwapChain::GetFullscreenState + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Provides presentation capabilities that are enhanced from . These presentation capabilities consist of specifying dirty rectangles and scroll rectangle to optimize the presentation.

+
+ +

You can create a swap chain by + calling , , or . You can also create a swap chain when you call D3D11CreateDeviceAndSwapChain; however, you can then only access the sub-set of swap-chain functionality that the interface provides.

provides the IsTemporaryMonoSupported method that you can use to determine whether the swap chain supports "temporary mono? presentation. This type of swap chain is a stereo swap chain that can be used to present mono content. +

Note??Some stereo features like the advanced presentation flags are not represented by an explicit interface change. Furthermore, the original () and new () swap chain interfaces generally have the same behavior. For information about how methods are translated into methods, see the descriptions of the methods.

+
+ + hh404631 + IDXGISwapChain1 + IDXGISwapChain1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets a description of the swap chain.

+
+

A reference to a structure that describes the swap chain.

+

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

+ + hh404640 + HRESULT IDXGISwapChain1::GetDesc1([Out] DXGI_SWAP_CHAIN_DESC1* pDesc) + IDXGISwapChain1::GetDesc1 +
+ + +

[This documentation is preliminary and is subject to change.]

Gets a description of a full-screen swap chain.

+
+

A reference to a structure that describes the full-screen swap chain.

+

GetFullscreenDesc returns:

  • if it successfully retrieved the description of the full-screen swap chain.
  • for non- swap chains or if pDesc is null.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
+ +

The semantics of GetFullscreenDesc are identical to that of the IDXGISwapchain::GetDesc method for -based swap chains.

+
+ + hh404644 + HRESULT IDXGISwapChain1::GetFullscreenDesc([Out] DXGI_SWAP_CHAIN_FULLSCREEN_DESC* pDesc) + IDXGISwapChain1::GetFullscreenDesc +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Retrieves the underlying for this swap-chain object.

+
+ No documentation. +

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

If pHwnd receives null (that is, the swap chain is not -based), GetHwnd returns .

+ +

Applications call the method to create a swap chain that is associated with an .

+
+ + hh404647 + HRESULT IDXGISwapChain1::GetHwnd([Out] HWND* pHwnd) + IDXGISwapChain1::GetHwnd +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Retrieves the underlying IWindow object for this swap-chain object.

+
+

A reference to the globally unique identifier () of the IWindow object that is referenced by the ppUnk parameter.

+

A reference to a variable that receives a reference to the IWindow object.

+

GetCoreWindow returns:

  • if it successfully retrieved the underlying IWindow object.
  • if ppUnk is null; that is, the swap chain is not associated with a IWindow object.
  • Any that a call to QueryInterface to query for an IWindow object might typically return.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
+ +

Applications call the method to create a swap chain that is associated with an IWindow object.

+
+ + hh404650 + HRESULT IDXGISwapChain1::GetCoreWindow([In] const GUID& refiid,[Out] void** ppUnk) + IDXGISwapChain1::GetCoreWindow +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Presents a frame on the display screen.

+
+

An integer that specifies how to synchronize presentation of a frame with the vertical blank.

For the bit-block transfer (bitblt) model, values are:

  • 0 - The presentation occurs immediately, there is no synchronization.
  • 1,2,3,4 - Synchronize presentation after the nth vertical blank.

For the flip model, values are:

  • 0 - Discard this frame if you submitted a more recent presentation.
  • n > 0 - Synchronize presentation for at least n vertical blanks.

For an example that shows how sync-interval values affect a flip presentation queue, see Remarks.

If the update region straddles more than one output (each represented by ), Present1 performs the synchronization to the output that contains the largest subrectangle of the target window's client area.

+

An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants.

+

A reference to a structure that describes updated rectangles and scroll information of the frame to present.

+

Possible return values include: , , , , or E_OUTOFMEMORY.

+ +

An application can use Present1 to optimize presentation by specifying scroll and dirty rectangles. When the runtime has information about these rectangles, the runtime can then perform necessary bitblts during presentation more efficiently and pass this metadata to the Desktop Window Manager (DWM). The DWM can then use the metadata to optimize presentation and pass the metadata to indirect displays and terminal servers to optimize traffic over the wire. An application must confine its modifications to only the dirty regions that it passes to Present1, as well as modify the entire dirty region to avoid undefined resource contents from being exposed.

For flip presentation model swap chains that you create with the value set, a successful presentation results in an unbind of back buffer 0 from the graphics pipeline, except for when you pass the flag in the Flags parameter.

Flip presentation model queue

Suppose the following frames with sync-interval values are queued from oldest (A) to newest (E) before you call Present1.

A: 3, B: 0, C: 0, D: 1, E: 0

When you call Present1, the runtime shows frame A for 3 vertical blank intervals, then frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames B and C.

+
+ + hh446797 + HRESULT IDXGISwapChain1::Present1([In] unsigned int SyncInterval,[In] DXGI_PRESENT_FLAGS PresentFlags,[In] const void* pPresentParameters) + IDXGISwapChain1::Present1 +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Determines whether a swap chain supports ?temporary mono.?

+
+

Indicates whether to use the swap chain in temporary mono mode. TRUE indicates that you can use temporary-mono mode; otherwise, .

+ +

Temporary mono is a feature where a stereo swap chain can be presented using only the content in the left buffer. To present using the left buffer as a mono buffer, an application calls the method with the flag. All windowed swap chains support temporary mono. However, full-screen swap chains optionally support temporary mono because not all hardware supports temporary mono on full-screen swap chains efficiently.

+
+ + hh446794 + BOOL IDXGISwapChain1::IsTemporaryMonoSupported() + IDXGISwapChain1::IsTemporaryMonoSupported +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the output (the display monitor) to which you can restrict the contents of a present operation.

+
+

A reference to a buffer that receives a reference to the interface for the restrict-to output. An application passes this reference to in a call to the , , or method to create the swap chain.

+

Returns if the restrict-to output was successfully retrieved; otherwise, returns E_INVALIDARG if the reference is invalid.

+ +

If the method succeeds, the runtime fills the buffer at ppRestrictToOutput with a reference to the restrict-to output interface. This restrict-to output interface has its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.

The output is also owned by the adapter on which the swap chain's device was created.

+
+ + hh446788 + HRESULT IDXGISwapChain1::GetRestrictToOutput([Out] IDXGIOutput** ppRestrictToOutput) + IDXGISwapChain1::GetRestrictToOutput +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Changes the background color of the swap chain.

+
+

A reference to a DXGI_RGBA structure that specifies the background color to set.

+

SetBackgroundColor returns:

  • if it successfully set the background color.
  • E_INVALIDARG if the pColor parameter is incorrect, for example, pColor is null or any of the floating-point values of the members of DXGI_RGBA to which pColor points are outside the range from 0.0 through 1.0.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
+ +

The background color affects only swap chains that you create with in windowed mode. You pass this value in a call to , , or . Typically, the background color is not visible unless the swap-chain contents are smaller than the destination window.

When you set the background color, it is not immediately realized. It takes effect in conjunction with your next call to the method. The DXGI_PRESENT flags that you pass to can help achieve the effect that you require. For example, if you call SetBackgroundColor and then call with the Flags parameter set to , you change only the background color without changing the displayed contents of the swap chain.

When you call the method to display contents of the swap chain, uses the value that is specified in the AlphaMode member of the structure to determine how to handle the a member of the DXGI_RGBA structure, the alpha value of the background color, that achieves window transparency. For example, if AlphaMode is , ignores the a member of DXGI_RGBA.

+
+ + hh446799 + HRESULT IDXGISwapChain1::SetBackgroundColor([In] const D3DCOLORVALUE* pColor) + IDXGISwapChain1::SetBackgroundColor +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Retrieves the background color of the swap chain.

+
+

A reference to a DXGI_RGBA structure that receives the background color of the swap chain.

+

GetBackgroundColor returns:

  • if it successfully retrieves the background color.
  • if the pColor parameter is invalid, for example, pColor is null.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
+ +

Note??The background color that GetBackgroundColor retrieves does not indicate what the screen currently displays. The background color indicates what the screen will display with your next call to the method. The default value of the background color is black with full opacity: 0,0,0,1.

+
+ + hh404634 + HRESULT IDXGISwapChain1::GetBackgroundColor([Out] D3DCOLORVALUE* pColor) + IDXGISwapChain1::GetBackgroundColor +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the rotation of the back buffers for the swap chain.

+
+

A -typed value that specifies how to set the rotation of the back buffers for the swap chain.

+

SetRotation returns:

  • if it successfully set the rotation.
  • if the swap chain is bit-block transfer (bitblt) model. The swap chain must be flip model to successfully call SetRotation.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
+ +

You can only use SetRotation to rotate the back buffers for flip-model swap chains that you present in windowed mode.

SetRotation isn't supported for rotating the back buffers for flip-model swap chains that you present in full-screen mode. In this situation, SetRotation doesn't fail, but you must ensure that you specify no rotation () for the swap chain. Otherwise, when you call or to present a frame, the presentation fails.

+
+ + hh446801 + HRESULT IDXGISwapChain1::SetRotation([In] DXGI_MODE_ROTATION Rotation) + IDXGISwapChain1::SetRotation +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the rotation of the back buffers for the swap chain.

+
+

A reference to a variable that receives a -typed value that specifies the rotation of the back buffers for the swap chain.

+

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

+ + hh446791 + HRESULT IDXGISwapChain1::GetRotation([Out] DXGI_MODE_ROTATION* pRotation) + IDXGISwapChain1::GetRotation +
+ + + [This documentation is preliminary and is subject to change.] + + An integer that specifies how to synchronize presentation of a frame with the vertical blank. For the bit-block transfer (bitblt) model, values are: 0 - The presentation occurs immediately, there is no synchronization. 1,2,3,4 - Synchronize presentation after the nth vertical blank. For the flip model, values are: 0 - Discard this frame if you submitted a more recent presentation. n > 0 - Synchronize presentation for at least n vertical blanks. For an example that shows how sync-interval values affect a flip presentation queue, see Remarks. If the update region straddles more than one output (each represented by ), Present1 performs the synchronization to the output that contains the largest subrectangle of the target window's client area. + An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants. + A reference to a structure that describes updated rectangles and scroll information of the frame to present. + Possible return values include: , , , , or E_OUTOFMEMORY. + + An application can use Present1 to optimize presentation by specifying scroll and dirty rectangles. When the runtime has information about these rectangles, the runtime can then perform necessary bitblts during presentation more efficiently and pass this metadata to the Desktop Window Manager (DWM). The DWM can then use the metadata to optimize presentation and pass the metadata to indirect displays and terminal servers to optimize traffic over the wire. An application must confine its modifications to only the dirty regions that it passes to Present1, as well as modify the entire dirty region to avoid undefined resource contents from being exposed.For flip presentation model swap chains that you create with the value set, a successful presentation results in an unbind of back buffer 0 from the graphics pipeline, except for when you pass the flag in the Flags parameter.Flip presentation model queueSuppose the following frames with sync-interval values are queued from oldest (A) to newest (E) before you call Present1.A: 3, B: 0, C: 0, D: 1, E: 0When you call Present1, the runtime shows frame A for 3 vertical blank intervals, then frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames C and D. + + + HRESULT IDXGISwapChain1::Present1([In] unsigned int SyncInterval,[In] unsigned int PresentFlags,[In] const void* pPresentParameters) + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets a description of the swap chain.

+
+ + hh404640 + GetDesc1 + GetDesc1 + HRESULT IDXGISwapChain1::GetDesc1([Out] DXGI_SWAP_CHAIN_DESC1* pDesc) +
+ + +

[This documentation is preliminary and is subject to change.]

Gets a description of a full-screen swap chain.

+
+ +

The semantics of GetFullscreenDesc are identical to that of the IDXGISwapchain::GetDesc method for -based swap chains.

+
+ + hh404644 + GetFullscreenDesc + GetFullscreenDesc + HRESULT IDXGISwapChain1::GetFullscreenDesc([Out] DXGI_SWAP_CHAIN_FULLSCREEN_DESC* pDesc) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Retrieves the underlying for this swap-chain object.

+
+ +

Applications call the method to create a swap chain that is associated with an .

+
+ + hh404647 + GetHwnd + GetHwnd + HRESULT IDXGISwapChain1::GetHwnd([Out] HWND* pHwnd) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Determines whether a swap chain supports ?temporary mono.?

+
+ +

Temporary mono is a feature where a stereo swap chain can be presented using only the content in the left buffer. To present using the left buffer as a mono buffer, an application calls the method with the flag. All windowed swap chains support temporary mono. However, full-screen swap chains optionally support temporary mono because not all hardware supports temporary mono on full-screen swap chains efficiently.

+
+ + hh446794 + IsTemporaryMonoSupported + IsTemporaryMonoSupported + BOOL IDXGISwapChain1::IsTemporaryMonoSupported() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the output (the display monitor) to which you can restrict the contents of a present operation.

+
+ +

If the method succeeds, the runtime fills the buffer at ppRestrictToOutput with a reference to the restrict-to output interface. This restrict-to output interface has its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.

The output is also owned by the adapter on which the swap chain's device was created.

+
+ + hh446788 + GetRestrictToOutput + GetRestrictToOutput + HRESULT IDXGISwapChain1::GetRestrictToOutput([Out] IDXGIOutput** ppRestrictToOutput) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Retrieves the background color of the swap chain.

+
+ +

Note??The background color that GetBackgroundColor retrieves does not indicate what the screen currently displays. The background color indicates what the screen will display with your next call to the method. The default value of the background color is black with full opacity: 0,0,0,1.

+
+ + hh404634 + GetBackgroundColor / SetBackgroundColor + GetBackgroundColor + HRESULT IDXGISwapChain1::GetBackgroundColor([Out] D3DCOLORVALUE* pColor) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the rotation of the back buffers for the swap chain.

+
+ + hh446791 + GetRotation / SetRotation + GetRotation + HRESULT IDXGISwapChain1::GetRotation([Out] DXGI_MODE_ROTATION* pRotation) +
+ + +

Describes an adapter (or video card) by using DXGI 1.0.

+
+ +

The structure provides a description of an adapter. This structure is initialized by using the method.

+
+ + bb173058 + DXGI_ADAPTER_DESC + DXGI_ADAPTER_DESC +
+ + +

A string that contains the adapter description.

+
+ + bb173058 + wchar_t Description[128] + wchar_t Description +
+ + +

The PCI ID of the hardware vendor.

+
+ + bb173058 + unsigned int VendorId + unsigned int VendorId +
+ + +

The PCI ID of the hardware device.

+
+ + bb173058 + unsigned int DeviceId + unsigned int DeviceId +
+ + +

The PCI ID of the sub system.

+
+ + bb173058 + unsigned int SubSysId + unsigned int SubSysId +
+ + +

The PCI ID of the revision number of the adapter.

+
+ + bb173058 + unsigned int Revision + unsigned int Revision +
+ + +

The number of bytes of dedicated video memory that are not shared with the CPU.

+
+ + bb173058 + SIZE_T DedicatedVideoMemory + SIZE_T DedicatedVideoMemory +
+ + +

The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.

+
+ + bb173058 + SIZE_T DedicatedSystemMemory + SIZE_T DedicatedSystemMemory +
+ + +

The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.

+
+ + bb173058 + SIZE_T SharedSystemMemory + SIZE_T SharedSystemMemory +
+ + +

A unique value that identifies the adapter. See for a definition of the structure. is defined in dxgi.h.

+
+ + bb173058 + LUID AdapterLuid + LUID AdapterLuid +
+ + +

Describes an adapter (or video card) using DXGI 1.1.

+
+ +

The structure provides a DXGI 1.1 description of an adapter. This structure is initialized by using the method.

+
+ + ff471326 + DXGI_ADAPTER_DESC1 + DXGI_ADAPTER_DESC1 +
+ + +

A string that contains the adapter description.

+
+ + ff471326 + wchar_t Description[128] + wchar_t Description +
+ + +

The PCI ID of the hardware vendor.

+
+ + ff471326 + unsigned int VendorId + unsigned int VendorId +
+ + +

The PCI ID of the hardware device.

+
+ + ff471326 + unsigned int DeviceId + unsigned int DeviceId +
+ + +

The PCI ID of the sub system.

+
+ + ff471326 + unsigned int SubSysId + unsigned int SubSysId +
+ + +

The PCI ID of the revision number of the adapter.

+
+ + ff471326 + unsigned int Revision + unsigned int Revision +
+ + +

The number of bytes of dedicated video memory that are not shared with the CPU.

+
+ + ff471326 + SIZE_T DedicatedVideoMemory + SIZE_T DedicatedVideoMemory +
+ + +

The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.

+
+ + ff471326 + SIZE_T DedicatedSystemMemory + SIZE_T DedicatedSystemMemory +
+ + +

The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.

+
+ + ff471326 + SIZE_T SharedSystemMemory + SIZE_T SharedSystemMemory +
+ + +

A unique value that identifies the adapter. See for a definition of the structure. is defined in dxgi.h.

+
+ + ff471326 + LUID AdapterLuid + LUID AdapterLuid +
+ + +

A value of the enumerated type that describes the adapter type. The flag is reserved.

+
+ + ff471326 + DXGI_ADAPTER_FLAG Flags + DXGI_ADAPTER_FLAG Flags +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes an adapter (or video card) that uses Microsoft DirectX Graphics Infrastructure (DXGI) 1.2.

+
+ +

The structure provides a DXGI 1.2 description of an adapter. This structure is initialized by using the method.

+
+ + hh404493 + DXGI_ADAPTER_DESC2 + DXGI_ADAPTER_DESC2 +
+ + +

A string that contains the adapter description.

+
+ + hh404493 + wchar_t Description[128] + wchar_t Description +
+ + +

The PCI ID of the hardware vendor.

+
+ + hh404493 + unsigned int VendorId + unsigned int VendorId +
+ + +

The PCI ID of the hardware device.

+
+ + hh404493 + unsigned int DeviceId + unsigned int DeviceId +
+ + +

The PCI ID of the sub system.

+
+ + hh404493 + unsigned int SubSysId + unsigned int SubSysId +
+ + +

The PCI ID of the revision number of the adapter.

+
+ + hh404493 + unsigned int Revision + unsigned int Revision +
+ + +

The number of bytes of dedicated video memory that are not shared with the CPU.

+
+ + hh404493 + SIZE_T DedicatedVideoMemory + SIZE_T DedicatedVideoMemory +
+ + +

The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.

+
+ + hh404493 + SIZE_T DedicatedSystemMemory + SIZE_T DedicatedSystemMemory +
+ + +

The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.

+
+ + hh404493 + SIZE_T SharedSystemMemory + SIZE_T SharedSystemMemory +
+ + +

A unique value that identifies the adapter. See for a definition of the structure. is defined in dxgi.h.

+
+ + hh404493 + LUID AdapterLuid + LUID AdapterLuid +
+ + +

A value of the enumerated type that describes the adapter type. The flag is reserved.

+
+ + hh404493 + unsigned int Flags + unsigned int Flags +
+ + +

A value of the enumerated type that describes the granularity level at which the GPU can be preempted from performing its current graphics rendering task.

+
+ + hh404493 + DXGI_GRAPHICS_PREEMPTION_GRANULARITY GraphicsPreemptionGranularity + DXGI_GRAPHICS_PREEMPTION_GRANULARITY GraphicsPreemptionGranularity +
+ + +

A value of the enumerated type that describes the granularity level at which the GPU can be preempted from performing its current compute task.

+
+ + hh404493 + DXGI_COMPUTE_PREEMPTION_GRANULARITY ComputePreemptionGranularity + DXGI_COMPUTE_PREEMPTION_GRANULARITY ComputePreemptionGranularity +
+ + +

Describes timing and presentation statistics for a frame.

+
+ +

You initialize the structure with the or method.

You can only use for swap chains that either use the flip presentation model or draw in full-screen mode. You set the value in the SwapEffect member of the structure to specify that the swap chain uses the flip presentation model.

The values in the PresentCount and PresentRefreshCount members indicate information about when a frame was presented on the display screen. You can use these values to determine whether a glitch occurred. The values in the SyncRefreshCount and SyncQPCTime members indicate timing information that you can use for audio and video synchronization or very precise animation. If the swap chain draws in full-screen mode, these values are based on when the computer booted. + If the swap chain draws in windowed mode, these values are based on when the swap chain is created.

+
+ + bb173060 + DXGI_FRAME_STATISTICS + DXGI_FRAME_STATISTICS +
+ + +

A value that represents the running total count of times that an image was presented to the monitor since the computer booted.

Note??The number of times that an image was presented to the monitor is not necessarily the same as the number of times that you called or .

+
+ + bb173060 + unsigned int PresentCount + unsigned int PresentCount +
+ + +

A value that represents the running total count of v-blanks at which the last image was presented to the monitor and that have happened since the computer booted (for windowed mode, since the swap chain was created).

+
+ + bb173060 + unsigned int PresentRefreshCount + unsigned int PresentRefreshCount +
+ + +

A value that represents the running total count of v-blanks when the scheduler last sampled the machine time by calling QueryPerformanceCounter and that have happened since the computer booted (for windowed mode, since the swap chain was created).

+
+ + bb173060 + unsigned int SyncRefreshCount + unsigned int SyncRefreshCount +
+ + +

A value that represents the high-resolution performance counter timer. This value is the same as the value returned by the QueryPerformanceCounter function.

+
+ + bb173060 + LARGE_INTEGER SyncQPCTime + LARGE_INTEGER SyncQPCTime +
+ + +

Reserved. Always returns 0.

+
+ + bb173060 + LARGE_INTEGER SyncGPUTime + LARGE_INTEGER SyncGPUTime +
+ + +

Controls the settings of a gamma curve.

+
+ +

The structure is used by the method.

+
+ + bb173061 + DXGI_GAMMA_CONTROL + DXGI_GAMMA_CONTROL +
+ + +

A structure with scalar values that are applied to rgb values before being sent to the gamma look up table.

+
+ + bb173061 + DXGI_RGB Scale + DXGI_RGB Scale +
+ + +

A structure with offset values that are applied to the rgb values before being sent to the gamma look up table.

+
+ + bb173061 + DXGI_RGB Offset + DXGI_RGB Offset +
+ + +

An array of structures that control the points of a gamma curve.

+
+ + bb173061 + DXGI_RGB GammaCurve[1025] + DXGI_RGB GammaCurve +
+ + +

Controls the gamma capabilities of an adapter.

+
+ +

To get a list of the capabilities for controlling gamma correction, call .

+
+ + bb173062 + DXGI_GAMMA_CONTROL_CAPABILITIES + DXGI_GAMMA_CONTROL_CAPABILITIES +
+ + +

True if scaling and offset operations are supported during gamma correction; otherwise, false.

+
+ + bb173062 + BOOL ScaleAndOffsetSupported + BOOL ScaleAndOffsetSupported +
+ + +

A value describing the maximum range of the control-point positions.

+
+ + bb173062 + float MaxConvertedValue + float MaxConvertedValue +
+ + +

A value describing the minimum range of the control-point positions.

+
+ + bb173062 + float MinConvertedValue + float MinConvertedValue +
+ + +

A value describing the number of control points in the array.

+
+ + bb173062 + unsigned int NumGammaControlPoints + unsigned int NumGammaControlPoints +
+ + +

An array of values describing control points; the maximum length of control points is 1025.

+
+ + bb173062 + float ControlPointPositions[1025] + float ControlPointPositions +
+ + +

Describes a mapped rectangle that is used to access a surface.

+
+ +

The structure is initialized by the method.

+
+ + bb173063 + DXGI_MAPPED_RECT + DXGI_MAPPED_RECT +
+ + +

A value that describes the width, in bytes, of the surface.

+
+ + bb173063 + int Pitch + int Pitch +
+ + +

A reference to the image buffer of the surface.

+
+ + bb173063 + unsigned char* pBits + unsigned char pBits +
+ + +

Describes a display mode.

+
+ +

The following format values are valid for display modes and when you create a bit-block transfer (bitblt) model swap chain. The valid values depend on the feature level that you are working with.

  • Feature level >= 9.1

    • (except 10.x on Windows?Vista)
    • (except 10.x on Windows?Vista)
  • Feature level >= 10.0

  • Feature level >= 11.0

You can pass one of these format values to to determine if it is a valid format for displaying on screen. If returns in the bit field to which the pFormatSupport parameter points, the format is valid for displaying on screen.

Starting with Windows Developer Preview for a flip model swap chain (that is, a swap chain that has the value set in the SwapEffect member of ), you must set the Format member of to , , or .

Because of the relaxed render target creation rules that Direct3D 11 has for back buffers, applications can create a render target view from a swap chain so they can use automatic color space conversion when they render the swap chain.

+
+ + bb173064 + DXGI_MODE_DESC + DXGI_MODE_DESC +
+ + +

A value that describes the resolution width. If you specify the width as zero when you call the method to create a swap chain, the runtime obtains the width from the output window and assigns this width value to the swap-chain description. You can subsequently call the method to retrieve the assigned width value.

+
+ + bb173064 + unsigned int Width + unsigned int Width +
+ + +

A value describing the resolution height. If you specify the height as zero when you call the method to create a swap chain, the runtime obtains the height from the output window and assigns this height value to the swap-chain description. You can subsequently call the method to retrieve the assigned height value.

+
+ + bb173064 + unsigned int Height + unsigned int Height +
+ + +

A structure describing the refresh rate in hertz

+
+ + bb173064 + DXGI_RATIONAL RefreshRate + DXGI_RATIONAL RefreshRate +
+ + +

A structure describing the display format.

+
+ + bb173064 + DXGI_FORMAT Format + DXGI_FORMAT Format +
+ + +

A member of the enumerated type describing the scanline drawing mode.

+
+ + bb173064 + DXGI_MODE_SCANLINE_ORDER ScanlineOrdering + DXGI_MODE_SCANLINE_ORDER ScanlineOrdering +
+ + +

A member of the enumerated type describing the scaling mode.

+
+ + bb173064 + DXGI_MODE_SCALING Scaling + DXGI_MODE_SCALING Scaling +
+ + + Initializes a new instance of the structure. + + The width. + The height. + The refresh rate. + The format. + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes a display mode and whether the display mode supports stereo.

+
+ +

is identical to except that includes the Stereo member.

+
+ + hh404507 + DXGI_MODE_DESC1 + DXGI_MODE_DESC1 +
+ + +

A value that describes the resolution width.

+
+ + hh404507 + unsigned int Width + unsigned int Width +
+ + +

A value that describes the resolution height.

+
+ + hh404507 + unsigned int Height + unsigned int Height +
+ + +

A structure that describes the refresh rate in hertz.

+
+ + hh404507 + DXGI_RATIONAL RefreshRate + DXGI_RATIONAL RefreshRate +
+ + +

A -typed value that describes the display format.

+
+ + hh404507 + DXGI_FORMAT Format + DXGI_FORMAT Format +
+ + +

A -typed value that describes the scan-line drawing mode.

+
+ + hh404507 + DXGI_MODE_SCANLINE_ORDER ScanlineOrdering + DXGI_MODE_SCANLINE_ORDER ScanlineOrdering +
+ + +

A -typed value that describes the scaling mode.

+
+ + hh404507 + DXGI_MODE_SCALING Scaling + DXGI_MODE_SCALING Scaling +
+ + +

Specifies whether the full-screen display mode is stereo. TRUE if stereo; otherwise, .

+
+ + hh404507 + BOOL Stereo + BOOL Stereo +
+ + +

Describes an output or physical connection between the adapter (video card) and a device.

+
+ +

The structure is initialized by the method.

+
+ + bb173068 + DXGI_OUTPUT_DESC + DXGI_OUTPUT_DESC +
+ + +

A string that contains the name of the output device.

+
+ + bb173068 + wchar_t DeviceName[32] + wchar_t DeviceName +
+ + +

A structure containing the bounds of the output in desktop coordinates.

+
+ + bb173068 + RECT DesktopCoordinates + RECT DesktopCoordinates +
+ + +

True if the output is attached to the desktop; otherwise, false.

+
+ + bb173068 + BOOL AttachedToDesktop + BOOL AttachedToDesktop +
+ + +

A member of the enumerated type describing on how an image is rotated by the output.

+
+ + bb173068 + DXGI_MODE_ROTATION Rotation + DXGI_MODE_ROTATION Rotation +
+ + +

An handle that represents the display monitor. For more information, see and the Device Context.

+
+ + bb173068 + HMONITOR Monitor + HMONITOR Monitor +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes information about present that helps the operating system optimize presentation.

+
+ +

The scroll rectangle and the list of dirty rectangles could overlap. In this situation, the dirty rectangles take priority. Applications can then have pieces of dynamic content on top of a scrolled area. For example, an application could scroll a page and play video at the same time.

The following diagram and coordinates illustrate this example.

DirtyRectsCount = 2 + pDirtyRects[ 0 ] = { 10, 30, 40, 50 } // Video + pDirtyRects[ 1 ] = { 0, 70, 50, 80 } // New line + *pScrollRect = { 0, 0, 50, 70 } + *pScrollOffset = { 0, -10 } +

Parts of the previous frame and content that the application renders are combined to produce the final frame that the operating system presents on the display screen. Most of the window is scrolled from the previous frame. The application must update the video frame with the new chunk of content that appears due to scrolling.

The dashed rectangle shows the scroll rectangle in the current frame. The scroll rectangle is specified by the pScrollRect member. + The arrow shows the scroll offset. The scroll offset is specified by the pScrollOffset member. + Filled rectangles show dirty rectangles that the application updated with new content. The filled rectangles are specified by the DirtyRectsCount and pDirtyRects members.

The scroll rectangle and offset are not supported for the or present option. Dirty rectangles and scroll rectangle are not supported for multisampled swap chains.

The actual implementation of composition and necessary bitblts is different for the bitblt model and the flip model.

+
+ + hh404522 + DXGI_PRESENT_PARAMETERS + DXGI_PRESENT_PARAMETERS +
+ + +

The number of updated rectangles that you update in the back buffer for the presented frame. The operating system uses this information to optimize presentation. You can set this member to 0 to indicate that you update the whole frame.

+
+ + hh404522 + unsigned int DirtyRectsCount + unsigned int DirtyRectsCount +
+ + +

A list of updated rectangles that you update in the back buffer for the presented frame. An application must update every single pixel in each rectangle that it reports to the runtime; the application cannot assume that the pixels are saved from the previous frame. For more information about updating dirty rectangles, see Remarks. You can set this member to null if DirtyRectsCount is 0. An application must not update any pixel outside of the dirty rectangles.

+
+ + hh404522 + RECT* pDirtyRects + RECT pDirtyRects +
+ + +

A reference to the scrolled rectangle. The scrolled rectangle is the rectangle of the previous frame from which the runtime bit-block transfers (bitblts) content. The runtime also uses the scrolled rectangle to optimize presentation in terminal server and indirect display scenarios.

The scrolled rectangle also describes the destination rectangle, that is, the region on the current frame that is filled with scrolled content. You can set this member to null to indicate that no content is scrolled from the previous frame.

+
+ + hh404522 + RECT* pScrollRect + RECT pScrollRect +
+ + +

A reference to the offset of the scrolled area that goes from the source rectangle (of previous frame) to the destination rectangle (of current frame). You can set this member to null to indicate no offset.

+
+ + hh404522 + POINT* pScrollOffset + POINT pScrollOffset +
+ + + A list of updated rectangles that you update in the back buffer for the presented frame. An application must update every single pixel in each rectangle that it reports to the runtime; the application cannot assume that the pixels are saved from the previous frame. For more information about updating dirty rectangles, see Remarks. You can set this member to null if DirtyRectsCount is 0. An application must not update any pixel outside of the dirty rectangles. + + RECT* pDirtyRects + + + + A reference to the scrolled rectangle. The scrolled rectangle is the rectangle of the previous frame from which the runtime bit-block transfers (bitblts) content. The runtime also uses the scrolled rectangle to optimize presentation in terminal server and indirect display scenarios. + The scrolled rectangle also describes the destination rectangle, that is, the region on the current frame that is filled with scrolled content. You can set this member to null to indicate that no content is scrolled from the previous frame. + + RECT* pScrollRect + + + + A reference to the offset of the scrolled area that goes from the source rectangle (of previous frame) to the destination rectangle (of current frame). You can set this member to null to indicate no offset. + + POINT* pScrollOffset + + + +

Represents a rational number.

+
+ +

The structure operates under the following rules:

  • 0/0 is legal and will be interpreted as 0/1.
  • 0/anything is interpreted as zero.
  • If you are representing a whole number, the denominator should be 1.
+
+ + bb173069 + DXGI_RATIONAL + DXGI_RATIONAL +
+ + +

An unsigned integer value representing the top of the rational number.

+
+ + bb173069 + unsigned int Numerator + unsigned int Numerator +
+ + +

An unsigned integer value representing the bottom of the rational number.

+
+ + bb173069 + unsigned int Denominator + unsigned int Denominator +
+ + + An empty rational that can be used for comparisons. + + + + + Initializes a new instance of the structure. + + The numerator of the rational pair. + The denominator of the rational pair. + + + +

Describes multi-sampling parameters for a resource.

+
+ +

The default sampler mode, with no anti-aliasing, has a count of 1 and a quality level of 0.

If multi-sample antialiasing is being used, all bound render targets and depth buffers must have the same sample counts and quality levels.

Differences between Direct3D 10.0 and Direct3D 10.1 and between Direct3D 10.0 and Direct3D 11:

Direct3D 10.1 has defined two standard quality levels: D3D10_STANDARD_MULTISAMPLE_PATTERN and D3D10_CENTER_MULTISAMPLE_PATTERN in the D3D10_STANDARD_MULTISAMPLE_QUALITY_LEVELS enumeration in D3D10_1.h.

Direct3D 11 has defined two standard quality levels: and in the enumeration in D3D11.h.

?

+
+ + bb173072 + DXGI_SAMPLE_DESC + DXGI_SAMPLE_DESC +
+ + +

The number of multisamples per pixel.

+
+ + bb173072 + unsigned int Count + unsigned int Count +
+ + +

The image quality level. The higher the quality, the lower the performance. The valid range is between zero and one less than the level returned by ID3D10Device::CheckMultisampleQualityLevels for Direct3D 10 or for Direct3D 11.

For Direct3D 10.1 and Direct3D 11, you can use two special quality level values. For more information about these quality level values, see Remarks.

+
+ + bb173072 + unsigned int Quality + unsigned int Quality +
+ + + Initializes a new instance of the structure. + + The sample count. + The sample quality. + + + +

Represents a handle to a shared resource.

+
+ +

To create a shared surface, pass a shared-resource handle into the method.

+
+ + bb173073 + DXGI_SHARED_RESOURCE + DXGI_SHARED_RESOURCE +
+ + +

A handle to a shared resource.

+
+ + bb173073 + void* Handle + void Handle +
+ + +

Describes a surface.

+
+ + bb173074 + DXGI_SURFACE_DESC + DXGI_SURFACE_DESC +
+ + +

A value describing the surface width.

+
+ + bb173074 + unsigned int Width + unsigned int Width +
+ + +

A value describing the surface height.

+
+ + bb173074 + unsigned int Height + unsigned int Height +
+ + +

A member of the enumerated type that describes the surface format.

+
+ + bb173074 + DXGI_FORMAT Format + DXGI_FORMAT Format +
+ + +

A member of the structure that describes multi-sampling parameters for the surface.

+
+ + bb173074 + DXGI_SAMPLE_DESC SampleDesc + DXGI_SAMPLE_DESC SampleDesc +
+ + +

Describes a swap chain.

+
+ +

In full-screen mode, there is a dedicated front buffer; in windowed mode, the desktop is the front buffer.

If you create a swap chain with one buffer, specifying does not cause the contents of the single buffer to be swapped with the front buffer.

For performance information about flipping swap-chain buffers in full-screen application, see Full-Screen Application Performance Hints.

+
+ + bb173075 + DXGI_SWAP_CHAIN_DESC + DXGI_SWAP_CHAIN_DESC +
+ + +

A structure that describes the backbuffer display mode.

+
+ + bb173075 + DXGI_MODE_DESC BufferDesc + DXGI_MODE_DESC BufferDesc +
+ + +

A structure that describes multi-sampling parameters.

+
+ + bb173075 + DXGI_SAMPLE_DESC SampleDesc + DXGI_SAMPLE_DESC SampleDesc +
+ + +

A member of the DXGI_USAGE enumerated type that describes the surface usage and CPU access options for the back buffer. The back buffer can be used for shader input or render-target output.

+
+ + bb173075 + DXGI_USAGE_ENUM BufferUsage + DXGI_USAGE_ENUM BufferUsage +
+ + +

A value that describes the number of buffers in the swap chain. When you call to create a full-screen swap chain, you typically include the front buffer in this value. For more information about swap-chain buffers, see Remarks.

+
+ + bb173075 + unsigned int BufferCount + unsigned int BufferCount +
+ + +

An handle to the output window. This member must not be null.

+
+ + bb173075 + HWND OutputWindow + HWND OutputWindow +
+ + +

A Boolean value that specifies whether the output is in windowed mode. TRUE if the output is in windowed mode; otherwise, .

We recommend that you create a windowed swap chain and allow the end user to change the swap chain to full screen through ; that is, do not set this member to to force the swap chain to be full screen. However, if you create the swap chain as full screen, also provide the end user with a list of supported display modes through the BufferDesc member because a swap chain that is created with an unsupported display mode might cause the display to go black and prevent the end user from seeing anything.

For more information about choosing windowed verses full screen, see .

+
+ + bb173075 + BOOL Windowed + BOOL Windowed +
+ + +

A member of the enumerated type that describes options for handling the contents of the presentation buffer after presenting a surface.

+
+ + bb173075 + DXGI_SWAP_EFFECT SwapEffect + DXGI_SWAP_EFFECT SwapEffect +
+ + +

A member of the enumerated type that describes options for swap-chain behavior.

+
+ + bb173075 + DXGI_SWAP_CHAIN_FLAG Flags + DXGI_SWAP_CHAIN_FLAG Flags +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes a swap chain.

+
+ +

Note??You cannot cast a to a and vice versa. An application must explicitly use the method to retrieve the newer version of the swap-chain description structure.

In full-screen mode, there is a dedicated front buffer; in windowed mode, the desktop is the front buffer.

For a flip-model swap chain (that is, a swap chain that has the value set in the SwapEffect member), you must set the Format member to , , or ; you must set the Count member of the structure that the SampleDesc member specifies to one and the Quality member of to zero because multiple sample antialiasing (MSAA) is not supported; you must set the BufferCount member to from two to sixteen. For more info about flip-model swap chain, see DXGI Flip Model.

+
+ + hh404528 + DXGI_SWAP_CHAIN_DESC1 + DXGI_SWAP_CHAIN_DESC1 +
+ + +

A value that describes the resolution width. If you specify the width as zero when you call the method to create a swap chain, the runtime obtains the width from the output window and assigns this width value to the swap-chain description. You can subsequently call the method to retrieve the assigned width value. You cannot specify the width as zero when you call the method.

+
+ + hh404528 + unsigned int Width + unsigned int Width +
+ + +

A value that describes the resolution height. If you specify the height as zero when you call the method to create a swap chain, the runtime obtains the height from the output window and assigns this height value to the swap-chain description. You can subsequently call the method to retrieve the assigned height value. You cannot specify the height as zero when you call the method.

+
+ + hh404528 + unsigned int Height + unsigned int Height +
+ + +

A structure that describes the display format.

+
+ + hh404528 + DXGI_FORMAT Format + DXGI_FORMAT Format +
+ + +

Specifies whether the full-screen display mode or the swap-chain back buffer is stereo. TRUE if stereo; otherwise, . If you specify stereo, you must also specify a flip-model swap chain (that is, a swap chain that has the value set in the SwapEffect member).

+
+ + hh404528 + BOOL Stereo + BOOL Stereo +
+ + +

A structure that describes multi-sampling parameters. This member is valid only with bit-block transfer (bitblt) model swap chains.

+
+ + hh404528 + DXGI_SAMPLE_DESC SampleDesc + DXGI_SAMPLE_DESC SampleDesc +
+ + +

A DXGI_USAGE-typed value that describes the surface usage and CPU access options for the back buffer. The back buffer can be used for shader input or render-target output.

+
+ + hh404528 + DXGI_USAGE_ENUM BufferUsage + DXGI_USAGE_ENUM BufferUsage +
+ + +

A value that describes the number of buffers in the swap chain. When you create a full-screen swap chain, you typically include the front buffer in this value.

+
+ + hh404528 + unsigned int BufferCount + unsigned int BufferCount +
+ + +

A -typed value that identifies resize behavior if the size of the back buffer is not equal to the target output.

+
+ + hh404528 + DXGI_SCALING Scaling + DXGI_SCALING Scaling +
+ + +

A -typed value that describes the presentation model that is used by the swap chain and options for handling the contents of the presentation buffer after presenting a surface. You must specify the value when you call the method because this method supports only flip presentation model.

+
+ + hh404528 + DXGI_SWAP_EFFECT SwapEffect + DXGI_SWAP_EFFECT SwapEffect +
+ + +

A -typed value that identifies the transparency behavior of the swap-chain back buffer.

+
+ + hh404528 + DXGI_ALPHA_MODE AlphaMode + DXGI_ALPHA_MODE AlphaMode +
+ + +

A combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies options for swap-chain behavior.

+
+ + hh404528 + DXGI_SWAP_CHAIN_FLAG Flags + DXGI_SWAP_CHAIN_FLAG Flags +
+ + +

[This documentation is preliminary and is subject to change.]

Describes full-screen mode for a swap chain.

+
+ + hh404531 + DXGI_SWAP_CHAIN_FULLSCREEN_DESC + DXGI_SWAP_CHAIN_FULLSCREEN_DESC +
+ + +

A structure that describes the refresh rate in hertz.

+
+ + hh404531 + DXGI_RATIONAL RefreshRate + DXGI_RATIONAL RefreshRate +
+ + +

A member of the enumerated type that describes the scan-line drawing mode.

+
+ + hh404531 + DXGI_MODE_SCANLINE_ORDER ScanlineOrdering + DXGI_MODE_SCANLINE_ORDER ScanlineOrdering +
+ + +

A member of the enumerated type that describes the scaling mode.

+
+ + hh404531 + DXGI_MODE_SCALING Scaling + DXGI_MODE_SCALING Scaling +
+ + + No documentation. + + + BOOL Windowed + BOOL Windowed + + + + Internal class used to initialize this assembly. + + + + + Initializes this assembly. + + + This method is called when the assembly is loaded. + + + + + Internal VirtualSurfaceUpdatesCallbackNative Callback + + + + + Get a native callback pointer from a managed callback. + + The geometry sink. + A pointer to the unmanaged geometry sink counterpart + +
+
diff --git a/packages/SharpDX.Direct2D1.2.5.0/SharpDX.Direct2D1.2.5.0.nupkg b/packages/SharpDX.Direct2D1.2.5.0/SharpDX.Direct2D1.2.5.0.nupkg new file mode 100644 index 00000000000..1db5e568782 Binary files /dev/null and b/packages/SharpDX.Direct2D1.2.5.0/SharpDX.Direct2D1.2.5.0.nupkg differ diff --git a/packages/SharpDX.Direct2D1.2.5.0/SharpDX.Direct2D1.2.5.0.nuspec b/packages/SharpDX.Direct2D1.2.5.0/SharpDX.Direct2D1.2.5.0.nuspec new file mode 100644 index 00000000000..70024934e63 --- /dev/null +++ b/packages/SharpDX.Direct2D1.2.5.0/SharpDX.Direct2D1.2.5.0.nuspec @@ -0,0 +1,23 @@ + + + + SharpDX.Direct2D1 + 2.5.0 + SharpDX.Direct2D1 + Alexandre Mutel + Alexandre Mutel + http://sharpdx.org/License.txt + http://sharpdx.org/ + http://sharpdx.org/logo_100x100.png + false + Assembly providing DirectX - Direct2D, DirectWrite and WIC managed API. + + Copyright (c) 2010-2013 Alexandre Mutel + + SharpDX DirectX Direct3D MDX 3D Direct2D D2D DirectWrite DWrite WIC + + + + + + \ No newline at end of file diff --git a/packages/SharpDX.Direct2D1.2.5.0/lib/net20/SharpDX.Direct2D1.dll b/packages/SharpDX.Direct2D1.2.5.0/lib/net20/SharpDX.Direct2D1.dll new file mode 100644 index 00000000000..4156ce5ee5f Binary files /dev/null and b/packages/SharpDX.Direct2D1.2.5.0/lib/net20/SharpDX.Direct2D1.dll differ diff --git a/packages/SharpDX.Direct2D1.2.5.0/lib/net20/SharpDX.Direct2D1.xml b/packages/SharpDX.Direct2D1.2.5.0/lib/net20/SharpDX.Direct2D1.xml new file mode 100644 index 00000000000..ad58ae2e017 --- /dev/null +++ b/packages/SharpDX.Direct2D1.2.5.0/lib/net20/SharpDX.Direct2D1.xml @@ -0,0 +1,24072 @@ + + + + SharpDX.Direct2D1 + + + + + The assembly provides managed API for , and . + + ee663274 + Direct2D1 / DirectWrite + Direct2D1 / DirectWrite + + + + The namespace provides a managed DirectWrite API. + + dd368038 + DirectWrite + DirectWrite + + + + The namespace provides a managed Direct2D1 built in Effects API. + + hh706327 + Direct2D1 Effects + Direct2D1 Effects + + + + The namespace provides a managed Direct2D API. + + dd370990 + Direct2D1 + Direct2D1 + + + +

Contains the content bounds, mask information, opacity settings, and other options for a layer resource.

+
+ + dd368127 + D2D1_LAYER_PARAMETERS + D2D1_LAYER_PARAMETERS +
+ + +

The content bounds of the layer. Content outside these bounds is not guaranteed to render.

+
+ + dd368127 + D2D_RECT_F contentBounds + D2D_RECT_F contentBounds +
+ + +

The geometric mask specifies the area of the layer that is composited into the render target.

+
+ + dd368127 + ID2D1Geometry* geometricMask + ID2D1Geometry geometricMask +
+ + +

A value that specifies the antialiasing mode for the geometricMask.

+
+ + dd368127 + D2D1_ANTIALIAS_MODE maskAntialiasMode + D2D1_ANTIALIAS_MODE maskAntialiasMode +
+ + +

A value that specifies the transform that is applied to the geometric mask when composing the layer.

+
+ + dd368127 + D2D_MATRIX_3X2_F maskTransform + D2D_MATRIX_3X2_F maskTransform +
+ + +

An opacity value that is applied uniformly to all resources in the layer when compositing to the target.

+
+ + dd368127 + float opacity + float opacity +
+ + +

A brush that is used to modify the opacity of the layer. The brush + is mapped to the layer, and the alpha channel of each mapped brush pixel is multiplied against the corresponding layer pixel.

+
+ + dd368127 + ID2D1Brush* opacityBrush + ID2D1Brush opacityBrush +
+ + +

A value that specifies whether the layer intends to render text with ClearType antialiasing.

+
+ + dd368127 + D2D1_LAYER_OPTIONS layerOptions + D2D1_LAYER_OPTIONS layerOptions +
+ + + Sets the geometric mask. + + + The geometric mask. + + ID2D1Geometry* geometricMask + + + + Sets the opacity brush. + + + The opacity brush. + + ID2D1Brush* opacityBrush + + + +

Specifies the identifiers of the metadata items in an 8BIM IPTC digest metadata block.

+
+ + ee719802 + WIC8BIMIptcDigestProperties + WIC8BIMIptcDigestProperties +
+ + +

[VT_LPSTR] A name that identifies the 8BIM block.

+
+ + ee719802 + WIC8BIMIptcDigestPString + WIC8BIMIptcDigestPString +
+ + +

[VT_BLOB] The embedded IPTC digest value.

+
+ + ee719802 + WIC8BIMIptcDigestIptcDigest + WIC8BIMIptcDigestIptcDigest +
+ + +

Specifies the identifiers of the metadata items in an 8BIM IPTC block.

+
+ + ee719803 + WIC8BIMIptcProperties + WIC8BIMIptcProperties +
+ + +

[VT_LPSTR] A name that identifies the 8BIM block.

+
+ + ee719803 + WIC8BIMIptcPString + WIC8BIMIptcPString +
+ + +

[VT_UNKNOWN] The IPTC block embedded in this 8BIM IPTC block.

+
+ + ee719803 + WIC8BIMIptcEmbeddedIPTC + WIC8BIMIptcEmbeddedIPTC +
+ + +

Specifies the identifiers of the metadata items in an 8BIMResolutionInfo block.

+
+ + ee719804 + WIC8BIMResolutionInfoProperties + WIC8BIMResolutionInfoProperties +
+ + +

[VT_LPSTR] A name that identifies the 8BIM block.

+
+ + ee719804 + WIC8BIMResolutionInfoPString + WIC8BIMResolutionInfoPString +
+ + +

[VT_UI4] The horizontal resolution of the image.

+
+ + ee719804 + WIC8BIMResolutionInfoHResolution + WIC8BIMResolutionInfoHResolution +
+ + +

[VT_UI2] The units that the horizontal resolution is specified in; a 1 indicates pixels per inch and a 2 indicates pixels per centimeter.

+
+ + ee719804 + WIC8BIMResolutionInfoHResolutionUnit + WIC8BIMResolutionInfoHResolutionUnit +
+ + +

[VT_UI2] The units that the image width is specified in; a 1 indicates inches, a 2 indicates centimeters, a 3 indicates points, a 4 specifies picas, and a 5 specifies columns.

+
+ + ee719804 + WIC8BIMResolutionInfoWidthUnit + WIC8BIMResolutionInfoWidthUnit +
+ + +

[VT_UI4] The vertical resolution of the image.

+
+ + ee719804 + WIC8BIMResolutionInfoVResolution + WIC8BIMResolutionInfoVResolution +
+ + +

[VT_UI2] The units that the vertical resolution is specified in; a 1 indicates pixels per inch and a 2 indicates pixels per centimeter.

+
+ + ee719804 + WIC8BIMResolutionInfoVResolutionUnit + WIC8BIMResolutionInfoVResolutionUnit +
+ + +

[VT_UI2] The units that the image height is specified in; a 1 indicates inches, a 2 indicates centimeters, a 3 indicates points, a 4 specifies picas, and a 5 specifies columns.

+
+ + ee719804 + WIC8BIMResolutionInfoHeightUnit + WIC8BIMResolutionInfoHeightUnit +
+ + +

Specifies the desired alpha channel usage.

+
+ + ee719805 + WICBitmapAlphaChannelOption + WICBitmapAlphaChannelOption +
+ + +

Use alpha channel.

+
+ + ee719805 + WICBitmapUseAlpha + WICBitmapUseAlpha +
+ + +

Use a pre-multiplied alpha channel.

+
+ + ee719805 + WICBitmapUsePremultipliedAlpha + WICBitmapUsePremultipliedAlpha +
+ + +

Ignore alpha channel.

+
+ + ee719805 + WICBitmapIgnoreAlpha + WICBitmapIgnoreAlpha +
+ + +

Specifies the desired cache usage.

+
+ +

The CreateBitmap of the interface does not support when the pixelFormat is a native pixel format provided by Windows Imaging Component (WIC).

+
+ + ee719806 + WICBitmapCreateCacheOption + WICBitmapCreateCacheOption +
+ + +

Do not cache the bitmap.

+
+ + ee719806 + WICBitmapNoCache + WICBitmapNoCache +
+ + +

Cache the bitmap when needed.

+
+ + ee719806 + WICBitmapCacheOnDemand + WICBitmapCacheOnDemand +
+ + +

Cache the bitmap at initialization.

+
+ + ee719806 + WICBitmapCacheOnLoad + WICBitmapCacheOnLoad +
+ + +

Specifies the capabilities of the decoder.

+
+ + ee719807 + WICBitmapDecoderCapabilities + WICBitmapDecoderCapabilities +
+ + +

Decoder recognizes the image was encoded with an encoder produced by the same vendor.

+
+ + ee719807 + WICBitmapDecoderCapabilitySameEncoder + WICBitmapDecoderCapabilitySameEncoder +
+ + +

Decoder can decode all the images within an image container.

+
+ + ee719807 + WICBitmapDecoderCapabilityCanDecodeAllImages + WICBitmapDecoderCapabilityCanDecodeAllImages +
+ + +

Decoder can decode some of the images within an image container.

+
+ + ee719807 + WICBitmapDecoderCapabilityCanDecodeSomeImages + WICBitmapDecoderCapabilityCanDecodeSomeImages +
+ + +

Decoder can enumerate the metadata blocks within a container format.

+
+ + ee719807 + WICBitmapDecoderCapabilityCanEnumerateMetadata + WICBitmapDecoderCapabilityCanEnumerateMetadata +
+ + +

Decoder can find and decode a thumbnail.

+
+ + ee719807 + WICBitmapDecoderCapabilityCanDecodeThumbnail + WICBitmapDecoderCapabilityCanDecodeThumbnail +
+ + + None. + + + None + None + + + +

Specifies the type of dither algorithm to apply when converting between image formats.

+
+ + ee719808 + WICBitmapDitherType + WICBitmapDitherType +
+ + +

A solid color algorithm without dither.

+
+ + ee719808 + WICBitmapDitherTypeNone + WICBitmapDitherTypeNone +
+ + +

A solid color algorithm without dither.

+
+ + ee719808 + WICBitmapDitherTypeSolid + WICBitmapDitherTypeSolid +
+ + +

A 4x4 ordered dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeOrdered4x4 + WICBitmapDitherTypeOrdered4x4 +
+ + +

An 8x8 ordered dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeOrdered8x8 + WICBitmapDitherTypeOrdered8x8 +
+ + +

A 16x16 ordered dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeOrdered16x16 + WICBitmapDitherTypeOrdered16x16 +
+ + +

A 4x4 spiral dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeSpiral4x4 + WICBitmapDitherTypeSpiral4x4 +
+ + +

An 8x8 spiral dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeSpiral8x8 + WICBitmapDitherTypeSpiral8x8 +
+ + +

A 4x4 dual spiral dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeDualSpiral4x4 + WICBitmapDitherTypeDualSpiral4x4 +
+ + +

An 8x8 dual spiral dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeDualSpiral8x8 + WICBitmapDitherTypeDualSpiral8x8 +
+ + +

An error diffusion algorithm.

+
+ + ee719808 + WICBitmapDitherTypeErrorDiffusion + WICBitmapDitherTypeErrorDiffusion +
+ + +

Specifies the cache options available for an encoder.

+
+ + ee719809 + WICBitmapEncoderCacheOption + WICBitmapEncoderCacheOption +
+ + +

The encoder is cached in memory. This option is not supported.

+
+ + ee719809 + WICBitmapEncoderCacheInMemory + WICBitmapEncoderCacheInMemory +
+ + +

The encoder is cached to a temporary file. This option is not supported.

+
+ + ee719809 + WICBitmapEncoderCacheTempFile + WICBitmapEncoderCacheTempFile +
+ + +

The encoder is not cached.

+
+ + ee719809 + WICBitmapEncoderNoCache + WICBitmapEncoderNoCache +
+ + +

Specifies the sampling or filtering mode to use when scaling an image.

+
+ + ee719810 + WICBitmapInterpolationMode + WICBitmapInterpolationMode +
+ + +

A nearest neighbor interpolation algorithm. Also known as nearest pixel or point interpolation.

The output pixel is assigned the value of the pixel that the point falls within. No other pixels are considered.

+
+ + ee719810 + WICBitmapInterpolationModeNearestNeighbor + WICBitmapInterpolationModeNearestNeighbor +
+ + +

A bilinear interpolation algorithm.

The output pixel values are computed as a weighted average of the nearest four pixels in a 2x2 grid.

+
+ + ee719810 + WICBitmapInterpolationModeLinear + WICBitmapInterpolationModeLinear +
+ + +

A bicubic interpolation algorithm.

Destination pixel values are computed as a weighted average of the nearest sixteen pixels in a 4x4 grid.

+
+ + ee719810 + WICBitmapInterpolationModeCubic + WICBitmapInterpolationModeCubic +
+ + +

A Fant resampling algorithm.

Destination pixel values are computed as a weighted average of the all the pixels that map to the new pixel.

+
+ + ee719810 + WICBitmapInterpolationModeFant + WICBitmapInterpolationModeFant +
+ + +

Specifies access to an .

+
+ + ee719811 + WICBitmapLockFlags + WICBitmapLockFlags +
+ + + No documentation. + + + WICBitmapLockRead + WICBitmapLockRead + + + + No documentation. + + + WICBitmapLockWrite + WICBitmapLockWrite + + + +

Specifies the type of palette used for an indexed image format.

+
+ + ee719812 + WICBitmapPaletteType + WICBitmapPaletteType +
+ + +

An arbitrary custom palette provided by caller.

+
+ + ee719812 + WICBitmapPaletteTypeCustom + WICBitmapPaletteTypeCustom +
+ + +

An optimal palette generated using a median-cut algorithm. Derived from the colors in an image.

+
+ + ee719812 + WICBitmapPaletteTypeMedianCut + WICBitmapPaletteTypeMedianCut +
+ + +

A black and white palette.

+
+ + ee719812 + WICBitmapPaletteTypeFixedBW + WICBitmapPaletteTypeFixedBW +
+ + +

A palette that has its 8-color on-off primaries and the 16 system colors added. With duplicates removed, 16 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone8 + WICBitmapPaletteTypeFixedHalftone8 +
+ + +

A palette that has 3 intensity levels of each primary: 27-color on-off primaries and the 16 system colors added. With duplicates removed, 35 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone27 + WICBitmapPaletteTypeFixedHalftone27 +
+ + +

A palette that has 4 intensity levels of each primary: 64-color on-off primaries and the 16 system colors added. With duplicates removed, 72 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone64 + WICBitmapPaletteTypeFixedHalftone64 +
+ + +

A palette that has 5 intensity levels of each primary: 125-color on-off primaries and the 16 system colors added. With duplicates removed, 133 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone125 + WICBitmapPaletteTypeFixedHalftone125 +
+ + +

A palette that has 6 intensity levels of each primary: 216-color on-off primaries and the 16 system colors added. With duplicates removed, 224 colors are available. This is the same as WICBitmapPaletteFixedHalftoneWeb.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone216 + WICBitmapPaletteTypeFixedHalftone216 +
+ + +

A palette that has 6 intensity levels of each primary: 216-color on-off primaries and the 16 system colors added. With duplicates removed, 224 colors are available. This is the same as .

+
+ + ee719812 + WICBitmapPaletteTypeFixedWebPalette + WICBitmapPaletteTypeFixedWebPalette +
+ + +

A palette that has its 252-color on-off primaries and the 16 system colors added. With duplicates removed, 256 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone252 + WICBitmapPaletteTypeFixedHalftone252 +
+ + +

A palette that has its 256-color on-off primaries and the 16 system colors added. With duplicates removed, 256 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone256 + WICBitmapPaletteTypeFixedHalftone256 +
+ + +

A palette that has 4 shades of gray.

+
+ + ee719812 + WICBitmapPaletteTypeFixedGray4 + WICBitmapPaletteTypeFixedGray4 +
+ + +

A palette that has 16 shades of gray.

+
+ + ee719812 + WICBitmapPaletteTypeFixedGray16 + WICBitmapPaletteTypeFixedGray16 +
+ + +

A palette that has 256 shades of gray.

+
+ + ee719812 + WICBitmapPaletteTypeFixedGray256 + WICBitmapPaletteTypeFixedGray256 +
+ + +

Specifies the flip and rotation transforms.

+
+ + ee719814 + WICBitmapTransformOptions + WICBitmapTransformOptions +
+ + +

A rotation of 0 degrees.

+
+ + ee719814 + WICBitmapTransformRotate0 + WICBitmapTransformRotate0 +
+ + +

A clockwise rotation of 90 degrees.

+
+ + ee719814 + WICBitmapTransformRotate90 + WICBitmapTransformRotate90 +
+ + +

A clockwise rotation of 180 degrees.

+
+ + ee719814 + WICBitmapTransformRotate180 + WICBitmapTransformRotate180 +
+ + +

A clockwise rotation of 270 degrees.

+
+ + ee719814 + WICBitmapTransformRotate270 + WICBitmapTransformRotate270 +
+ + +

A horizontal flip. Pixels are flipped around the vertical y-axis.

+
+ + ee719814 + WICBitmapTransformFlipHorizontal + WICBitmapTransformFlipHorizontal +
+ + +

A vertical flip. Pixels are flipped around the horizontal x-axis.

+
+ + ee719814 + WICBitmapTransformFlipVertical + WICBitmapTransformFlipVertical +
+ + +

Specifies the color context types.

+
+ + ee719815 + WICColorContextType + WICColorContextType +
+ + +

An uninitialized color context.

+
+ + ee719815 + WICColorContextUninitialized + WICColorContextUninitialized +
+ + +

A color context profile.

+
+ + ee719815 + WICColorContextProfile + WICColorContextProfile +
+ + +

An EXIF color space color context.

+
+ + ee719815 + WICColorContextExifColorSpace + WICColorContextExifColorSpace +
+ + +

Specifies component enumeration options.

+
+ + ee719816 + WICComponentEnumerateOptions + WICComponentEnumerateOptions +
+ + +

Enumerate signed components.

+
+ + ee719816 + WICComponentEnumerateDefault + WICComponentEnumerateDefault +
+ + +

Force a read of the registry when enumerating components.

+
+ + ee719816 + WICComponentEnumerateRefresh + WICComponentEnumerateRefresh +
+ + +

Enumerate disabled components.

+
+ + ee719816 + WICComponentEnumerateDisabled + WICComponentEnumerateDisabled +
+ + +

Enumerate unsigned components.

+
+ + ee719816 + WICComponentEnumerateUnsigned + WICComponentEnumerateUnsigned +
+ + +

Enumerate only built in components.

+
+ + ee719816 + WICComponentEnumerateBuiltInOnly + WICComponentEnumerateBuiltInOnly +
+ + +

Specifies the component signing status.

+
+ + ee719817 + WICComponentSigning + WICComponentSigning +
+ + +

A signed component.

+
+ + ee719817 + WICComponentSigned + WICComponentSigned +
+ + +

An unsigned component

+
+ + ee719817 + WICComponentUnsigned + WICComponentUnsigned +
+ + +

A component is safe.

Components that do not have a binary component to sign, such as a pixel format, should return this value.

+
+ + ee719817 + WICComponentSafe + WICComponentSafe +
+ + +

A component has been disabled.

+
+ + ee719817 + WICComponentDisabled + WICComponentDisabled +
+ + +

Specifies the type of Windows Imaging Component (WIC) component.

+
+ + ee719818 + WICComponentType + WICComponentType +
+ + +

A WIC decoder.

+
+ + ee719818 + WICDecoder + WICDecoder +
+ + +

A WIC encoder.

+
+ + ee719818 + WICEncoder + WICEncoder +
+ + +

A WIC pixel converter.

+
+ + ee719818 + WICPixelFormatConverter + WICPixelFormatConverter +
+ + +

A WIC metadata reader.

+
+ + ee719818 + WICMetadataReader + WICMetadataReader +
+ + +

A WIC metadata writer.

+
+ + ee719818 + WICMetadataWriter + WICMetadataWriter +
+ + +

A WIC pixel format.

+
+ + ee719818 + WICPixelFormat + WICPixelFormat +
+ + +

All WIC components.

+
+ + ee719818 + WICAllComponents + WICAllComponents +
+ + +

Specifies decode options.

+
+ + ee719824 + WICDecodeOptions + WICDecodeOptions +
+ + +

Cache metadata when needed.

+
+ + ee719824 + WICDecodeMetadataCacheOnDemand + WICDecodeMetadataCacheOnDemand +
+ + +

Cache metadata when decoder is loaded.

+
+ + ee719824 + WICDecodeMetadataCacheOnLoad + WICDecodeMetadataCacheOnLoad +
+ + +

Specifies the application extension metadata properties for a Graphics Interchange Format (GIF) image.

+
+ + ee719826 + WICGifApplicationExtensionProperties + WICGifApplicationExtensionProperties +
+ + +

[VT_UI1 | VT_VECTOR] Indicates a string that identifies the application.

+
+ + ee719826 + WICGifApplicationExtensionApplication + WICGifApplicationExtensionApplication +
+ + +

[VT_UI1 | VT_VECTOR] Indicates data that is exposed by the application.

+
+ + ee719826 + WICGifApplicationExtensionData + WICGifApplicationExtensionData +
+ + +

Specifies the comment extension metadata properties for a Graphics Interchange Format (GIF) image.

+
+ + ee719827 + WICGifCommentExtensionProperties + WICGifCommentExtensionProperties +
+ + +

[VT_LPSTR] Indicates the comment text.

+
+ + ee719827 + WICGifCommentExtensionText + WICGifCommentExtensionText +
+ + +

Specifies the graphic control extension metadata properties that define the transitions between each frame animation for Graphics Interchange Format (GIF) images.

+
+ + ee719828 + WICGifGraphicControlExtensionProperties + WICGifGraphicControlExtensionProperties +
+ + +

[VT_UI1] Indicates the disposal requirements. 0 - no disposal, 1 - do not dispose, 2 - restore to background color, 3 - restore to previous.

+
+ + ee719828 + WICGifGraphicControlExtensionDisposal + WICGifGraphicControlExtensionDisposal +
+ + +

[VT_BOOL] Indicates the user input flag. TRUE if user input should advance to the next frame; otherwise, .

+
+ + ee719828 + WICGifGraphicControlExtensionUserInputFlag + WICGifGraphicControlExtensionUserInputFlag +
+ + +

[VT_BOOL] Indicates the transparency flag. TRUE if a transparent color in is in the color table for this frame; otherwise, .

+
+ + ee719828 + WICGifGraphicControlExtensionTransparencyFlag + WICGifGraphicControlExtensionTransparencyFlag +
+ + +

[VT_UI2] Indicates how long to display the next frame before advancing to the next frame, in units of 1/100th of a second.

+
+ + ee719828 + WICGifGraphicControlExtensionDelay + WICGifGraphicControlExtensionDelay +
+ + +

[VT_UI1] Indicates which color in the palette should be treated as transparent.

+
+ + ee719828 + WICGifGraphicControlExtensionTransparentColorIndex + WICGifGraphicControlExtensionTransparentColorIndex +
+ + +

Specifies the image descriptor metadata properties for Graphics Interchange Format (GIF) frames.

+
+ + ee719829 + WICGifImageDescriptorProperties + WICGifImageDescriptorProperties +
+ + +

[VT_UI2] Indicates the X offset at which to locate this frame within the logical screen.

+
+ + ee719829 + WICGifImageDescriptorLeft + WICGifImageDescriptorLeft +
+ + +

[VT_UI2] Indicates the Y offset at which to locate this frame within the logical screen.

+
+ + ee719829 + WICGifImageDescriptorTop + WICGifImageDescriptorTop +
+ + +

[VT_UI2] Indicates width of this frame, in pixels.

+
+ + ee719829 + WICGifImageDescriptorWidth + WICGifImageDescriptorWidth +
+ + +

[VT_UI2] Indicates height of this frame, in pixels.

+
+ + ee719829 + WICGifImageDescriptorHeight + WICGifImageDescriptorHeight +
+ + +

[VT_BOOL] Indicates the local color table flag. TRUE if global color table is present; otherwise, .

+
+ + ee719829 + WICGifImageDescriptorLocalColorTableFlag + WICGifImageDescriptorLocalColorTableFlag +
+ + +

[VT_BOOL] Indicates the interlace flag. TRUE if image is interlaced; otherwise, .

+
+ + ee719829 + WICGifImageDescriptorInterlaceFlag + WICGifImageDescriptorInterlaceFlag +
+ + +

[VT_BOOL] Indicates the sorted color table flag. TRUE if the color table is sorted from most frequently to least frequently used color; otherwise, .

+
+ + ee719829 + WICGifImageDescriptorSortFlag + WICGifImageDescriptorSortFlag +
+ + +

[VT_UI1] Indicates the value used to calculate the number of bytes contained in the global color table.

To calculate the actual size of the color table, raise 2 to the value of the field + 1.

+
+ + ee719829 + WICGifImageDescriptorLocalColorTableSize + WICGifImageDescriptorLocalColorTableSize +
+ + +

Specifies the logical screen descriptor properties for Graphics Interchange Format (GIF) metadata.

+
+ + ee719830 + WICGifLogicalScreenDescriptorProperties + WICGifLogicalScreenDescriptorProperties +
+ + +

[VT_UI1 | VT_VECTOR] Indicates the signature property.

+
+ + ee719830 + WICGifLogicalScreenSignature + WICGifLogicalScreenSignature +
+ + +

[VT_UI2] Indicates the width in pixels.

+
+ + ee719830 + WICGifLogicalScreenDescriptorWidth + WICGifLogicalScreenDescriptorWidth +
+ + +

[VT_UI2] Indicates the height in pixels.

+
+ + ee719830 + WICGifLogicalScreenDescriptorHeight + WICGifLogicalScreenDescriptorHeight +
+ + +

[VT_BOOL] Indicates the global color table flag. TRUE if a global color table is present; otherwise, .

+
+ + ee719830 + WICGifLogicalScreenDescriptorGlobalColorTableFlag + WICGifLogicalScreenDescriptorGlobalColorTableFlag +
+ + +

[VT_UI1] Indicates the color resolution in bits per pixel.

+
+ + ee719830 + WICGifLogicalScreenDescriptorColorResolution + WICGifLogicalScreenDescriptorColorResolution +
+ + +

[VT_BOOL] Indicates the sorted color table flag. TRUE if the table is sorted; otherwise, .

+
+ + ee719830 + WICGifLogicalScreenDescriptorSortFlag + WICGifLogicalScreenDescriptorSortFlag +
+ + +

[VT_UI1] Indicates the value used to calculate the number of bytes contained in the global color table.

To calculate the actual size of the color table, raise 2 to the value of the field + 1.

+
+ + ee719830 + WICGifLogicalScreenDescriptorGlobalColorTableSize + WICGifLogicalScreenDescriptorGlobalColorTableSize +
+ + +

[VT_UI1] Indicates the index within the color table to use for the background (pixels not defined in the image).

+
+ + ee719830 + WICGifLogicalScreenDescriptorBackgroundColorIndex + WICGifLogicalScreenDescriptorBackgroundColorIndex +
+ + +

[VT_UI1] Indicates the factor used to compute an approximation of the aspect ratio.

+
+ + ee719830 + WICGifLogicalScreenDescriptorPixelAspectRatio + WICGifLogicalScreenDescriptorPixelAspectRatio +
+ + +

Specifies the JPEG chrominance table property.

+
+ + ee719831 + WICJpegChrominanceProperties + WICJpegChrominanceProperties +
+ + +

[VT_UI2|VT_VECTOR] Indicates the metadata property is a chrominance table.

+
+ + ee719831 + WICJpegChrominanceTable + WICJpegChrominanceTable +
+ + +

Specifies the JPEG comment properties.

+
+ + ee719832 + WICJpegCommentProperties + WICJpegCommentProperties +
+ + +

Indicates the metadata property is comment text.

+
+ + ee719832 + WICJpegCommentText + WICJpegCommentText +
+ + +

Specifies the JPEG luminance table property.

+
+ + ee719833 + WICJpegLuminanceProperties + WICJpegLuminanceProperties +
+ + +

[VT_UI2|VT_VECTOR] Indicates the metadata property is a luminance table.

+
+ + ee719833 + WICJpegLuminanceTable + WICJpegLuminanceTable +
+ + +

Specifies the JPEG YCrCB subsampling options.

+
+ +

The native JPEG encoder uses .

+
+ + ee719834 + WICJpegYCrCbSubsamplingOption + WICJpegYCrCbSubsamplingOption +
+ + +

The default subsampling option.

+
+ + ee719834 + WICJpegYCrCbSubsamplingDefault + WICJpegYCrCbSubsamplingDefault +
+ + +

Subsampling option that uses both horizontal and vertical decimation.

+
+ + ee719834 + WICJpegYCrCbSubsampling420 + WICJpegYCrCbSubsampling420 +
+ + +

Subsampling option that uses horizontal decimation .

+
+ + ee719834 + WICJpegYCrCbSubsampling422 + WICJpegYCrCbSubsampling422 +
+ + +

Subsampling option that uses no decimation.

+
+ + ee719834 + WICJpegYCrCbSubsampling444 + WICJpegYCrCbSubsampling444 +
+ + +

Specifies named white balances for raw images.

+
+ + ee719842 + WICNamedWhitePoint + WICNamedWhitePoint +
+ + +

The default white balance.

+
+ + ee719842 + WICWhitePointDefault + WICWhitePointDefault +
+ + +

A daylight white balance.

+
+ + ee719842 + WICWhitePointDaylight + WICWhitePointDaylight +
+ + +

A cloudy white balance.

+
+ + ee719842 + WICWhitePointCloudy + WICWhitePointCloudy +
+ + +

A shade white balance.

+
+ + ee719842 + WICWhitePointShade + WICWhitePointShade +
+ + +

A tungsten white balance.

+
+ + ee719842 + WICWhitePointTungsten + WICWhitePointTungsten +
+ + +

A fluorescent white balance.

+
+ + ee719842 + WICWhitePointFluorescent + WICWhitePointFluorescent +
+ + +

Daylight white balance.

+
+ + ee719842 + WICWhitePointFlash + WICWhitePointFlash +
+ + +

A flash white balance.

+
+ + ee719842 + WICWhitePointUnderwater + WICWhitePointUnderwater +
+ + +

A custom white balance. This is typically used when using a picture (grey-card) as white balance.

+
+ + ee719842 + WICWhitePointCustom + WICWhitePointCustom +
+ + +

An automatic balance.

+
+ + ee719842 + WICWhitePointAutoWhiteBalance + WICWhitePointAutoWhiteBalance +
+ + +

An "as shot" white balance.

+
+ + ee719842 + WICWhitePointAsShot + WICWhitePointAsShot +
+ + + No documentation. + + + ee719844 + WICPixelFormatNumericRepresentation + WICPixelFormatNumericRepresentation + + + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationUnspecified + WICPixelFormatNumericRepresentationUnspecified +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationIndexed + WICPixelFormatNumericRepresentationIndexed +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationUnsignedInteger + WICPixelFormatNumericRepresentationUnsignedInteger +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationSignedInteger + WICPixelFormatNumericRepresentationSignedInteger +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationFixed + WICPixelFormatNumericRepresentationFixed +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationFloat + WICPixelFormatNumericRepresentationFloat +
+ + +

Specifies the Portable Network Graphics (PNG) background (bKGD) chunk metadata properties.

+
+ + ee719845 + WICPngBkgdProperties + WICPngBkgdProperties +
+ + +

Indicates the background color. There are three possible types, depending on the image's pixel format.

VT_UI1

Specifies the index of the background color in an image with an indexed pixel format.

VT_UI2

Specifies the background color in a grayscale image.

VT_VECTOR|VT_UI2

Specifies the background color in an RGB image as three USHORT values: {0xRRRR, 0xGGGG, 0xBBBB}.

+
+ + ee719845 + WICPngBkgdBackgroundColor + WICPngBkgdBackgroundColor +
+ + +

Specifies the Portable Network Graphics (PNG) cHRM chunk metadata properties for CIE XYZ chromaticity.

+
+ + ee719846 + WICPngChrmProperties + WICPngChrmProperties +
+ + +

[VT_UI4] Indicates the whitepoint x value ratio.

+
+ + ee719846 + WICPngChrmWhitePointX + WICPngChrmWhitePointX +
+ + +

[VT_UI4] Indicates the whitepoint y value ratio.

+
+ + ee719846 + WICPngChrmWhitePointY + WICPngChrmWhitePointY +
+ + +

[VT_UI4] Indicates the red x value ratio.

+
+ + ee719846 + WICPngChrmRedX + WICPngChrmRedX +
+ + +

[VT_UI4] Indicates the red y value ratio.

+
+ + ee719846 + WICPngChrmRedY + WICPngChrmRedY +
+ + +

[VT_UI4] Indicates the green x value ratio.

+
+ + ee719846 + WICPngChrmGreenX + WICPngChrmGreenX +
+ + +

[VT_UI4] Indicates the green y value ratio.

+
+ + ee719846 + WICPngChrmGreenY + WICPngChrmGreenY +
+ + +

[VT_UI4] Indicates the blue x value ratio.

+
+ + ee719846 + WICPngChrmBlueX + WICPngChrmBlueX +
+ + +

[VT_UI4] Indicates the blue y value ratio.

+
+ + ee719846 + WICPngChrmBlueY + WICPngChrmBlueY +
+ + +

Specifies the Portable Network Graphics (PNG) filters available for compression optimization.

+
+ + ee719847 + WICPngFilterOption + WICPngFilterOption +
+ + +

Indicates an unspecified PNG filter. This enables WIC to algorithmically choose the best filtering option for the image.

+
+ + ee719847 + WICPngFilterUnspecified + WICPngFilterUnspecified +
+ + +

Indicates no PNG filter.

+
+ + ee719847 + WICPngFilterNone + WICPngFilterNone +
+ + +

Indicates a PNG sub filter.

+
+ + ee719847 + WICPngFilterSub + WICPngFilterSub +
+ + +

Indicates a PNG up filter.

+
+ + ee719847 + WICPngFilterUp + WICPngFilterUp +
+ + +

Indicates a PNG average filter.

+
+ + ee719847 + WICPngFilterAverage + WICPngFilterAverage +
+ + +

Indicates a PNG paeth filter.

+
+ + ee719847 + WICPngFilterPaeth + WICPngFilterPaeth +
+ + +

Indicates a PNG adaptive filter. This enables WIC to choose the best filtering mode on a per-scanline basis.

+
+ + ee719847 + WICPngFilterAdaptive + WICPngFilterAdaptive +
+ + +

Specifies the Portable Network Graphics (PNG) gAMA chunk metadata properties.

+
+ + ee719848 + WICPngGamaProperties + WICPngGamaProperties +
+ + +

[VT_UI4] Indicates the gamma value.

+
+ + ee719848 + WICPngGamaGamma + WICPngGamaGamma +
+ + +

Specifies the Portable Network Graphics (PNG) hIST chunk metadata properties.

+
+ + ee719849 + WICPngHistProperties + WICPngHistProperties +
+ + +

[VT_VECTOR | VT_UI2] Indicates the approximate usage frequency of each color in the color palette.

+
+ + ee719849 + WICPngHistFrequencies + WICPngHistFrequencies +
+ + +

Specifies the Portable Network Graphics (PNG) iCCP chunk metadata properties.

+
+ + ee719850 + WICPngIccpProperties + WICPngIccpProperties +
+ + +

[VT_LPSTR] Indicates the International Color Consortium (ICC) profile name.

+
+ + ee719850 + WICPngIccpProfileName + WICPngIccpProfileName +
+ + +

[VT_VECTOR | VT_UI1] Indicates the embedded ICC profile.

+
+ + ee719850 + WICPngIccpProfileData + WICPngIccpProfileData +
+ + +

Specifies the Portable Network Graphics (PNG) iTXT chunk metadata properties.

+
+ + ee719851 + WICPngItxtProperties + WICPngItxtProperties +
+ + +

[VT_LPSTR] Indicates the keywords in the iTXT metadata chunk.

+
+ + ee719851 + WICPngItxtKeyword + WICPngItxtKeyword +
+ + +

[VT_UI1] Indicates whether the text in the iTXT chunk is compressed. 1 if the text is compressed; otherwise, 0.

+
+ + ee719851 + WICPngItxtCompressionFlag + WICPngItxtCompressionFlag +
+ + +

[VT_LPSTR] Indicates the human language used by the translated keyword and the text.

+
+ + ee719851 + WICPngItxtLanguageTag + WICPngItxtLanguageTag +
+ + +

[VT_LPWSTR] Indicates a translation of the keyword into the language indicated by the language tag.

+
+ + ee719851 + WICPngItxtTranslatedKeyword + WICPngItxtTranslatedKeyword +
+ + +

[VT_LPWSTR] Indicates additional text in the iTXT metadata chunk.

+
+ + ee719851 + WICPngItxtText + WICPngItxtText +
+ + +

Specifies the Portable Network Graphics (PNG) sRGB chunk metadata properties.

+
+ + ee719852 + WICPngSrgbProperties + WICPngSrgbProperties +
+ + +

[VT_UI1] Indicates the rendering intent for an sRGB color space image. The rendering intents have the following meaning.

ValueMeaning
0Perceptual
1Relative colorimetric
2Saturation
3Absolute colorimetric

?

+
+ + ee719852 + WICPngSrgbRenderingIntent + WICPngSrgbRenderingIntent +
+ + +

Specifies the Portable Network Graphics (PNG) tIME chunk metadata properties.

+
+ + ee719853 + WICPngTimeProperties + WICPngTimeProperties +
+ + +

[VT_UI2] Indicates the year of the last modification.

+
+ + ee719853 + WICPngTimeYear + WICPngTimeYear +
+ + +

[VT_UI1] Indicates the month of the last modification.

+
+ + ee719853 + WICPngTimeMonth + WICPngTimeMonth +
+ + +

[VT_UI1] Indicates day of the last modification.

+
+ + ee719853 + WICPngTimeDay + WICPngTimeDay +
+ + +

[VT_UI1] Indicates the hour of the last modification.

+
+ + ee719853 + WICPngTimeHour + WICPngTimeHour +
+ + +

[VT_UI1] Indicates the minute of the last modification.

+
+ + ee719853 + WICPngTimeMinute + WICPngTimeMinute +
+ + +

[VT_UI1] Indicates the second of the last modification.

+
+ + ee719853 + WICPngTimeSecond + WICPngTimeSecond +
+ + +

Specifies when the progress notification callback should be called.

+
+ + ee719854 + WICProgressNotification + WICProgressNotification +
+ + +

The callback should be called when codec operations begin.

+
+ + ee719854 + WICProgressNotificationBegin + WICProgressNotificationBegin +
+ + +

The callback should be called when codec operations end.

+
+ + ee719854 + WICProgressNotificationEnd + WICProgressNotificationEnd +
+ + +

The callback should be called frequently to report status.

+
+ + ee719854 + WICProgressNotificationFrequent + WICProgressNotificationFrequent +
+ + +

The callback should be called on all available progress notifications.

+
+ + ee719854 + WICProgressNotificationAll + WICProgressNotificationAll +
+ + +

Specifies the progress operations to receive notifications for.

+
+ + ee719855 + WICProgressOperation + WICProgressOperation +
+ + +

Receive copy pixel operation.

+
+ + ee719855 + WICProgressOperationCopyPixels + WICProgressOperationCopyPixels +
+ + +

Receive write pixel operation.

+
+ + ee719855 + WICProgressOperationWritePixels + WICProgressOperationWritePixels +
+ + +

Receive all progress operations available.

+
+ + ee719855 + WICProgressOperationAll + WICProgressOperationAll +
+ + +

Specifies the capability support of a raw image.

+
+ + ee719856 + WICRawCapabilities + WICRawCapabilities +
+ + +

The capability is not supported.

+
+ + ee719856 + WICRawCapabilityNotSupported + WICRawCapabilityNotSupported +
+ + +

The capability supports only get operations.

+
+ + ee719856 + WICRawCapabilityGetSupported + WICRawCapabilityGetSupported +
+ + +

The capability supports get and set operations.

+
+ + ee719856 + WICRawCapabilityFullySupported + WICRawCapabilityFullySupported +
+ + +

Specifies the parameter set used by a raw codec.

+
+ + ee719858 + WICRawParameterSet + WICRawParameterSet +
+ + +

An as shot parameter set.

+
+ + ee719858 + WICAsShotParameterSet + WICAsShotParameterSet +
+ + +

A user adjusted parameter set.

+
+ + ee719858 + WICUserAdjustedParameterSet + WICUserAdjustedParameterSet +
+ + +

A codec adjusted parameter set.

+
+ + ee719858 + WICAutoAdjustedParameterSet + WICAutoAdjustedParameterSet +
+ + +

Specifies the render intent of the next CopyPixels call.

+
+ + ee719859 + WICRawRenderMode + WICRawRenderMode +
+ + + No documentation. + + + WICRawRenderModeDraft + WICRawRenderModeDraft + + + + No documentation. + + + WICRawRenderModeNormal + WICRawRenderModeNormal + + + + No documentation. + + + WICRawRenderModeBestQuality + WICRawRenderModeBestQuality + + + +

Specifies the rotation capabilities of the codec.

+
+ + ee719860 + WICRawRotationCapabilities + WICRawRotationCapabilities +
+ + +

Rotation is not supported.

+
+ + ee719860 + WICRawRotationCapabilityNotSupported + WICRawRotationCapabilityNotSupported +
+ + +

Set operations for rotation is not supported.

+
+ + ee719860 + WICRawRotationCapabilityGetSupported + WICRawRotationCapabilityGetSupported +
+ + +

90 degree rotations are supported.

+
+ + ee719860 + WICRawRotationCapabilityNinetyDegreesSupported + WICRawRotationCapabilityNinetyDegreesSupported +
+ + +

All rotation angles are supported.

+
+ + ee719860 + WICRawRotationCapabilityFullySupported + WICRawRotationCapabilityFullySupported +
+ + +

Specifies the access level of a Windows Graphics Device Interface (GDI) section.

+
+ + ee719864 + WICSectionAccessLevel + WICSectionAccessLevel +
+ + +

Indicates a read only access level.

+
+ + ee719864 + WICSectionAccessLevelRead + WICSectionAccessLevelRead +
+ + +

Indicates a read/write access level.

+
+ + ee719864 + WICSectionAccessLevelReadWrite + WICSectionAccessLevelReadWrite +
+ + +

Specifies the Tagged Image File Format (TIFF) compression options.

+
+ + ee719867 + WICTiffCompressionOption + WICTiffCompressionOption +
+ + +

Indicates a suitable compression algorithm based on the image and pixel format.

+
+ + ee719867 + WICTiffCompressionDontCare + WICTiffCompressionDontCare +
+ + +

Indicates no compression.

+
+ + ee719867 + WICTiffCompressionNone + WICTiffCompressionNone +
+ + +

Indicates a CCITT3 compression algorithm. This algorithm is only valid for 1bpp pixel formats.

+
+ + ee719867 + WICTiffCompressionCCITT3 + WICTiffCompressionCCITT3 +
+ + +

Indicates a CCITT4 compression algorithm. This algorithm is only valid for 1bpp pixel formats.

+
+ + ee719867 + WICTiffCompressionCCITT4 + WICTiffCompressionCCITT4 +
+ + +

Indicates a LZW compression algorithm.

+
+ + ee719867 + WICTiffCompressionLZW + WICTiffCompressionLZW +
+ + +

Indicates a RLE compression algorithm. This algorithm is only valid for 1bpp pixel formats.

+
+ + ee719867 + WICTiffCompressionRLE + WICTiffCompressionRLE +
+ + +

Indicates a ZIP compression algorithm.

+
+ + ee719867 + WICTiffCompressionZIP + WICTiffCompressionZIP +
+ + +

Indicates an LZWH differencing algorithm.

+
+ + ee719867 + WICTiffCompressionLZWHDifferencing + WICTiffCompressionLZWHDifferencing +
+ + + Functions + + + + + Constant Gif. + CLSID_WICGifDecoder + + + Constant Jpeg. + CLSID_WICJpegDecoder + + + Constant Png. + CLSID_WICPngDecoder + + + Constant Tiff. + CLSID_WICTiffDecoder + + + Constant Wmp. + CLSID_WICWmpDecoder + + + Constant Bmp. + CLSID_WICBmpDecoder + + + Constant Ico. + CLSID_WICIcoDecoder + + + + Functions + + + + + Constant Wmp. + CLSID_WICWmpEncoder + + + Constant Gif. + CLSID_WICGifEncoder + + + Constant Jpeg. + CLSID_WICJpegEncoder + + + Constant Png. + CLSID_WICPngEncoder + + + Constant Bmp. + CLSID_WICBmpEncoder + + + Constant Tiff. + CLSID_WICTiffEncoder + + + + Functions + + + + + Constant Gif. + GUID_ContainerFormatGif + + + Constant Ico. + GUID_ContainerFormatIco + + + Constant Jpeg. + GUID_ContainerFormatJpeg + + + Constant Wmp. + GUID_ContainerFormatWmp + + + Constant Tiff. + GUID_ContainerFormatTiff + + + Constant Png. + GUID_ContainerFormatPng + + + Constant Bmp. + GUID_ContainerFormatBmp + + + + Functions + + + + + Constant Format32bppBGR101010. + GUID_WICPixelFormat32bppBGR101010 + + + Constant Format72bpp8ChannelsAlpha. + GUID_WICPixelFormat72bpp8ChannelsAlpha + + + Constant Format2bppIndexed. + GUID_WICPixelFormat2bppIndexed + + + Constant Format32bppGrayFixedPoint. + GUID_WICPixelFormat32bppGrayFixedPoint + + + Constant Format1bppIndexed. + GUID_WICPixelFormat1bppIndexed + + + Constant Format64bpp8Channels. + GUID_WICPixelFormat64bpp8Channels + + + Constant Format16bppBGR555. + GUID_WICPixelFormat16bppBGR555 + + + Constant Format16bppBGR565. + GUID_WICPixelFormat16bppBGR565 + + + Constant Format32bppRGBA1010102XR. + GUID_WICPixelFormat32bppRGBA1010102XR + + + Constant Format112bpp7Channels. + GUID_WICPixelFormat112bpp7Channels + + + Constant Format128bppRGBFloat. + GUID_WICPixelFormat128bppRGBFloat + + + Constant Format48bppRGBFixedPoint. + GUID_WICPixelFormat48bppRGBFixedPoint + + + Constant FormatDontCare. + GUID_WICPixelFormatDontCare + + + Constant Format128bpp7ChannelsAlpha. + GUID_WICPixelFormat128bpp7ChannelsAlpha + + + Constant Format48bppBGRFixedPoint. + GUID_WICPixelFormat48bppBGRFixedPoint + + + Constant Format24bppRGB. + GUID_WICPixelFormat24bppRGB + + + Constant Format24bpp3Channels. + GUID_WICPixelFormat24bpp3Channels + + + Constant Format32bppBGR. + GUID_WICPixelFormat32bppBGR + + + Constant Format48bppRGBHalf. + GUID_WICPixelFormat48bppRGBHalf + + + Constant Format64bpp3ChannelsAlpha. + GUID_WICPixelFormat64bpp3ChannelsAlpha + + + Constant Format64bppBGRA. + GUID_WICPixelFormat64bppBGRA + + + Constant Format96bpp6Channels. + GUID_WICPixelFormat96bpp6Channels + + + Constant FormatBlackWhite. + GUID_WICPixelFormatBlackWhite + + + Constant Format32bppPBGRA. + GUID_WICPixelFormat32bppPBGRA + + + Constant Format96bpp5ChannelsAlpha. + GUID_WICPixelFormat96bpp5ChannelsAlpha + + + Constant Format80bppCMYKAlpha. + GUID_WICPixelFormat80bppCMYKAlpha + + + Constant Format128bpp8Channels. + GUID_WICPixelFormat128bpp8Channels + + + Constant Format64bppRGBAFixedPoint. + GUID_WICPixelFormat64bppRGBAFixedPoint + + + Constant Format144bpp8ChannelsAlpha. + GUID_WICPixelFormat144bpp8ChannelsAlpha + + + Constant Format112bpp6ChannelsAlpha. + GUID_WICPixelFormat112bpp6ChannelsAlpha + + + Constant Format16bppGrayHalf. + GUID_WICPixelFormat16bppGrayHalf + + + Constant Format48bpp6Channels. + GUID_WICPixelFormat48bpp6Channels + + + Constant Format64bpp7ChannelsAlpha. + GUID_WICPixelFormat64bpp7ChannelsAlpha + + + Constant Format128bppRGBAFixedPoint. + GUID_WICPixelFormat128bppRGBAFixedPoint + + + Constant Format8bppIndexed. + GUID_WICPixelFormat8bppIndexed + + + Constant Format16bppGrayFixedPoint. + GUID_WICPixelFormat16bppGrayFixedPoint + + + Constant Format48bppRGB. + GUID_WICPixelFormat48bppRGB + + + Constant Format32bpp4Channels. + GUID_WICPixelFormat32bpp4Channels + + + Constant Format32bpp3ChannelsAlpha. + GUID_WICPixelFormat32bpp3ChannelsAlpha + + + Constant Format64bppCMYK. + GUID_WICPixelFormat64bppCMYK + + + Constant Format4bppIndexed. + GUID_WICPixelFormat4bppIndexed + + + Constant Format40bpp4ChannelsAlpha. + GUID_WICPixelFormat40bpp4ChannelsAlpha + + + Constant Format64bppRGBFixedPoint. + GUID_WICPixelFormat64bppRGBFixedPoint + + + Constant Format64bppPBGRA. + GUID_WICPixelFormat64bppPBGRA + + + Constant Format16bppGray. + GUID_WICPixelFormat16bppGray + + + Constant Format40bppCMYKAlpha. + GUID_WICPixelFormat40bppCMYKAlpha + + + Constant Format32bppBGRA. + GUID_WICPixelFormat32bppBGRA + + + Constant Format80bpp4ChannelsAlpha. + GUID_WICPixelFormat80bpp4ChannelsAlpha + + + Constant Format64bppRGBA. + GUID_WICPixelFormat64bppRGBA + + + Constant Format16bppBGRA5551. + GUID_WICPixelFormat16bppBGRA5551 + + + Constant Format64bppBGRAFixedPoint. + GUID_WICPixelFormat64bppBGRAFixedPoint + + + Constant Format32bppPRGBA. + GUID_WICPixelFormat32bppPRGBA + + + Constant Format96bppRGBFixedPoint. + GUID_WICPixelFormat96bppRGBFixedPoint + + + Constant Format32bppGrayFloat. + GUID_WICPixelFormat32bppGrayFloat + + + Constant Format48bpp3Channels. + GUID_WICPixelFormat48bpp3Channels + + + Constant Format80bpp5Channels. + GUID_WICPixelFormat80bpp5Channels + + + Constant Format56bpp7Channels. + GUID_WICPixelFormat56bpp7Channels + + + Constant Format128bppRGBFixedPoint. + GUID_WICPixelFormat128bppRGBFixedPoint + + + Constant Format64bpp4Channels. + GUID_WICPixelFormat64bpp4Channels + + + Constant Format40bpp5Channels. + GUID_WICPixelFormat40bpp5Channels + + + Constant Format8bppGray. + GUID_WICPixelFormat8bppGray + + + Constant Format32bppCMYK. + GUID_WICPixelFormat32bppCMYK + + + Constant Format24bppBGR. + GUID_WICPixelFormat24bppBGR + + + Constant Format32bppRGBA1010102. + GUID_WICPixelFormat32bppRGBA1010102 + + + Constant Format4bppGray. + GUID_WICPixelFormat4bppGray + + + Constant Format64bppPRGBA. + GUID_WICPixelFormat64bppPRGBA + + + Constant Format2bppGray. + GUID_WICPixelFormat2bppGray + + + Constant Format64bppRGBAHalf. + GUID_WICPixelFormat64bppRGBAHalf + + + Constant Format128bppRGBAFloat. + GUID_WICPixelFormat128bppRGBAFloat + + + Constant Format48bpp5ChannelsAlpha. + GUID_WICPixelFormat48bpp5ChannelsAlpha + + + Constant Format32bppRGBA. + GUID_WICPixelFormat32bppRGBA + + + Constant Format32bppRGBE. + GUID_WICPixelFormat32bppRGBE + + + Constant Format56bpp6ChannelsAlpha. + GUID_WICPixelFormat56bpp6ChannelsAlpha + + + Constant Format128bppPRGBAFloat. + GUID_WICPixelFormat128bppPRGBAFloat + + + Constant Format48bppBGR. + GUID_WICPixelFormat48bppBGR + + + Constant Format64bppRGBHalf. + GUID_WICPixelFormat64bppRGBHalf + + + Constant Format8bppAlpha. + GUID_WICPixelFormat8bppAlpha + + + + Gets the number of bits per pixel for a particular pixel format. + + The pixel format guid. + The number of bits per pixel. If the pixel format guid is invalid, returns 0 + + + + Gets the stride in bytes from a pixel format and a width.. + + The pixel format guid. + The width. + The number of bytes per row. + + + + Functions + + + + + Constant Badheader. + WINCODEC_ERR_BADHEADER + + + Constant UnexpectedMetadataType. + WINCODEC_ERR_UNEXPECTEDMETADATATYPE + + + Constant InvalidQueryCharacter. + WINCODEC_ERR_INVALIDQUERYCHARACTER + + + Constant InvalidParameter. + WINCODEC_ERR_INVALIDPARAMETER + + + Constant Valueoutofrange. + WINCODEC_ERR_VALUEOUTOFRANGE + + + Constant Codectoomanyscanlines. + WINCODEC_ERR_CODECTOOMANYSCANLINES + + + Constant Propertysize. + WINCODEC_ERR_PROPERTYSIZE + + + Constant OufOfMemory. + WINCODEC_ERR_OUTOFMEMORY + + + Constant Codecpresent. + WINCODEC_ERR_CODECPRESENT + + + Constant NotInitializeD. + WINCODEC_ERR_NOTINITIALIZED + + + Constant Alreadylocked. + WINCODEC_ERR_ALREADYLOCKED + + + Constant Valueoverflow. + WINCODEC_ERR_VALUEOVERFLOW + + + Constant Paletteunavailable. + WINCODEC_ERR_PALETTEUNAVAILABLE + + + Constant Badstreamdata. + WINCODEC_ERR_BADSTREAMDATA + + + Constant Componentinitializefailure. + WINCODEC_ERR_COMPONENTINITIALIZEFAILURE + + + Constant Aborted. + WINCODEC_ERR_ABORTED + + + Constant Imagesizeoutofrange. + WINCODEC_ERR_IMAGESIZEOUTOFRANGE + + + Constant UnsupportedPixelFormat. + WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT + + + Constant Componentnotfound. + WINCODEC_ERR_COMPONENTNOTFOUND + + + Constant InvalidRegistration. + WINCODEC_ERR_INVALIDREGISTRATION + + + Constant UnexpectedSize. + WINCODEC_ERR_UNEXPECTEDSIZE + + + Constant Internalerror. + WINCODEC_ERR_INTERNALERROR + + + Constant WrongState. + WINCODEC_ERR_WRONGSTATE + + + Constant Badmetadataheader. + WINCODEC_ERR_BADMETADATAHEADER + + + Constant NotImplemented. + WINCODEC_ERR_NOTIMPLEMENTED + + + Constant StreamWrite. + WINCODEC_ERR_STREAMWRITE + + + Constant StreamRead. + WINCODEC_ERR_STREAMREAD + + + Constant Requestonlyvalidatmetadataroot. + WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT + + + Constant SourceRectangleDoesnotmatchdimensions. + WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS + + + Constant StreamNotAvailable. + WINCODEC_ERR_STREAMNOTAVAILABLE + + + Constant InvalidQueryRequest. + WINCODEC_ERR_INVALIDQUERYREQUEST + + + Constant Base. + WINCODEC_ERR_BASE + + + Constant Unknownimageformat. + WINCODEC_ERR_UNKNOWNIMAGEFORMAT + + + Constant GenericError. + WINCODEC_ERR_GENERIC_ERROR + + + Constant InvalidProgressivelevel. + WINCODEC_ERR_INVALIDPROGRESSIVELEVEL + + + Constant Insufficientbuffer. + WINCODEC_ERR_INSUFFICIENTBUFFER + + + Constant UnsupportedVersion. + WINCODEC_ERR_UNSUPPORTEDVERSION + + + Constant FrameMissing. + WINCODEC_ERR_FRAMEMISSING + + + Constant Codecnothumbnail. + WINCODEC_ERR_CODECNOTHUMBNAIL + + + Constant TooMuchmetadata. + WINCODEC_ERR_TOOMUCHMETADATA + + + Constant Badimage. + WINCODEC_ERR_BADIMAGE + + + Constant Duplicatemetadatapresent. + WINCODEC_ERR_DUPLICATEMETADATAPRESENT + + + Constant Propertynotsupported. + WINCODEC_ERR_PROPERTYNOTSUPPORTED + + + Constant UnsupportedOperation. + WINCODEC_ERR_UNSUPPORTEDOPERATION + + + Constant Win32error. + WINCODEC_ERR_WIN32ERROR + + + Constant AccessDenied. + WINCODEC_ERR_ACCESSDENIED + + + Constant Propertyunexpectedtype. + WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE + + + Constant Propertynotfound. + WINCODEC_ERR_PROPERTYNOTFOUND + + + +

Defines methods that add the concept of writeability and static in-memory representations of bitmaps to .

+
+ +

inherits from and therefore also inherits the CopyPixels method. When pixels need to be moved to a new memory location, CopyPixels is often the most efficient.

Because of to the internal memory representation implied by the , in-place modification and processing using the Lock is more efficient than CopyPixels, usually reducing to a simple reference access directly into the memory owned by the bitmap rather than a as a copy. This is contrasted to procedural bitmaps which implement only CopyPixels because there is no internal memory representation and one would need to be created on demand to satisfy a call to Lock.

+
+ + ee719675 + IWICBitmap + IWICBitmap +
+ + +

Exposes methods that refers to a source from which pixels are retrieved, but cannot be written back to.

+
+ +

This interface provides a common way of accessing and linking together bitmaps, decoders, format converters, and scalers. Components that implement this interface can be connected together in a graph to pull imaging data through.

This interface defines only the notion of readability or being able to produce pixels. Modifying or writing to a bitmap is considered to be a specialization specific to bitmaps which have storage and is defined in the descendant interface .

+
+ + ee690171 + IWICBitmapSource + IWICBitmapSource +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the pixel width and height of the bitmap.

+
+

A reference that receives the pixel width of the bitmap.

+

A reference that receives the pixel height of the bitmap

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690185 + HRESULT IWICBitmapSource::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + IWICBitmapSource::GetSize +
+ + +

Retrieves the pixel format of the bitmap source..

+
+

Receives the pixel format the bitmap is stored in. For a list of available pixel formats, see the Native Pixel Formats topic.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The pixel format returned by this method is not necessarily the pixel format the image is stored as. The codec may perform a format conversion from the storage pixel format to an output pixel format.

+
+ + ee690181 + HRESULT IWICBitmapSource::GetPixelFormat([Out] GUID* pPixelFormat) + IWICBitmapSource::GetPixelFormat +
+ + +

Retrieves the sampling rate between pixels and physical world measurements.

+
+

A reference that receives the x-axis dpi resolution.

+

A reference that receives the y-axis dpi resolution.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Some formats, such as GIF and ICO, do not have full DPI support. For GIF, this method calculates the DPI values from the aspect ratio, using a base DPI of (96.0, 96.0). The ICO format does not support DPI at all, and the method always returns (96.0,96.0) for ICO images.

Additionally, WIC itself does not transform images based on the DPI values in an image. It is up to the caller to transform an image based on the resolution returned.

+
+ + ee690183 + HRESULT IWICBitmapSource::GetResolution([Out] double* pDpiX,[Out] double* pDpiY) + IWICBitmapSource::GetResolution +
+ + +

Retrieves the color table for indexed pixel formats.

+
+

An . A palette can be created using the CreatePalette method.

+

Returns one of the following values.

Return codeDescription

The palette was unavailable.

The palette was successfully copied.

?

+ +

If the is an , the function may return the image's global palette if a frame-level palette is not available. The global palette may also be retrieved using the CopyPalette method.

+
+ + ee690177 + HRESULT IWICBitmapSource::CopyPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmapSource::CopyPalette +
+ + +

Instructs the object to produce pixels.

+
+

The rectangle to copy. A null value specifies the entire bitmap.

+

The stride of the bitmap

+

The size of the buffer.

+

A reference to the buffer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ + ee690179 + HRESULT IWICBitmapSource::CopyPixels([In] const void* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+

The rectangle to copy. A null value specifies the entire bitmap.

+

The stride of the bitmap

+

A reference to the buffer.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+

The stride of the bitmap

+

A reference to the buffer.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+

The stride of the bitmap

+

A reference to the buffer.

+ Size of the buffer in bytes. + +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+

The rectangle to copy. A null value specifies the entire bitmap.

+ The destination array. The size of the array must be sizeof(pixel) * rectangle.Width * rectangle.Height +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+ The destination array. The size of the array must be sizeof(pixel) * Width * Height +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Retrieves the pixel format of the bitmap source..

+
+ +

The pixel format returned by this method is not necessarily the pixel format the image is stored as. The codec may perform a format conversion from the storage pixel format to an output pixel format.

+
+ + ee690181 + GetPixelFormat + GetPixelFormat + HRESULT IWICBitmapSource::GetPixelFormat([Out] GUID* pPixelFormat) +
+ + +

Retrieves the pixel width and height of the bitmap.

+
+ HRESULT IWICBitmapSource::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + ee690185 + HRESULT IWICBitmapSource::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + IWICBitmapSource::GetSize +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Provides access to a rectangular area of the bitmap.

+
+

The rectangle to be accessed.

+

The access mode you wish to obtain for the lock. This is a bitwise combination of for read, write, or read and write access.

ValueMeaning

The read access lock.

The write access lock.

?

+

A reference that receives the locked memory location.

+ +

Locks are exclusive for writing but can be shared for reading. You cannot call CopyPixels while the is locked for writing. Doing so will return an error, since locks are exclusive.

+
+ + ee690187 + HRESULT IWICBitmap::Lock([In] const void* prcLock,[In] WICBitmapLockFlags flags,[Out] IWICBitmapLock** ppILock) + IWICBitmap::Lock +
+ + +

Provides access for palette modifications.

+
+

The palette to use for conversion.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690189 + HRESULT IWICBitmap::SetPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmap::SetPalette +
+ + +

Changes the physical resolution of the image.

+
+

The horizontal resolution.

+

The vertical resolution.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method has no effect on the actual pixels or samples stored in the bitmap. Instead the interpretation of the sampling rate is modified. This means that a 96 DPI image which is 96 pixels wide is one inch. If the physical resolution is modified to 48 DPI, then the bitmap is considered to be 2 inches wide but has the same number of pixels. If the resolution is less than REAL_EPSILON (1.192092896e-07F) the error code is returned.

+
+ + ee690191 + HRESULT IWICBitmap::SetResolution([In] double dpiX,[In] double dpiY) + IWICBitmap::SetResolution +
+ + + Initializes a new instance of the class. + + The factory. + The width. + The height. + The pixel format. for a list of valid formats. + The option. + ee690282 + HRESULT IWICImagingFactory::CreateBitmap([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmap + + + + Initializes a new instance of the class from a memory location using . + + The factory. + The width. + The height. + The pixel format. + The data rectangle. + Size of the buffer in . If == 0, calculate the size automatically based on the height and row pitch. + ee690291 + HRESULT IWICImagingFactory::CreateBitmapFromMemory([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromMemory + + + + Initializes a new instance of the class from a + + The factory. + The bitmap source ref. + The option. + ee690293 + HRESULT IWICImagingFactory::CreateBitmapFromSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromSource + + + + Initializes a new instance of the class from a . + + The factory. + The bitmap source. + The rectangle. + ee690294 + HRESULT IWICImagingFactory::CreateBitmapFromSourceRect([In, Optional] IWICBitmapSource* pIBitmapSource,[In] unsigned int x,[In] unsigned int y,[In] unsigned int width,[In] unsigned int height,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromSourceRect + + + + Initializes a new instance of the class from an array of pixel data. + + The factory. + The width. + The height. + The pixel format. + The pixel data. + Stride of a row of pixels (number of bytes per row). By default the stride is == 0, and calculated by taking the sizeof(T) * width. + ee690291 + HRESULT IWICImagingFactory::CreateBitmapFromMemory([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromMemory + + + +

Provides access to a rectangular area of the bitmap.

+
+

The access mode you wish to obtain for the lock. This is a bitwise combination of for read, write, or read and write access.

ValueMeaning

The read access lock.

The write access lock.

?

+

A reference that receives the locked memory location.

+ +

Locks are exclusive for writing but can be shared for reading. You cannot call CopyPixels while the is locked for writing. Doing so will return an error, since locks are exclusive.

+
+ ee690187 + HRESULT IWICBitmap::Lock([In, Optional] const WICRect* prcLock,[In] WICBitmapLockFlags flags,[Out] IWICBitmapLock** ppILock) + IWICBitmap::Lock +
+ + +

Provides access to a rectangular area of the bitmap.

+
+

The rectangle to be accessed.

+

The access mode you wish to obtain for the lock. This is a bitwise combination of for read, write, or read and write access.

ValueMeaning

The read access lock.

The write access lock.

?

+

A reference that receives the locked memory location.

+ +

Locks are exclusive for writing but can be shared for reading. You cannot call CopyPixels while the is locked for writing. Doing so will return an error, since locks are exclusive.

+
+ ee690187 + HRESULT IWICBitmap::Lock([In, Optional] const WICRect* prcLock,[In] WICBitmapLockFlags flags,[Out] IWICBitmapLock** ppILock) + IWICBitmap::Lock +
+ + + Initializes a new instance of the class from a . + + The factory. + The icon. + HRESULT IWICImagingFactory::CreateBitmapFromHICON([In] HICON hIcon,[Out, Fast] IWICBitmap** ppIBitmap) + + + + Initializes a new instance of the class from a . + + The factory. + The bitmap. + The options. + HRESULT IWICImagingFactory::CreateBitmapFromHBITMAP([In] HBITMAP hBitmap,[In, Optional] HPALETTE hPalette,[In] WICBitmapAlphaChannelOption options,[Out, Fast] IWICBitmap** ppIBitmap) + + + +

Provides access for palette modifications.

+
+ + ee690189 + SetPalette + SetPalette + HRESULT IWICBitmap::SetPalette([In, Optional] IWICPalette* pIPalette) +
+ + +

Exposes methods that produce a clipped version of the input bitmap for a specified rectangular region of interest.

+
+ + ee719676 + IWICBitmapClipper + IWICBitmapClipper +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the bitmap clipper with the provided parameters.

+
+

he input bitmap source.

+

The rectangle of the bitmap source to clip.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719677 + HRESULT IWICBitmapClipper::Initialize([In, Optional] IWICBitmapSource* pISource,[In] const void* prc) + IWICBitmapClipper::Initialize +
+ + + Initializes a new instance of the class. + + The factory. + + + +

Initializes the bitmap clipper with the provided parameters.

+
+

he input bitmap source.

+

The rectangle of the bitmap source to clip.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ ee719677 + HRESULT IWICBitmapClipper::Initialize([In, Optional] IWICBitmapSource* pISource,[In] const WICRect* prc) + IWICBitmapClipper::Initialize +
+ + +

Exposes methods that provide information about a particular codec.

+
+ + ee719679 + IWICBitmapCodecInfo + IWICBitmapCodecInfo +
+ + +

Exposes methods that provide component information.

+
+ + ee690213 + IWICComponentInfo + IWICComponentInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the component's .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690218 + HRESULT IWICComponentInfo::GetComponentType([Out] WICComponentType* pType) + IWICComponentInfo::GetComponentType +
+ + +

Retrieves the component's class identifier (CLSID)

+
+

A reference that receives the component's CLSID.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690216 + HRESULT IWICComponentInfo::GetCLSID([Out] GUID* pclsid) + IWICComponentInfo::GetCLSID +
+ + +

Retrieves the signing status of the component.

+
+

A reference that receives the status of the component.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Signing is unused by WIC. Therefore, all components .

This function can be used to determine whether a component has no binary component or has been added to the disabled components list in the registry.

+
+ + ee690221 + HRESULT IWICComponentInfo::GetSigningStatus([Out] unsigned int* pStatus) + IWICComponentInfo::GetSigningStatus +
+ + +

Retrieves the name of component's author.

+
+

The size of the wzAuthor buffer.

+

A reference that receives the name of the component's author. The locale of the string depends on the value that the codec wrote to the registry at install time. For built-in components, these strings are always in English.

+

A reference that receives the actual length of the component's authors name. The author name is optional; if an author name is not specified by the component, the length returned is 0.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If cchAuthor is 0 and wzAuthor is null, the required buffer size is returned in pccchActual.

+
+ + ee690214 + HRESULT IWICComponentInfo::GetAuthor([In] unsigned int cchAuthor,[In] void* wzAuthor,[Out] unsigned int* pcchActual) + IWICComponentInfo::GetAuthor +
+ + +

Retrieves the vendor .

+
+

A reference that receives the component's vendor .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690225 + HRESULT IWICComponentInfo::GetVendorGUID([Out] GUID* pguidVendor) + IWICComponentInfo::GetVendorGUID +
+ + +

Retrieves the component's version.

+
+

The size of the wzVersion buffer.

+

A reference that receives a culture invariant string of the component's version.

+

A reference that receives the actual length of the component's version. The version is optional; if a value is not specified by the component, the length returned is 0.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

All built-in components return "1.0.0.0", except for pixel formats, which do not have a version.

If cchAuthor is 0 and wzAuthor is null, the required buffer size is returned in pccchActual.

+
+ + ee690226 + HRESULT IWICComponentInfo::GetVersion([In] unsigned int cchVersion,[In] void* wzVersion,[Out] unsigned int* pcchActual) + IWICComponentInfo::GetVersion +
+ + +

Retrieves the component's specification version.

+
+

The size of the wzSpecVersion buffer.

+

When this method returns, contain a culture invarient string of the component's specification version. The version form is NN.NN.NN.NN.

+

A reference that receives the actual length of the component's specification version. The specification version is optional; if a value is not specified by the component, the length returned is 0.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

All built-in components return "1.0.0.0", except for pixel formats, which do not have a spec version.

If cchAuthor is 0 and wzAuthor is null, the required buffer size is returned in pccchActual.

+
+ + ee690223 + HRESULT IWICComponentInfo::GetSpecVersion([In] unsigned int cchSpecVersion,[In] void* wzSpecVersion,[Out] unsigned int* pcchActual) + IWICComponentInfo::GetSpecVersion +
+ + +

Retrieves the component's friendly name, which is a human-readable display name for the component.

+
+

The size of the wzFriendlyName buffer.

+

A reference that receives the friendly name of the component. The locale of the string depends on the value that the codec wrote to the registry at install time. For built-in components, these strings are always in English.

+

A reference that receives the actual length of the component's friendly name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If cchFriendlyName is 0 and wzFriendlyName is null, the required buffer size is returned in pccchActual.

+
+ + ee690219 + HRESULT IWICComponentInfo::GetFriendlyName([In] unsigned int cchFriendlyName,[In] void* wzFriendlyName,[Out] unsigned int* pcchActual) + IWICComponentInfo::GetFriendlyName +
+ + + Initializes a new instance of the class. + + The factory. + The CLSID component. + + + +

Retrieves the component's .

+
+ + ee690218 + GetComponentType + GetComponentType + HRESULT IWICComponentInfo::GetComponentType([Out] WICComponentType* pType) +
+ + +

Retrieves the component's class identifier (CLSID)

+
+ + ee690216 + GetCLSID + GetCLSID + HRESULT IWICComponentInfo::GetCLSID([Out] GUID* pclsid) +
+ + +

Retrieves the signing status of the component.

+
+ +

Signing is unused by WIC. Therefore, all components .

This function can be used to determine whether a component has no binary component or has been added to the disabled components list in the registry.

+
+ + ee690221 + GetSigningStatus + GetSigningStatus + HRESULT IWICComponentInfo::GetSigningStatus([Out] unsigned int* pStatus) +
+ + +

Retrieves the vendor .

+
+ + ee690225 + GetVendorGUID + GetVendorGUID + HRESULT IWICComponentInfo::GetVendorGUID([Out] GUID* pguidVendor) +
+ + + Gets the author. + + HRESULT IWICComponentInfo::GetAuthor([In] unsigned int cchAuthor,[InOut, Buffer, Optional] wchar_t* wzAuthor,[Out] unsigned int* pcchActual) + + + + Gets the version. + + HRESULT IWICComponentInfo::GetVersion([In] unsigned int cchVersion,[InOut, Buffer, Optional] wchar_t* wzVersion,[Out] unsigned int* pcchActual) + + + + Gets the spec version. + + HRESULT IWICComponentInfo::GetSpecVersion([In] unsigned int cchSpecVersion,[InOut, Buffer, Optional] wchar_t* wzSpecVersion,[Out] unsigned int* pcchActual) + + + + Gets the friendly name. + + + The name of the friendly. + + HRESULT IWICComponentInfo::GetFriendlyName([In] unsigned int cchFriendlyName,[InOut, Buffer, Optional] wchar_t* wzFriendlyName,[Out] unsigned int* pcchActual) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the container associated with the codec.

+
+

Receives the container .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719688 + HRESULT IWICBitmapCodecInfo::GetContainerFormat([Out] GUID* pguidContainerFormat) + IWICBitmapCodecInfo::GetContainerFormat +
+ + +

Retrieves the pixel formats the codec supports.

+
+

The size of the pguidPixelFormats array. Use 0 on first call to determine the needed array size.

+

Receives the supported pixel formats. Use null on first call to determine needed array size.

+

The array size needed to retrieve all supported pixel formats.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the array size needed to retrieve all the supported pixel formats by calling it with cFormats set to 0 and pguidPixelFormats set to null. This call sets pcActual to the array size needed. Once the needed array size is determined, a second GetPixelFormats call with pguidPixelFormats set to an array of the appropriate size will retrieve the pixel formats.

+
+ + ee690082 + HRESULT IWICBitmapCodecInfo::GetPixelFormats([In] unsigned int cFormats,[In, Buffer] GUID* pguidPixelFormats,[Out] unsigned int* pcActual) + IWICBitmapCodecInfo::GetPixelFormats +
+ + +

Retrieves the color manangement version number the codec supports.

+
+

The size of the version buffer. Use 0 on first call to determine needed buffer size.

+

Receives the color management version number. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve the full color management version number.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchColorManagementVersion set to 0 and wzColorManagementVersion set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetColorManagementVersion call with cchColorManagementVersion set to the buffer size and wzColorManagementVersion set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719687 + HRESULT IWICBitmapCodecInfo::GetColorManagementVersion([In] unsigned int cchColorManagementVersion,[In] void* wzColorManagementVersion,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetColorManagementVersion +
+ + +

Retrieves the name of the device manufacture associated with the codec.

+
+

The size of the device manufacture's name. Use 0 on first call to determine needed buffer size.

+

Receives the device manufacture's name. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve the device manufacture's name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchDeviceManufacturer set to 0 and wzDeviceManufacturer set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetDeviceManufacturer call with cchDeviceManufacturer set to the buffer size and wzDeviceManufacturer set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719690 + HRESULT IWICBitmapCodecInfo::GetDeviceManufacturer([In] unsigned int cchDeviceManufacturer,[In] void* wzDeviceManufacturer,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetDeviceManufacturer +
+ + +

Retrieves a comma delimited list of device models associated with the codec.

+
+

The size of the device models buffer. Use 0 on first call to determine needed buffer size.

+

Receives a comma delimited list of device model names associated with the codec. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve all of the device model names.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchDeviceModels set to 0 and wzDeviceModels set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetDeviceModels call with cchDeviceModels set to the buffer size and wzDeviceModels set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719692 + HRESULT IWICBitmapCodecInfo::GetDeviceModels([In] unsigned int cchDeviceModels,[In] void* wzDeviceModels,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetDeviceModels +
+ + +

Retrieves a comma delimited sequence of mime types associated with the codec.

+
+

The size of the mime types buffer. Use 0 on first call to determine needed buffer size.

+

Receives the mime types associated with the codec. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve all mime types associated with the codec.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchMimeTypes set to 0 and wzMimeTypes set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetMimeTypes call with cchMimeTypes set to the buffer size and wzMimeTypes set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719696 + HRESULT IWICBitmapCodecInfo::GetMimeTypes([In] unsigned int cchMimeTypes,[In] void* wzMimeTypes,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetMimeTypes +
+ + +

Retrieves a comma delimited list of the file name extensions associated with the codec.

+
+

The size of the file name extension buffer. Use 0 on first call to determine needed buffer size.

+

Receives a comma delimited list of file name extensions associated with the codec. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve all file name extensions associated with the codec.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The default extension for an image encoder is the first item in the list of returned extensions.

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchFileExtensions set to 0 and wzFileExtensions set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetFileExtensions call with cchFileExtensions set to the buffer size and wzFileExtensions set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719694 + HRESULT IWICBitmapCodecInfo::GetFileExtensions([In] unsigned int cchFileExtensions,[In] void* wzFileExtensions,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetFileExtensions +
+ + +

Retrieves a value indicating whether the codec supports animation.

+
+

Receives TRUE if the codec supports images with timing information; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719680 + HRESULT IWICBitmapCodecInfo::DoesSupportAnimation([Out] BOOL* pfSupportAnimation) + IWICBitmapCodecInfo::DoesSupportAnimation +
+ + +

Retrieves a value indicating whether the codec supports chromakeys.

+
+

Receives TRUE if the codec supports chromakeys; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719682 + HRESULT IWICBitmapCodecInfo::DoesSupportChromakey([Out] BOOL* pfSupportChromakey) + IWICBitmapCodecInfo::DoesSupportChromakey +
+ + +

Retrieves a value indicating whether the codec supports lossless formats.

+
+

Receives TRUE if the codec supports lossless formats; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719683 + HRESULT IWICBitmapCodecInfo::DoesSupportLossless([Out] BOOL* pfSupportLossless) + IWICBitmapCodecInfo::DoesSupportLossless +
+ + +

Retrieves a value indicating whether the codec supports multi frame images.

+
+

Receives TRUE if the codec supports multi frame images; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719685 + HRESULT IWICBitmapCodecInfo::DoesSupportMultiframe([Out] BOOL* pfSupportMultiframe) + IWICBitmapCodecInfo::DoesSupportMultiframe +
+ + +

Retrieves a value indicating whether the given mime type matches the mime type of the codec.

+
+

The mime type to compare.

+

Receives TRUE if the mime types match; otherwise, .

+ + ee690083 + HRESULT IWICBitmapCodecInfo::MatchesMimeType([In] const wchar_t* wzMimeType,[Out] BOOL* pfMatches) + IWICBitmapCodecInfo::MatchesMimeType +
+ + +

Retrieves the container associated with the codec.

+
+ + ee719688 + GetContainerFormat + GetContainerFormat + HRESULT IWICBitmapCodecInfo::GetContainerFormat([Out] GUID* pguidContainerFormat) +
+ + +

Retrieves a value indicating whether the codec supports animation.

+
+ + ee719680 + DoesSupportAnimation + DoesSupportAnimation + HRESULT IWICBitmapCodecInfo::DoesSupportAnimation([Out] BOOL* pfSupportAnimation) +
+ + +

Retrieves a value indicating whether the codec supports chromakeys.

+
+ + ee719682 + DoesSupportChromakey + DoesSupportChromakey + HRESULT IWICBitmapCodecInfo::DoesSupportChromakey([Out] BOOL* pfSupportChromakey) +
+ + +

Retrieves a value indicating whether the codec supports lossless formats.

+
+ + ee719683 + DoesSupportLossless + DoesSupportLossless + HRESULT IWICBitmapCodecInfo::DoesSupportLossless([Out] BOOL* pfSupportLossless) +
+ + +

Retrieves a value indicating whether the codec supports multi frame images.

+
+ + ee719685 + DoesSupportMultiframe + DoesSupportMultiframe + HRESULT IWICBitmapCodecInfo::DoesSupportMultiframe([Out] BOOL* pfSupportMultiframe) +
+ + + Gets the pixel formats the codec supports. + + + + + Gets the color management version number the codec supports. + + + + + Gets the name of the device manufacture associated with the codec. + + + + + Gets a comma delimited list of device models associated with the codec. + + + + + Gets a comma delimited sequence of mime types associated with the codec. + + + + + Gets a comma delimited list of the file name extensions associated with the codec. + + + + + No documentation. + + + ee719890 + IWICBitmapCodecProgressNotification + IWICBitmapCodecProgressNotification + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Registers a progress notification callback function.

+
+

A function reference to the application defined progress notification callback function. See ProgressNotificationCallback for the callback signature.

+

A reference to component data for the callback method.

+

The and flags to use for progress notification.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Applications can only register a single callback. Subsequent registration calls will replace the previously registered callback. To unregister a callback, pass in null or register a new callback function.

Progress is reported in an increasing order between 0.0 and 1.0. If dwProgressFlags includes , the callback is guaranteed to be called with progress 0.0. If dwProgressFlags includes , the callback is guaranteed to be called with progress 1.0.

increases the frequency in which the callback is called. If an operation is expected to take more than 30 seconds, should be added to dwProgressFlags.

+
+ + ee690085 + HRESULT IWICBitmapCodecProgressNotification::RegisterProgressNotification([In, Optional] __function__stdcall* pfnProgressNotification,[In, Optional] void* pvData,[In] unsigned int dwProgressFlags) + IWICBitmapCodecProgressNotification::RegisterProgressNotification +
+ + +

Exposes methods that represent a decoder.

The interface provides access to the decoder's properties such as global thumbnails (if supported), frames, and palette.

+
+ +

There are a number of concrete implemenations of this interface representing each of the standard decoders provided by the platform including bitmap (BMP), Portable Network Graphics (PNG), icon (ICO), Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP). The following table includes the class identifier (CLSID) for each native decoder.

CLSID NameCLSID
0x6b462062, 0x7cbf, 0x400d, 0x9f, 0xdb, 0x81, 0x3d, 0xd1, 0xf, 0x27, 0x78
0x389ea17b, 0x5078, 0x4cde, 0xb6, 0xef, 0x25, 0xc1, 0x51, 0x75, 0xc7, 0x51
0xc61bfcdf, 0x2e0f, 0x4aad, 0xa8, 0xd7, 0xe0, 0x6b, 0xaf, 0xeb, 0xcd, 0xfe
0x9456a480, 0xe88b, 0x43ea, 0x9e, 0x73, 0xb, 0x2d, 0x9b, 0x71, 0xb1, 0xca
0x381dda3c, 0x9ce9, 0x4834, 0xa2, 0x3e, 0x1f, 0x98, 0xf8, 0xfc, 0x52, 0xbe
0xb54e85d9, 0xfe23, 0x499f, 0x8b, 0x88, 0x6a, 0xce, 0xa7, 0x13, 0x75, 0x2b
0xa26cec36, 0x234c, 0x4950, 0xae, 0x16, 0xe3, 0x4a, 0xac, 0xe7, 0x1d, 0x0d

?

This interface may be sub-classed to provide support for third party codecs as part of the extensibility model. See the AITCodec Sample CODEC.

Codecs written as TIFF container formats that are not register will decode as a TIFF image. Client applications should check for a zero frame count to determine if the codec is valid.

+
+ + ee690086 + IWICBitmapDecoder + IWICBitmapDecoder +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the capabilities of the decoder based on the specified stream.

+
+

The stream to retrieve the decoder capabilities from.

+

The of the decoder.

+ +

Custom decoder implementations should save the current position of the specified , read whatever information is necessary in order to determine which capabilities it can provide for the supplied stream, and restore the stream position.

+
+ + ee690109 + HRESULT IWICBitmapDecoder::QueryCapability([In, Optional] IStream* pIStream,[Out] WICBitmapDecoderCapabilities* pdwCapability) + IWICBitmapDecoder::QueryCapability +
+ + +

Initializes the decoder with the provided stream.

+
+

The stream to use for initialization.

The stream contains the encoded pixels which are decoded each time the CopyPixels method on the interface (see GetFrame) is invoked.

+

The to use for initialization.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690108 + HRESULT IWICBitmapDecoder::Initialize([In, Optional] IStream* pIStream,[In] WICDecodeOptions cacheOptions) + IWICBitmapDecoder::Initialize +
+ + +

Retrieves the image's container format.

+
+

A reference that receives the image's container format .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690095 + HRESULT IWICBitmapDecoder::GetContainerFormat([Out] GUID* pguidContainerFormat) + IWICBitmapDecoder::GetContainerFormat +
+ + +

Retrieves an for the image.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690096 + HRESULT IWICBitmapDecoder::GetDecoderInfo([Out] IWICBitmapDecoderInfo** ppIDecoderInfo) + IWICBitmapDecoder::GetDecoderInfo +
+ + +

Copies the decoder's .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

CopyPalette returns a global palette (a palette that applies to all the frames in the image) if there is one; otherwise, it returns . If an image doesn't have a global palette, it may still have a frame-level palette, which can be retrieved using IWICBitmapFrameDecode::CopyPalette.

+
+ + ee690091 + HRESULT IWICBitmapDecoder::CopyPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmapDecoder::CopyPalette +
+ + +

Retrieves the metadata query reader from the decoder.

+
+

Receives a reference to the decoder's .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690102 + HRESULT IWICBitmapDecoder::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) + IWICBitmapDecoder::GetMetadataQueryReader +
+ + +

Retrieves a preview image, if supported.

+
+

Receives a reference to the preview bitmap if supported.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Not all formats support previews. Only the native Microsoft?Windows Digital Photo (WDP) codec support previews.

+
+ + ee690104 + HRESULT IWICBitmapDecoder::GetPreview([Out] IWICBitmapSource** ppIBitmapSource) + IWICBitmapDecoder::GetPreview +
+ + +

Retrieves the objects of the image.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690093 + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + IWICBitmapDecoder::GetColorContexts +
+ + +

Retrieves the objects of the image.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690093 + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + IWICBitmapDecoder::GetColorContexts +
+ + +

Retrieves a bitmap thumbnail of the image, if one exists

+
+

Receives a reference to the of the thumbnail.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

None of the native formats support global thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support frame level thumbnails that can be accessed through a frame's GetThumbnail method.

+
+ + ee690106 + HRESULT IWICBitmapDecoder::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) + IWICBitmapDecoder::GetThumbnail +
+ + +

Retrieves the total number of frames in the image.

+
+

A reference that receives the total number of frames in the image.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690099 + HRESULT IWICBitmapDecoder::GetFrameCount([Out] unsigned int* pCount) + IWICBitmapDecoder::GetFrameCount +
+ + +

Retrieves the specified frame of the image.

+
+

The particular frame to retrieve.

+

A reference that receives a reference to the .

+ + ee690098 + HRESULT IWICBitmapDecoder::GetFrame([In] unsigned int index,[Out] IWICBitmapFrameDecode** ppIBitmapFrame) + IWICBitmapDecoder::GetFrame +
+ + + Initializes a new instance of the class from a . + + The bitmap decoder info. + HRESULT IWICBitmapDecoderInfo::CreateInstance([Out, Fast] IWICBitmapDecoder** ppIBitmapDecoder) + + + + Initializes a new instance of the class from a guid. for a list of default supported decoder. + + The factory. + The container format GUID. + HRESULT IWICImagingFactory::CreateDecoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. + The GUID vendor ref. + HRESULT IWICImagingFactory::CreateDecoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a . + + The factory. + The stream ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a . + + The factory. + The stream ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a . + + The factory. + The stream ref. + The GUID vendor ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a . + + The factory. + The stream ref. + The GUID vendor ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file in read mode. + + The factory. + The filename. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file. + + The factory. + The filename. + The desired access. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file. + + The factory. + The filename. + The GUID vendor ref. + The desired access. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file stream. + + The factory. + The filename. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFileHandle([In] unsigned int hFile,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file stream. + + The factory. + The filename. + The GUID vendor ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFileHandle([In] unsigned int hFile,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Queries the capabilities of the decoder based on the specified stream. + + The stream to retrieve the decoder capabilities from.. + Capabilities of the decoder + HRESULT IWICBitmapDecoder::QueryCapability([In, Optional] IStream* pIStream,[Out] WICBitmapDecoderCapabilities* pdwCapability) + + + + Initializes the decoder with the provided stream. + + The stream to use for initialization. + The cache options. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapDecoder::Initialize([In, Optional] IStream* pIStream,[In] WICDecodeOptions cacheOptions) + + + + Get the of the image (if any) + + The factory for creating new color contexts + The color context array, or null + + When the image format does not support color contexts, + is returned. + + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + + + + Get the of the image (if any) + + + null if the decoder does not support color contexts; + otherwise an array of zero or more ColorContext objects + + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] + + + +

Retrieves the image's container format.

+
+ + ee690095 + GetContainerFormat + GetContainerFormat + HRESULT IWICBitmapDecoder::GetContainerFormat([Out] GUID* pguidContainerFormat) +
+ + +

Retrieves an for the image.

+
+ + ee690096 + GetDecoderInfo + GetDecoderInfo + HRESULT IWICBitmapDecoder::GetDecoderInfo([Out] IWICBitmapDecoderInfo** ppIDecoderInfo) +
+ + +

Retrieves the metadata query reader from the decoder.

+
+ + ee690102 + GetMetadataQueryReader + GetMetadataQueryReader + HRESULT IWICBitmapDecoder::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) +
+ + +

Retrieves a preview image, if supported.

+
+ +

Not all formats support previews. Only the native Microsoft?Windows Digital Photo (WDP) codec support previews.

+
+ + ee690104 + GetPreview + GetPreview + HRESULT IWICBitmapDecoder::GetPreview([Out] IWICBitmapSource** ppIBitmapSource) +
+ + +

Retrieves a bitmap thumbnail of the image, if one exists

+
+ +

None of the native formats support global thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support frame level thumbnails that can be accessed through a frame's GetThumbnail method.

+
+ + ee690106 + GetThumbnail + GetThumbnail + HRESULT IWICBitmapDecoder::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) +
+ + +

Retrieves the total number of frames in the image.

+
+ + ee690099 + GetFrameCount + GetFrameCount + HRESULT IWICBitmapDecoder::GetFrameCount([Out] unsigned int* pCount) +
+ + +

Exposes methods that provide information about a decoder.

+
+ + ee690087 + IWICBitmapDecoderInfo + IWICBitmapDecoderInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the file pattern signatures supported by the decoder.

+
+

The array size of the pPatterns array.

+

Receives a list of objects supported by the decoder.

+

Receives the number of patterns the decoder supports.

+

Receives the actual buffer size needed to retrieve all pattern signatures supported by the decoder.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To retrieve all pattern signatures, this method should first be called with pPatterns set to null to retrieve the actual buffer size needed through pcbPatternsActual. Once the needed buffer size is known, allocate a buffer of the needed size and call GetPatterns again with the allocated buffer.

+
+ + ee690089 + HRESULT IWICBitmapDecoderInfo::GetPatterns([In] unsigned int cbSizePatterns,[Out, Buffer, Optional] WICBitmapPattern* pPatterns,[Out] unsigned int* pcPatterns,[Out] unsigned int* pcbPatternsActual) + IWICBitmapDecoderInfo::GetPatterns +
+ + +

Retrieves a value that indicates whether the codec recognizes the pattern within a specified stream.

+
+

The stream to pattern match within.

+

A reference that receives TRUE if the patterns match; otherwise, .

+ + ee690090 + HRESULT IWICBitmapDecoderInfo::MatchesPattern([In, Optional] IStream* pIStream,[Out] BOOL* pfMatches) + IWICBitmapDecoderInfo::MatchesPattern +
+ + +

Creates a new instance.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690088 + HRESULT IWICBitmapDecoderInfo::CreateInstance([Out, Fast] IWICBitmapDecoder** ppIBitmapDecoder) + IWICBitmapDecoderInfo::CreateInstance +
+ + + Retrieves a value that indicates whether the codec recognizes the pattern within a specified stream. + + The stream to pattern match within. + true if the patterns match; otherwise, false. + HRESULT IWICBitmapDecoderInfo::MatchesPattern([In, Optional] IStream* pIStream,[Out] BOOL* pfMatches) + + + + Gets the file pattern signatures supported by the decoder. + + HRESULT IWICBitmapDecoderInfo::GetPatterns([In] unsigned int cbSizePatterns,[Out, Buffer, Optional] WICBitmapPattern* pPatterns,[Out] unsigned int* pcPatterns,[Out] unsigned int* pcbPatternsActual) + + + +

Defines methods for setting an encoder's properties such as thumbnails, frames, and palettes.

+
+ +

There are a number of concrete implemenations of this interface representing each of the standard encoders provided by the platform including bitmap (BMP), Portable Network Graphics (PNG), Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP). The following table includes the class identifier (CLSID) for each native encoder.

CLSID NameCLSID
0x69be8bb4, 0xd66d, 0x47c8, 0x86, 0x5a, 0xed, 0x15, 0x89, 0x43, 0x37, 0x82
0x27949969, 0x876a, 0x41d7, 0x94, 0x47, 0x56, 0x8f, 0x6a, 0x35, 0xa4, 0xdc
0x1a34f5c1, 0x4a5a, 0x46dc, 0xb6, 0x44, 0x1f, 0x45, 0x67, 0xe7, 0xa6, 0x76
0x114f5598, 0xb22, 0x40a0, 0x86, 0xa1, 0xc8, 0x3e, 0xa4, 0x95, 0xad, 0xbd
0x0131be10, 0x2001, 0x4c5f, 0xa9, 0xb0, 0xcc, 0x88, 0xfa, 0xb6, 0x4c, 0xe8
0xac4ce3cb, 0xe1c1, 0x44cd, 0x82, 0x15, 0x5a, 0x16, 0x65, 0x50, 0x9e, 0xc2

?

Additionally this interface may be sub-classed to provide support for third party codecs as part of the extensibility model. See the AITCodec Sample CODEC.

+
+ + ee690110 + IWICBitmapEncoder + IWICBitmapEncoder +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the encoder with an which tells the encoder where to encode the bits.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690123 + HRESULT IWICBitmapEncoder::Initialize([In, Optional] IStream* pIStream,[In] WICBitmapEncoderCacheOption cacheOption) + IWICBitmapEncoder::Initialize +
+ + +

Retrieves the encoder's container format.

+
+

A reference that receives the encoder's container format .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690118 + HRESULT IWICBitmapEncoder::GetContainerFormat([Out] GUID* pguidContainerFormat) + IWICBitmapEncoder::GetContainerFormat +
+ + +

Retrieves an for the encoder.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690119 + HRESULT IWICBitmapEncoder::GetEncoderInfo([Out] IWICBitmapEncoderInfo** ppIEncoderInfo) + IWICBitmapEncoder::GetEncoderInfo +
+ + +

Sets the objects for the encoder.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690125 + HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + IWICBitmapEncoder::SetColorContexts +
+ + +

Sets the objects for the encoder.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690125 + HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + IWICBitmapEncoder::SetColorContexts +
+ + +

Sets the global palette for the image.

+
+

The to use as the global palette.

+

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

+ + ee690126 + HRESULT IWICBitmapEncoder::SetPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmapEncoder::SetPalette +
+ + +

Sets the global thumbnail for the image.

+
+

The to set as the global thumbnail.

+

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

+ + ee690129 + HRESULT IWICBitmapEncoder::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) + IWICBitmapEncoder::SetThumbnail +
+ + +

Sets the global preview for the image.

+
+

The to use as the global preview.

+

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

+ + ee690128 + HRESULT IWICBitmapEncoder::SetPreview([In, Optional] IWICBitmapSource* pIPreview) + IWICBitmapEncoder::SetPreview +
+ + +

Creates a new instance.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The parameter ppIEncoderOptions can be used to receive an that can then be used to specify encoder options. This is done by passing a reference to a null reference in ppIEncoderOptions. You should then set your desired encoder options on the returned, and pass this to .

Note??Do not pass in a reference to an initialized . The reference will be overwritten, and the original will not be freed.

Otherwise, you can pass null in ppIEncoderOptions if you do not intend to specify encoder options.

See Encoding Overview for an example of how to set encoder options.

+
+ + ee690116 + HRESULT IWICBitmapEncoder::CreateNewFrame([Out, Fast] IWICBitmapFrameEncode** ppIFrameEncode,[Out, Fast] IPropertyBag2** ppIEncoderOptions) + IWICBitmapEncoder::CreateNewFrame +
+ + +

Commits all changes for the image and closes the stream.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To finalize an image, both the frame Commit and the encoder Commit must be called. However, only call the encoder Commit method after all frames have been committed.

+
+ + ee690114 + HRESULT IWICBitmapEncoder::Commit() + IWICBitmapEncoder::Commit +
+ + +

Retrieves a metadata query writer for the encoder.

+
+

When this method returns, contains a reference to the encoder's metadata query writer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690121 + HRESULT IWICBitmapEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) + IWICBitmapEncoder::GetMetadataQueryWriter +
+ + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + The GUID vendor ref. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + A stream to use as the output of this bitmap encoder. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + A stream to use as the output of this bitmap encoder. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + The GUID vendor ref. + A stream to use as the output of this bitmap encoder. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + The GUID vendor ref. + A stream to use as the output of this bitmap encoder. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes the encoder with the provided stream. + + The stream to use for initialization. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapEncoder::Initialize([In, Optional] IStream* pIStream,[In] WICBitmapEncoderCacheOption cacheOption) + + + + Initializes the encoder with the provided stream. + + The stream to use for initialization. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapEncoder::Initialize([In, Optional] IStream* pIStream,[In] WICBitmapEncoderCacheOption cacheOption) + + + + Sets the objects for the encoder. + + The color contexts to set for the encoder. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + + + +

Retrieves the encoder's container format.

+
+ + ee690118 + GetContainerFormat + GetContainerFormat + HRESULT IWICBitmapEncoder::GetContainerFormat([Out] GUID* pguidContainerFormat) +
+ + +

Retrieves an for the encoder.

+
+ + ee690119 + GetEncoderInfo + GetEncoderInfo + HRESULT IWICBitmapEncoder::GetEncoderInfo([Out] IWICBitmapEncoderInfo** ppIEncoderInfo) +
+ + +

Sets the global palette for the image.

+
+ + ee690126 + SetPalette + SetPalette + HRESULT IWICBitmapEncoder::SetPalette([In, Optional] IWICPalette* pIPalette) +
+ + +

Sets the global thumbnail for the image.

+
+ + ee690129 + SetThumbnail + SetThumbnail + HRESULT IWICBitmapEncoder::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) +
+ + +

Sets the global preview for the image.

+
+ + ee690128 + SetPreview + SetPreview + HRESULT IWICBitmapEncoder::SetPreview([In, Optional] IWICBitmapSource* pIPreview) +
+ + +

Retrieves a metadata query writer for the encoder.

+
+ + ee690121 + GetMetadataQueryWriter + GetMetadataQueryWriter + HRESULT IWICBitmapEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) +
+ + +

Exposes methods that provide information about an encoder.

+
+ + ee690112 + IWICBitmapEncoderInfo + IWICBitmapEncoderInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a new instance.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690113 + HRESULT IWICBitmapEncoderInfo::CreateInstance([Out] IWICBitmapEncoder** ppIBitmapEncoder) + IWICBitmapEncoderInfo::CreateInstance +
+ + +

Exposes methods that produce a flipped (horizontal or vertical) and/or rotated (by 90 degree increments) bitmap source. Rotations are done before the flip.

+
+ +

IWICBitmapFipRotator requests data on a per-pixel basis, while WIC codecs provide data on a per-scanline basis. This causes the fliprotator object to exhibit n2 behavior if there is no buffering. This occures because each pixel in the transformed image requires an entire scanline to be decoded in the file. It is recommended that you buffer the image using , or flip/rotate the image using Direct2D.

+
+ + ee690131 + IWICBitmapFlipRotator + IWICBitmapFlipRotator +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the bitmap flip rotator with the provided parameters.

+
+

The input bitmap source.

+

The to flip or rotate the image.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690132 + HRESULT IWICBitmapFlipRotator::Initialize([In, Optional] IWICBitmapSource* pISource,[In] WICBitmapTransformOptions options) + IWICBitmapFlipRotator::Initialize +
+ + + Initializes a new instance of the class. + + The factory. + + + +

Defines methods for decoding individual image frames of an encoded file.

+
+ + ee690134 + IWICBitmapFrameDecode + IWICBitmapFrameDecode +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves a metadata query reader for the frame.

+
+

When this method returns, contains a reference to the frame's metadata query reader.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690137 + HRESULT IWICBitmapFrameDecode::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) + IWICBitmapFrameDecode::GetMetadataQueryReader +
+ + +

Retrieves the associated with the image frame.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690135 + HRESULT IWICBitmapFrameDecode::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + IWICBitmapFrameDecode::GetColorContexts +
+ + +

Retrieves the associated with the image frame.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690135 + HRESULT IWICBitmapFrameDecode::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + IWICBitmapFrameDecode::GetColorContexts +
+ + +

Retrieves a small preview of the frame, if supported by the codec.

+
+

A reference that receives a reference to the of the thumbnail.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Not all formats support thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support thumbnails.

Note to Implementers

If the codec does not support thumbnails, return WINCODEC_ERROR_CODECNOTHUMBNAIL rather than E_NOTIMPL.

+
+ + ee690139 + HRESULT IWICBitmapFrameDecode::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) + IWICBitmapFrameDecode::GetThumbnail +
+ + + Get the of the image (if any) + + The factory for creating new color contexts + The color context array, or null + + When the image format does not support color contexts, + is returned. + + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + + + + Get the of the image (if any) + + + null if the decoder does not support color contexts; + otherwise an array of zero or more ColorContext objects + + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] + + + +

Retrieves a metadata query reader for the frame.

+
+ + ee690137 + GetMetadataQueryReader + GetMetadataQueryReader + HRESULT IWICBitmapFrameDecode::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) +
+ + +

Retrieves a small preview of the frame, if supported by the codec.

+
+ +

Not all formats support thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support thumbnails.

Note to Implementers

If the codec does not support thumbnails, return WINCODEC_ERROR_CODECNOTHUMBNAIL rather than E_NOTIMPL.

+
+ + ee690139 + GetThumbnail + GetThumbnail + HRESULT IWICBitmapFrameDecode::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) +
+ + +

Represents an encoder's individual image frames.

+
+ + ee690141 + IWICBitmapFrameEncode + IWICBitmapFrameEncode +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the frame encoder using the given properties.

+
+

The set of properties to use for initialization.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690146 + HRESULT IWICBitmapFrameEncode::Initialize([In, Optional] IPropertyBag2* pIEncoderOptions) + IWICBitmapFrameEncode::Initialize +
+ + +

Sets the output image dimensions for the frame.

+
+

The width of the output image.

+

The height of the output image.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690154 + HRESULT IWICBitmapFrameEncode::SetSize([In] unsigned int uiWidth,[In] unsigned int uiHeight) + IWICBitmapFrameEncode::SetSize +
+ + +

Sets the physical resolution of the output image.

+
+

The horizontal resolution value.

+

The vertical resolution value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690152 + HRESULT IWICBitmapFrameEncode::SetResolution([In] double dpiX,[In] double dpiY) + IWICBitmapFrameEncode::SetResolution +
+ + +

Requests that the encoder use the specified pixel format.

+
+

If the method succeeds, contains the specified pixel format ; otherwise, contains the closest supported pixel format . For a list of pixel format GUIDs, see Native Pixel Formats.

+

Possible return values include the following.

Return codeDescription

Success.

The method was not called.

?

+ + ee690151 + HRESULT IWICBitmapFrameEncode::SetPixelFormat([InOut] GUID* pPixelFormat) + IWICBitmapFrameEncode::SetPixelFormat +
+ + +

Sets a given number profiles to the frame.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690148 + HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + IWICBitmapFrameEncode::SetColorContexts +
+ + +

Sets a given number profiles to the frame.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690148 + HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + IWICBitmapFrameEncode::SetColorContexts +
+ + +

Sets the for indexed pixel formats.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method does not fail if called on a frame whose pixel format is set to a non-indexed pixel format. The target pixel format is a non-indexed format, the palette will be ignored.

+
+ + ee690150 + HRESULT IWICBitmapFrameEncode::SetPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmapFrameEncode::SetPalette +
+ + +

Sets the frame thumbnail if supported by the codec.

+
+

The bitmap source to use as the thumbnail.

+

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

+ +

SetThumbnail should be called before calling WritePixels or WriteSource. The thumbnail will not be added to the encoded file if SetThumbnail after a call to WritePixels or WriteSource.

+
+ + ee690156 + HRESULT IWICBitmapFrameEncode::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) + IWICBitmapFrameEncode::SetThumbnail +
+ + +

Encodes the frame scanlines.

+
+

The number of lines to encode.

+

The stride of the image pixels.

+

The size of the pixel buffer.

+

A reference to the pixel buffer.

+

Possible return values include the following.

Return codeDescription

Success.

The value of lineCount is larger than the number of scan lines in the image.

?

+ +

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

+
+ + ee690158 + HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) + IWICBitmapFrameEncode::WritePixels +
+ + +

Encodes a bitmap source.

+
+

The bitmap source to encode.

+

The size rectangle of the bitmap source.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If SetSize is not called prior to calling WriteSource, the size given in prc is used if not null. Otherwise, the size of the given in pIBitmapSource is used.

If SetPixelFormat is not called prior to calling WriteSource, the pixel format of the given in pIBitmapSource is used.

If SetResolution is not called prior to calling WriteSource, the pixel format of pIBitmapSource is used.

If SetPalette is not called prior to calling WriteSource, the target pixel format is indexed, and the pixel format of pIBitmapSource matches the encoder frame's pixel format, then the pIBitmapSource pixel format is used.

When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, WriteSource will use the global palette to encode the frame even when pIBitmapSource has a frame level palette.

Windows Vista:The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

+
+ + ee690159 + HRESULT IWICBitmapFrameEncode::WriteSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In] void* prc) + IWICBitmapFrameEncode::WriteSource +
+ + +

Commits the frame to the image.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To finalize the image, both the frame Commit and the encoder Commit must be called. However, only call the encoder Commit method after all frames have been committed.

+
+ + ee690142 + HRESULT IWICBitmapFrameEncode::Commit() + IWICBitmapFrameEncode::Commit +
+ + +

Gets the metadata query writer for the encoder frame.

+
+

When this method returns, contains a reference to metadata query writer for the encoder frame.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690144 + HRESULT IWICBitmapFrameEncode::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) + IWICBitmapFrameEncode::GetMetadataQueryWriter +
+ + + Initializes a new instance of the class. + + The encoder. + HRESULT IWICBitmapEncoder::CreateNewFrame([Out] IWICBitmapFrameEncode** ppIFrameEncode,[Out] IPropertyBag2** ppIEncoderOptions) + + + + Initializes this instance. + + HRESULT IWICBitmapFrameEncode::Initialize([In, Optional] IPropertyBag2* pIEncoderOptions) + + + + Sets the objects for this frame encoder. + + The color contexts to set for the encoder. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + + + +

Encodes the frame scanlines.

+
+

The number of lines to encode.

+ A data buffer containing the pixels to copy from. + Total size in bytes of pixels to write. If == 0, size is calculated with lineCount * rowStride. + +

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

+
+ ee690158 + HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) + IWICBitmapFrameEncode::WritePixels +
+ + +

Encodes the frame scanlines.

+
+

The number of lines to encode.

+ A data buffer containing the pixels to copy from. + The stride of one row. + Total size in bytes of pixels to write. If == 0, size is calculated with lineCount * rowStride. + +

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

+
+ ee690158 + HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) + IWICBitmapFrameEncode::WritePixels +
+ + +

Encodes the frame scanlines.

+
+

The number of lines to encode.

+

The stride of the image pixels.

+

A reference to the pixel buffer.

+ +

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

+
+ ee690158 + HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) + IWICBitmapFrameEncode::WritePixels +
+ + +

Encodes a bitmap source.

+
+

The bitmap source to encode.

+ +

If SetSize is not called prior to calling WriteSource, the size given in prc is used if not null. Otherwise, the size of the given in pIBitmapSource is used.

If SetPixelFormat is not called prior to calling WriteSource, the pixel format of the given in pIBitmapSource is used.

If SetResolution is not called prior to calling WriteSource, the pixel format of pIBitmapSource is used.

If SetPalette is not called prior to calling WriteSource, the target pixel format is indexed, and the pixel format of pIBitmapSource matches the encoder frame's pixel format, then the pIBitmapSource pixel format is used.

When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, WriteSource will use the global palette to encode the frame even when pIBitmapSource has a frame level palette.

Windows Vista:The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

+
+ + ee690159 + HRESULT IWICBitmapFrameEncode::WriteSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In, Optional] WICRect* prc) + IWICBitmapFrameEncode::WriteSource +
+ + +

Encodes a bitmap source.

+
+

The bitmap source to encode.

+

The size rectangle of the bitmap source.

+ +

If SetSize is not called prior to calling WriteSource, the size given in prc is used if not null. Otherwise, the size of the given in pIBitmapSource is used.

If SetPixelFormat is not called prior to calling WriteSource, the pixel format of the given in pIBitmapSource is used.

If SetResolution is not called prior to calling WriteSource, the pixel format of pIBitmapSource is used.

If SetPalette is not called prior to calling WriteSource, the target pixel format is indexed, and the pixel format of pIBitmapSource matches the encoder frame's pixel format, then the pIBitmapSource pixel format is used.

When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, WriteSource will use the global palette to encode the frame even when pIBitmapSource has a frame level palette.

Windows Vista:The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

+
+ + ee690159 + HRESULT IWICBitmapFrameEncode::WriteSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In, Optional] WICRect* prc) + IWICBitmapFrameEncode::WriteSource +
+ + +

Sets the for indexed pixel formats.

+
+ +

This method does not fail if called on a frame whose pixel format is set to a non-indexed pixel format. The target pixel format is a non-indexed format, the palette will be ignored.

+
+ + ee690150 + SetPalette + SetPalette + HRESULT IWICBitmapFrameEncode::SetPalette([In, Optional] IWICPalette* pIPalette) +
+ + +

Sets the frame thumbnail if supported by the codec.

+
+ +

SetThumbnail should be called before calling WritePixels or WriteSource. The thumbnail will not be added to the encoded file if SetThumbnail after a call to WritePixels or WriteSource.

+
+ + ee690156 + SetThumbnail + SetThumbnail + HRESULT IWICBitmapFrameEncode::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) +
+ + +

Gets the metadata query writer for the encoder frame.

+
+ + ee690144 + GetMetadataQueryWriter + GetMetadataQueryWriter + HRESULT IWICBitmapFrameEncode::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) +
+ + + Gets the properties to setup before . + + + + +

Exposes methods that support the Lock method.

+
+ +

The bitmap lock is simply an abstraction for a rectangular memory window into the bitmap. For the simplest case, a system memory bitmap, this is simply a reference to the top left corner of the rectangle and a stride value.

To release the exclusive lock set by Lock method and the associated object, call IUnknown::Release on the object.

+
+ + ee690161 + IWICBitmapLock + IWICBitmapLock +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the width and height, in pixels, of the locked rectangle.

+
+

A reference that receives the width of the locked rectangle.

+

A reference that receives the height of the locked rectangle.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690165 + HRESULT IWICBitmapLock::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + IWICBitmapLock::GetSize +
+ + +

Provides access to the stride value for the memory.

+
+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Note the stride value is specific to the , not the bitmap. For example, two consecutive locks on the same rectangle of a bitmap may return different references and stride values, depending on internal implementation.

+
+ + ee690166 + HRESULT IWICBitmapLock::GetStride([Out] unsigned int* pcbStride) + IWICBitmapLock::GetStride +
+ + +

Gets the reference to the top left pixel in the locked rectangle.

+
+

A reference that receives the size of the buffer.

+

A reference that receives a reference to the top left pixel in the locked rectangle.

+ +

The reference provided by this method should not be used outside of the lifetime of the lock itself.

GetDataPointer is not available in multi-threaded apartment applications.

+
+ + ee690162 + HRESULT IWICBitmapLock::GetDataPointer([Out] unsigned int* pcbBufferSize,[Out] void** ppbData) + IWICBitmapLock::GetDataPointer +
+ + +

Gets the pixel format of for the locked area of pixels. This can be used to compute the number of bytes-per-pixel in the locked area.

+
+

A reference that receives the pixel format of the locked area.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690164 + HRESULT IWICBitmapLock::GetPixelFormat([Out] GUID* pPixelFormat) + IWICBitmapLock::GetPixelFormat +
+ + +

Provides access to the stride value for the memory.

+
+ +

Note the stride value is specific to the , not the bitmap. For example, two consecutive locks on the same rectangle of a bitmap may return different references and stride values, depending on internal implementation.

+
+ + ee690166 + GetStride + GetStride + HRESULT IWICBitmapLock::GetStride([Out] unsigned int* pcbStride) +
+ + +

Gets the pixel format of for the locked area of pixels. This can be used to compute the number of bytes-per-pixel in the locked area.

+
+ + ee690164 + GetPixelFormat + GetPixelFormat + HRESULT IWICBitmapLock::GetPixelFormat([Out] GUID* pPixelFormat) +
+ + + Gets the size. + + HRESULT IWICBitmapLock::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + + + + Gets a pointer to the data. + + + + +

Represents a resized version of the input bitmap using a resampling or filtering algorithm.

+
+ +

Images can be scaled to larger sizes; however, even with sophisticated scaling algorithms, there is only so much information in the image and artifacts tend to worsen the more you scale up.

The scaler will reapply the resampling algorithm every time CopyPixels is called. If the scaled image is to be animated, the scaled image should be created once and cached in a new bitmap, after which the may be released. In this way the scaling algorithm - which may be computationally expensive relative to drawing - is performed only once and the result displayed many times.

The scaler is optimized to use the minimum amount of memory required to scale the image correctly. The scaler may be used to produce parts of the image incrementally (banding) by calling CopyPixels with different rectangles representing the output bands of the image. Resampling typically requires overlapping rectangles from the source image and thus may need to request the same pixels from the source bitmap multiple times. Requesting scanlines out-of-order from some image decoders can have a significant performance penalty. Because of this reason, the scaler is optimized to handle consecutive horizontal bands of scanlines (rectangle width equal to the bitmap width). In this case the accumulator from the previous vertically adjacent rectangle is re-used to avoid duplicate scanline requests from the source. This implies that banded output from the scaler may have better performance if the bands are requested sequentially. Of course if the scaler is simply used to produce a single rectangle output, this concern is eliminated because the scaler will internally request scanlines in the correct order.

+
+ + ee690168 + IWICBitmapScaler + IWICBitmapScaler +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the bitmap scaler with the provided parameters.

+
+

The input bitmap source.

+

The destination width.

+

The desination height.

+

The to use when scaling.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690169 + HRESULT IWICBitmapScaler::Initialize([In, Optional] IWICBitmapSource* pISource,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] WICBitmapInterpolationMode mode) + IWICBitmapScaler::Initialize +
+ + + Initializes a new instance of the class. + + The factory. + + + + No documentation. + + + ee719897 + IWICBitmapSourceTransform + IWICBitmapSourceTransform + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Copies pixel data using the supplied input parameters.

+
+

The rectangle of pixels to copy.

+

The width to scale the source bitmap. This parameter must equal the value obtainable through .

+

The height to scale the source bitmap. This parameter must equal the value obtainable through .

+

The of desired pixel format in which the pixels should be returned.

This must be a format obtained through an GetClosestPixelFormat call.

+

The desired rotation or flip to perform prior to the pixel copy.

The transform must be an operation supported by an DoesSupportTransform call.

If a dstTransform is specified, nStride is the transformed stride and is based on the pguidDstFormat pixel format, not the original source's pixel format.

+

The stride of the destination buffer.

+

The size of the destination buffer.

+

The output buffer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + Codec Developer Remarks

For codec developer implementation details for this method, see Implementing .

When multiple transform operations are requested, the result is dependent on the order in which the operations are performed. To ensure predictability and consistency across CODECs, it's important that all CODECs perform these operations in the same order. The recommended order of these operations is:

  1. Scale
  2. Crop
  3. Flip/Rotate

Pixel format conversion can be performed at any time, since it has no effect on the other transforms.

The first parameter, prc is used to specify the region of interest for clipping the image. By convention, scaling is performed before clipping so, if the image is to be scaled as well as clipped, the region of interest should be determined after the image has been scaled.

If a dstTransform is specified, the stride is the transformed stride, and is based on the pixelFormat specified in the CopyPixels call, not the original frame's pixel format.

+
+ + ee690173 + HRESULT IWICBitmapSourceTransform::CopyPixels([In] const void* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSourceTransform::CopyPixels +
+ + +

Returns the closest dimensions the implementation can natively scale to given the desired dimensions.

+
+

The desired width. A reference that receives the closest supported width.

+

The desired height.A reference that receives the closest supported height.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690176 + HRESULT IWICBitmapSourceTransform::GetClosestSize([InOut] unsigned int* puiWidth,[InOut] unsigned int* puiHeight) + IWICBitmapSourceTransform::GetClosestSize +
+ + +

Retrieves the closest pixel format to which the implementation of can natively copy pixels, given a desired format.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690175 + HRESULT IWICBitmapSourceTransform::GetClosestPixelFormat([InOut] GUID* pguidDstFormat) + IWICBitmapSourceTransform::GetClosestPixelFormat +
+ + +

Determines whether a specific transform option is supported natively by the implementation of the interface.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690174 + HRESULT IWICBitmapSourceTransform::DoesSupportTransform([In] WICBitmapTransformOptions dstTransform,[Out] BOOL* pfIsSupported) + IWICBitmapSourceTransform::DoesSupportTransform +
+ + + Copies pixel data using the supplied input parameters. + + The width. + The height. + The stride. + The output. + + HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + + + + Copies pixel data using the supplied input parameters. + + The width. + The height. + The DST transform. + The stride. + The output. + + HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + + + + Copies pixel data using the supplied input parameters. + + The width. + The height. + The GUID DST format. + The DST transform. + The stride. + The output. + + HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + + + + Copies pixel data using the supplied input parameters. + + The rectangle. + The width. + The height. + The GUID DST format. + The DST transform. + The stride. + The output. + + HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + + + + Returns the closest dimensions the implementation can natively scale to given the desired dimensions. + + The size. + + HRESULT IWICBitmapSourceTransform::GetClosestSize([InOut] unsigned int* puiWidth,[InOut] unsigned int* puiHeight) + + + +

Exposes methods for color management.

+
+ +

A Color Context is an abstraction for a color profile. The profile can be loaded from a file (ie. "sRGB Color Space Profile.icm") or from a memory buffer obtained by reading. The color profile directory can be obtained by calling the GetColorDirectory API (See http://msdn.microsoft.com/library/en-us/icm/icm_58xl.asp).

+
+ + ee690193 + IWICColorContext + IWICColorContext +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the color context from the given file.

+
+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690198 + HRESULT IWICColorContext::InitializeFromFilename([In] const wchar_t* wzFilename) + IWICColorContext::InitializeFromFilename +
+ + +

Initializes the color context from a memory block.

+
+

The buffer used to initialize the .

+

The size of the pbBuffer buffer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690199 + HRESULT IWICColorContext::InitializeFromMemory([In] const void* pbBuffer,[In] unsigned int cbBufferSize) + IWICColorContext::InitializeFromMemory +
+ + +

Initializes the color context using an Exchangeable Image File (EXIF) color space.

+
+

The value of the EXIF color space.

ValueMeaning
1

A sRGB color space.

2

An Adobe RGB color space.

?

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690197 + HRESULT IWICColorContext::InitializeFromExifColorSpace([In] unsigned int value) + IWICColorContext::InitializeFromExifColorSpace +
+ + +

Retrieves the color context type.

+
+

A reference that receives the of the color context.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690196 + HRESULT IWICColorContext::GetType([Out] WICColorContextType* pType) + IWICColorContext::GetType +
+ + +

Retrieves the color context profile.

+
+

The size of the pbBuffer buffer.

+

A reference that receives the color context profile.

+

A reference that receives the actual buffer size needed to retrieve the entire color context profile.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690195 + HRESULT IWICColorContext::GetProfileBytes([In] unsigned int cbBuffer,[In] void* pbBuffer,[Out] unsigned int* pcbActual) + IWICColorContext::GetProfileBytes +
+ + +

Retrieves the Exchangeable Image File (EXIF) color space color context.

+
+

A reference that receives the EXIF color space color context.

ValueMeaning
1

A sRGB color space.

2

An Adobe RGB color space.

3 through 65534

Unused.

?

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690194 + HRESULT IWICColorContext::GetExifColorSpace([Out] unsigned int* pValue) + IWICColorContext::GetExifColorSpace +
+ + + Initializes a new instance of the class. + + The factory. + HRESULT IWICImagingFactory::CreateColorContext([Out, Fast] IWICColorContext** ppIWICColorContext) + + + + Initializes from memory. + + The data pointer. + + HRESULT IWICColorContext::InitializeFromMemory([In] const void* pbBuffer,[In] unsigned int cbBufferSize) + + + +

Retrieves the color context type.

+
+ + ee690196 + GetType + GetType + HRESULT IWICColorContext::GetType([Out] WICColorContextType* pType) +
+ + +

Retrieves the Exchangeable Image File (EXIF) color space color context.

+
+ + ee690194 + GetExifColorSpace + GetExifColorSpace + HRESULT IWICColorContext::GetExifColorSpace([Out] unsigned int* pValue) +
+ + + Gets the color context profile. + + + + +

Exposes methods that transforms an from one color context to another.

+
+ +

A is an imaging pipeline component that knows how to pull pixels obtained from a given through a color transform. The color transform is defined by mapping colors from the source color context to the destination color context in a given output pixel format.

+
+ + ee690201 + IWICColorTransform + IWICColorTransform +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes an with a and transforms it from one to another.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690202 + HRESULT IWICColorTransform::Initialize([In, Optional] IWICBitmapSource* pIBitmapSource,[In, Optional] IWICColorContext* pIContextSource,[In, Optional] IWICColorContext* pIContextDest,[In] const GUID& pixelFmtDest) + IWICColorTransform::Initialize +
+ + + Initializes a new instance of the class. + + The factory. + HRESULT IWICImagingFactory::CreateColorTransformer([Out, Fast] IWICColorTransform** ppIWICColorTransform) + + + +

Exposes methods that provide access to the capabilites of a raw codec format.

+
+ + ee690228 + IWICDevelopRaw + IWICDevelopRaw +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves information about which capabilities are supported for a raw image.

+
+

A reference that receives that provides the capabilities supported by the raw image.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

It is recommended that a codec report that a capability is supported even if the results at the outer range limits are not of perfect quality.

+
+ + ee690248 + HRESULT IWICDevelopRaw::QueryRawCapabilitiesInfo([In] WICRawCapabilitiesInfo* pInfo) + IWICDevelopRaw::QueryRawCapabilitiesInfo +
+ + +

Sets the desired option.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690247 + HRESULT IWICDevelopRaw::LoadParameterSet([In] WICRawParameterSet ParameterSet) + IWICDevelopRaw::LoadParameterSet +
+ + +

Gets the current set of parameters.

+
+

A reference that receives a reference to the current set of parameters.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690233 + HRESULT IWICDevelopRaw::GetCurrentParameterSet([Out] IPropertyBag2** ppCurrentParameterSet) + IWICDevelopRaw::GetCurrentParameterSet +
+ + +

Sets the exposure compensation stop value.

+
+

The exposure compensation value. The value range for exposure compensation is -5.0 through +5.0, which equates to 10 full stops.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

It is recommended that a codec report that this method is supported even if the results at the outer range limits are not of perfect quality.

+
+ + ee690251 + HRESULT IWICDevelopRaw::SetExposureCompensation([In] double ev) + IWICDevelopRaw::SetExposureCompensation +
+ + +

Gets the exposure compensation stop value of the raw image.

+
+

A reference that receives the exposure compensation stop value. The default is the "as-shot" setting.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690234 + HRESULT IWICDevelopRaw::GetExposureCompensation([Out] double* pEV) + IWICDevelopRaw::GetExposureCompensation +
+ + +

Sets the white point RGB values.

+
+

The red white point value.

+

The green white point value.

+

The blue white point value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Due to other white point setting methods (e.g. SetWhitePointKelvin), care must be taken by codec implementers to ensure proper interoperability. For instance, if the caller sets via a named white point then the codec implementer may whis to disable reading back the correspoinding Kelvin temperature. In specific cases where the codec implementer wishes to deny a given action because of previous calls, should be returned.

+
+ + ee690263 + HRESULT IWICDevelopRaw::SetWhitePointRGB([In] unsigned int Red,[In] unsigned int Green,[In] unsigned int Blue) + IWICDevelopRaw::SetWhitePointRGB +
+ + +

Gets the white point RGB values.

+
+

A reference that receives the red white point value.

+

A reference that receives the green white point value.

+

A reference that receives the blue white point value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690246 + HRESULT IWICDevelopRaw::GetWhitePointRGB([Out] unsigned int* pRed,[Out] unsigned int* pGreen,[Out] unsigned int* pBlue) + IWICDevelopRaw::GetWhitePointRGB +
+ + +

Sets the named white point of the raw file.

+
+

A bitwise combination of the enumeration values.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the named white points are not supported by the raw image or the raw file contains named white points that are not supported by this API, the codec implementer should still mark this capability as supported.

If the named white points are not supported by the raw image, a best effort should be made to adjust the image to the named white point even when it isn't a pre-defined white point of the raw file.

If the raw file containes named white points not supported by this API, the codec implementer should support the named white points in the API.

Due to other white point setting methods (e.g. SetWhitePointKelvin), care must be taken by codec implementers to ensure proper interoperability. For instance, if the caller sets via a named white point then the codec implementer may whis to disable reading back the correspoinding Kelvin temperature. In specific cases where the codec implementer wishes to deny a given action because of previous calls, should be returned.

+
+ + ee690253 + HRESULT IWICDevelopRaw::SetNamedWhitePoint([In] WICNamedWhitePoint WhitePoint) + IWICDevelopRaw::SetNamedWhitePoint +
+ + +

Gets the named white point of the raw image.

+
+

A reference that receives the bitwise combination of the enumeration values.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the named white points are not supported by the raw image or the raw file contains named white points that are not supported by this API, the codec implementer should still mark this capability as supported.

If the named white points are not supported by the raw image, a best effort should be made to adjust the image to the named white point even when it isn't a pre-defined white point of the raw file.

If the raw file containes named white points not supported by this API, the codec implementer should support the named white points in .

+
+ + ee690237 + HRESULT IWICDevelopRaw::GetNamedWhitePoint([Out] WICNamedWhitePoint* pWhitePoint) + IWICDevelopRaw::GetNamedWhitePoint +
+ + +

Sets the white point Kelvin value.

+
+

The white point Kelvin value. Acceptable Kelvin values are 1,500 through 30,000.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Codec implementers should faithfully adjust the color temperature within the range supported natively by the raw image. For values outside the native support range, the codec implementer should provide a best effort representation of the image at that color temperature.

Codec implementers should return if the value is out of defined acceptable range.

Codec implementers must ensure proper interoperability with other white point setting methods such as SetWhitePointRGB. For example, if the caller sets the white point via SetNamedWhitePoint then the codec implementer may want to disable reading back the correspoinding Kelvin temperature. In specific cases where the codec implementer wants to deny a given action because of previous calls, should be returned.

+
+ + ee690262 + HRESULT IWICDevelopRaw::SetWhitePointKelvin([In] unsigned int WhitePointKelvin) + IWICDevelopRaw::SetWhitePointKelvin +
+ + +

Gets the white point Kelvin temperature of the raw image.

+
+

A reference that receives the white point Kelvin temperature of the raw image. The default is the "as-shot" setting value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690245 + HRESULT IWICDevelopRaw::GetWhitePointKelvin([Out] unsigned int* pWhitePointKelvin) + IWICDevelopRaw::GetWhitePointKelvin +
+ + +

Gets the information about the current Kelvin range of the raw image.

+
+

A reference that receives the minimum Kelvin temperature.

+

A reference that receives the maximum Kelvin temperature.

+

A reference that receives the Kelvin step value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690236 + HRESULT IWICDevelopRaw::GetKelvinRangeInfo([Out] unsigned int* pMinKelvinTemp,[Out] unsigned int* pMaxKelvinTemp,[Out] unsigned int* pKelvinTempStepValue) + IWICDevelopRaw::GetKelvinRangeInfo +
+ + +

Sets the contrast value of the raw image.

+
+

The contrast value of the raw image. The default value is the "as-shot" setting. The value range for contrast is 0.0 through 1.0. The 0.0 lower limit represents no contrast applied to the image, while the 1.0 upper limit represents the highest amount of contrast that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

+
+ + ee690249 + HRESULT IWICDevelopRaw::SetContrast([In] double Contrast) + IWICDevelopRaw::SetContrast +
+ + +

Gets the contrast value of the raw image.

+
+

A reference that receives the contrast value of the raw image. The default value is the "as-shot" setting. The value range for contrast is 0.0 through 1.0. The 0.0 lower limit represents no contrast applied to the image, while the 1.0 upper limit represents the highest amount of contrast that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690232 + HRESULT IWICDevelopRaw::GetContrast([Out] double* pContrast) + IWICDevelopRaw::GetContrast +
+ + +

Sets the desired gamma value.

+
+

The desired gamma value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690252 + HRESULT IWICDevelopRaw::SetGamma([In] double Gamma) + IWICDevelopRaw::SetGamma +
+ + +

Gets the current gamma setting of the raw image.

+
+

A reference that receives the current gamma setting.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690235 + HRESULT IWICDevelopRaw::GetGamma([Out] double* pGamma) + IWICDevelopRaw::GetGamma +
+ + +

Sets the sharpness value of the raw image.

+
+

The sharpness value of the raw image. The default value is the "as-shot" setting. The value range for sharpness is 0.0 through 1.0. The 0.0 lower limit represents no sharpening applied to the image, while the 1.0 upper limit represents the highest amount of sharpness that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

+
+ + ee690259 + HRESULT IWICDevelopRaw::SetSharpness([In] double Sharpness) + IWICDevelopRaw::SetSharpness +
+ + +

Gets the sharpness value of the raw image.

+
+

A reference that receives the sharpness value of the raw image. The default value is the "as-shot" setting. The value range for sharpness is 0.0 through 1.0. The 0.0 lower limit represents no sharpening applied to the image, while the 1.0 upper limit represents the highest amount of sharpness that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690242 + HRESULT IWICDevelopRaw::GetSharpness([Out] double* pSharpness) + IWICDevelopRaw::GetSharpness +
+ + +

Sets the saturation value of the raw image.

+
+

The saturation value of the raw image. The value range for saturation is 0.0 through 1.0. A value of 0.0 represents an image with a fully de-saturated image, while a value of 1.0 represents the highest amount of saturation that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

+
+ + ee690258 + HRESULT IWICDevelopRaw::SetSaturation([In] double Saturation) + IWICDevelopRaw::SetSaturation +
+ + +

Gets the saturation value of the raw image.

+
+

A reference that receives the saturation value of the raw image. The default value is the "as-shot" setting. The value range for saturation is 0.0 through 1.0. A value of 0.0 represents an image with a fully de-saturated image, while a value of 1.0 represents the highest amount of saturation that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690241 + HRESULT IWICDevelopRaw::GetSaturation([Out] double* pSaturation) + IWICDevelopRaw::GetSaturation +
+ + +

Sets the tint value of the raw image.

+
+

The tint value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for sharpness is -1.0 through +1.0. The -1.0 lower limit represents a full green bias to the image, while the 1.0 upper limit represents a full magenta bias.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the outer range values represent and must determine how to map the values to their image processing routines.

+
+ + ee690260 + HRESULT IWICDevelopRaw::SetTint([In] double Tint) + IWICDevelopRaw::SetTint +
+ + +

Gets the tint value of the raw image.

+
+

A reference that receives the tint value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for sharpness is -1.0 through +1.0. The -1.0 lower limit represents a full green bias to the image, while the 1.0 upper limit represents a full magenta bias.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690243 + HRESULT IWICDevelopRaw::GetTint([Out] double* pTint) + IWICDevelopRaw::GetTint +
+ + +

Sets the noise reduction value of the raw image.

+
+

The noise reduction value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for noise reduction is 0.0 through 1.0. The 0.0 lower limit represents no noise reduction applied to the image, while the 1.0 upper limit represents highest noise reduction amount that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

+
+ + ee690254 + HRESULT IWICDevelopRaw::SetNoiseReduction([In] double NoiseReduction) + IWICDevelopRaw::SetNoiseReduction +
+ + +

Gets the noise reduction value of the raw image.

+
+

A reference that receives the noise reduction value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for noise reduction is 0.0 through 1.0. The 0.0 lower limit represents no noise reduction applied to the image, while the 1.0 upper limit represents full highest noise reduction amount that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690238 + HRESULT IWICDevelopRaw::GetNoiseReduction([Out] double* pNoiseReduction) + IWICDevelopRaw::GetNoiseReduction +
+ + +

Sets the destination color context.

+
+

The destination color context.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690250 + HRESULT IWICDevelopRaw::SetDestinationColorContext([In, Optional] IWICColorContext* pColorContext) + IWICDevelopRaw::SetDestinationColorContext +
+ + +

Sets the tone curve for the raw image.

+
+

The size of the pToneCurve structure.

+

The desired tone curve.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690261 + HRESULT IWICDevelopRaw::SetToneCurve([In] unsigned int cbToneCurveSize,[In, Buffer] const WICRawToneCurve* pToneCurve) + IWICDevelopRaw::SetToneCurve +
+ + +

Gets the tone curve of the raw image.

+
+

The size of the pToneCurve buffer.

+

A reference that receives the of the raw image.

+

A reference that receives the size needed to obtain the tone curve structure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690244 + HRESULT IWICDevelopRaw::GetToneCurve([In] unsigned int cbToneCurveBufferSize,[Out, Buffer, Optional] WICRawToneCurve* pToneCurve,[InOut, Optional] unsigned int* pcbActualToneCurveBufferSize) + IWICDevelopRaw::GetToneCurve +
+ + +

Sets the desired rotation angle.

+
+

The desired rotation angle.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690257 + HRESULT IWICDevelopRaw::SetRotation([In] double Rotation) + IWICDevelopRaw::SetRotation +
+ + +

Gets the current rotation angle.

+
+

A reference that receives the current rotation angle.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690240 + HRESULT IWICDevelopRaw::GetRotation([Out] double* pRotation) + IWICDevelopRaw::GetRotation +
+ + +

Sets the current .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690256 + HRESULT IWICDevelopRaw::SetRenderMode([In] WICRawRenderMode RenderMode) + IWICDevelopRaw::SetRenderMode +
+ + +

Gets the current .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690239 + HRESULT IWICDevelopRaw::GetRenderMode([Out] WICRawRenderMode* pRenderMode) + IWICDevelopRaw::GetRenderMode +
+ + +

Sets the notification callback method.

+
+

Pointer to the notification callback method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690255 + HRESULT IWICDevelopRaw::SetNotificationCallback([In, Optional] IWICDevelopRawNotificationCallback* pCallback) + IWICDevelopRaw::SetNotificationCallback +
+ + +

Gets the current set of parameters.

+
+ + ee690233 + GetCurrentParameterSet + GetCurrentParameterSet + HRESULT IWICDevelopRaw::GetCurrentParameterSet([Out] IPropertyBag2** ppCurrentParameterSet) +
+ + +

Gets or sets the exposure compensation stop value of the raw image.

+
+ + ee690234 + GetExposureCompensation / SetExposureCompensation + GetExposureCompensation + HRESULT IWICDevelopRaw::GetExposureCompensation([Out] double* pEV) +
+ + +

Gets or sets the named white point of the raw image.

+
+ +

If the named white points are not supported by the raw image or the raw file contains named white points that are not supported by this API, the codec implementer should still mark this capability as supported.

If the named white points are not supported by the raw image, a best effort should be made to adjust the image to the named white point even when it isn't a pre-defined white point of the raw file.

If the raw file containes named white points not supported by this API, the codec implementer should support the named white points in .

+
+ + ee690237 + GetNamedWhitePoint / SetNamedWhitePoint + GetNamedWhitePoint + HRESULT IWICDevelopRaw::GetNamedWhitePoint([Out] WICNamedWhitePoint* pWhitePoint) +
+ + +

Gets or sets the white point Kelvin temperature of the raw image.

+
+ + ee690245 + GetWhitePointKelvin / SetWhitePointKelvin + GetWhitePointKelvin + HRESULT IWICDevelopRaw::GetWhitePointKelvin([Out] unsigned int* pWhitePointKelvin) +
+ + +

Gets or sets the contrast value of the raw image.

+
+ + ee690232 + GetContrast / SetContrast + GetContrast + HRESULT IWICDevelopRaw::GetContrast([Out] double* pContrast) +
+ + +

Gets or sets the current gamma setting of the raw image.

+
+ + ee690235 + GetGamma / SetGamma + GetGamma + HRESULT IWICDevelopRaw::GetGamma([Out] double* pGamma) +
+ + +

Gets or sets the sharpness value of the raw image.

+
+ + ee690242 + GetSharpness / SetSharpness + GetSharpness + HRESULT IWICDevelopRaw::GetSharpness([Out] double* pSharpness) +
+ + +

Gets or sets the saturation value of the raw image.

+
+ + ee690241 + GetSaturation / SetSaturation + GetSaturation + HRESULT IWICDevelopRaw::GetSaturation([Out] double* pSaturation) +
+ + +

Gets or sets the tint value of the raw image.

+
+ + ee690243 + GetTint / SetTint + GetTint + HRESULT IWICDevelopRaw::GetTint([Out] double* pTint) +
+ + +

Gets or sets the noise reduction value of the raw image.

+
+ + ee690238 + GetNoiseReduction / SetNoiseReduction + GetNoiseReduction + HRESULT IWICDevelopRaw::GetNoiseReduction([Out] double* pNoiseReduction) +
+ + +

Sets the destination color context.

+
+ + ee690250 + SetDestinationColorContext + SetDestinationColorContext + HRESULT IWICDevelopRaw::SetDestinationColorContext([In, Optional] IWICColorContext* pColorContext) +
+ + +

Gets or sets the current rotation angle.

+
+ + ee690240 + GetRotation / SetRotation + GetRotation + HRESULT IWICDevelopRaw::GetRotation([Out] double* pRotation) +
+ + +

Gets or sets the current .

+
+ + ee690239 + GetRenderMode / SetRenderMode + GetRenderMode + HRESULT IWICDevelopRaw::GetRenderMode([Out] WICRawRenderMode* pRenderMode) +
+ + +

Sets the notification callback method.

+
+ + ee690255 + SetNotificationCallback + SetNotificationCallback + HRESULT IWICDevelopRaw::SetNotificationCallback([In, Optional] IWICDevelopRawNotificationCallback* pCallback) +
+ + +

Flags used to by to indicate which members have changed.

+
+ + ee690231 + IWICDevelopRawNotificationCallback + IWICDevelopRawNotificationCallback +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

An application-defined callback method used for raw image parameter change notifications.

+
+

A set of Constants parameter notification flags.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690230 + HRESULT IWICDevelopRawNotificationCallback::Notify([In] unsigned int NotificationMask) + IWICDevelopRawNotificationCallback::Notify +
+ + +

Exposes methods that provide enumeration services for individual metadata items.

+
+ + ee690264 + IWICEnumMetadataItem + IWICEnumMetadataItem +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Skips to given number of objects.

+
+

The number of objects to skip.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690268 + HRESULT IWICEnumMetadataItem::Skip([In] unsigned int celt) + IWICEnumMetadataItem::Skip +
+ + +

Resets the current position to the beginning of the enumeration.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690267 + HRESULT IWICEnumMetadataItem::Reset() + IWICEnumMetadataItem::Reset +
+ + +

Creates a copy of the current .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690265 + HRESULT IWICEnumMetadataItem::Clone([Out] IWICEnumMetadataItem** ppIEnumMetadataItem) + IWICEnumMetadataItem::Clone +
+ + +

Exposes methods used for in-place metadata editing. A fast metadata encoder enables you to add and remove metadata to an image without having to fully re-encode the image.

+
+ +

A decoder must be created using the value to perform in-place metadata updates. Using the option causes the decoder to release the file stream necessary to perform the metadata updates.

Not all metadata formats support fast metadata encoding. The native metadata handlers that support metadata are IFD, Exif, XMP, and GPS.

If a fast metadata encoder fails, the image will need to be fully re-encoded to add the metadata.

+
+ + ee690269 + IWICFastMetadataEncoder + IWICFastMetadataEncoder +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Finalizes metadata changes to the image stream.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the commit fails and returns , ensure that the image decoder was loaded using the option. A fast metadata encoder is not supported when the decoder is created using the option.

If the commit fails for any reason, you will need to re-encode the image to ensure the new metadata is added to the image.

+
+ + ee690270 + HRESULT IWICFastMetadataEncoder::Commit() + IWICFastMetadataEncoder::Commit +
+ + +

Retrieves a metadata query writer for fast metadata encoding.

+
+

When this method returns, contains a reference to the fast metadata encoder's metadata query writer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690272 + HRESULT IWICFastMetadataEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) + IWICFastMetadataEncoder::GetMetadataQueryWriter +
+ + + Initializes a new instance of the class from a + + The factory. + The decoder. + + + + Initializes a new instance of the class from a + + The factory. + The frame decoder. + + + +

Retrieves a metadata query writer for fast metadata encoding.

+
+ + ee690272 + GetMetadataQueryWriter + GetMetadataQueryWriter + HRESULT IWICFastMetadataEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) +
+ + +

Represents an that provides converts the image data from one pixel format to another, handling dithering and halftoning to indexed formats, palette translation and alpha thresholding.

+
+ + ee690274 + IWICFormatConverter + IWICFormatConverter +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the format converter.

+
+

The input bitmap to convert

+

The destination pixel format .

+

The used for conversion.

+

The palette to use for conversion.

+

The alpha threshold to use for conversion.

+

The palette translation type to use for conversion.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If you do not have a predefined palette, you must first create one. Use InitializeFromBitmap to create the palette object, then pass it in along with your other parameters.

dither, pIPalette, alphaThresholdPercent, and paletteTranslate are used to mitigate color loss when converting to a reduced bit-depth format. For conversions that do not need these settings, the following parameters values should be used: dither set to , pIPalette set to null, alphaThresholdPercent set to 0.0f, and paletteTranslate set to .

The basic algorithm involved when using an ordered dither requires a fixed palette, found in the enumeration, in a specific order. Often, the actual palette provided for the output may have a different ordering or some slight variation in the actual colors. This is the case when using the Microsoft?Windows palette which has slight differences among versions of Windows. To provide for this, a palette and a palette translation are given to the format converter. The pIPalette is the actual destination palette to be used and the paletteTranslate is a fixed palette. Once the conversion is complete, the colors are mapped from the fixed palette to the actual colors in pIPalette using a nearest color matching algorithm.

If colors in pIPalette do not closely match those in paletteTranslate, the mapping may produce undesireable results.

can be useful in format conversions from 8-bit formats to 5- or 6-bit formats as there is no way to accurately convert color data.

selects the error diffusion algorithm and may be used with any palette. If an arbitrary palette is provided, WICBitmapPaletteCustom should be passed in as the paletteTranslate. Error diffusion often provides superior results compared to the ordered dithering algorithms especially when combined with the optimized palette generation functionality on the .

When converting a bitmap which has an alpha channel, such as a Portable Network Graphics (PNG), to 8bpp, the alpha channel is normally ignored. Any pixels which were transparent in the original bitmap show up as black in the final output because both transparent and black have pixel values of zero in the respective formats.

Some 8bpp content can contains an alpha color; for instance, the Graphics Interchange Format (GIF) format allows for a single palette entry to be used as a transparent color. For this type of content, alphaThresholdPercent specifies what percentage of transparency should map to the transparent color. Because the alpha value is directly proportional to the opacity (not transparency) of a pixel, the alphaThresholdPercent indicates what level of opacity is mapped to the fully transparent color. For instance, 9.8% implies that any pixel with an alpha value of less than 25 will be mapped to the transparent color. A value of 100% maps all pixels which are not fully opaque to the transparent color. Note that the palette should provide a transparent color. If it does not, the 'transparent' color will be the one closest to zero - often black.

+
+ + ee690279 + HRESULT IWICFormatConverter::Initialize([In, Optional] IWICBitmapSource* pISource,[In] const GUID& dstFormat,[In] WICBitmapDitherType dither,[In, Optional] IWICPalette* pIPalette,[In] double alphaThresholdPercent,[In] WICBitmapPaletteType paletteTranslate) + IWICFormatConverter::Initialize +
+ + +

Determines if the source pixel format can be converted to the destination pixel format.

+
+

The source pixel format.

+

The destionation pixel format.

+

A reference that receives a value indicating whether the source pixel format can be converted to the destination pixel format.

+ + ee690278 + HRESULT IWICFormatConverter::CanConvert([In] const GUID& srcPixelFormat,[In] const GUID& dstPixelFormat,[Out] BOOL* pfCanConvert) + IWICFormatConverter::CanConvert +
+ + + Initializes a new instance of the class. + + The converter info. + + + + Initializes this instance with the specified bitmap source and format + + The source ref. + The destination format. + + + + + Initializes a new instance of the class. + + The factory. + + + +

Exposes methods that provide information about a pixel format converter.

+
+ + ee690275 + IWICFormatConverterInfo + IWICFormatConverterInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves a list of GUIDs that signify which pixel formats the converter supports.

+
+

The size of the pPixelFormatGUIDs array.

+

Pointer to a array that receives the pixel formats the converter supports.

+

The actual array size needed to retrieve all pixel formats supported by the converter.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The format converter does not necessarily guarantee symmetricality with respect to conversion; that is, a converter may be able to convert FROM a particular format without actually being able to convert TO a particular format. In order to test symmetricality, use CanConvert.

To determine the number of pixel formats a coverter can handle, set cFormats to 0 and pPixelFormatGUIDs to null. The converter will fill pcActual with the number of formats supported by that converter.

+
+ + ee690277 + HRESULT IWICFormatConverterInfo::GetPixelFormats([In] unsigned int cFormats,[In] void* pPixelFormatGUIDs,[Out] unsigned int* pcActual) + IWICFormatConverterInfo::GetPixelFormats +
+ + +

Creates a new instance.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690276 + HRESULT IWICFormatConverterInfo::CreateInstance([Out, Fast] IWICFormatConverter** ppIConverter) + IWICFormatConverterInfo::CreateInstance +
+ + + Gets the supported pixel formats. + + + + +

Exposes methods used to create components for the Windows Imaging Component (WIC) such as decoders, encoders and pixel format converters.

+
+ + ee690281 + IWICImagingFactory + IWICImagingFactory +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + Constant WICImagingFactoryClsid. + CLSID_WICImagingFactory + + + +

Creates a new instance of the class based on the given file.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690307 + HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + IWICImagingFactory::CreateDecoderFromFilename +
+ + +

Creates a new instance of the class based on the given .

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690309 + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + IWICImagingFactory::CreateDecoderFromStream +
+ + +

Creates a new instance of the based on the given file handle.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

When a decoder is created using this method, the file handle must remain alive during the lifetime of the decoder.

+
+ + ee690305 + HRESULT IWICImagingFactory::CreateDecoderFromFileHandle([In] ULONG_PTR hFile,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + IWICImagingFactory::CreateDecoderFromFileHandle +
+ + +

Creates a new instance of the class for the given component class identifier (CLSID).

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690302 + HRESULT IWICImagingFactory::CreateComponentInfo([In] const GUID& clsidComponent,[Out, Fast] IWICComponentInfo** ppIInfo) + IWICImagingFactory::CreateComponentInfo +
+ + +

Creates a new instance of the interface.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690304 + HRESULT IWICImagingFactory::CreateDecoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + IWICImagingFactory::CreateDecoder +
+ + +

Creates a new instance of the class.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Other values may be available for both guidContainerFormat and pguidVendor depending on the installed WIC-enabled encoders. The values listed are those that are natively supported by the operating system.

+
+ + ee690311 + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapEncoder** ppIEncoder) + IWICImagingFactory::CreateEncoder +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690319 + HRESULT IWICImagingFactory::CreatePalette([Out, Fast] IWICPalette** ppIPalette) + IWICImagingFactory::CreatePalette +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690317 + HRESULT IWICImagingFactory::CreateFormatConverter([Out, Fast] IWICFormatConverter** ppIFormatConverter) + IWICImagingFactory::CreateFormatConverter +
+ + +

Creates a new instance of an .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690296 + HRESULT IWICImagingFactory::CreateBitmapScaler([Out, Fast] IWICBitmapScaler** ppIBitmapScaler) + IWICImagingFactory::CreateBitmapScaler +
+ + +

Creates a new instance of an object.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690283 + HRESULT IWICImagingFactory::CreateBitmapClipper([Out, Fast] IWICBitmapClipper** ppIBitmapClipper) + IWICImagingFactory::CreateBitmapClipper +
+ + +

Creates a new instance of an object.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690285 + HRESULT IWICImagingFactory::CreateBitmapFlipRotator([Out, Fast] IWICBitmapFlipRotator** ppIBitmapFlipRotator) + IWICImagingFactory::CreateBitmapFlipRotator +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690325 + HRESULT IWICImagingFactory::CreateStream([Out, Fast] IWICStream** ppIWICStream) + IWICImagingFactory::CreateStream +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690299 + HRESULT IWICImagingFactory::CreateColorContext([Out, Fast] IWICColorContext** ppIWICColorContext) + IWICImagingFactory::CreateColorContext +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690300 + HRESULT IWICImagingFactory::CreateColorTransformer([Out, Fast] IWICColorTransform** ppIWICColorTransform) + IWICImagingFactory::CreateColorTransformer +
+ + +

Creates an object.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690282 + HRESULT IWICImagingFactory::CreateBitmap([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmap +
+ + +

Creates a from a .

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690293 + HRESULT IWICImagingFactory::CreateBitmapFromSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromSource +
+ + +

Creates an from a specified rectangle of an .

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690294 + HRESULT IWICImagingFactory::CreateBitmapFromSourceRect([In, Optional] IWICBitmapSource* pIBitmapSource,[In] unsigned int x,[In] unsigned int y,[In] unsigned int width,[In] unsigned int height,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromSourceRect +
+ + +

Creates an from a memory block.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690291 + HRESULT IWICImagingFactory::CreateBitmapFromMemory([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromMemory +
+ + +

Creates an from a bitmap handle.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690287 + HRESULT IWICImagingFactory::CreateBitmapFromHBITMAP([In] HBITMAP hBitmap,[In, Optional] HPALETTE hPalette,[In] WICBitmapAlphaChannelOption options,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromHBITMAP +
+ + +

Creates an from an icon handle.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690289 + HRESULT IWICImagingFactory::CreateBitmapFromHICON([In] HICON hIcon,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromHICON +
+ + +

Creates an object of the specified component types.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Component types must be enumerated seperately. Combinations of component types and are unsupported.

+
+ + ee690301 + HRESULT IWICImagingFactory::CreateComponentEnumerator([In] unsigned int componentTypes,[In] unsigned int options,[Out, Fast] IEnumUnknown** ppIEnumUnknown) + IWICImagingFactory::CreateComponentEnumerator +
+ + +

Creates a new instance of the fast metadata encoder based on the given .

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The native image formats provided by Windows Imaging Component (WIC) do not support metadata at the decoder level. WIC codecs only support metadata on image frames. To create a fast metadata encoder from an image frame, see the image factory's CreateFastMetadataEncoderFromFrameDecode method.

+
+ + ee690313 + HRESULT IWICImagingFactory::CreateFastMetadataEncoderFromDecoder([In, Optional] IWICBitmapDecoder* pIDecoder,[Out, Fast] IWICFastMetadataEncoder** ppIFastEncoder) + IWICImagingFactory::CreateFastMetadataEncoderFromDecoder +
+ + +

Creates a new instance of the fast metadata encoder based on the given image frame.

+
+

The to create the from.

+

When this method returns, contains a reference to a new fast metadata encoder.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690315 + HRESULT IWICImagingFactory::CreateFastMetadataEncoderFromFrameDecode([In, Optional] IWICBitmapFrameDecode* pIFrameDecoder,[Out, Fast] IWICFastMetadataEncoder** ppIFastEncoder) + IWICImagingFactory::CreateFastMetadataEncoderFromFrameDecode +
+ + +

Creates a new instance of a query writer.

+
+

The for the desired metadata format.

+

The for the preferred metadata writer vendor. Use null if no preferred vendor.

+

When this method returns, contains a reference to a new .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690321 + HRESULT IWICImagingFactory::CreateQueryWriter([In] const GUID& guidMetadataFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) + IWICImagingFactory::CreateQueryWriter +
+ + +

Creates a new instance of a query writer based on the given query reader. The query writer will be pre-populated with metadata from the query reader.

+
+

The to create the from.

+

The for the preferred metadata writer vendor. Use null if no preferred vendor.

+

When this method returns, contains a reference to a new metadata writer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690322 + HRESULT IWICImagingFactory::CreateQueryWriterFromReader([In, Optional] IWICMetadataQueryReader* pIQueryReader,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) + IWICImagingFactory::CreateQueryWriterFromReader +
+ + + Initializes a new instance of the class. + + + + +

Exposes methods for retrieving metadata blocks and items from a decoder or its image frames using a metadata query expression.

+
+ +

A metadata query reader uses metadata query expressions to access embedded metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

+
+ + ee719708 + IWICMetadataQueryReader + IWICMetadataQueryReader +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the metadata query readers container format.

+
+

Pointer that receives the cointainer format .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719709 + HRESULT IWICMetadataQueryReader::GetContainerFormat([Out] GUID* pguidContainerFormat) + IWICMetadataQueryReader::GetContainerFormat +
+ + +

Retrieves the current path relative to the root metadata block.

+
+

The length of the wzNamespace buffer.

+

Pointer that receives the current namespace location.

+

The actual buffer length that was needed to retrieve the current namespace location.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the query reader is relative to the top of the metadata hierarchy it will return an empty string.

If the query reader is relative to a nested metadata block this method will return the path to the current query reader.

+
+ + ee719713 + HRESULT IWICMetadataQueryReader::GetLocation([In] unsigned int cchMaxLength,[In] void* wzNamespace,[Out] unsigned int* pcchActualLength) + IWICMetadataQueryReader::GetLocation +
+ + +

Retrieves the metadata block or item identified by a metadata query expression.

+
+

The query expression to the requested metadata block or item.

+

When this method returns, contains the metadata block or item requested.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

GetMetadataByName uses metadata query expressions to access embedded metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

If multiple blocks or items exist that are expressed by the same query expression, the first metadata block or item found will be returned.

+
+ + ee719715 + HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[In] void* pvarValue) + IWICMetadataQueryReader::GetMetadataByName +
+ + +

Gets an enumerator of all metadata items at the current relative location within the metadata hierachy.

+
+

When this method returns, contais a reference to an enumerator that contains the metadata items.

+ +

If a metadata item is a nested metadata block it will be passed back as a VT_UNKNOWN; otherwise, the "name" of the property will be passed back as a VT_LPWSTR. The enumerator does not enumerate content within nested metadata blocks.

+
+ + ee719711 + HRESULT IWICMetadataQueryReader::GetEnumerator([Out] void** ppIEnumString) + IWICMetadataQueryReader::GetEnumerator +
+ + + Try to get the metadata value by name. + + The name. + The metadata value, or null if the metadata was not found or an error occurred + The WIC error code + HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[InOut, Optional] PROPVARIANT* pvarValue) + + + + Try to get the metadata value by name. + + The name. + the metadata value, or null if the metadata was not found + HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[InOut, Optional] PROPVARIANT* pvarValue) + + + + Gets the metadata value by name. + + The name. + Value of the metadata + HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[InOut, Optional] PROPVARIANT* pvarValue) + + + + Dumps all metadata. + + The text writer output. + The level of tabulations. + + This is a simple helper method to dump metadata stored in this instance. + + + + +

Gets the metadata query readers container format.

+
+ + ee719709 + GetContainerFormat + GetContainerFormat + HRESULT IWICMetadataQueryReader::GetContainerFormat([Out] GUID* pguidContainerFormat) +
+ + + Gets the enumerator on the metadata names. + + + + + Gets the enumerator on all the metadata query paths. + http://msdn.microsoft.com/en-us/library/windows/desktop/ee719796(v=vs.85).aspx#expressionanatomy + + + + + Gets the location. + + HRESULT IWICMetadataQueryReader::GetLocation([In] unsigned int cchMaxLength,[InOut, Buffer, Optional] wchar_t* wzNamespace,[Out] unsigned int* pcchActualLength) + + + +

Exposes methods for setting or removing metadata blocks and items to an encoder or its image frames using a metadata query expression.

+
+ +

A metadata query writer uses metadata query expressions to set or remove metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

+
+ + ee719717 + IWICMetadataQueryWriter + IWICMetadataQueryWriter +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets a metadata item to a specific location.

+
+

The name of the metadata item.

+

The metadata to set.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

SetMetadataByName uses metadata query expressions to remove metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

If the value set is a nested metadata block then use variant type VT_UNKNOWN and pvarValue pointing to the of the new metadata block. The ordering of metadata items is at the discretion of the query writer since relative locations are not specified.

+
+ + ee719720 + HRESULT IWICMetadataQueryWriter::SetMetadataByName([In] const wchar_t* wzName,[In] const void* pvarValue) + IWICMetadataQueryWriter::SetMetadataByName +
+ + +

Removes a metadata item from a specific location using a metadata query expression.

+
+

The name of the metadata item to remove.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

RemoveMetadataByName uses metadata query expressions to remove metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

If the metadata item is a metadata block, it is removed from the metadata hierarchy.

+
+ + ee719718 + HRESULT IWICMetadataQueryWriter::RemoveMetadataByName([In] const wchar_t* wzName) + IWICMetadataQueryWriter::RemoveMetadataByName +
+ + + Initializes a new instance of the class. + + The factory. + The GUID metadata format. + + + + Initializes a new instance of the class. + + The factory. + The GUID metadata format. + The GUID vendor ref. + HRESULT IWICImagingFactory::CreateQueryWriter([In] const GUID& guidMetadataFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) + + + + Initializes a new instance of the class from a . + + The factory. + The metadata query reader. + + + + Initializes a new instance of the class from a . + + The factory. + The metadata query reader. + The GUID vendor ref. + + + + Sets the value for a metadata name + + The name of the metadata. + The value. + + + + +

Exposes methods for accessing and building a color table, primarily for indexed pixel formats.

+
+ +

If the is not WICBitmapPaletteCustom, then the colors are automatically generated based on the table above. If the user subsequently changes a color palette entry the WICBitmapPalette is set to Custom by that action.

InitializeFromBitmap's fAddTransparentColor parameter will add a transparent color to the end of the color collection if its size if less than 256, otherwise index 255 will be replaced with the transparent color. If a pre-defined palette type is used, it will change to BitmapPaletteTypeCustom since it no longer matches the predefined palette.

The palette interface is an auxiliary imaging interface in that it does not directly concern bitmaps and pixels; rather it provides indexed color translation for indexed bitmaps. For an indexed pixel format with M bits per pixels: (The number of colors in the palette) greater than 2^M.

Traditionally the basic operation of the palette is to provide a translation from a byte (or smaller) index into a 32bpp color value. This is often accomplished by a 256 entry table of color values.

+
+ + ee719741 + IWICPalette + IWICPalette +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the palette to one of the pre-defined palettes specified by and optionally adds a transparent color.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719756 + HRESULT IWICPalette::InitializePredefined([In] WICBitmapPaletteType ePaletteType,[In] BOOL fAddTransparentColor) + IWICPalette::InitializePredefined +
+ + +

Initializes a palette to the custom color entries provided.

+
+

Pointer to the color array.

+

The number of colors in pColors.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If a transparent color is required, it should be provided as part of the custom entries.

The entry count is limited to 256.

+
+ + ee719750 + HRESULT IWICPalette::InitializeCustom([In, Buffer] void* pColors,[In] unsigned int cCount) + IWICPalette::InitializeCustom +
+ + +

Initializes a palette using a computed optimized values based on the reference bitmap.

+
+

Pointer to the source bitmap.

+

The number of colors to initialize the palette with.

+

A value to indicate whether to add a transparent color.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The resulting palette contains the specified number of colors which best represent the colors present in the bitmap. The algorithm operates on the opaque RGB color value of each pixel in the reference bitmap and hence ignores any alpha values. If a transparent color is required, set the fAddTransparentColor parameter to TRUE and one fewer optimized color will be computed, reducing the colorCount, and a fully transparent color entry will be added.

+
+ + ee719752 + HRESULT IWICPalette::InitializeFromBitmap([In, Optional] IWICBitmapSource* pISurface,[In] unsigned int cCount,[In] BOOL fAddTransparentColor) + IWICPalette::InitializeFromBitmap +
+ + +

Initialize the palette based on a given palette.

+
+

Pointer to the source palette.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719754 + HRESULT IWICPalette::InitializeFromPalette([In, Optional] IWICPalette* pIPalette) + IWICPalette::InitializeFromPalette +
+ + +

Retrieves the that describes the palette.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

WICBitmapPaletteCustom is used for palettes initialized from both InitializeCustom and InitializeFromBitmap. There is no distinction is made between optimized and custom palettes.

+
+ + ee719746 + HRESULT IWICPalette::GetType([Out] WICBitmapPaletteType* pePaletteType) + IWICPalette::GetType +
+ + +

Retrieves the number of colors in the color table.

+
+

Pointer that receives the number of colors in the color table.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719742 + HRESULT IWICPalette::GetColorCount([Out] unsigned int* pcCount) + IWICPalette::GetColorCount +
+ + +

Fills out the supplied color array with the colors from the internal color table. The color array should be sized according to the return results from GetColorCount.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719744 + HRESULT IWICPalette::GetColors([In] unsigned int cCount,[Out, Buffer] void* pColors,[Out] unsigned int* pcActualColors) + IWICPalette::GetColors +
+ + +

Retrieves a value that describes whether the palette is black and white.

+
+

Pointer that receives TRUE if the palette is black and white; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719758 + HRESULT IWICPalette::IsBlackWhite([Out] BOOL* pfIsBlackWhite) + IWICPalette::IsBlackWhite +
+ + +

Retrieves a value that describes whether a palette is grayscale.

+
+

Pointer that receives TRUE if the palette is grayscale; otherwise .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719759 + HRESULT IWICPalette::IsGrayscale([Out] BOOL* pfIsGrayscale) + IWICPalette::IsGrayscale +
+ + +

Retrieves a value that describes whether the palette contains an alpha transparent color.

+
+

Pointer that receives TRUE if the palette contains a transparent color; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719748 + HRESULT IWICPalette::HasAlpha([Out] BOOL* pfHasAlpha) + IWICPalette::HasAlpha +
+ + + Initializes a new instance of the class. + + The factory. + ee690319 + HRESULT IWICImagingFactory::CreatePalette([Out, Fast] IWICPalette** ppIPalette) + IWICImagingFactory::CreatePalette + + + + Initializes with the specified colors. + + The colors. + ee719750 + HRESULT IWICPalette::InitializeCustom([In, Buffer] void* pColors,[In] unsigned int cCount) + IWICPalette::InitializeCustom + + + + Initializes with the specified colors. + + The colors. + ee719750 + HRESULT IWICPalette::InitializeCustom([In, Buffer] void* pColors,[In] unsigned int cCount) + IWICPalette::InitializeCustom + + + +

Retrieves the that describes the palette.

+
+ +

WICBitmapPaletteCustom is used for palettes initialized from both InitializeCustom and InitializeFromBitmap. There is no distinction is made between optimized and custom palettes.

+
+ + ee719746 + GetType + GetType + HRESULT IWICPalette::GetType([Out] WICBitmapPaletteType* pePaletteType) +
+ + +

Retrieves the number of colors in the color table.

+
+ + ee719742 + GetColorCount + GetColorCount + HRESULT IWICPalette::GetColorCount([Out] unsigned int* pcCount) +
+ + +

Retrieves a value that describes whether the palette is black and white.

+
+ + ee719758 + IsBlackWhite + IsBlackWhite + HRESULT IWICPalette::IsBlackWhite([Out] BOOL* pfIsBlackWhite) +
+ + +

Retrieves a value that describes whether a palette is grayscale.

+
+ + ee719759 + IsGrayscale + IsGrayscale + HRESULT IWICPalette::IsGrayscale([Out] BOOL* pfIsGrayscale) +
+ + + Gets the colors. + + ee719744 + HRESULT IWICPalette::GetColors([In] unsigned int cCount,[Out, Buffer] void* pColors,[Out] unsigned int* pcActualColors) + IWICPalette::GetColors + + + +

Exposes methods that provide information about a pixel format.

+
+ + ee719763 + IWICPixelFormatInfo + IWICPixelFormatInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the pixel format .

+
+

Pointer that receives the pixel format .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719774 + HRESULT IWICPixelFormatInfo::GetFormatGUID([Out] GUID* pFormat) + IWICPixelFormatInfo::GetFormatGUID +
+ + +

Gets the pixel format's .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719773 + HRESULT IWICPixelFormatInfo::GetColorContext([Out] IWICColorContext** ppIColorContext) + IWICPixelFormatInfo::GetColorContext +
+ + +

Gets the bits per pixel (BPP) of the pixel format.

+
+

Pointer that receives the BPP of the pixel format.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719767 + HRESULT IWICPixelFormatInfo::GetBitsPerPixel([Out] unsigned int* puiBitsPerPixel) + IWICPixelFormatInfo::GetBitsPerPixel +
+ + +

Gets the number of channels the pixel format contains.

+
+

Pointer that receives the channel count.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719769 + HRESULT IWICPixelFormatInfo::GetChannelCount([Out] unsigned int* puiChannelCount) + IWICPixelFormatInfo::GetChannelCount +
+ + +

Gets the pixel format's channel mask.

+
+

The index to the channel mask to retrieve.

+

The size of the pbMaskBuffer buffer.

+

Pointer to the mask buffer.

+

The actual buffer size needed to obtain the channel mask.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719771 + HRESULT IWICPixelFormatInfo::GetChannelMask([In] unsigned int uiChannelIndex,[In] unsigned int cbMaskBuffer,[In] void* pbMaskBuffer,[Out] unsigned int* pcbActual) + IWICPixelFormatInfo::GetChannelMask +
+ + + Gets the channel mask. + + Index of the channel. + + HRESULT IWICPixelFormatInfo::GetChannelMask([In] unsigned int uiChannelIndex,[In] unsigned int cbMaskBuffer,[In] void* pbMaskBuffer,[Out] unsigned int* pcbActual) + + + +

Gets the pixel format .

+
+ + ee719774 + GetFormatGUID + GetFormatGUID + HRESULT IWICPixelFormatInfo::GetFormatGUID([Out] GUID* pFormat) +
+ + +

Gets the pixel format's .

+
+ + ee719773 + GetColorContext + GetColorContext + HRESULT IWICPixelFormatInfo::GetColorContext([Out] IWICColorContext** ppIColorContext) +
+ + +

Gets the bits per pixel (BPP) of the pixel format.

+
+ + ee719767 + GetBitsPerPixel + GetBitsPerPixel + HRESULT IWICPixelFormatInfo::GetBitsPerPixel([Out] unsigned int* puiBitsPerPixel) +
+ + +

Gets the number of channels the pixel format contains.

+
+ + ee719769 + GetChannelCount + GetChannelCount + HRESULT IWICPixelFormatInfo::GetChannelCount([Out] unsigned int* puiChannelCount) +
+ + +

Extends by providing additional information about a pixel format.

+
+ + ee719764 + IWICPixelFormatInfo2 + IWICPixelFormatInfo2 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Returns whether the format supports transparent pixels.

+
+

Returns TRUE if the pixel format supports transparency; otherwise, false.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719766 + HRESULT IWICPixelFormatInfo2::SupportsTransparency([Out] BOOL* pfSupportsTransparency) + IWICPixelFormatInfo2::SupportsTransparency +
+ + + No documentation. + +

Returns the of the pixel format.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719765 + HRESULT IWICPixelFormatInfo2::GetNumericRepresentation([Out] WICPixelFormatNumericRepresentation* pNumericRepresentation) + IWICPixelFormatInfo2::GetNumericRepresentation +
+ + +

Returns whether the format supports transparent pixels.

+
+ + ee719766 + SupportsTransparency + SupportsTransparency + HRESULT IWICPixelFormatInfo2::SupportsTransparency([Out] BOOL* pfSupportsTransparency) +
+ + + No documentation. + + + ee719765 + GetNumericRepresentation + GetNumericRepresentation + HRESULT IWICPixelFormatInfo2::GetNumericRepresentation([Out] WICPixelFormatNumericRepresentation* pNumericRepresentation) + + + +

interface is documented only for compliance; its use is not recommended and may be altered or unavailable in the future. Instead, and use RegisterProgressNotification. +

+
+ + ee719775 + IWICProgressCallback + IWICProgressCallback +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Notify method is documented only for compliance; its use is not recommended and may be altered or unavailable in the future. Instead, and use RegisterProgressNotification. +

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719776 + HRESULT IWICProgressCallback::Notify([In] unsigned int uFrameNum,[In] WICProgressOperation operation,[In] double dblProgress) + IWICProgressCallback::Notify +
+ + +

Exposes methods for obtaining information about and controlling progressive decoding.

+
+ +

Images can only be progressively decoded if they were progressively encoded. The native encoders supplied by Windows Imaging Component (WIC) do not

E_NOTIMPL is returned if the codec does not support progressive level decoding.

+
+ + ee719778 + IWICProgressiveLevelControl + IWICProgressiveLevelControl +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the number of levels of progressive decoding supported by the CODEC.

+
+

Indicates the number of levels supported by the CODEC.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Users should not use this function to iterate through the progressive levels of a progressive JPEG image. JPEG progressive levels are determined by the image and do not have a fixed level count. Using this method will force the application to wait for all progressive levels to be downloaded before it can return. Instead, applications should use the following code to iterate through the progressive levels of a progressive JPEG image.

+
+ + ee719780 + HRESULT IWICProgressiveLevelControl::GetLevelCount([Out] unsigned int* pcLevels) + IWICProgressiveLevelControl::GetLevelCount +
+ + +

Gets the last level set by the SetCurrentLevel call.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719779 + HRESULT IWICProgressiveLevelControl::GetCurrentLevel([Out] unsigned int* pnLevel) + IWICProgressiveLevelControl::GetCurrentLevel +
+ + +

Specifies the level to retrieve on the next call to CopyPixels.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

A call does not have to request every level supported. If a caller requests level 1, without having previously requested level 0, the bits returned by the next call to CopyPixels will include both levels.

+
+ + ee719781 + HRESULT IWICProgressiveLevelControl::SetCurrentLevel([In] unsigned int nLevel) + IWICProgressiveLevelControl::SetCurrentLevel +
+ + +

Gets the number of levels of progressive decoding supported by the CODEC.

+
+ +

Users should not use this function to iterate through the progressive levels of a progressive JPEG image. JPEG progressive levels are determined by the image and do not have a fixed level count. Using this method will force the application to wait for all progressive levels to be downloaded before it can return. Instead, applications should use the following code to iterate through the progressive levels of a progressive JPEG image.

+
+ + ee719780 + GetLevelCount + GetLevelCount + HRESULT IWICProgressiveLevelControl::GetLevelCount([Out] unsigned int* pcLevels) +
+ + +

Gets or sets the last level set by the SetCurrentLevel call.

+
+ + ee719779 + GetCurrentLevel / SetCurrentLevel + GetCurrentLevel + HRESULT IWICProgressiveLevelControl::GetCurrentLevel([Out] unsigned int* pnLevel) +
+ + +

Represents a Windows Imaging Component (WIC) stream for referencing imaging and metadata content.

+
+ +

Decoders and metadata handlers are expected to create sub streams of whatever stream they hold when handing off control for embedded metadata to another metadata handler. If the stream is not restricted then use MAXLONGLONG as the max size and offset 0.

The interface methods do not enable you to provide a file sharing option. To create a file stream for an image, use the SHCreateStreamOnFileEx function. This stream can then be used to create an using the CreateDecoderFromStream method.

+
+ + ee719782 + IWICStream + IWICStream +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes a stream from another stream. Access rights are inherited from the underlying stream.

+
+

The initialize stream.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719789 + HRESULT IWICStream::InitializeFromIStream([In, Optional] IStream* pIStream) + IWICStream::InitializeFromIStream +
+ + +

Initializes a stream from a particular file.

+
+

The file used to initialize the stream.

+

The desired file access mode.

ValueMeaning
GENERIC_READ

Read access.

GENERIC_WRITE

Write access.

?

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The interface methods do not enable you to provide a file sharing option. To create a shared file stream for an image, use the SHCreateStreamOnFileEx function. This stream can then be used to create an using the CreateDecoderFromStream method.

+
+ + ee719788 + HRESULT IWICStream::InitializeFromFilename([In] const wchar_t* wzFileName,[In] unsigned int dwDesiredAccess) + IWICStream::InitializeFromFilename +
+ + +

Initializes a stream to treat a block of memory as a stream. The stream cannot grow beyond the buffer size.

+
+

Pointer to the buffer used to initialize the stream.

+

The size of buffer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method should be avoided whenever possible. The caller is responsible for ensuring the memory block is valid for the lifetime of the stream when using InitializeFromMemory. A workaround for this behavior is to create an and use InitializeFromIStream to create the .

If you require a growable memory stream, use CreateStreamOnHGlobal.

+
+ + ee719792 + HRESULT IWICStream::InitializeFromMemory([In] void* pbBuffer,[In] unsigned int cbBufferSize) + IWICStream::InitializeFromMemory +
+ + +

Initializes the stream as a substream of another stream.

+
+

Pointer to the input stream.

+

The stream offset used to create the new stream.

+

The maximum size of the stream.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The stream functions with its own stream position, independent of the underlying stream but restricted to a region. All seek positions are relative to the sub region. It is allowed, though not recommended, to have multiple writable sub streams overlapping the same range.

+
+ + ee719790 + HRESULT IWICStream::InitializeFromIStreamRegion([In, Optional] IStream* pIStream,[In] ULARGE_INTEGER ulOffset,[In] ULARGE_INTEGER ulMaxSize) + IWICStream::InitializeFromIStreamRegion +
+ + + Initializes a new instance of the class from a file. + + The factory. + Name of the file. + The file access. + ee690325 + HRESULT IWICImagingFactory::CreateStream([Out, Fast] IWICStream** ppIWICStream) + + + + Initializes a new instance of the class from a . + + The factory. + The stream. + ee719789 + HRESULT IWICStream::InitializeFromIStream([In, Optional] IStream* pIStream) + IWICStream::InitializeFromIStream + + + + Initializes a new instance of the class from an unmanaged memory through a . + + The factory. + The unmanaged memory stream. + ee719792 + HRESULT IWICStream::InitializeFromMemory([In] void* pbBuffer,[In] unsigned int cbBufferSize) + IWICStream::InitializeFromMemory + + + +

Contains members that identify a pattern within an image file which can be used to identify a particular format.

+
+ + ee719813 + WICBitmapPattern + WICBitmapPattern +
+ + +

The offset the pattern is located in the file.

+
+ + ee719813 + ULARGE_INTEGER Position + ULARGE_INTEGER Position +
+ + +

The pattern length.

+
+ + ee719813 + unsigned int Length + unsigned int Length +
+ + +

The actual pattern.

+
+ + ee719813 + unsigned char* Pattern + unsigned char Pattern +
+ + +

The pattern mask.

+
+ + ee719813 + unsigned char* Mask + unsigned char Mask +
+ + +

The end of the stream.

+
+ + ee719813 + BOOL EndOfStream + BOOL EndOfStream +
+ + +

Defines raw codec capabilites.

+
+ + ee719857 + WICRawCapabilitiesInfo + WICRawCapabilitiesInfo +
+ + +

Size of the structure.

+
+ + ee719857 + unsigned int cbSize + unsigned int cbSize +
+ + +

The codec's major version.

+
+ + ee719857 + unsigned int CodecMajorVersion + unsigned int CodecMajorVersion +
+ + +

The codec's minor version.

+
+ + ee719857 + unsigned int CodecMinorVersion + unsigned int CodecMinorVersion +
+ + +

The of exposure compensation support.

+
+ + ee719857 + WICRawCapabilities ExposureCompensationSupport + WICRawCapabilities ExposureCompensationSupport +
+ + +

The of contrast support.

+
+ + ee719857 + WICRawCapabilities ContrastSupport + WICRawCapabilities ContrastSupport +
+ + +

The of RGB white point support.

+
+ + ee719857 + WICRawCapabilities RGBWhitePointSupport + WICRawCapabilities RGBWhitePointSupport +
+ + +

The of support.

+
+ + ee719857 + WICRawCapabilities NamedWhitePointSupport + WICRawCapabilities NamedWhitePointSupport +
+ + +

The mask.

+
+ + ee719857 + unsigned int NamedWhitePointSupportMask + unsigned int NamedWhitePointSupportMask +
+ + +

The of kelvin white point support.

+
+ + ee719857 + WICRawCapabilities KelvinWhitePointSupport + WICRawCapabilities KelvinWhitePointSupport +
+ + +

The of gamma support.

+
+ + ee719857 + WICRawCapabilities GammaSupport + WICRawCapabilities GammaSupport +
+ + +

The of tint support.

+
+ + ee719857 + WICRawCapabilities TintSupport + WICRawCapabilities TintSupport +
+ + +

The of saturation support.

+
+ + ee719857 + WICRawCapabilities SaturationSupport + WICRawCapabilities SaturationSupport +
+ + +

The of sharpness support.

+
+ + ee719857 + WICRawCapabilities SharpnessSupport + WICRawCapabilities SharpnessSupport +
+ + +

The of noise reduction support.

+
+ + ee719857 + WICRawCapabilities NoiseReductionSupport + WICRawCapabilities NoiseReductionSupport +
+ + +

The of destination color profile support.

+
+ + ee719857 + WICRawCapabilities DestinationColorProfileSupport + WICRawCapabilities DestinationColorProfileSupport +
+ + +

The of tone curve support.

+
+ + ee719857 + WICRawCapabilities ToneCurveSupport + WICRawCapabilities ToneCurveSupport +
+ + +

The of rotation support.

+
+ + ee719857 + WICRawRotationCapabilities RotationSupport + WICRawRotationCapabilities RotationSupport +
+ + +

The of support.

+
+ + ee719857 + WICRawCapabilities RenderModeSupport + WICRawCapabilities RenderModeSupport +
+ + +

Represents a raw image tone curve.

+
+ + ee719861 + WICRawToneCurve + WICRawToneCurve +
+ + +

The number of tone curve points.

+
+ + ee719861 + unsigned int cPoints + unsigned int cPoints +
+ + +

The array of tone curve points.

+
+ + ee719861 + WICRawToneCurvePoint aPoints[1] + WICRawToneCurvePoint aPoints +
+ + +

Represents a raw image tone curve point.

+
+ + ee719862 + WICRawToneCurvePoint + WICRawToneCurvePoint +
+ + +

The tone curve input.

+
+ + ee719862 + double Input + double Input +
+ + +

The tone curve output.

+
+ + ee719862 + double Output + double Output +
+ + + Internal class used to initialize this assembly. + + + + + Initializes this assembly. + + + This method is called when the assembly is loaded. + + + + + A WIC RenderTarget. + + + + +

Represents an object that can receive drawing commands. Interfaces that inherit from render the drawing commands they receive in different ways.

+
+ +

Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371766 + ID2D1RenderTarget + ID2D1RenderTarget +
+ + +

Represents a Direct2D drawing resource.

+
+ + dd316908 + ID2D1Resource + ID2D1Resource +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the factory associated with this resource.

+
+

When this method returns, contains a reference to a reference to the factory that created this resource. This parameter is passed uninitialized.

+ + dd316911 + void ID2D1Resource::GetFactory([Out] ID2D1Factory** factory) + ID2D1Resource::GetFactory +
+ + +

Retrieves the factory associated with this resource.

+
+ + dd316911 + GetFactory + GetFactory + void ID2D1Resource::GetFactory([Out] ID2D1Factory** factory) +
+ + + Default stroke width used for all methods that are not explicitly using it. Default is set to 1.0f. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a Direct2D bitmap from a reference to in-memory source data.

+
+

The dimension of the bitmap to create in pixels.

+

A reference to the memory location of the image data, or null to create an uninitialized bitmap.

+

The byte count of each scanline, which is equal to (the image width in pixels ? the number of bytes per pixel) + memory padding. If srcData is null, this value is ignored. (Note that pitch is also sometimes called stride.)

+

The pixel format and dots per inch (DPI) of the bitmap to create.

+

When this method returns, contains a reference to a reference to the new bitmap. This parameter is passed uninitialized.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap +
+ + +

Creates an by copying the specified Microsoft Windows Imaging Component (WIC) bitmap.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Before Direct2D can load a WIC bitmap, that bitmap must be converted to a supported pixel format and alpha mode. For a list of supported pixel formats and alpha modes, see Supported Pixel Formats and Alpha Modes.

+
+ + dd371797 + HRESULT ID2D1RenderTarget::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmapFromWicBitmap +
+ + +

Creates an whose data is shared with another resource.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The CreateSharedBitmap method is useful for efficiently reusing bitmap data and can also be used to provide interoperability with Direct3D.

Sharing an

By passing an created by a render target that is resource-compatible, you can share a bitmap with that render target; both the original and the new created by this method will point to the same bitmap data. For more information about when render target resources can be shared, see the Sharing Render Target Resources section of the Resources Overview.

You may also use this method to reinterpret the data of an existing bitmap and specify a new DPI or alpha mode. For example, in the case of a bitmap atlas, an may contain multiple sub-images, each of which should be rendered with a different ( or ). You could use the CreateSharedBitmap method to reinterpret the bitmap using the desired alpha mode without having to load a separate copy of the bitmap into memory.

Sharing an

When using a DXGI surface render target (an object created by the CreateDxgiSurfaceRenderTarget method), you can pass an surface to the CreateSharedBitmap method to share video memory with Direct3D and manipulate Direct3D content as an . As described in the Resources Overview, the render target and the must be using the same Direct3D device.

Note also that the must use one of the supported pixel formats and alpha modes described in Supported Pixel Formats and Alpha Modes.

For more information about interoperability with Direct3D, see the Direct2D and Direct3D Interoperability Overview.

Sharing an

An stores the content of a WIC bitmap and shields it from simultaneous accesses. By passing an to the CreateSharedBitmap method, you can create an that points to the bitmap data already stored in the .

To use an with the CreateSharedBitmap method, the render target must use software rendering. To force a render target to use software rendering, set to the type field of the structure that you use to create the render target. To check whether an existing render target uses software rendering, use the IsSupported method.

+
+ + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap +
+ + + Creates an from the specified bitmap.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742778 + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + ID2D1RenderTarget::CreateBitmapBrush + + + + Creates a new that can be used to paint areas with a solid color.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + + dd742843 + HRESULT ID2D1RenderTarget::CreateSolidColorBrush([In] const D2D_COLOR_F* color,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1SolidColorBrush** solidColorBrush) + ID2D1RenderTarget::CreateSolidColorBrush + + + +

Creates an from the specified gradient stops, color interpolation gamma, and extend mode.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371830 + HRESULT ID2D1RenderTarget::CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[In] unsigned int gradientStopsCount,[In] D2D1_GAMMA colorInterpolationGamma,[In] D2D1_EXTEND_MODE extendMode,[Out, Fast] ID2D1GradientStopCollection** gradientStopCollection) + ID2D1RenderTarget::CreateGradientStopCollection +
+ + +

Creates an that contains the specified gradient stops and has the specified transform and base opacity.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371842 + HRESULT ID2D1RenderTarget::CreateLinearGradientBrush([In] const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out, Fast] ID2D1LinearGradientBrush** linearGradientBrush) + ID2D1RenderTarget::CreateLinearGradientBrush +
+ + +

Creates an that contains the specified gradient stops, has no transform, and has a base opacity of 1.0.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371859 + HRESULT ID2D1RenderTarget::CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out, Fast] ID2D1RadialGradientBrush** radialGradientBrush) + ID2D1RenderTarget::CreateRadialGradientBrush +
+ + + Creates a new bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target .Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742780 + HRESULT ID2D1RenderTarget::CreateCompatibleRenderTarget([In, Optional] const D2D_SIZE_F* desiredSize,[In, Optional] const D2D_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[In] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out, Fast] ID2D1BitmapRenderTarget** bitmapRenderTarget) + ID2D1RenderTarget::CreateCompatibleRenderTarget + + + +

Creates a layer resource that can be used with this render target and its compatible render targets.

+
+

When the method returns, contains a reference to a reference to the new layer. This parameter is passed uninitialized.

+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The layer automatically resizes itself, as needed.

+
+ + dd371839 + HRESULT ID2D1RenderTarget::CreateLayer([In, Optional] const D2D_SIZE_F* size,[Out, Fast] ID2D1Layer** layer) + ID2D1RenderTarget::CreateLayer +
+ + +

Create a mesh that uses triangles to describe a shape.

+
+

When this method returns, contains a reference to a reference to the new mesh.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To populate a mesh, use its Open method to obtain an . To draw the mesh, use the render target's FillMesh method.

+
+ + dd371851 + HRESULT ID2D1RenderTarget::CreateMesh([Out, Fast] ID2D1Mesh** mesh) + ID2D1RenderTarget::CreateMesh +
+ + +

Draws a line between the specified points using the specified stroke style.

+
+

The start point of the line, in device-independent pixels.

+

The end point of the line, in device-independent pixels.

+

The brush used to paint the line's stroke.

+

A value greater than or equal to 0.0f that specifies the width of the stroke. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.

+

The style of stroke to paint, or null to paint a solid line.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawLine) failed, check the result returned by the or methods.

+
+ + dd371895 + void ID2D1RenderTarget::DrawLine([In] D2D_POINT_2F point0,[In] D2D_POINT_2F point1,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawLine +
+ + +

Draws the outline of a rectangle that has the specified dimensions and stroke style.

+
+

The dimensions of the rectangle to draw, in device-independent pixels.

+

The brush used to paint the rectangle's stroke.

+

A value greater than or equal to 0.0f that specifies the width of the rectangle's stroke. The stroke is centered on the rectangle's outline.

+

The style of stroke to paint, or null to paint a solid stroke.

+ +

When this method fails, it does not return an error code. To determine whether a drawing method (such as DrawRectangle) failed, check the result returned by the or method.

+
+ + dd371902 + void ID2D1RenderTarget::DrawRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawRectangle +
+ + +

Paints the interior of the specified rectangle.

+
+

The dimension of the rectangle to paint, in device-independent pixels.

+

The brush used to paint the rectangle's interior.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillRectangle) failed, check the result returned by the or methods.

+
+ + dd371954 + void ID2D1RenderTarget::FillRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush) + ID2D1RenderTarget::FillRectangle +
+ + +

Draws the outline of the specified rounded rectangle using the specified stroke style.

+
+

The dimensions of the rounded rectangle to draw, in device-independent pixels.

+

The brush used to paint the rounded rectangle's outline.

+

The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f.

+

The style of the rounded rectangle's stroke, or null to paint a solid stroke. The default value is null.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawRoundedRectangle) failed, check the result returned by the or methods.

+
+ + dd371908 + void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawRoundedRectangle +
+ + +

Paints the interior of the specified rounded rectangle.

+
+

The dimensions of the rounded rectangle to paint, in device independent pixels.

+

The brush used to paint the interior of the rounded rectangle.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillRoundedRectangle) failed, check the result returned by the or methods.

+
+ + dd316795 + void ID2D1RenderTarget::FillRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush) + ID2D1RenderTarget::FillRoundedRectangle +
+ + +

Draws the outline of the specified ellipse using the specified stroke style.

+
+

The position and radius of the ellipse to draw, in device-independent pixels.

+

The brush used to paint the ellipse's outline.

+

The thickness of the ellipse's stroke. The stroke is centered on the ellipse's outline.

+

The style of stroke to apply to the ellipse's outline, or null to paint a solid stroke.

+ +

The DrawEllipse method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawEllipse) failed, check the result returned by the or methods.

+
+ + dd371886 + void ID2D1RenderTarget::DrawEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawEllipse +
+ + +

Paints the interior of the specified ellipse.

+
+

The position and radius, in device-independent pixels, of the ellipse to paint.

+

The brush used to paint the interior of the ellipse.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillEllipse) failed, check the result returned by the or methods.

+
+ + dd371928 + void ID2D1RenderTarget::FillEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush) + ID2D1RenderTarget::FillEllipse +
+ + +

Draws the outline of the specified geometry using the specified stroke style.

+
+

The geometry to draw.

+

The brush used to paint the geometry's stroke.

+

The thickness of the geometry's stroke. The stroke is centered on the geometry's outline.

+

The style of stroke to apply to the geometry's outline, or null to paint a solid stroke.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGeometry) failed, check the result returned by the or methods.

+
+ + dd371890 + void ID2D1RenderTarget::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawGeometry +
+ + +

Paints the interior of the specified geometry.

+
+

The geometry to paint.

+

The brush used to paint the geometry's interior.

+

The opacity mask to apply to the geometry, or null for no opacity mask. If an opacity mask (the opacityBrush parameter) is specified, brush must be an that has its x- and y-extend modes set to . For more information, see the Remarks section.

+ +

If the opacityBrush parameter is not null, the alpha value of each pixel of the mapped opacityBrush is used to determine the resulting opacity of each corresponding pixel of the geometry. Only the alpha value of each color in the brush is used for this processing; all other color information is ignored. The alpha value specified by the brush is multiplied by the alpha value of the geometry after the geometry has been painted by brush. +

When this method fails, it does not return an error code. To determine whether a drawing operation (such as FillGeometry) failed, check the result returned by the or method.

+
+ + dd371933 + void ID2D1RenderTarget::FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) + ID2D1RenderTarget::FillGeometry +
+ + +

Paints the interior of the specified mesh.

+
+

The mesh to paint.

+

The brush used to paint the mesh.

+ +

The current antialias mode of the render target must be when FillMesh is called. To change the render target's antialias mode, use the SetAntialiasMode method.

FillMesh does not expect a particular winding order for the triangles in the ; both clockwise and counter-clockwise will work.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillMesh) failed, check the result returned by the or methods.

+
+ + dd371939 + void ID2D1RenderTarget::FillMesh([In] ID2D1Mesh* mesh,[In] ID2D1Brush* brush) + ID2D1RenderTarget::FillMesh +
+ + + Applies the opacity mask described by the specified bitmap to a brush and uses that brush to paint a region of the render target.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + +

For this method to work properly, the render target must be using the antialiasing mode. You can set the antialiasing mode by calling the method.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillOpacityMask) failed, check the result returned by the or methods.

+
+ + dd742850 + void ID2D1RenderTarget::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In] D2D1_OPACITY_MASK_CONTENT content,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) + ID2D1RenderTarget::FillOpacityMask +
+ + +

Draws the specified bitmap after scaling it to the size of the specified rectangle.

+
+

The bitmap to render.

+

The size and position, in device-independent pixels in the render target's coordinate space, of the area to which the bitmap is drawn. If the rectangle is not well-ordered, nothing is drawn, but the render target does not enter an error state.

+

A value between 0.0f and 1.0f, inclusive, that specifies the opacity value to be applied to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. Default is 1.0f.

+

The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is .

+

The size and position, in device-independent pixels in the bitmap's coordinate space, of the area within the bitmap to draw; null to draw the entire bitmap.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawBitmap) failed, check the result returned by the or methods.

+
+ + dd371878 + void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle) + ID2D1RenderTarget::DrawBitmap +
+ + + Draws the specified text using the format information provided by an object.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + +

To draw text with Direct2D, use the method for text that has a single format, or the method when you need multiple formats, advanced OpenType features, or hit testing. These methods use the DirectWrite API to provide high-quality text display.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawText) failed, check the result returned by the or methods.

+
+ + dd742848 + void ID2D1RenderTarget::DrawTextW([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[In] D2D1_DRAW_TEXT_OPTIONS options,[In] DWRITE_MEASURING_MODE measuringMode) + ID2D1RenderTarget::DrawTextW +
+ + +

Draws the formatted text described by the specified object.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + +

When drawing the same text repeatedly, using the DrawTextLayout method is more efficient than using the DrawText method because the text doesn't need to be formatted and the layout processed with each call.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawTextLayout) failed, check the result returned by the or methods.

+
+ + dd371913 + void ID2D1RenderTarget::DrawTextLayout([In] D2D_POINT_2F origin,[In] IDWriteTextLayout* textLayout,[In] ID2D1Brush* defaultForegroundBrush,[In] D2D1_DRAW_TEXT_OPTIONS options) + ID2D1RenderTarget::DrawTextLayout +
+ + +

Draws the specified glyphs.

+
+

The origin, in device-independent pixels, of the glyphs' baseline.

+

The glyphs to render.

+

The brush used to paint the specified glyphs.

+

A value that indicates how glyph metrics are used to measure text when it is formatted. The default value is .

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGlyphRun) failed, check the result returned by the or methods.

+
+ + dd371893 + void ID2D1RenderTarget::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) + ID2D1RenderTarget::DrawGlyphRun +
+ + + Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space.Overload list + + No documentation. + + dd742857 + void ID2D1RenderTarget::SetTransform([In] const D2D_MATRIX_3X2_F* transform) + ID2D1RenderTarget::SetTransform + + + +

Gets the current transform of the render target.

+
+

When this returns, contains the current transform of the render target. This parameter is passed uninitialized.

+ + dd316845 + void ID2D1RenderTarget::GetTransform([Out] D2D_MATRIX_3X2_F* transform) + ID2D1RenderTarget::GetTransform +
+ + +

Sets the antialiasing mode of the render target. The antialiasing mode applies to all subsequent drawing operations, excluding text and glyph drawing operations.

+
+

The antialiasing mode for future drawing operations.

+ +

To specify the antialiasing mode for text and glyph operations, use the SetTextAntialiasMode method.

+
+ + dd316881 + void ID2D1RenderTarget::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) + ID2D1RenderTarget::SetAntialiasMode +
+ + +

Retrieves the current antialiasing mode for nontext drawing operations.

+
+

The current antialiasing mode for nontext drawing operations.

+ + dd316805 + D2D1_ANTIALIAS_MODE ID2D1RenderTarget::GetAntialiasMode() + ID2D1RenderTarget::GetAntialiasMode +
+ + +

Specifies the antialiasing mode to use for subsequent text and glyph drawing operations.

+
+

The antialiasing mode to use for subsequent text and glyph drawing operations.

+ + dd316897 + void ID2D1RenderTarget::SetTextAntialiasMode([In] D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) + ID2D1RenderTarget::SetTextAntialiasMode +
+ + +

Gets the current antialiasing mode for text and glyph drawing operations.

+
+

The current antialiasing mode for text and glyph drawing operations.

+ + dd316835 + D2D1_TEXT_ANTIALIAS_MODE ID2D1RenderTarget::GetTextAntialiasMode() + ID2D1RenderTarget::GetTextAntialiasMode +
+ + +

Specifies text rendering options to be applied to all subsequent text and glyph drawing operations.

+
+

The text rendering options to be applied to all subsequent text and glyph drawing operations; null to clear current text rendering options.

+ +

If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

+
+ + dd316898 + void ID2D1RenderTarget::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) + ID2D1RenderTarget::SetTextRenderingParams +
+ + +

Retrieves the render target's current text rendering options.

+
+

When this method returns, textRenderingParamscontains the address of a reference to the render target's current text rendering options.

+ +

If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

+
+ + dd316841 + void ID2D1RenderTarget::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) + ID2D1RenderTarget::GetTextRenderingParams +
+ + +

Specifies a label for subsequent drawing operations.

+
+

A label to apply to subsequent drawing operations.

+

A label to apply to subsequent drawing operations.

+ +

The labels specified by this method are printed by debug error messages. If no tag is set, the default value for each tag is 0.

+
+ + dd316892 + void ID2D1RenderTarget::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) + ID2D1RenderTarget::SetTags +
+ + +

Gets the label for subsequent drawing operations.

+
+

When this method returns, contains the first label for subsequent drawing operations. This parameter is passed uninitialized. If null is specified, no value is retrieved for this parameter.

+

When this method returns, contains the second label for subsequent drawing operations. This parameter is passed uninitialized. If null is specified, no value is retrieved for this parameter.

+ +

If the same address is passed for both parameters, both parameters receive the value of the second tag.

+
+ + dd316830 + void ID2D1RenderTarget::GetTags([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) + ID2D1RenderTarget::GetTags +
+ + +

Adds the specified layer to the render target so that it receives all subsequent drawing operations until PopLayer is called.

+
+ No documentation. + No documentation. + +

The PushLayer method allows a caller to begin redirecting rendering to a layer. All rendering operations are valid in a layer. The location of the layer is affected by the world transform set on the render target.

Each PushLayer must have a matching PopLayer call. If there are more PopLayer calls than PushLayer calls, the render target is placed into an error state. If Flush is called before all outstanding layers are popped, the render target is placed into an error state, and an error is returned. The error state can be cleared by a call to EndDraw.

A particular resource can be active only at one time. In other words, you cannot call a PushLayer method, and then immediately follow with another PushLayer method with the same layer resource. Instead, you must call the second PushLayer method with different layer resources. +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PushLayer) failed, check the result returned by the or methods.

+
+ + dd316869 + void ID2D1RenderTarget::PushLayer([In] const D2D1_LAYER_PARAMETERS* layerParameters,[In] ID2D1Layer* layer) + ID2D1RenderTarget::PushLayer +
+ + +

Stops redirecting drawing operations to the layer that is specified by the last PushLayer call.

+
+ +

A PopLayer must match a previous PushLayer call.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PopLayer) failed, check the result returned by the or methods.

+
+ + dd316852 + void ID2D1RenderTarget::PopLayer() + ID2D1RenderTarget::PopLayer +
+ + +

Executes all pending drawing commands.

+
+

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

+

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

+

If the method succeeds, it returns . Otherwise, it returns an error code and sets tag1 and tag2 to the tags that were active when the error occurred. If no error occurred, this method sets the error tag state to be (0,0).

+ +

This command does not flush the device that is associated with the render target.

Calling this method resets the error state of the render target.

+
+ + dd316801 + HRESULT ID2D1RenderTarget::Flush([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) + ID2D1RenderTarget::Flush +
+ + +

Saves the current drawing state to the specified .

+
+ No documentation. + + dd316876 + void ID2D1RenderTarget::SaveDrawingState([InOut] ID2D1DrawingStateBlock* drawingStateBlock) + ID2D1RenderTarget::SaveDrawingState +
+ + +

Sets the render target's drawing state to that of the specified .

+
+ No documentation. + + dd316872 + void ID2D1RenderTarget::RestoreDrawingState([In] ID2D1DrawingStateBlock* drawingStateBlock) + ID2D1RenderTarget::RestoreDrawingState +
+ + +

Specifies a rectangle to which all subsequent drawing operations are clipped.

+
+

The size and position of the clipping area, in device-independent pixels.

+

The antialiasing mode that is used to draw the edges of clip rects that have subpixel boundaries, and to blend the clip with the scene contents. The blending is performed once when the PopAxisAlignedClip method is called, and does not apply to each primitive within the layer.

+ +

The clipRect is transformed by the current world transform set on the render target. After the transform is applied to the clipRect that is passed in, the axis-aligned bounding box for the clipRect is computed. For efficiency, the contents are clipped to this axis-aligned bounding box and not to the original clipRect that is passed in.

The following diagrams show how a rotation transform is applied to the render target, the resulting clipRect, and a calculated axis-aligned bounding box.

  1. Assume the rectangle in the following illustration is a render target that is aligned to the screen pixels.

  2. Apply a rotation transform to the render target. In the following illustration, the black rectangle represents the original render target and the red dashed rectangle represents the transformed render target.

  3. After calling PushAxisAlignedClip, the rotation transform is applied to the clipRect. In the following illustration, the blue rectangle represents the transformed clipRect.

  4. The axis-aligned bounding box is calculated. The green dashed rectangle represents the bounding box in the following illustration. All contents are clipped to this axis-aligned bounding box.

Note??If rendering operations fail or if PopAxisAlignedClip is not called, clip rects may cause some artifacts on the render target. PopAxisAlignedClip can be considered a drawing operation that is designed to fix the borders of a clipping region. Without this call, the borders of a clipped area may be not antialiased or otherwise corrected.

The PushAxisAlignedClip and PopAxisAlignedClip must match. Otherwise, the error state is set. For the render target to continue receiving new commands, you can call Flush to clear the error.

A PushAxisAlignedClip and PopAxisAlignedClip pair can occur around or within a PushLayer and PopLayer, but cannot overlap. For example, the sequence of PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip is valid, but the sequence of PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer is invalid.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PushAxisAlignedClip) failed, check the result returned by the or methods.

+
+ + dd316860 + void ID2D1RenderTarget::PushAxisAlignedClip([In] const D2D_RECT_F* clipRect,[In] D2D1_ANTIALIAS_MODE antialiasMode) + ID2D1RenderTarget::PushAxisAlignedClip +
+ + +

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.

+
+ +

A PushAxisAlignedClip/PopAxisAlignedClip pair can occur around or within a PushLayer/PopLayer pair, but may not overlap. For example, a PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip sequence is valid, but a PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer sequence is not.

PopAxisAlignedClip must be called once for every call to PushAxisAlignedClip.

For an example, see How to Clip with an Axis-Aligned Clip Rectangle.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PopAxisAlignedClip) failed, check the result returned by the or methods.

+
+ + dd316850 + void ID2D1RenderTarget::PopAxisAlignedClip() + ID2D1RenderTarget::PopAxisAlignedClip +
+ + +

Clears the drawing area to the specified color.

+
+

The color to which the drawing area is cleared.

+ +

Direct2D interprets the clearColor as straight alpha (not premultiplied). If the render target's alpha mode is , the alpha channel of clearColor is ignored and replaced with 1.0f (fully opaque).

If the render target has an active clip (specified by PushAxisAlignedClip), the clear command is applied only to the area within the clip region.

+
+ + dd371772 + void ID2D1RenderTarget::Clear([In, Optional] const D2D_COLOR_F* clearColor) + ID2D1RenderTarget::Clear +
+ + +

Initiates drawing on this render target.

+
+ +

Drawing operations can only be issued between a BeginDraw and EndDraw call.

BeginDraw and EndDraw are used to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when BeginDraw is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example.

The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of BeginDraw/EndDraw.

After BeginDraw is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the Flush method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing .

If EndDraw is called without a matched call to BeginDraw, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate and error information when EndDraw is called. +

+
+ + dd371768 + void ID2D1RenderTarget::BeginDraw() + ID2D1RenderTarget::BeginDraw +
+ + +

Ends drawing operations on the render target and indicates the current error state and associated tags.

+
+

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

+

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

+

If the method succeeds, it returns . Otherwise, it returns an error code and sets tag1 and tag2 to the tags that were active when the error occurred.

+ +

Drawing operations can only be issued between a BeginDraw and EndDraw call.

BeginDraw and EndDraw are use to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when BeginDraw is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example.

The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of BeginDraw/EndDraw.

After BeginDraw is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the Flush method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing .

If EndDraw is called without a matched call to BeginDraw, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate and error information when EndDraw is called. +

+
+ + dd371924 + HRESULT ID2D1RenderTarget::EndDraw([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) + ID2D1RenderTarget::EndDraw +
+ + +

Retrieves the pixel format and alpha mode of the render target.

+
+

The pixel format and alpha mode of the render target.

+ + dd316814 + D2D1_PIXEL_FORMAT ID2D1RenderTarget::GetPixelFormat() + ID2D1RenderTarget::GetPixelFormat +
+ + +

Sets the dots per inch (DPI) of the render target.

+
+

A value greater than or equal to zero that specifies the horizontal DPI of the render target.

+

A value greater than or equal to zero that specifies the vertical DPI of the render target.

+ +

This method specifies the mapping from pixel space to device-independent space for the render target. If both dpiX and dpiY are 0, the factory-read system DPI is chosen. If one parameter is zero and the other unspecified, the DPI is not changed.

For , the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI.

+
+ + dd316887 + void ID2D1RenderTarget::SetDpi([In] float dpiX,[In] float dpiY) + ID2D1RenderTarget::SetDpi +
+ + +

Return the render target's dots per inch (DPI).

+
+

When this method returns, contains the horizontal DPI of the render target. This parameter is passed uninitialized.

+

When this method returns, contains the vertical DPI of the render target. This parameter is passed uninitialized.

+ +

This method indicates the mapping from pixel space to device-independent space for the render target.

For , the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI.

+
+ + dd316809 + void ID2D1RenderTarget::GetDpi([Out] float* dpiX,[Out] float* dpiY) + ID2D1RenderTarget::GetDpi +
+ + +

Returns the size of the render target in device-independent pixels.

+
+

The current size of the render target in device-independent pixels.

+ + dd316823 + D2D_SIZE_F ID2D1RenderTarget::GetSize() + ID2D1RenderTarget::GetSize +
+ + +

Returns the size of the render target in device pixels.

+
+

The size of the render target in device pixels.

+ + dd316820 + D2D_SIZE_U ID2D1RenderTarget::GetPixelSize() + ID2D1RenderTarget::GetPixelSize +
+ + +

Gets the maximum size, in device-dependent units (pixels), of any one bitmap dimension supported by the render target.

+
+

The maximum size, in pixels, of any one bitmap dimension supported by the render target.

+ + dd742853 + unsigned int ID2D1RenderTarget::GetMaximumBitmapSize() + ID2D1RenderTarget::GetMaximumBitmapSize +
+ + +

Indicates whether the render target supports the specified properties.

+
+

The render target properties to test.

+

TRUE if the specified render target properties are supported by this render target; otherwise, .

+ +

This method does not evaluate the DPI settings specified by the renderTargetProperties parameter.

+
+ + dd742854 + BOOL ID2D1RenderTarget::IsSupported([In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties) + ID2D1RenderTarget::IsSupported +
+ + + Creates a render target that draws to a DirectX Graphics Infrastructure (DXGI) surface. + + + To write to a Direct3D surface, you obtain an and pass it to the {{CreateDxgiSurfaceRenderTarget}} method to create a DXGI surface render target; you can then use the DXGI surface render target to draw 2-D content to the DXGI surface. A DXGI surface render target is a type of . Like other Direct2D render targets, you can use it to create resources and issue drawing commands. The DXGI surface render target and the DXGI surface must use the same DXGI format. If you specify the {{DXGI_FORMAT_UNKOWN}} format when you create the render target, it will automatically use the surface's format.The DXGI surface render target does not perform DXGI surface synchronization. To work with Direct2D, the Direct3D device that provides the must be created with the D3D10_CREATE_DEVICE_BGRA_SUPPORT flag.For more information about creating and using DXGI surface render targets, see the {{Direct2D and Direct3D Interoperability Overview}}.When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the render target's {{EndDraw}} method returns the {{D2DERR_RECREATE_TARGET}} error. When you receive this error, you need to recreate the render target (and any resources it created). + + an instance of + The DXGI surface to bind this render target to + The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + + + + Draws the specified bitmap after scaling it to the size of the specified rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawBitmap}}) failed, check the result returned by the or methods. + + The bitmap to render. + A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The default value is 1.0f. + The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is . + void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_RECT_F* destinationRectangle,[None] float opacity,[None] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D1_RECT_F* sourceRectangle) + + + + Draws the specified bitmap after scaling it to the size of the specified rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawBitmap}}) failed, check the result returned by the or methods. + + The bitmap to render. + The size and position, in device-independent pixels in the render target's coordinate space, of the area to which the bitmap is drawn; NULL to draw the selected portion of the bitmap at the origin of the render target. If the rectangle is specified but not well-ordered, nothing is drawn, but the render target does not enter an error state. + A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The default value is 1.0f. + The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is . + void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_RECT_F* destinationRectangle,[None] float opacity,[None] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D1_RECT_F* sourceRectangle) + + + + Draws the specified bitmap after scaling it to the size of the specified rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawBitmap}}) failed, check the result returned by the or methods. + + The bitmap to render. + A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The default value is 1.0f. + The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is . + The size and position, in device-independent pixels in the bitmap's coordinate space, of the area within the bitmap to be drawn; NULL to draw the entire bitmap. + void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_RECT_F* destinationRectangle,[None] float opacity,[None] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D1_RECT_F* sourceRectangle) + + + + Draws the outline of the specified ellipse using the specified stroke style. + + + The {{DrawEllipse}} method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawEllipse) failed, check the result returned by the or methods. + + The position and radius of the ellipse to draw, in device-independent pixels. + The brush used to paint the ellipse's outline. + void ID2D1RenderTarget::DrawEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified ellipse using the specified stroke style. + + + The {{DrawEllipse}} method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawEllipse) failed, check the result returned by the or methods. + + The position and radius of the ellipse to draw, in device-independent pixels. + The brush used to paint the ellipse's outline. + The thickness of the ellipse's stroke. The stroke is centered on the ellipse's outline. + void ID2D1RenderTarget::DrawEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified geometry. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGeometry) failed, check the result returned by the or methods. + + The geometry to draw. + The brush used to paint the geometry's stroke. + void ID2D1RenderTarget::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified geometry. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGeometry) failed, check the result returned by the or methods. + + The geometry to draw. + The brush used to paint the geometry's stroke. + The thickness of the geometry's stroke. The stroke is centered on the geometry's outline. + void ID2D1RenderTarget::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws a line between the specified points. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawLine) failed, check the result returned by the or methods. + + The start point of the line, in device-independent pixels. + The end point of the line, in device-independent pixels. + The brush used to paint the line's stroke. + void ID2D1RenderTarget::DrawLine([None] D2D1_POINT_2F point0,[None] D2D1_POINT_2F point1,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws a line between the specified points. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawLine) failed, check the result returned by the or methods. + + The start point of the line, in device-independent pixels. + The end point of the line, in device-independent pixels. + The brush used to paint the line's stroke. + A value greater than or equal to 0.0f that specifies the width of the stroke. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line. + void ID2D1RenderTarget::DrawLine([None] D2D1_POINT_2F point0,[None] D2D1_POINT_2F point1,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of a rectangle that has the specified dimensions. + + + When this method fails, it does not return an error code. To determine whether a drawing method (such as {{DrawRectangle}}) failed, check the result returned by the or method. + + The dimensions of the rectangle to draw, in device-independent pixels. + The brush used to paint the rectangle's stroke. + void ID2D1RenderTarget::DrawRectangle([In] const D2D1_RECT_F* rect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of a rectangle that has the specified dimensions and stroke style. + + + When this method fails, it does not return an error code. To determine whether a drawing method (such as {{DrawRectangle}}) failed, check the result returned by the or method. + + The dimensions of the rectangle to draw, in device-independent pixels. + The brush used to paint the rectangle's stroke. + A value greater than or equal to 0.0f that specifies the width of the rectangle's stroke. The stroke is centered on the rectangle's outline. + void ID2D1RenderTarget::DrawRectangle([In] const D2D1_RECT_F* rect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified rounded rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawRoundedRectangle}}) failed, check the result returned by the or methods. + + The dimensions of the rounded rectangle to draw, in device-independent pixels. + The brush used to paint the rounded rectangle's outline. + void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified rounded rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawRoundedRectangle}}) failed, check the result returned by the or methods. + + The dimensions of the rounded rectangle to draw, in device-independent pixels. + The brush used to paint the rounded rectangle's outline. + The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f. + void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified rounded rectangle using the specified stroke style. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawRoundedRectangle}}) failed, check the result returned by the or methods. + + The dimensions of the rounded rectangle to draw, in device-independent pixels. + The brush used to paint the rounded rectangle's outline. + The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f. + The style of the rounded rectangle's stroke, or NULL to paint a solid stroke. The default value is NULL. + void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the specified text using the format information provided by an object. + + + To create an object, create an and call its {{CreateTextFormat}} method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawText}}) failed, check the result returned by the or methods. + + A reference to an array of Unicode characters to draw. + An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. + The size and position of the area in which the text is drawn. + The brush used to paint the text. + void ID2D1RenderTarget::DrawTextA([In, Buffer] const wchar_t* string,[None] int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D1_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options,[None] DWRITE_MEASURING_MODE measuringMode) + + + + Draws the specified text using the format information provided by an object. + + + To create an object, create an and call its {{CreateTextFormat}} method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawText}}) failed, check the result returned by the or methods. + + A reference to an array of Unicode characters to draw. + An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. + The size and position of the area in which the text is drawn. + The brush used to paint the text. + A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is , which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle. + void ID2D1RenderTarget::DrawTextA([In, Buffer] const wchar_t* string,[None] int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D1_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options,[None] DWRITE_MEASURING_MODE measuringMode) + + + + Draws the specified text using the format information provided by an object. + + + To create an object, create an and call its {{CreateTextFormat}} method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawText}}) failed, check the result returned by the or methods. + + A reference to an array of Unicode characters to draw. + An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. + The size and position of the area in which the text is drawn. + The brush used to paint the text. + A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is , which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle. + A value that indicates how glyph metrics are used to measure text when it is formatted. The default value is DWRITE_MEASURING_MODE_NATURAL. + void ID2D1RenderTarget::DrawTextA([In, Buffer] const wchar_t* string,[None] int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D1_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options,[None] DWRITE_MEASURING_MODE measuringMode) + + + + Draws the formatted text described by the specified object. + + + When drawing the same text repeatedly, using the DrawTextLayout method is more efficient than using the {{DrawText}} method because the text doesn't need to be formatted and the layout processed with each call. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawTextLayout) failed, check the result returned by the or methods. + + The point, described in device-independent pixels, at which the upper-left corner of the text described by textLayout is drawn. + The formatted text to draw. Any drawing effects that do not inherit from are ignored. If there are drawing effects that inherit from ID2D1Resource that are not brushes, this method fails and the render target is put in an error state. + The brush used to paint any text in textLayout that does not already have a brush associated with it as a drawing effect (specified by the method). + void ID2D1RenderTarget::DrawTextLayout([None] D2D1_POINT_2F origin,[In] IDWriteTextLayout* textLayout,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options) + + + + Ends drawing operations on the render target and indicates the current error state and associated tags. + + + Drawing operations can only be issued between a {{BeginDraw}} and EndDraw call.BeginDraw and EndDraw are use to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when {{BeginDraw}} is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example. The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of {{BeginDraw}}/EndDraw. After {{BeginDraw}} is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the {{Flush}} method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an HRESULT indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing HRESULT. If EndDraw is called without a matched call to {{BeginDraw}}, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate HRESULT and error information when EndDraw is called. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code and sets tag1 and tag2 to the tags that were active when the error occurred. + + + + Paints the interior of the specified geometry. + + + If the opacityBrush parameter is not NULL, the alpha value of each pixel of the mapped opacityBrush is used to determine the resulting opacity of each corresponding pixel of the geometry. Only the alpha value of each color in the brush is used for this processing; all other color information is ignored. The alpha value specified by the brush is multiplied by the alpha value of the geometry after the geometry has been painted by brush. + When this method fails, it does not return an error code. To determine whether a drawing operation (such as FillGeometry) failed, check the result returned by the or method. + + The geometry to paint. + The brush used to paint the geometry's interior. + void FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) + + + + Applies the opacity mask described by the specified bitmap to a brush and uses that brush to paint a region of the render target. + + + For this method to work properly, the render target must be using the antialiasing mode. You can set the antialiasing mode by calling the method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{FillOpacityMask}}) failed, check the result returned by the or methods. + + The opacity mask to apply to the brush. The alpha value of each pixel in the region specified by sourceRectangle is multiplied with the alpha value of the brush after the brush has been mapped to the area defined by destinationRectangle. + The brush used to paint the region of the render target specified by destinationRectangle. + The type of content the opacity mask contains. The value is used to determine the color space in which the opacity mask is blended. + void ID2D1RenderTarget::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[None] D2D1_OPACITY_MASK_CONTENT content,[In, Optional] const D2D1_RECT_F* destinationRectangle,[In, Optional] const D2D1_RECT_F* sourceRectangle) + + + + Paints the interior of the specified rounded rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{FillRoundedRectangle}}) failed, check the result returned by the or methods. + + The dimensions of the rounded rectangle to paint, in device-independent pixels. + The brush used to paint the interior of the rounded rectangle. + void ID2D1RenderTarget::FillRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush) + + + + Executes all pending drawing commands. + + + This command does not flush the device that is associated with the render target. Calling this method resets the error state of the render target. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code and sets tag1 and tag2 to the tags that were active when the error occurred. If no error occurred, this method sets the error tag state to be (0,0). + HRESULT ID2D1RenderTarget::Flush([Out, Optional] D2D1_TAG* tag1,[Out, Optional] D2D1_TAG* tag2) + + + +

Gets or sets the current transform of the render target.

+
+ + dd316845 + GetTransform / SetTransform + GetTransform + void ID2D1RenderTarget::GetTransform([Out] D2D_MATRIX_3X2_F* transform) +
+ + +

Retrieves or sets the current antialiasing mode for nontext drawing operations.

+
+ + dd316805 + GetAntialiasMode / SetAntialiasMode + GetAntialiasMode + D2D1_ANTIALIAS_MODE ID2D1RenderTarget::GetAntialiasMode() +
+ + +

Gets or sets the current antialiasing mode for text and glyph drawing operations.

+
+ + dd316835 + GetTextAntialiasMode / SetTextAntialiasMode + GetTextAntialiasMode + D2D1_TEXT_ANTIALIAS_MODE ID2D1RenderTarget::GetTextAntialiasMode() +
+ + +

Retrieves or sets the render target's current text rendering options.

+
+ +

If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

+
+ + dd316841 + GetTextRenderingParams / SetTextRenderingParams + GetTextRenderingParams + void ID2D1RenderTarget::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) +
+ + +

Retrieves the pixel format and alpha mode of the render target.

+
+ + dd316814 + GetPixelFormat + GetPixelFormat + D2D1_PIXEL_FORMAT ID2D1RenderTarget::GetPixelFormat() +
+ + +

Returns the size of the render target in device-independent pixels.

+
+ + dd316823 + GetSize + GetSize + D2D_SIZE_F ID2D1RenderTarget::GetSize() +
+ + +

Returns the size of the render target in device pixels.

+
+ + dd316820 + GetPixelSize + GetPixelSize + D2D_SIZE_U ID2D1RenderTarget::GetPixelSize() +
+ + +

Gets the maximum size, in device-dependent units (pixels), of any one bitmap dimension supported by the render target.

+
+ + dd742853 + GetMaximumBitmapSize + GetMaximumBitmapSize + unsigned int ID2D1RenderTarget::GetMaximumBitmapSize() +
+ + + Get or set the default stroke width used for all methods that are not explicitly using it. Default is set to 1.0f. + + + + + Get or sets the dots per inch (DPI) of the render target. + + + This method specifies the mapping from pixel space to device-independent space for the render target. If both dpiX and dpiY are 0, the factory-read system DPI is chosen. If one parameter is zero and the other unspecified, the DPI is not changed. For , the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI. + + void ID2D1RenderTarget::SetDpi([None] float dpiX,[None] float dpiY) + + + + Initializes a new instance of the class from a . + + The factory. + The WIC bitmap. + The render target properties. + + + +

Encapsulates a 32-bit device independent bitmap and device context, which can be used for rendering glyphs.

+
+ +

You create an by using the method, as shown in the following code.

if (SUCCEEDED(hr))	
+            { hr = g_pGdiInterop->CreateBitmapRenderTarget(hdc, r.right, r.bottom, &g_pBitmapRenderTarget);	
+            }	
+            

takes a handle to a DC and the desired width and height. In the above example, the width and height given are the size of the window rect.

Rendering

One way to use a , for rendering to a bitmap, is to implement a custom renderer interface derived from the interface. In your implementation of the DrawGlyphRun method of your custom renderer, call the method to draw the glyphs as shown in the following code.

STDMETHODIMP GdiTextRenderer::DrawGlyphRun( __maybenull void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY,  measuringMode, __in  const* glyphRun, __in  const* glyphRunDescription, * clientDrawingEffect )	
+            {  hr = ; // Pass on the drawing call to the render target to do the real work.  dirtyRect = {0}; hr = pRenderTarget_->DrawGlyphRun( baselineOriginX, baselineOriginY, measuringMode, glyphRun, pRenderingParams_, RGB(0,200,255), &dirtyRect ); return hr;	
+            }	
+            

The encapsulates and renders to a bitmap in memory. The GetMemoryDC function returns a handle to the device context of this bitmap.

+
+ + dd368165 + IDWriteBitmapRenderTarget + IDWriteBitmapRenderTarget +
+ + + Draws a run of glyphs to a bitmap target at the specified position. + + + You can use the IDWriteBitmapRenderTarget::DrawGlyphRun to render to a bitmap from a custom text renderer that you implement. The custom text renderer should call this method from within the callback method as shown in the following code. + STDMETHODIMP GdiTextRenderer::DrawGlyphRun( __maybenull void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE measuringMode, __in DWRITE_GLYPH_RUN const* glyphRun, __in DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription, IUnknown* clientDrawingEffect ) + { HRESULT hr = S_OK; // Pass on the drawing call to the render target to do the real work. RECT dirtyRect = {0}; hr = pRenderTarget_->DrawGlyphRun( baselineOriginX, baselineOriginY, measuringMode, glyphRun, pRenderingParams_, RGB(0,200,255), &dirtyRect ); return hr; + } + + The baselineOriginX, baslineOriginY, measuringMethod, and glyphRun parameters are provided (as arguments) when the callback method is invoked. The renderingParams, textColor and blackBoxRect are not. Default rendering params can be retrieved by using the method. + + The horizontal position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB. + The vertical position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB. + The measuring method for glyphs in the run, used with the other properties to determine the rendering mode. + The structure containing the properties of the glyph run. + The object that controls rendering behavior. + The foreground color of the text. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteBitmapRenderTarget::DrawGlyphRun([None] float baselineOriginX,[None] float baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[None] IDWriteRenderingParams* renderingParams,[None] COLORREF textColor,[Out, Optional] RECT* blackBoxRect) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Draws a run of glyphs to a bitmap target at the specified position.

+
+

The horizontal position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

+

The vertical position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

+

The measuring method for glyphs in the run, used with the other properties to determine the rendering mode.

+

The structure containing the properties of the glyph run.

+

The object that controls rendering behavior.

+

The foreground color of the text.

+

The optional rectangle that receives the bounding box (in pixels not DIPs) of all the pixels affected by drawing the glyph run. The black box rectangle may extend beyond the dimensions of the bitmap.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

You can use the to render to a bitmap from a custom text renderer that you implement. The custom text renderer should call this method from within the callback method as shown in the following code.

STDMETHODIMP GdiTextRenderer::DrawGlyphRun( __maybenull void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY,  measuringMode, __in  const* glyphRun, __in  const* glyphRunDescription, * clientDrawingEffect )	
+            {  hr = ; // Pass on the drawing call to the render target to do the real work.  dirtyRect = {0}; hr = pRenderTarget_->DrawGlyphRun( baselineOriginX, baselineOriginY, measuringMode, glyphRun, pRenderingParams_, RGB(0,200,255), &dirtyRect ); return hr;	
+            }	
+            

The baselineOriginX, baslineOriginY, measuringMethod, and glyphRun parameters are provided (as arguments) when the callback method is invoked. The renderingParams, textColor and blackBoxRect are not.

Default rendering params can be retrieved by using the method.

+
+ + dd368167 + HRESULT IDWriteBitmapRenderTarget::DrawGlyphRun([In] float baselineOriginX,[In] float baselineOriginY,[In] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] IDWriteRenderingParams* renderingParams,[In] COLORREF textColor,[Out, Optional] RECT* blackBoxRect) + IDWriteBitmapRenderTarget::DrawGlyphRun +
+ + +

Gets a handle to the memory device context.

+
+

Returns a device context handle to the memory device context.

+ +

An application can use the device context to draw using GDI functions. An application can obtain the bitmap handle () by calling GetCurrentObject. An application that wants information about the underlying bitmap, including a reference to the pixel data, can call GetObject to fill in a DIBSECTION structure. The bitmap is always a 32-bit top-down DIB.

Note that this method takes no parameters and returns an variable, not an .

memoryHdc = g_pBitmapRenderTarget->GetMemoryDC();	
+            

The returned here is still owned by the bitmap render targer object and should not be released or deleted by the client.

+
+ + dd368171 + HDC IDWriteBitmapRenderTarget::GetMemoryDC() + IDWriteBitmapRenderTarget::GetMemoryDC +
+ + +

Gets the number of bitmap pixels per DIP.

+
+

The number of bitmap pixels per DIP.

+ +

A DIP (device-independent pixel) is 1/96 inch. Therefore, this value is the number if pixels per inch divided by 96.

+
+ + dd368173 + float IDWriteBitmapRenderTarget::GetPixelsPerDip() + IDWriteBitmapRenderTarget::GetPixelsPerDip +
+ + +

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.

+
+

A value that specifies the number of pixels per DIP.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368182 + HRESULT IDWriteBitmapRenderTarget::SetPixelsPerDip([In] float pixelsPerDip) + IDWriteBitmapRenderTarget::SetPixelsPerDip +
+ + +

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.

+
+

When this method returns, contains a transform matrix.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368169 + HRESULT IDWriteBitmapRenderTarget::GetCurrentTransform([Out] DWRITE_MATRIX* transform) + IDWriteBitmapRenderTarget::GetCurrentTransform +
+ + +

Sets the transform that maps abstract coordinate to DIPs (device-independent pixel). This does not affect the world transform of the underlying device context.

+
+

Specifies the new transform. This parameter can be null, in which case the identity transform is implied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368179 + HRESULT IDWriteBitmapRenderTarget::SetCurrentTransform([In, Optional] const DWRITE_MATRIX* transform) + IDWriteBitmapRenderTarget::SetCurrentTransform +
+ + +

Gets the dimensions of the target bitmap.

+
+

Returns the width and height of the bitmap in pixels.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368176 + HRESULT IDWriteBitmapRenderTarget::GetSize([Out] SIZE* size) + IDWriteBitmapRenderTarget::GetSize +
+ + +

Resizes the bitmap.

+
+

The new bitmap width, in pixels.

+

The new bitmap height, in pixels.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368177 + HRESULT IDWriteBitmapRenderTarget::Resize([In] unsigned int width,[In] unsigned int height) + IDWriteBitmapRenderTarget::Resize +
+ + +

Gets a handle to the memory device context.

+
+ +

An application can use the device context to draw using GDI functions. An application can obtain the bitmap handle () by calling GetCurrentObject. An application that wants information about the underlying bitmap, including a reference to the pixel data, can call GetObject to fill in a DIBSECTION structure. The bitmap is always a 32-bit top-down DIB.

Note that this method takes no parameters and returns an variable, not an .

memoryHdc = g_pBitmapRenderTarget->GetMemoryDC();	
+            

The returned here is still owned by the bitmap render targer object and should not be released or deleted by the client.

+
+ + dd368171 + GetMemoryDC + GetMemoryDC + HDC IDWriteBitmapRenderTarget::GetMemoryDC() +
+ + +

Gets or sets the number of bitmap pixels per DIP.

+
+ +

A DIP (device-independent pixel) is 1/96 inch. Therefore, this value is the number if pixels per inch divided by 96.

+
+ + dd368173 + GetPixelsPerDip / SetPixelsPerDip + GetPixelsPerDip + float IDWriteBitmapRenderTarget::GetPixelsPerDip() +
+ + +

Gets or sets 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.

+
+ + dd368169 + GetCurrentTransform / SetCurrentTransform + GetCurrentTransform + HRESULT IDWriteBitmapRenderTarget::GetCurrentTransform([Out] DWRITE_MATRIX* transform) +
+ + +

Gets the dimensions of the target bitmap.

+
+ + dd368176 + GetSize + GetSize + HRESULT IDWriteBitmapRenderTarget::GetSize([Out] SIZE* size) +
+ + + An inline object for trimming, using an ellipsis as the omission sign. + + + + +

Wraps an application-defined inline graphic, allowing DWrite to query metrics as if the graphic were a glyph inline with the text.

+
+ + dd371221 + IDWriteInlineObject + IDWriteInlineObject +
+ + +

Wraps an application-defined inline graphic, allowing DWrite to query metrics as if the graphic were a glyph inline with the text.

+
+ + dd371221 + IDWriteInlineObject + IDWriteInlineObject +
+ + + The application implemented rendering callback () 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. + + The drawing context passed to . This parameter may be NULL. + The same renderer passed to as the object's containing parent. This is useful if the inline object is recursive such as a nested layout. + The x-coordinate at the upper-left corner of the inline object. + The y-coordinate at the upper-left corner of the inline object. + A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. + A Boolean flag that indicates whether the object is in a right-to-left context and should be drawn flipped. + The drawing effect set in . Usually this effect is a foreground brush that is used in glyph drawing. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteInlineObject::Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] float originX,[None] float originY,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + + Layout uses this to determine the line-breaking behavior of the inline object among the text. + + When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately preceding it. + When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately following it. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) + + + + calls this callback function to get the measurement of the inline object. + + A structure describing the geometric measurement of an application-defined inline object. These metrics are in relation to the baseline of the adjacent text. + HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) + + + + TextLayout 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. + + Overshoot of visible extents (in DIPs) outside the object. + HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + + + + The application implemented rendering callback () 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. + + The drawing context passed to . This parameter may be NULL. + The same renderer passed to as the object's containing parent. This is useful if the inline object is recursive such as a nested layout. + The x-coordinate at the upper-left corner of the inline object. + The y-coordinate at the upper-left corner of the inline object. + A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. + A Boolean flag that indicates whether the object is in a right-to-left context and should be drawn flipped. + The drawing effect set in . Usually this effect is a foreground brush that is used in glyph drawing. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteInlineObject::Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] float originX,[None] float originY,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + + Layout uses this to determine the line-breaking behavior of the inline object among the text. + + When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately preceding it. + When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately following it. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

The application implemented rendering callback () 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.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371225 + HRESULT IDWriteInlineObject::Draw([In, Optional] void* clientDrawingContext,[In] IDWriteTextRenderer* renderer,[In] float originX,[In] float originY,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In, Optional] void* clientDrawingEffect) + IDWriteInlineObject::Draw +
+ + +

calls this callback function to get the measurement of the inline object.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371232 + HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) + IDWriteInlineObject::GetMetrics +
+ + +

TextLayout 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.

The overhangs should be returned relative to the reported size of the object (see ), and should not be baseline adjusted.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371235 + HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + IDWriteInlineObject::GetOverhangMetrics +
+ + +

Layout uses this to determine the line-breaking behavior of the inline object among the text.

+
+

When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately preceding it.

+

When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately following it.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371229 + HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) + IDWriteInlineObject::GetBreakConditions +
+ + + calls this callback function to get the measurement of the inline object. + + A structure describing the geometric measurement of an application-defined inline object. These metrics are in relation to the baseline of the adjacent text. + HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) + + + + TextLayout 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. + + Overshoot of visible extents (in DIPs) outside the object. + HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + + + + Initializes a new instance of the class. + + The native PTR. + + + + Creates an inline object for trimming, using an ellipsis as the omission sign. + + + The ellipsis will be created using the current settings of the format, including base font, style, and any effects. Alternate omission signs can be created by the application by implementing . + + a + A text format object, created with {{CreateTextFormat}}, used for text layout. + HRESULT IDWriteFactory::CreateEllipsisTrimmingSign([None] IDWriteTextFormat* textFormat,[Out] IDWriteInlineObject** trimmingSign) + + + +

Used to create all subsequent DirectWrite objects. This interface is the root factory interface for all DirectWrite objects.

+
+ +

Create an object by using the function.

 if (SUCCEEDED(hr))	
+            { hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory_) );	
+            } 

An object holds state information, such as font loader registration and cached font data. This state can be shared or isolated. Shared is recommended for most applications because it saves memory. However, isolated can be useful in situations where you want to have a separate state for some objects.

+
+ + dd368183 + IDWriteFactory + IDWriteFactory +
+ + + Default Constructor for a . + + + + + Default Constructor for a . + + + + + Registers a custom font collection loader with the factory object. + + + This function registers a font collection loader with DirectWrite. The font collection loader interface, which should be implemented by a singleton object, handles enumerating font files in a font collection given a particular type of key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistration operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation. + + Reference to a object to be registered. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFactory::RegisterFontCollectionLoader([None] IDWriteFontCollectionLoader* fontCollectionLoader) + + + + Unregisters a custom font collection loader that was previously registered using {{RegisterFontCollectionLoader}}. + + Pointer to a object to be unregistered. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFactory::UnregisterFontCollectionLoader([None] IDWriteFontCollectionLoader* fontCollectionLoader) + + + + Registers a font file loader with DirectWrite. + + + This function registers a font file loader with DirectWrite. The font file loader interface, which should be implemented by a singleton object, handles loading font file resources of a particular type from a key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistration operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation. + + Pointer to a object for a particular file resource type. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFactory::RegisterFontFileLoader([None] IDWriteFontFileLoader* fontFileLoader) + + + + Unregisters a font file loader that was previously registered with the DirectWrite font system using {{RegisterFontFileLoader}}. + + + This function unregisters font file loader callbacks with the DirectWrite font system. You should implement the font file loader interface by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors and must not unregister themselves in their destructors, because registration and unregistration operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite should be performed outside of the font file loader implementation. + + Pointer to the file loader that was previously registered with the DirectWrite font system using {{RegisterFontFileLoader}}. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFactory::UnregisterFontFileLoader([None] IDWriteFontFileLoader* fontFileLoader) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets an object which represents the set of installed fonts.

+
+

If this parameter is nonzero, the function performs an immediate check for changes to the set of installed fonts. If this parameter is , the function will still detect changes if the font cache service is running, but there may be some latency. For example, an application might specify TRUE if it has itself just installed a font and wants to be sure the font collection contains that font.

+

When this method returns, contains the address of a reference to the system font collection object, or null in case of failure.

+ + dd368208 + HRESULT IDWriteFactory::GetSystemFontCollection([Out] IDWriteFontCollection** fontCollection,[In] BOOL checkForUpdates) + IDWriteFactory::GetSystemFontCollection +
+ + +

Creates a font collection using a custom font collection loader.

+
+

An application-defined font collection loader, which must have been previously registered using RegisterFontCollectionLoader.

+

The key used by the loader to identify a collection of font files. The buffer allocated for this key should at least be the size of collectionKeySize.

+

The size, in bytes, of the collection key.

+

Contains an address of a reference to the system font collection object if the method succeeds, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368186 + HRESULT IDWriteFactory::CreateCustomFontCollection([In] IDWriteFontCollectionLoader* collectionLoader,[In, Buffer] const void* collectionKey,[In] unsigned int collectionKeySize,[Out, Fast] IDWriteFontCollection** fontCollection) + IDWriteFactory::CreateCustomFontCollection +
+ + +

Registers a custom font collection loader with the factory object.

+
+

Pointer to a object to be registered.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function registers a font collection loader with DirectWrite. The font collection loader interface, which should be implemented by a singleton object, handles enumerating font files in a font collection given a particular type of key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation.

+
+ + dd368209 + HRESULT IDWriteFactory::RegisterFontCollectionLoader([In] IDWriteFontCollectionLoader* fontCollectionLoader) + IDWriteFactory::RegisterFontCollectionLoader +
+ + +

Unregisters a custom font collection loader that was previously registered using RegisterFontCollectionLoader.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368211 + HRESULT IDWriteFactory::UnregisterFontCollectionLoader([In] IDWriteFontCollectionLoader* fontCollectionLoader) + IDWriteFactory::UnregisterFontCollectionLoader +
+ + +

Creates a font file reference object from a local font file.

+
+

An array of characters that contains the absolute file path for the font file. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk.

+

The last modified time of the input file path. If the parameter is omitted, the function will access the font file to obtain its last write time. You should specify this value to avoid extra disk access. Subsequent operations on the constructed object may fail if the user provided lastWriteTime doesn't match the file on the disk.

+

When this method returns, contains an address of a reference to the newly created font file reference object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368197 + HRESULT IDWriteFactory::CreateFontFileReference([In, Buffer] const wchar_t* filePath,[In, Optional] const FILETIME* lastWriteTime,[Out, Fast] IDWriteFontFile** fontFile) + IDWriteFactory::CreateFontFileReference +
+ + +

Creates a reference to an application-specific font file resource.

+
+

A font file reference key that uniquely identifies the font file resource during the lifetime of fontFileLoader.

+

The size of the font file reference key in bytes.

+

The font file loader that will be used by the font system to load data from the file identified by fontFileReferenceKey.

+

Contains an address of a reference to the newly created font file object when this method succeeds, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function is provided for cases when an application or a document needs to use a private font without having to install it on the system. fontFileReferenceKey has to be unique only in the scope of the fontFileLoader used in this call.

+
+ + dd368188 + HRESULT IDWriteFactory::CreateCustomFontFileReference([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[In] IDWriteFontFileLoader* fontFileLoader,[Out, Fast] IDWriteFontFile** fontFile) + IDWriteFactory::CreateCustomFontFileReference +
+ + +

Creates an object that represents a font face.

+
+

A value that indicates the type of file format of the font face.

+

The number of font files, in element count, required to represent the font face.

+

A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call.

+

The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero.

+

A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face.

+

When this method returns, contains an address of a reference to the newly created font face object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368196 + HRESULT IDWriteFactory::CreateFontFace([In] DWRITE_FONT_FACE_TYPE fontFaceType,[In] unsigned int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out, Fast] IDWriteFontFace** fontFace) + IDWriteFactory::CreateFontFace +
+ + +

Creates an object that represents a font face.

+
+

A value that indicates the type of file format of the font face.

+

The number of font files, in element count, required to represent the font face.

+

A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call.

+

The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero.

+

A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face.

+

When this method returns, contains an address of a reference to the newly created font face object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368196 + HRESULT IDWriteFactory::CreateFontFace([In] DWRITE_FONT_FACE_TYPE fontFaceType,[In] unsigned int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out, Fast] IDWriteFontFace** fontFace) + IDWriteFactory::CreateFontFace +
+ + +

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.

+
+ No documentation. +

Standard error code.

+ + dd368201 + HRESULT IDWriteFactory::CreateRenderingParams([Out, Fast] IDWriteRenderingParams** renderingParams) + IDWriteFactory::CreateRenderingParams +
+ + +

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.

+
+

A handle for the specified monitor.

+

When this method returns, contains an address of a reference to the rendering parameters object created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368199 + HRESULT IDWriteFactory::CreateMonitorRenderingParams([In] HMONITOR monitor,[Out, Fast] IDWriteRenderingParams** renderingParams) + IDWriteFactory::CreateMonitorRenderingParams +
+ + +

Creates a rendering parameters object with the specified properties.

+
+

The gamma level to be set for the new rendering parameters object.

+

The enhanced contrast level to be set for the new rendering parameters object.

+

The ClearType level to be set for the new rendering parameters object.

+

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.

+

A value that represents the method (for example, ClearType natural quality) for rendering glyphs.

+

When this method returns, contains an address of a reference to the newly created rendering parameters object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368190 + HRESULT IDWriteFactory::CreateCustomRenderingParams([In] float gamma,[In] float enhancedContrast,[In] float clearTypeLevel,[In] DWRITE_PIXEL_GEOMETRY pixelGeometry,[In] DWRITE_RENDERING_MODE renderingMode,[Out, Fast] IDWriteRenderingParams** renderingParams) + IDWriteFactory::CreateCustomRenderingParams +
+ + +

Registers a font file loader with DirectWrite.

+
+

Pointer to a object for a particular file resource type.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function registers a font file loader with DirectWrite. The font file loader interface, which should be implemented by a singleton object, handles loading font file resources of a particular type from a key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation.

+
+ + dd368210 + HRESULT IDWriteFactory::RegisterFontFileLoader([In] IDWriteFontFileLoader* fontFileLoader) + IDWriteFactory::RegisterFontFileLoader +
+ + +

Unregisters a font file loader that was previously registered with the DirectWrite font system using RegisterFontFileLoader.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function unregisters font file loader callbacks with the DirectWrite font system. You should implement the font file loader interface by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite should be performed outside of the font file loader implementation.

+
+ + dd368212 + HRESULT IDWriteFactory::UnregisterFontFileLoader([In] IDWriteFontFileLoader* fontFileLoader) + IDWriteFactory::UnregisterFontFileLoader +
+ + +

Creates a text format object used for text layout.

+
+

An array of characters that contains the name of the font family

+

A reference to a font collection object. When this is null, indicates the system font collection.

+

A value that indicates the font weight for the text object created by this method.

+

A value that indicates the font style for the text object created by this method.

+

A value that indicates the font stretch for the text object created by this method.

+

The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch.

+

An array of characters that contains the locale name.

+

When this method returns, contains an address of a reference to a newly created text format object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368203 + HRESULT IDWriteFactory::CreateTextFormat([In, Buffer] const wchar_t* fontFamilyName,[In, Optional] IDWriteFontCollection* fontCollection,[In] DWRITE_FONT_WEIGHT fontWeight,[In] DWRITE_FONT_STYLE fontStyle,[In] DWRITE_FONT_STRETCH fontStretch,[In] float fontSize,[In, Buffer] const wchar_t* localeName,[Out, Fast] IDWriteTextFormat** textFormat) + IDWriteFactory::CreateTextFormat +
+ + +

Creates a typography object for use in a text layout.

+
+

When this method returns, contains the address of a reference to a newly created typography object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368206 + HRESULT IDWriteFactory::CreateTypography([Out, Fast] IDWriteTypography** typography) + IDWriteFactory::CreateTypography +
+ + +

Creates an object that is used for interoperability with GDI.

+
+

When this method returns, contains an address of a reference to a GDI interop object if successful, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368207 + HRESULT IDWriteFactory::GetGdiInterop([Out] IDWriteGdiInterop** gdiInterop) + IDWriteFactory::GetGdiInterop +
+ + +

Takes a string, text format, and associated constraints, and produces an object that represents the fully analyzed and formatted result.

+
+

An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded null characters.

+

The number of characters in the string.

+

A reference to an object that indicates the format to apply to the string.

+

The width of the layout box.

+

The height of the layout box.

+

When this method returns, contains an address of a reference to the resultant text layout object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368205 + HRESULT IDWriteFactory::CreateTextLayout([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] float maxWidth,[In] float maxHeight,[Out, Fast] IDWriteTextLayout** textLayout) + IDWriteFactory::CreateTextLayout +
+ + +

Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode.

+
+

An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded null characters.

+

The length of the string, in character count.

+

The text formatting object to apply to the string.

+

The width of the layout box.

+

The height of the layout box.

+

The number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI device pixelsPerDip is 1. If rendering onto a 120 DPI device pixelsPerDip is 1.25 (120/96).

+

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specifies the font size and pixels per DIP.

+

Instructs the text layout to use the same metrics as GDI bi-level text when set to . When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.

+

When this method returns, contains an address to the reference of the resultant text layout object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The resulting text layout should only be used for the intended resolution, and for cases where text scalability is desired CreateTextLayout should be used instead.

+
+ + dd368192 + HRESULT IDWriteFactory::CreateGdiCompatibleTextLayout([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] float layoutWidth,[In] float layoutHeight,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[Out, Fast] IDWriteTextLayout** textLayout) + IDWriteFactory::CreateGdiCompatibleTextLayout +
+ + +

Creates an inline object for trimming, using an ellipsis as the omission sign.

+
+

A text format object, created with CreateTextFormat, used for text layout.

+

When this method returns, contains an address of a reference to the omission (that is, ellipsis trimming) sign created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The ellipsis will be created using the current settings of the format, including base font, style, and any effects. Alternate omission signs can be created by the application by implementing .

+
+ + dd368194 + HRESULT IDWriteFactory::CreateEllipsisTrimmingSign([In] IDWriteTextFormat* textFormat,[Out, Fast] IDWriteInlineObject** trimmingSign) + IDWriteFactory::CreateEllipsisTrimmingSign +
+ + +

Returns an interface for performing text analysis.

+
+

When this method returns, contains an address of a reference to the newly created text analyzer object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368202 + HRESULT IDWriteFactory::CreateTextAnalyzer([Out, Fast] IDWriteTextAnalyzer** textAnalyzer) + IDWriteFactory::CreateTextAnalyzer +
+ + +

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).

+
+

A value that specifies how to apply number substitution on digits and related punctuation.

+

The name of the locale to be used in the numberSubstitution object.

+

A Boolean flag that indicates whether to ignore user overrides.

+

When this method returns, contains an address to a reference to the number substitution object created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368200 + HRESULT IDWriteFactory::CreateNumberSubstitution([In] DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod,[In, Buffer] const wchar_t* localeName,[In] BOOL ignoreUserOverride,[Out, Fast] IDWriteNumberSubstitution** numberSubstitution) + IDWriteFactory::CreateNumberSubstitution +
+ + +

Creates a glyph run analysis object, which encapsulates information used to render a glyph run.

+
+

A structure that contains the properties of the glyph run (font face, advances, and so on).

+

Number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI bitmap then pixelsPerDip is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 1.25.

+

Optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified the emSize and pixelsPerDip.

+

A value that specifies the rendering mode, which must be one of the raster rendering modes (that is, not default and not outline).

+

Specifies the measuring mode to use with glyphs.

+

The horizontal position (X-coordinate) of the baseline origin, in DIPs.

+

Vertical position (Y-coordinate) of the baseline origin, in DIPs.

+

When this method returns, contains an address of a reference to the newly created glyph run analysis object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The glyph run analysis object contains the results of analyzing the glyph run, including the positions of all the glyphs and references to all of the rasterized glyphs in the font cache.

+
+ + dd368198 + HRESULT IDWriteFactory::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] DWRITE_RENDERING_MODE renderingMode,[In] DWRITE_MEASURING_MODE measuringMode,[In] float baselineOriginX,[In] float baselineOriginY,[Out, Fast] IDWriteGlyphRunAnalysis** glyphRunAnalysis) + IDWriteFactory::CreateGlyphRunAnalysis +
+ + +

Creates an object that is used for interoperability with GDI.

+
+ + dd368207 + GetGdiInterop + GetGdiInterop + HRESULT IDWriteFactory::GetGdiInterop([Out] IDWriteGdiInterop** gdiInterop) +
+ + +

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. The font collection API can be used to discover what font families and fonts are available, and to obtain some metadata about the fonts.

+
+ +

The method will give you an object, which encapsulates the set of fonts installed on the system, as shown in the following code example.

* pFontCollection = null; // Get the system font collection.	
+            if (SUCCEEDED(hr))	
+            { hr = pDWriteFactory->GetSystemFontCollection(&pFontCollection);	
+            }	
+            

and both have a GetFontCollection method that returns the font collection being used by the object. These interfaces use the system font collection by default, but can use a custom font collection instead.

To determine what fonts are available on the system, get a reference to the system font collection. You can then use the method to determine the number of fonts and loop through the list. The following example enumerates the fonts in the system font collection, and prints the font family names to the console.

 #include <dwrite.h>	
+            #include <string.h>	
+            #include <stdio.h>	
+            #include <new> // SafeRelease inline function.	
+            template <class T> inline void SafeRelease(T **ppT)	
+            { if (*ppT) { (*ppT)->Release(); *ppT = null; }	
+            } void wmain()	
+            { * pDWriteFactory = null;  hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory) ); * pFontCollection = null; // Get the system font collection. if (SUCCEEDED(hr)) { hr = pDWriteFactory->GetSystemFontCollection(&pFontCollection); } UINT32 familyCount = 0; // Get the number of font families in the collection. if (SUCCEEDED(hr)) { familyCount = pFontCollection->GetFontFamilyCount(); } for (UINT32 i = 0; i < familyCount; ++i) { * pFontFamily = null; // Get the font family. if (SUCCEEDED(hr)) { hr = pFontCollection->GetFontFamily(i, &pFontFamily); } * pFamilyNames = null; // Get a list of localized strings for the family name. if (SUCCEEDED(hr)) { hr = pFontFamily->GetFamilyNames(&pFamilyNames); } UINT32 index = 0;  exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr)) { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); } } // If the specified locale doesn't exist, select the first on the list. if (!exists) index = 0; UINT32 length = 0; // Get the string length. if (SUCCEEDED(hr)) { hr = pFamilyNames->GetStringLength(index, &length); } // Allocate a string big enough to hold the name. wchar_t* name = new (std::nothrow) wchar_t[length+1]; if (name == null) { hr = E_OUTOFMEMORY; } // Get the family name. if (SUCCEEDED(hr)) { hr = pFamilyNames->GetString(index, name, length+1); } if (SUCCEEDED(hr)) { // Print out the family name. wprintf(L"%s\n", name); } SafeRelease(&pFontFamily); SafeRelease(&pFamilyNames); delete [] name; } SafeRelease(&pFontCollection); SafeRelease(&pDWriteFactory);	
+            } 
+
+ + dd368214 + IDWriteFontCollection + IDWriteFontCollection +
+ + + Creates a font collection using a custom font collection loader. + + A reference to a DirectWrite factory + An application-defined font collection loader, which must have been previously registered using . + The key used by the loader to identify a collection of font files. The buffer allocated for this key should at least be the size of collectionKeySize. + HRESULT IDWriteFactory::CreateCustomFontCollection([None] IDWriteFontCollectionLoader* collectionLoader,[In, Buffer] const void* collectionKey,[None] int collectionKeySize,[Out] IDWriteFontCollection** fontCollection) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the number of font families in the collection.

+
+

The number of font families in the collection.

+ + dd370974 + unsigned int IDWriteFontCollection::GetFontFamilyCount() + IDWriteFontCollection::GetFontFamilyCount +
+ + +

Creates a font family object given a zero-based font family index.

+
+

Zero-based index of the font family.

+

When this method returns, contains the address of a reference to the newly created font family object.

+ + dd370970 + HRESULT IDWriteFontCollection::GetFontFamily([In] unsigned int index,[Out] IDWriteFontFamily** fontFamily) + IDWriteFontCollection::GetFontFamily +
+ + +

Finds the font family with the specified family name.

+
+

An array of characters, which is null-terminated, containing the name of the font family. The name is not case-sensitive but must otherwise exactly match a family name in the collection.

+

When this method returns, contains the zero-based index of the matching font family if the family name was found; otherwise, UINT_MAX.

+

When this method returns, TRUE if the family name exists; otherwise, .

+ + dd368217 + HRESULT IDWriteFontCollection::FindFamilyName([In, Buffer] const wchar_t* familyName,[Out] unsigned int* index,[Out] BOOL* exists) + IDWriteFontCollection::FindFamilyName +
+ + +

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.

+
+

A font face object that specifies the physical font.

+

When this method returns, contains the address of a reference to the newly created font object if successful; otherwise, null.

+ + dd370978 + HRESULT IDWriteFontCollection::GetFontFromFontFace([In] IDWriteFontFace* fontFace,[Out] IDWriteFont** font) + IDWriteFontCollection::GetFontFromFontFace +
+ + +

Gets the number of font families in the collection.

+
+ + dd370974 + GetFontFamilyCount + GetFontFamilyCount + unsigned int IDWriteFontCollection::GetFontFamilyCount() +
+ + +

Used to construct a collection of fonts given a particular type of key.

+
+ +

The font collection loader interface is recommended to be implemented by a singleton object. Note that font collection loader implementations must not register themselves with DirectWrite factory inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed outside of the font file loader implementation as a separate step.

+
+ + dd368215 + IDWriteFontCollectionLoader + IDWriteFontCollectionLoader +
+ + + 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. + + Pointer to the object that was used to create the current font collection. + A font collection key that uniquely identifies the collection of font files within the scope of the font collection loader being used. The buffer allocated for this key must be at least the size, in bytes, specified by collectionKeySize. + a reference to the newly created font file enumerator. + HRESULT IDWriteFontCollectionLoader::CreateEnumeratorFromKey([None] IDWriteFactory* factory,[In, Buffer] const void* collectionKey,[None] int collectionKeySize,[Out] IDWriteFontFileEnumerator** fontFileEnumerator) + + + + Internal FontCollectionLoader Callback + + + + HRESULT IDWriteFontCollectionLoader::CreateEnumeratorFromKey([None] IDWriteFactory* factory,[In, Buffer] const void* collectionKey,[None] int collectionKeySize,[Out] IDWriteFontFileEnumerator** fontFileEnumerator) + + + +

Represents an absolute reference to a font face which contains font face type, appropriate file references, face identification data and various font data such as metrics, names and glyph outlines.

+
+ + dd370983 + IDWriteFontFace + IDWriteFontFace +
+ + + Creates an object that represents a font face. + + A reference to a DirectWrite factory + A value that indicates the type of file format of the font face. + A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call. + The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero. + A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face. + HRESULT IDWriteFactory::CreateFontFace([None] DWRITE_FONT_FACE_TYPE fontFaceType,[None] int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[None] int faceIndex,[None] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out] IDWriteFontFace** fontFace) + + + + Creates a font face object for the font. + + the to create the FontFace from. + HRESULT IDWriteFont::CreateFontFace([Out] IDWriteFontFace** fontFace) + + + + Obtains ideal (resolution-independent) glyph metrics in font design units. + + + Design glyph metrics are used for glyph positioning. + + An array of glyph indices for which to compute metrics. The array must contain at least as many elements as specified by glyphCount. + Indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation + an array of structures. + HRESULT IDWriteFontFace::GetDesignGlyphMetrics([In, Buffer] const short* glyphIndices,[None] int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[None] BOOL isSideways) + + + + Obtains glyph metrics in font design units with the return values compatible with what GDI would produce. + + The logical size of the font in DIP units. + The number of physical pixels per DIP. + An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip. + When set to FALSE, the metrics are the same as the metrics of GDI aliased text. When set to TRUE, the metrics are the same as the metrics of text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY. + An array of glyph indices for which to compute the metrics. + A BOOL value that indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation. + An array of structures filled by this function. The metrics are in font design units. + HRESULT IDWriteFontFace::GetGdiCompatibleGlyphMetrics([None] float emSize,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] BOOL useGdiNatural,[In, Buffer] const short* glyphIndices,[None] int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[None] BOOL isSideways) + + + + Returns the nominal mapping of UCS4 Unicode code points to glyph indices as defined by the font 'CMAP' table. + + + Note that this mapping is primarily provided for line layout engines built on top of the physical font API. Because of OpenType glyph substitution and line layout character substitution, the nominal conversion does not always correspond to how a Unicode string will map to glyph indices when rendering using a particular font face. Also, note that Unicode variant selectors provide for alternate mappings for character to glyph. This call will always return the default variant. + + An array of USC4 code points from which to obtain nominal glyph indices. The array must be allocated and be able to contain the number of elements specified by codePointCount. + a reference to an array of nominal glyph indices filled by this function. + HRESULT IDWriteFontFace::GetGlyphIndices([In, Buffer] const int* codePoints,[None] int codePointCount,[Out, Buffer] short* glyphIndices) + + + + Obtains the font files representing a font face. + + + The IDWriteFontFace::GetFiles method should be called twice. The first time you call GetFilesfontFiles should be NULL. When the method returns, numberOfFiles receives the number of font files that represent the font face. Then, call the method a second time, passing the numberOfFiles value that was output the first call, and a non-null buffer of the correct size to store the references. + + An array that stores references to font files representing the font face. This parameter can be NULL if the user wants only the number of files representing the font face. This API increments reference count of the font file references returned according to COM conventions, and the client should release them when finished. + HRESULT IDWriteFontFace::GetFiles([InOut] int* numberOfFiles,[Out, Buffer, Optional] IDWriteFontFile** fontFiles) + + + + Finds the specified OpenType font table if it exists and returns a reference to it. The function accesses the underlying font data through the interface implemented by the font file loader. + + + The context for the same tag may be different for each call, so each one must be held and released separately. + + The four-character tag of a OpenType font table to find. Use the DWRITE_MAKE_OPENTYPE_TAG macro to create it as an UINT32. Unlike GDI, it does not support the special TTCF and null tags to access the whole font. + When this method returns, contains the address of a reference to the base of the table in memory. The reference is valid only as long as the font face used to get the font table still exists; (not any other font face, even if it actually refers to the same physical font). + When this method returns, the address of a reference to the opaque context, which must be freed by calling {{ReleaseFontTable}}. The context actually comes from the lower-level , which may be implemented by the application or DWrite itself. It is possible for a NULL tableContext to be returned, especially if the implementation performs direct memory mapping on the whole file. Nevertheless, always release it later, and do not use it as a test for function success. The same table can be queried multiple times, but because each returned context can be different, you must release each context separately. + TRUE if the font table exists; otherwise, FALSE. + HRESULT IDWriteFontFace::TryGetFontTable([In] int openTypeTableTag,[Out, Buffer] const void** tableData,[Out] int* tableSize,[Out] void** tableContext,[Out] BOOL* exists) + + + + Computes the outline of a run of glyphs by calling back to the outline sink interface. + + The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch. + An array of glyph indices. The glyphs are in logical order and the advance direction depends on the isRightToLeft parameter. The array must be allocated and be able to contain the number of elements specified by glyphCount. + An optional array of glyph advances in DIPs. The advance of a glyph is the amount to advance the position (in the direction of the baseline) after drawing the glyph. glyphAdvances contains the number of elements specified by glyphIndices.Length. + An optional array of glyph offsets, each of which specifies the offset along the baseline and offset perpendicular to the baseline of a glyph relative to the current pen position. glyphOffsets contains the number of elements specified by glyphIndices.Length. + If TRUE, the ascender of the glyph runs alongside the baseline. If FALSE, the glyph ascender runs perpendicular to the baseline. For example, an English alphabet on a vertical baseline would have isSideways set to FALSE. A client can render a vertical run by setting isSideways to TRUE and rotating the resulting geometry 90 degrees to the right using a transform. The isSideways and isRightToLeft parameters cannot both be true. + The visual order of the glyphs. If this parameter is FALSE, then glyph advances are from left to right. If TRUE, the advance direction is right to left. By default, the advance direction is left to right. + A reference to the interface that is called back to perform outline drawing operations. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFontFace::GetGlyphRunOutline([None] float emSize,[In, Buffer] const short* glyphIndices,[In, Buffer, Optional] const float* glyphAdvances,[In, Buffer, Optional] const DWRITE_GLYPH_OFFSET* glyphOffsets,[None] int glyphCount,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IDWriteGeometrySink* geometrySink) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Obtains the file format type of a font face.

+
+

A value that indicates the type of format for the font face (such as Type 1, TrueType, vector, or bitmap).

+ + dd371031 + DWRITE_FONT_FACE_TYPE IDWriteFontFace::GetType() + IDWriteFontFace::GetType +
+ + +

Obtains the font files representing a font face.

+
+

If fontFiles is null, receives the number of files representing the font face. Otherwise, the number of font files being requested should be passed. See the Remarks section below for more information.

+

When this method returns, contains a reference to a user-provided array that stores references to font files representing the font face. This parameter can be null if the user wants only the number of files representing the font face. This API increments reference count of the font file references returned according to COM conventions, and the client should release them when finished.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The method should be called twice. The first time you call GetFilesfontFiles should be null. When the method returns, numberOfFiles receives the number of font files that represent the font face.

Then, call the method a second time, passing the numberOfFiles value that was output the first call, and a non-null buffer of the correct size to store the references.

+
+ + dd370989 + HRESULT IDWriteFontFace::GetFiles([InOut] unsigned int* numberOfFiles,[Out, Buffer, Optional] IDWriteFontFile** fontFiles) + IDWriteFontFace::GetFiles +
+ + +

Obtains the index of a font face in the context of its font files.

+
+

The zero-based index of a font face in cases when the font files contain a collection of font faces. If the font files contain a single face, this value is zero.

+ + dd371007 + unsigned int IDWriteFontFace::GetIndex() + IDWriteFontFace::GetIndex +
+ + +

Obtains the algorithmic style simulation flags of a font face.

+
+

Font face simulation flags for algorithmic means of making text bold or italic.

+ + dd371018 + DWRITE_FONT_SIMULATIONS IDWriteFontFace::GetSimulations() + IDWriteFontFace::GetSimulations +
+ + +

Determines whether the font is a symbol font.

+
+

Returns TRUE if the font is a symbol font, otherwise .

+ + dd371034 + BOOL IDWriteFontFace::IsSymbolFont() + IDWriteFontFace::IsSymbolFont +
+ + +

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.

+
+

When this method returns, a? structure that holds metrics (such as ascent, descent, or cap height) for the current font face element. The metrics returned by this function are in font design units.

+ + dd371011 + void IDWriteFontFace::GetMetrics([Out] DWRITE_FONT_METRICS* fontFaceMetrics) + IDWriteFontFace::GetMetrics +
+ + +

Obtains the number of glyphs in the font face.

+
+

The number of glyphs in the font face.

+ + dd370993 + unsigned short IDWriteFontFace::GetGlyphCount() + IDWriteFontFace::GetGlyphCount +
+ + +

Obtains ideal (resolution-independent) glyph metrics in font design units.

+
+

An array of glyph indices for which to compute metrics. The array must contain at least as many elements as specified by glyphCount.

+

The number of elements in the glyphIndices array.

+

When this method returns, contains an array of structures. glyphMetrics must be initialized with an empty buffer that contains at least as many elements as glyphCount. The metrics returned by this function are in font design units.

+

Indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Design glyph metrics are used for glyph positioning.

+
+ + dd370986 + HRESULT IDWriteFontFace::GetDesignGlyphMetrics([In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[In] BOOL isSideways) + IDWriteFontFace::GetDesignGlyphMetrics +
+ + +

Returns the nominal mapping of UCS4 Unicode code points to glyph indices as defined by the font 'CMAP' table.

+
+

An array of USC4 code points from which to obtain nominal glyph indices. The array must be allocated and be able to contain the number of elements specified by codePointCount.

+

The number of elements in the codePoints array.

+

When this method returns, contains a reference to an array of nominal glyph indices filled by this function.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Note that this mapping is primarily provided for line layout engines built on top of the physical font API. Because of OpenType glyph substitution and line layout character substitution, the nominal conversion does not always correspond to how a Unicode string will map to glyph indices when rendering using a particular font face. Also, note that Unicode variant selectors provide for alternate mappings for character to glyph. This call will always return the default variant.

+
+ + dd370998 + HRESULT IDWriteFontFace::GetGlyphIndicesW([In, Buffer] const unsigned int* codePoints,[In] unsigned int codePointCount,[Out, Buffer] unsigned short* glyphIndices) + IDWriteFontFace::GetGlyphIndicesW +
+ + +

Finds the specified OpenType font table if it exists and returns a reference to it. The function accesses the underlying font data through the interface implemented by the font file loader.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The context for the same tag may be different for each call, so each one must be held and released separately.

+
+ + dd371039 + HRESULT IDWriteFontFace::TryGetFontTable([In] unsigned int openTypeTableTag,[Out, Buffer] const void** tableData,[Out] unsigned int* tableSize,[Out] void** tableContext,[Out] BOOL* exists) + IDWriteFontFace::TryGetFontTable +
+ + +

Releases the table obtained earlier from TryGetFontTable.

+
+ No documentation. + + dd371036 + void IDWriteFontFace::ReleaseFontTable([In] void* tableContext) + IDWriteFontFace::ReleaseFontTable +
+ + +

Computes the outline of a run of glyphs by calling back to the outline sink interface.

+
+

The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch.

+

An array of glyph indices. The glyphs are in logical order and the advance direction depends on the isRightToLeft parameter. The array must be allocated and be able to contain the number of elements specified by glyphCount.

+

An optional array of glyph advances in DIPs. The advance of a glyph is the amount to advance the position (in the direction of the baseline) after drawing the glyph. glyphAdvances contains the number of elements specified by glyphCount.

+

An optional array of glyph offsets, each of which specifies the offset along the baseline and offset perpendicular to the baseline of a glyph relative to the current pen position. glyphOffsets contains the number of elements specified by glyphCount.

+

The number of glyphs in the run.

+

If TRUE, the ascender of the glyph runs alongside the baseline. If , the glyph ascender runs perpendicular to the baseline. For example, an English alphabet on a vertical baseline would have isSideways set to .

A client can render a vertical run by setting isSideways to TRUE and rotating the resulting geometry 90 degrees to the right using a transform. The isSideways and isRightToLeft parameters cannot both be true.

+

The visual order of the glyphs. If this parameter is , then glyph advances are from left to right. If TRUE, the advance direction is right to left. By default, the advance direction is left to right.

+

A reference to the interface that is called back to perform outline drawing operations.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371003 + HRESULT IDWriteFontFace::GetGlyphRunOutline([In] float emSize,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer, Optional] const float* glyphAdvances,[In, Buffer, Optional] const DWRITE_GLYPH_OFFSET* glyphOffsets,[In] unsigned int glyphCount,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] ID2D1SimplifiedGeometrySink* geometrySink) + IDWriteFontFace::GetGlyphRunOutline +
+ + +

Determines the recommended rendering mode for the font, using the specified size and rendering parameters.

+
+

The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch.

+

The number of physical pixels per DIP. For example, if the DPI of the rendering surface is 96, this value is 1.0f. If the DPI is 120, this value is 120.0f/96.

+

The measuring method that will be used for glyphs in the font. Renderer implementations may choose different rendering modes for different measuring methods, for example:

  • for
  • for
  • for
+

A reference to an object that contains rendering settings such as gamma level, enhanced contrast, and ClearType level. This parameter is necessary in case the rendering parameters object overrides the rendering mode.

+

When this method returns, contains a value that indicates the recommended rendering mode to use.

+ + dd371015 + HRESULT IDWriteFontFace::GetRecommendedRenderingMode([In] float emSize,[In] float pixelsPerDip,[In] DWRITE_MEASURING_MODE measuringMode,[In] IDWriteRenderingParams* renderingParams,[Out] DWRITE_RENDERING_MODE* renderingMode) + IDWriteFontFace::GetRecommendedRenderingMode +
+ + +

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.

+
+

The logical size of the font in DIP units.

+

The number of physical pixels per DIP.

+

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip.

+

A reference to a DWRITE_FONT_METRICS structure to fill in. The metrics returned by this function are in font design units.

+ + dd941789 + HRESULT IDWriteFontFace::GetGdiCompatibleMetrics([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[Out] DWRITE_FONT_METRICS* fontFaceMetrics) + IDWriteFontFace::GetGdiCompatibleMetrics +
+ + +

Obtains glyph metrics in font design units with the return values compatible with what GDI would produce.

+
+

The ogical size of the font in DIP units.

+

The number of physical pixels per DIP.

+

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip.

+

When set to , the metrics are the same as the metrics of GDI aliased text. When set to TRUE, the metrics are the same as the metrics of text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.

+

An array of glyph indices for which to compute the metrics.

+

The number of elements in the glyphIndices array.

+

An array of structures filled by this function. The metrics are in font design units.

+

A value that indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation.

+

Standard error code. If any of the input glyph indices are outside of the valid glyph index range for the current font face, E_INVALIDARG will be returned.

+ + dd941788 + HRESULT IDWriteFontFace::GetGdiCompatibleGlyphMetrics([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[In] BOOL isSideways) + IDWriteFontFace::GetGdiCompatibleGlyphMetrics +
+ + +

Obtains the file format type of a font face.

+
+ + dd371031 + GetType + GetType + DWRITE_FONT_FACE_TYPE IDWriteFontFace::GetType() +
+ + +

Obtains the index of a font face in the context of its font files.

+
+ + dd371007 + GetIndex + GetIndex + unsigned int IDWriteFontFace::GetIndex() +
+ + +

Obtains the algorithmic style simulation flags of a font face.

+
+ + dd371018 + GetSimulations + GetSimulations + DWRITE_FONT_SIMULATIONS IDWriteFontFace::GetSimulations() +
+ + +

Determines whether the font is a symbol font.

+
+ + dd371034 + IsSymbolFont + IsSymbolFont + BOOL IDWriteFontFace::IsSymbolFont() +
+ + +

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.

+
+ + dd371011 + GetMetrics + GetMetrics + void IDWriteFontFace::GetMetrics([Out] DWRITE_FONT_METRICS* fontFaceMetrics) +
+ + +

Obtains the number of glyphs in the font face.

+
+ + dd370993 + GetGlyphCount + GetGlyphCount + unsigned short IDWriteFontFace::GetGlyphCount() +
+ + +

Specifies properties used to identify and execute typographic features in the current font face.

+
+ +

A non-zero value generally enables the feature execution, while the zero value disables it. A feature requiring a selector uses this value to indicate the selector index.

The OpenType standard provides access to typographic features available in the font by means of a feature tag with the associated parameters. The OpenType feature tag is a 4-byte identifier of the registered name of a feature. For example, the 'kern' feature name tag is used to identify the 'Kerning' feature in OpenType font. Similarly, the OpenType feature tag for 'Standard Ligatures' and 'Fractions' is 'liga' and 'frac' respectively. Since a single run can be associated with more than one typographic features, the Text String API accepts typographic settings for a run as a list of features and are executed in the order they are specified.

The value of the tag member represents the OpenType name tag of the feature, while the param value represents additional parameter for the execution of the feature referred by the tag member. Both nameTag and parameter are stored as little endian, the same convention followed by GDI. Most features treat the Param value as a binary value that indicates whether to turn the execution of the feature on or off, with it being off by default in the majority of cases. Some features, however, treat this value as an integral value representing the integer index to the list of alternate results it may produce during the execution; for instance, the feature 'Stylistic Alternates' or 'salt' uses the parameter value as an index to the list of alternate substituting glyphs it could produce for a specified glyph.

+
+ + dd368066 + DWRITE_FONT_FEATURE + DWRITE_FONT_FEATURE +
+ + + Initializes a new instance of the struct. + + The name tag. + The parameter. + + + +

The feature OpenType name identifier.

+
+ + dd368066 + DWRITE_FONT_FEATURE_TAG nameTag + DWRITE_FONT_FEATURE_TAG nameTag +
+ + +

The execution parameter of the feature.

+
+ + dd368066 + unsigned int parameter + unsigned int parameter +
+ + +

Represents a font file. Applications such as font managers or font viewers can call 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.

+
+ + dd371060 + IDWriteFontFile + IDWriteFontFile +
+ + + Creates a font file reference object from a local font file. + + A reference to a DirectWrite factory + An array of characters that contains the absolute file path for the font file. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk. + HRESULT IDWriteFactory::CreateFontFileReference([In] const wchar_t* filePath,[In, Optional] const __int64* lastWriteTime,[Out] IDWriteFontFile** fontFile) + + + + Creates a font file reference object from a local font file. + + A reference to a DirectWrite factory + An array of characters that contains the absolute file path for the font file. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk. + The last modified time of the input file path. If the parameter is omitted, the function will access the font file to obtain its last write time. You should specify this value to avoid extra disk access. Subsequent operations on the constructed object may fail if the user provided lastWriteTime doesn't match the file on the disk. + HRESULT IDWriteFactory::CreateFontFileReference([In] const wchar_t* filePath,[In, Optional] const __int64* lastWriteTime,[Out] IDWriteFontFile** fontFile) + + + + Creates a reference to an application-specific font file resource. + + A reference to a DirectWrite factory + A font file reference key that uniquely identifies the font file resource during the lifetime of fontFileLoader. + The size of the font file reference key in bytes. + The font file loader that will be used by the font system to load data from the file identified by fontFileReferenceKey. + + This function is provided for cases when an application or a document needs to use a private font without having to install it on the system. fontFileReferenceKey has to be unique only in the scope of the fontFileLoader used in this call. + + HRESULT IDWriteFactory::CreateCustomFontFileReference([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[None] IDWriteFontFileLoader* fontFileLoader,[Out] IDWriteFontFile** fontFile) + + + + Obtains the reference to the reference key of a font file. The returned reference is valid until the font file object is released. + + the reference to the reference key of a font file. + HRESULT IDWriteFontFile::GetReferenceKey([Out, Buffer] const void** fontFileReferenceKey,[Out] int* fontFileReferenceKeySize) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Obtains the reference to the reference key of a font file. The returned reference is valid until the font file object is released.

+
+

When this method returns, contains an address of a reference to the font file reference key. Note that the reference value is only valid until the font file object it is obtained from is released. This parameter is passed uninitialized.

+

When this method returns, contains the size of the font file reference key in bytes. This parameter is passed uninitialized.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371108 + HRESULT IDWriteFontFile::GetReferenceKey([Out, Buffer] const void** fontFileReferenceKey,[Out] unsigned int* fontFileReferenceKeySize) + IDWriteFontFile::GetReferenceKey +
+ + +

Obtains the file loader associated with a font file object.

+
+

When this method returns, contains the address of a reference to the font file loader associated with the font file object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371104 + HRESULT IDWriteFontFile::GetLoader([Out] IDWriteFontFileLoader** fontFileLoader) + IDWriteFontFile::GetLoader +
+ + +

Analyzes a file and returns whether it represents a font, and whether the font type is supported by the font system.

+
+

TRUE if the font type is supported by the font system; otherwise, .

+

When this method returns, contains a value that indicates the type of the font file. Note that even if isSupportedFontType is , the fontFileType value may be different from .

+

When this method returns, contains a value that indicates the type of the font face. If fontFileType is not equal to , then that can be constructed from the font file.

+

When this method returns, contains the number of font faces contained in the font file.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Important??Certain font file types are recognized, but not supported by the font system. For example, the font system will recognize a file as a Type 1 font file but will not be able to construct a font face object from it. In such situations, Analyze will set isSupportedFontType output parameter to .

+
+ + dd371099 + HRESULT IDWriteFontFile::Analyze([Out] BOOL* isSupportedFontType,[Out] DWRITE_FONT_FILE_TYPE* fontFileType,[Out, Optional] DWRITE_FONT_FACE_TYPE* fontFaceType,[Out] unsigned int* numberOfFaces) + IDWriteFontFile::Analyze +
+ + + Obtains the file loader associated with a font file object. + + HRESULT IDWriteFontFile::GetLoader([Out] IDWriteFontFileLoader** fontFileLoader) + + + +

Encapsulates a collection of font files. The font system uses this interface to enumerate font files when building a font collection.

+
+ + dd371063 + IDWriteFontFileEnumerator + IDWriteFontFileEnumerator +
+ + + 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. + + the value TRUE if the enumerator advances to a file; otherwise, FALSE if the enumerator advances past the last file in the collection. + HRESULT IDWriteFontFileEnumerator::MoveNext([Out] BOOL* hasCurrentFile) + + + + Gets a reference to the current font file. + + a reference to the newly created object. + HRESULT IDWriteFontFileEnumerator::GetCurrentFontFile([Out] IDWriteFontFile** fontFile) + + + + Internal FontFileEnumerator Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + + 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. + + the value TRUE if the enumerator advances to a file; otherwise, FALSE if the enumerator advances past the last file in the collection. + HRESULT IDWriteFontFileEnumerator::MoveNext([Out] BOOL* hasCurrentFile) + + + + Gets a reference to the current font file. + + a reference to the newly created object. + HRESULT IDWriteFontFileEnumerator::GetCurrentFontFile([Out] IDWriteFontFile** fontFile) + + + +

Handles loading font file resources of a particular type from a font file reference key into a font file stream object.

+
+ +

The font file loader interface is recommended to be implemented by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite factory inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed outside of the font file loader implementation as a separate step.

+
+ + dd371075 + IDWriteFontFileLoader + IDWriteFontFileLoader +
+ + + Creates a font file stream object that encapsulates an open file resource. + + + The resource is closed when the last reference to fontFileStream is released. + + A reference to a font file reference key that uniquely identifies the font file resource within the scope of the font loader being used. The buffer allocated for this key must at least be the size, in bytes, specified by fontFileReferenceKeySize. + a reference to the newly created object. + HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) + + + + Internal FontFileLoader Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) + + + +

Handles loading font file resources of a particular type from a font file reference key into a font file stream object.

+
+ +

The font file loader interface is recommended to be implemented by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite factory inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed outside of the font file loader implementation as a separate step.

+
+ + dd371075 + IDWriteFontFileLoader + IDWriteFontFileLoader +
+ + + Creates a font file stream object that encapsulates an open file resource. + + + The resource is closed when the last reference to fontFileStream is released. + + A reference to a font file reference key that uniquely identifies the font file resource within the scope of the font loader being used. The buffer allocated for this key must at least be the size, in bytes, specified by fontFileReferenceKeySize. + a reference to the newly created object. + HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a font file stream object that encapsulates an open file resource.

+
+

A reference to a font file reference key that uniquely identifies the font file resource within the scope of the font loader being used. The buffer allocated for this key must at least be the size, in bytes, specified by fontFileReferenceKeySize.

+

The size of font file reference key, in bytes.

+

When this method returns, contains the address of a reference to the newly created object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The resource is closed when the last reference to fontFileStream is released.

+
+ + dd371077 + HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) + IDWriteFontFileLoader::CreateStreamFromKey +
+ + +

Loads font file data from a custom font file loader.

+
+ + dd371081 + IDWriteFontFileStream + IDWriteFontFileStream +
+ + + Reads a fragment from a font file. + + + Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment. {{DirectWrite}} may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section. + + When this method returns, contains an address of a reference to the start of the font file fragment. This parameter is passed uninitialized. + The offset of the fragment, in bytes, from the beginning of the font file. + The size of the file fragment, in bytes. + When this method returns, contains the address of + a reference to a reference to the client-defined context to be passed to {{ReleaseFileFragment}}. + HRESULT IDWriteFontFileStream::ReadFileFragment([Out, Buffer] const void** fragmentStart,[None] __int64 fileOffset,[None] __int64 fragmentSize,[Out] void** fragmentContext) + + + + Releases a fragment from a file. + + A reference to the client-defined context of a font fragment returned from {{ReadFileFragment}}. + void IDWriteFontFileStream::ReleaseFileFragment([None] void* fragmentContext) + + + + Obtains the total size of a file. + + + Implementing GetFileSize() for asynchronously loaded font files may require downloading the complete file contents. Therefore, this method should be used only for operations that either require a complete font file to be loaded (for example, copying a font file) or that need to make decisions based on the value of the file size (for example, validation against a persisted file size). + + the total size of the file. + HRESULT IDWriteFontFileStream::GetFileSize([Out] __int64* fileSize) + + + + Obtains the last modified time of the file. + + + The "last modified time" is used by DirectWrite font selection algorithms to determine whether one font resource is more up to date than another one. + + the last modified time of the file in the format that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC). + HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] __int64* lastWriteTime) + + + + Internal FontFileStream Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteFontFileStream::ReadFileFragment([Out, Buffer] const void** fragmentStart,[None] __int64 fileOffset,[None] __int64 fragmentSize,[Out] void** fragmentContext) + + + void IDWriteFontFileStream::ReleaseFileFragment([None] void* fragmentContext) + + + HRESULT IDWriteFontFileStream::GetFileSize([Out] __int64* fileSize) + + + HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] __int64* lastWriteTime) + + + +

Loads font file data from a custom font file loader.

+
+ + dd371081 + IDWriteFontFileStream + IDWriteFontFileStream +
+ + + Reads a fragment from a font file. + + + Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment. {{DirectWrite}} may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section. + + When this method returns, contains an address of a reference to the start of the font file fragment. This parameter is passed uninitialized. + The offset of the fragment, in bytes, from the beginning of the font file. + The size of the file fragment, in bytes. + When this method returns, contains the address of + a reference to a reference to the client-defined context to be passed to {{ReleaseFileFragment}}. + HRESULT IDWriteFontFileStream::ReadFileFragment([Out, Buffer] const void** fragmentStart,[None] __int64 fileOffset,[None] __int64 fragmentSize,[Out] void** fragmentContext) + + + + Releases a fragment from a file. + + A reference to the client-defined context of a font fragment returned from {{ReadFileFragment}}. + void IDWriteFontFileStream::ReleaseFileFragment([None] void* fragmentContext) + + + + Obtains the total size of a file. + + + Implementing GetFileSize() for asynchronously loaded font files may require downloading the complete file contents. Therefore, this method should be used only for operations that either require a complete font file to be loaded (for example, copying a font file) or that need to make decisions based on the value of the file size (for example, validation against a persisted file size). + + the total size of the file. + HRESULT IDWriteFontFileStream::GetFileSize([Out] __int64* fileSize) + + + + Obtains the last modified time of the file. + + + The "last modified time" is used by DirectWrite font selection algorithms to determine whether one font resource is more up to date than another one. + + the last modified time of the file in the format that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC). + HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] __int64* lastWriteTime) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Reads a fragment from a font file.

+
+

When this method returns, contains an address of a reference to the start of the font file fragment. This parameter is passed uninitialized.

+

The offset of the fragment, in bytes, from the beginning of the font file.

+

The size of the file fragment, in bytes.

+

When this method returns, contains the address of a reference to a reference to the client-defined context to be passed to ReleaseFileFragment.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment.

DirectWrite may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section.

+
+ + dd371091 + HRESULT IDWriteFontFileStream::ReadFileFragment([Out] const void** fragmentStart,[In] unsigned longlong fileOffset,[In] unsigned longlong fragmentSize,[Out] void** fragmentContext) + IDWriteFontFileStream::ReadFileFragment +
+ + +

Releases a fragment from a file.

+
+

A reference to the client-defined context of a font fragment returned from ReadFileFragment.

+ + dd371095 + void IDWriteFontFileStream::ReleaseFileFragment([In] void* fragmentContext) + IDWriteFontFileStream::ReleaseFileFragment +
+ + +

Obtains the total size of a file.

+
+

When this method returns, contains the total size of the file.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Implementing GetFileSize() for asynchronously loaded font files may require downloading the complete file contents. Therefore, this method should be used only for operations that either require a complete font file to be loaded (for example, copying a font file) or that need to make decisions based on the value of the file size (for example, validation against a persisted file size).

+
+ + dd371084 + HRESULT IDWriteFontFileStream::GetFileSize([Out] unsigned longlong* fileSize) + IDWriteFontFileStream::GetFileSize +
+ + +

Obtains the last modified time of the file.

+
+

When this method returns, contains the last modified time of the file in the format that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC).

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The "last modified time" is used by DirectWrite font selection algorithms to determine whether one font resource is more up to date than another one.

+
+ + dd371089 + HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] unsigned longlong* lastWriteTime) + IDWriteFontFileStream::GetLastWriteTime +
+ + +

Provides interoperability with GDI, such as methods to convert a font face to a structure, or to convert a GDI font description into a font face. It is also used to create bitmap render target objects.

+
+ + dd371172 + IDWriteGdiInterop + IDWriteGdiInterop +
+ + + Creates a font object that matches the properties specified by the LOGFONT structure. + + A structure containing a GDI-compatible font description. + a reference to a newly created . + HRESULT IDWriteGdiInterop::CreateFontFromLOGFONT([In] const LOGFONTW* logFont,[Out] IDWriteFont** font) + + + + Initializes a LOGFONT structure based on the GDI-compatible properties of the specified font. + + + The conversion to a LOGFONT by using ConvertFontToLOGFONT operates at the logical font level and does not guarantee that it will map to a specific physical font. It is not guaranteed that GDI will select the same physical font for displaying text formatted by a LOGFONT as the object that was converted. + + An object to be converted into a GDI-compatible LOGFONT structure. + When this method returns, contains a structure that receives a GDI-compatible font description. + TRUE if the specified font object is part of the system font collection; otherwise, FALSE. + HRESULT IDWriteGdiInterop::ConvertFontToLOGFONT([None] IDWriteFont* font,[In] LOGFONTW* logFont,[Out] BOOL* isSystemFont) + + + + Creates a font object that matches the properties specified by the LOGFONT structure. + + A description. + a reference to a newly created . + HRESULT IDWriteGdiInterop::CreateFontFromLOGFONT([In] const LOGFONTW* logFont,[Out] IDWriteFont** font) + + + + Convert a Direct2D to a . + + a Direct2D Font + a + true if the specified font object is part of the system font collection; otherwise, false. + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a font object that matches the properties specified by the structure.

+
+

A structure containing a GDI-compatible font description.

+

When this method returns, contains an address of a reference to a newly created object if successful; otherwise, null.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371187 + HRESULT IDWriteGdiInterop::CreateFontFromLOGFONT([In] const void* logFont,[Out] IDWriteFont** font) + IDWriteGdiInterop::CreateFontFromLOGFONT +
+ + +

Initializes a structure based on the GDI-compatible properties of the specified font.

+
+

An object to be converted into a GDI-compatible structure.

+

When this method returns, contains a structure that receives a GDI-compatible font description.

+

When this method returns, contains TRUE if the specified font object is part of the system font collection; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The conversion to a by using ConvertFontToLOGFONT operates at the logical font level and does not guarantee that it will map to a specific physical font. It is not guaranteed that GDI will select the same physical font for displaying text formatted by a as the object that was converted.

+
+ + dd371177 + HRESULT IDWriteGdiInterop::ConvertFontToLOGFONT([In] IDWriteFont* font,[In] void* logFont,[Out] BOOL* isSystemFont) + IDWriteGdiInterop::ConvertFontToLOGFONT +
+ + +

Initializes a structure based on the GDI-compatible properties of the specified font.

+
+

An object to be converted into a GDI-compatible structure.

+

When this method returns, contains a reference to a structure that receives a GDI-compatible font description.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The conversion to a by using ConvertFontFaceToLOGFONT operates at the logical font level and does not guarantee that it will map to a specific physical font. It is not guaranteed that GDI will select the same physical font for displaying text formatted by a as the object that was converted.

+
+ + dd371175 + HRESULT IDWriteGdiInterop::ConvertFontFaceToLOGFONT([In] IDWriteFontFace* font,[In] void* logFont) + IDWriteGdiInterop::ConvertFontFaceToLOGFONT +
+ + +

Creates an object that corresponds to the currently selected HFONT of the specified .

+
+

A handle to a device context into which a font has been selected. It is assumed that the client has already performed font mapping and that the font selected into the device context is the actual font to be used for rendering glyphs.

+

Contains an address of a reference to the newly created font face object, or null in case of failure. The font face returned is guaranteed to reference the same physical typeface that would be used for drawing glyphs (but not necessarily characters) using ExtTextOut.

+ +

This function is intended for scenarios in which an application wants to use GDI and Uniscribe 1.x for text layout and shaping, but DirectWrite for final rendering. This function assumes the client is performing text output using glyph indexes.

+
+ + dd371185 + HRESULT IDWriteGdiInterop::CreateFontFaceFromHdc([In] HDC hdc,[Out] IDWriteFontFace** fontFace) + IDWriteGdiInterop::CreateFontFaceFromHdc +
+ + +

Creates an object that encapsulates a bitmap and memory DC (device context) which can be used for rendering glyphs.

+
+

A handle to the optional device context used to create a compatible memory DC (device context).

+

The width of the bitmap render target.

+

The height of the bitmap render target.

+

When this method returns, contains an address of a reference to the newly created object.

+ + dd371182 + HRESULT IDWriteGdiInterop::CreateBitmapRenderTarget([In, Optional] HDC hdc,[In] unsigned int width,[In] unsigned int height,[Out] IDWriteBitmapRenderTarget** renderTarget) + IDWriteGdiInterop::CreateBitmapRenderTarget +
+ + +

Contains the information needed by renderers to draw glyph runs. All coordinates are in device independent pixels (DIPs).

+
+ + dd368089 + DWRITE_GLYPH_RUN + DWRITE_GLYPH_RUN +
+ + +

The physical font face object to draw with.

+
+ + dd368089 + IDWriteFontFace* fontFace + IDWriteFontFace fontFace +
+ + +

The logical size of the font in DIPs (equals 1/96 inch), not points.

+
+ + dd368089 + float fontEmSize + float fontEmSize +
+ + +

The number of glyphs in the glyph run.

+
+ + dd368089 + unsigned int glyphCount + unsigned int glyphCount +
+ + +

A reference to an array of indices to render for the glyph run.

+
+ + dd368089 + const unsigned short* glyphIndices + unsigned short glyphIndices +
+ + +

A reference to an array containing glyph advance widths for the glyph run.

+
+ + dd368089 + const float* glyphAdvances + float glyphAdvances +
+ + +

A reference to an array containing glyph offsets for the glyph run.

+
+ + dd368089 + const DWRITE_GLYPH_OFFSET* glyphOffsets + DWRITE_GLYPH_OFFSET glyphOffsets +
+ + +

If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used. Vertical writing is achieved by specifying isSideways = true and rotating the entire run 90 degrees to the right via a rotate transform.

+
+ + dd368089 + BOOL isSideways + BOOL isSideways +
+ + +

The implicit resolved bidi level of the run. Odd levels indicate right-to-left languages like Hebrew and Arabic, while even levels indicate left-to-right languages like English and Japanese (when written horizontally). For right-to-left languages, the text origin is on the right, and text should be drawn to the left.

+
+ + dd368089 + unsigned int bidiLevel + unsigned int bidiLevel +
+ + + Gets or sets the associated with this GlypRun. + + The font face. + + + + An array of glyph indices. This array contains elements. + + + + + An optional array of glyph advances. This array could be null or contains elements. + + + + + An optional array of glyph offsets. This array could be null or contains elements. + + + + +

Contains low-level information used to render a glyph run.

+
+ +

The alpha texture can be a bi-level alpha texture or a ClearType alpha texture.

A bi-level alpha texture contains one byte per pixel, therefore the size of the buffer for a bi-level texture will be the area of the texture bounds, in bytes. Each byte in a bi-level alpha texture created by CreateAlphaTexture is either set to DWRITE_ALPHA_MAX (that is, 255) or zero.

A ClearType alpha texture contains three bytes per pixel, therefore the size of the buffer for a ClearType alpha texture is three times the area of the texture bounds, in bytes.

+
+ + dd371188 + IDWriteGlyphRunAnalysis + IDWriteGlyphRunAnalysis +
+ + + Creates a glyph run analysis object, which encapsulates information used to render a glyph run. + + The factory. + A structure that contains the properties of the glyph run (font face, advances, and so on). + Number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI bitmap then pixelsPerDip is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 1.25. + A value that specifies the rendering mode, which must be one of the raster rendering modes (that is, not default and not outline). + Specifies the measuring mode to use with glyphs. + The horizontal position (X-coordinate) of the baseline origin, in DIPs. + Vertical position (Y-coordinate) of the baseline origin, in DIPs. + + The glyph run analysis object contains the results of analyzing the glyph run, including the positions of all the glyphs and references to all of the rasterized glyphs in the font cache. + + HRESULT IDWriteFactory::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] DWRITE_RENDERING_MODE renderingMode,[None] DWRITE_MEASURING_MODE measuringMode,[None] float baselineOriginX,[None] float baselineOriginY,[Out] IDWriteGlyphRunAnalysis** glyphRunAnalysis) + + + + Creates a glyph run analysis object, which encapsulates information used to render a glyph run. + + The factory. + A structure that contains the properties of the glyph run (font face, advances, and so on). + Number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI bitmap then pixelsPerDip is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 1.25. + Optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified the emSize and pixelsPerDip. + A value that specifies the rendering mode, which must be one of the raster rendering modes (that is, not default and not outline). + Specifies the measuring mode to use with glyphs. + The horizontal position (X-coordinate) of the baseline origin, in DIPs. + Vertical position (Y-coordinate) of the baseline origin, in DIPs. + + The glyph run analysis object contains the results of analyzing the glyph run, including the positions of all the glyphs and references to all of the rasterized glyphs in the font cache. + + HRESULT IDWriteFactory::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] DWRITE_RENDERING_MODE renderingMode,[None] DWRITE_MEASURING_MODE measuringMode,[None] float baselineOriginX,[None] float baselineOriginY,[Out] IDWriteGlyphRunAnalysis** glyphRunAnalysis) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the bounding rectangle of the physical pixels affected by the glyph run.

+
+

Specifies the type of texture requested. If a bi-level texture is requested, the bounding rectangle includes only bi-level glyphs. Otherwise, the bounding rectangle includes only antialiased glyphs.

+

When this method returns, contains the bounding rectangle of the physical pixels affected by the glyph run, or an empty rectangle if there are no glyphs of the specified texture type.

+ + dd371215 + HRESULT IDWriteGlyphRunAnalysis::GetAlphaTextureBounds([In] DWRITE_TEXTURE_TYPE textureType,[Out] RECT* textureBounds) + IDWriteGlyphRunAnalysis::GetAlphaTextureBounds +
+ + +

Creates an alpha texture of the specified type for glyphs within a specified bounding rectangle.

+
+

A value that specifies the type of texture requested. This can be DWRITE_TEXTURE_BILEVEL_1x1 or . If a bi-level texture is requested, the texture contains only bi-level glyphs. Otherwise, the texture contains only antialiased glyphs.

+

The bounding rectangle of the texture, which can be different than the bounding rectangle returned by GetAlphaTextureBounds.

+

When this method returns, contains the array of alpha values from the texture. The buffer allocated for this array must be at least the size of bufferSize.

+

The size of the alphaValues array, in bytes. The minimum size depends on the dimensions of the rectangle and the type of texture requested.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371189 + HRESULT IDWriteGlyphRunAnalysis::CreateAlphaTexture([In] DWRITE_TEXTURE_TYPE textureType,[In] const RECT* textureBounds,[Out, Buffer] unsigned char* alphaValues,[In] unsigned int bufferSize) + IDWriteGlyphRunAnalysis::CreateAlphaTexture +
+ + +

Gets alpha blending properties required for ClearType blending.

+
+

An object that specifies the ClearType level and enhanced contrast, gamma, pixel geometry, and rendering mode. In most cases, the values returned by the output parameters of this method are based on the properties of this object, unless a GDI-compatible rendering mode was specified.

+

When this method returns, contains the gamma value to use for gamma correction.

+

When this method returns, contains the enhanced contrast value to be used for blending.

+

When this method returns, contains the ClearType level used in the alpha blending.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371190 + HRESULT IDWriteGlyphRunAnalysis::GetAlphaBlendParams([In] IDWriteRenderingParams* renderingParams,[Out] float* blendGamma,[Out] float* blendEnhancedContrast,[Out] float* blendClearTypeLevel) + IDWriteGlyphRunAnalysis::GetAlphaBlendParams +
+ + +

Contains additional properties related to those in .

+
+ + dd368091 + DWRITE_GLYPH_RUN_DESCRIPTION + DWRITE_GLYPH_RUN_DESCRIPTION +
+ + +

An array of characters containing the locale name associated with this run.

+
+ + dd368091 + const wchar_t* localeName + wchar_t localeName +
+ + +

An array of characters containing the text associated with the glyphs.

+
+ + dd368091 + const wchar_t* string + wchar_t string +
+ + +

The number of characters in UTF16 code-units. Note that this may be different than the number of glyphs.

+
+ + dd368091 + unsigned int stringLength + unsigned int stringLength +
+ + +

An array of indices to the glyph indices array, of the first glyphs of all the glyph clusters of the glyphs to render.

+
+ + dd368091 + const unsigned short* clusterMap + unsigned short clusterMap +
+ + +

Corresponding text position in the string this glyph run came from. This is relative to the beginning of the string represented by the object.

+
+ + dd368091 + unsigned int textPosition + unsigned int textPosition +
+ + + A Item. + + + + + A glyph index + + + + + A glyph advance + + + + + A glyph offset + + + + + Internal InlineObject Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteInlineObject::Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] float originX,[None] float originY,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) + + + HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + + + HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) + + + +

Line breakpoint characteristics of a character.

+
+ + dd368098 + DWRITE_LINE_BREAKPOINT + DWRITE_LINE_BREAKPOINT +
+ + + Indicates a breaking condition before the character. + + byte breakConditionBefore + + + + Indicates a breaking condition after the character. + + byte breakConditionAfter + + + +

Indicates a breaking condition before the character.

+
+ + dd368098 + unsigned char breakConditionBefore + unsigned char breakConditionBefore +
+ + +

Indicates a breaking condition after the character.

+
+ + dd368098 + unsigned char breakConditionAfter + unsigned char breakConditionAfter +
+ + +

Indicates that the character is some form of whitespace, which may be meaningful for justification.

+
+ + dd368098 + unsigned char isWhitespace + unsigned char isWhitespace +
+ + +

Indicates that the character is a soft hyphen, often used to indicate hyphenation points inside words.

+
+ + dd368098 + unsigned char isSoftHyphen + unsigned char isSoftHyphen +
+ + +

Reserved for future use.

+
+ + dd368098 + unsigned char padding + unsigned char padding +
+ + +

Represents a collection of strings indexed by locale name.

+
+ +

The set of strings represented by an are indexed by a zero based UINT32 number that maps to a locale. The numeric index for a specific locale is retreived by using the FindLocaleName method.

A common use for the interface is to hold a list of localized font family names created by using the method. The following example shows how to get the family name for the "en-us" locale.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
+            } UINT32 index = 0;	
+             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
+            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
+            } // If the specified locale doesn't exist, select the first on the list.	
+            if (!exists) index = 0; UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371250 + IDWriteLocalizedStrings + IDWriteLocalizedStrings +
+ + + Get the locale name from the language. + + Zero-based index of the locale name to be retrieved. + The locale name from the language + HRESULT IDWriteLocalizedStrings::GetLocaleName([None] int index,[Out, Buffer] wchar_t* localeName,[None] int size) + + + + Get the string from the language/string pair. + + Zero-based index of the string from the language/string pair to be retrieved. + The locale name from the language + HRESULT IDWriteLocalizedStrings::GetLocaleName([None] int index,[Out, Buffer] wchar_t* localeName,[None] int size) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the number of language/string pairs.

+
+

The number of language/string pairs.

+ + dd371256 + unsigned int IDWriteLocalizedStrings::GetCount() + IDWriteLocalizedStrings::GetCount +
+ + +

Gets the zero-based index of the locale name/string pair with the specified locale name.

+
+

A null-terminated array of characters containing the locale name to look for.

+

The zero-based index of the locale name/string pair. This method initializes index to UINT_MAX.

+

When this method returns, contains TRUE if the locale name exists; otherwise, . This method initializes exists to .

+ +

Note that if the locale name does not exist, the return value is a success and the exists parameter is . If you are getting the font family name for a font and the specified locale name does not exist, one option is to set the index to 0 as shown below. There is always at least one locale for a font family.

UINT32 index = 0;	
+             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
+            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
+            } // If the specified locale doesn't exist, select the first on the list.	
+            if (!exists) index = 0;	
+            
+
+ + dd371254 + HRESULT IDWriteLocalizedStrings::FindLocaleName([In, Buffer] const wchar_t* localeName,[Out] unsigned int* index,[Out] BOOL* exists) + IDWriteLocalizedStrings::FindLocaleName +
+ + +

Gets the length in characters (not including the null terminator) of the locale name with the specified index.

+
+

Zero-based index of the locale name to be retrieved.

+

When this method returns, contains the length in characters of the locale name, not including the null terminator.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371262 + HRESULT IDWriteLocalizedStrings::GetLocaleNameLength([In] unsigned int index,[Out] unsigned int* length) + IDWriteLocalizedStrings::GetLocaleNameLength +
+ + +

Copies the locale name with the specified index to the specified array.

+
+

Zero-based index of the locale name to be retrieved.

+

When this method returns, contains a character array, which is null-terminated, that receives the locale name from the language/string pair. The buffer allocated for this array must be at least the size of size, in element count.

+

The size of the array in characters. The size must include space for the terminating null character.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371259 + HRESULT IDWriteLocalizedStrings::GetLocaleName([In] unsigned int index,[Out, Buffer] wchar_t* localeName,[In] unsigned int size) + IDWriteLocalizedStrings::GetLocaleName +
+ + +

Gets the length in characters (not including the null terminator) of the string with the specified index.

+
+

A zero-based index of the language/string pair.

+

The length in characters of the string, not including the null terminator, from the language/string pair.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Use GetStringLength to get the string length before calling the method, as shown in the following code.

UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371269 + HRESULT IDWriteLocalizedStrings::GetStringLength([In] unsigned int index,[Out] unsigned int* length) + IDWriteLocalizedStrings::GetStringLength +
+ + +

Copies the string with the specified index to the specified array.

+
+

The zero-based index of the language/string pair to be examined.

+

The null terminated array of characters that receives the string from the language/string pair. The buffer allocated for this array should be at least the size of size. GetStringLength can be used to get the size of the array before using this method.

+

The size of the array in characters. The size must include space for the terminating null character. GetStringLength can be used to get the size of the array before using this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The string returned must be allocated by the caller. You can get the size of the string by using the GetStringLength method prior to calling GetString, as shown in the following example.

UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371267 + HRESULT IDWriteLocalizedStrings::GetString([In] unsigned int index,[Out, Buffer] wchar_t* stringBuffer,[In] unsigned int size) + IDWriteLocalizedStrings::GetString +
+ + +

Gets the number of language/string pairs.

+
+ + dd371256 + GetCount + GetCount + unsigned int IDWriteLocalizedStrings::GetCount() +
+ + +

Holds the appropriate digits and numeric punctuation for a specified locale.

+
+ + dd371271 + IDWriteNumberSubstitution + IDWriteNumberSubstitution +
+ + + 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). + + A reference to a DirectWrite factory + A value that specifies how to apply number substitution on digits and related punctuation. + The name of the locale to be used in the numberSubstitution object. + A Boolean flag that indicates whether to ignore user overrides. + HRESULT IDWriteFactory::CreateNumberSubstitution([In] DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod,[In] const wchar_t* localeName,[In] BOOL ignoreUserOverride,[Out] IDWriteNumberSubstitution** numberSubstitution) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Defines the pixel snapping properties such as pixels per DIP(device-independent pixel) and the current transform matrix of a text renderer.

+
+ + dd371274 + IDWritePixelSnapping + IDWritePixelSnapping +
+ + + Determines whether pixel snapping is disabled. The recommended default is FALSE, + unless doing animation that requires subpixel vertical placement. + + The context passed to IDWriteTextLayout::Draw. + Receives TRUE if pixel snapping is disabled or FALSE if it not. + HRESULT IsPixelSnappingDisabled([None] void* clientDrawingContext,[Out] BOOL* isDisabled) + + + + Gets a transform that maps abstract coordinates to DIPs. + + The drawing context passed to . + a structure which has transform information for pixel snapping. + HRESULT GetCurrentTransform([None] void* clientDrawingContext,[Out] DWRITE_MATRIX* transform) + + + + Gets the number of physical pixels per DIP. + + + Because a DIP (device-independent pixel) is 1/96 inch, the pixelsPerDip value is the number of logical pixels per inch divided by 96. + + The drawing context passed to . + the number of physical pixels per DIP + HRESULT GetPixelsPerDip([None] void* clientDrawingContext,[Out] FLOAT* pixelsPerDip) + + + + Internal TessellationSink Callback + + + + + Determines whether pixel snapping is disabled. The recommended default is FALSE, + unless doing animation that requires subpixel vertical placement. + + This pointer + The context passed to IDWriteTextLayout::Draw. + Output disabled + Receives TRUE if pixel snapping is disabled or FALSE if it not. + HRESULT IsPixelSnappingDisabled([None] void* clientDrawingContext,[Out] BOOL* isDisabled) + + + + Gets a transform that maps abstract coordinates to DIPs. + + This pointer + The drawing context passed to . + Matrix transform + a structure which has transform information for pixel snapping. + HRESULT GetCurrentTransform([None] void* clientDrawingContext,[Out] DWRITE_MATRIX* transform) + + + + Gets the number of physical pixels per DIP. + + + Because a DIP (device-independent pixel) is 1/96 inch, the pixelsPerDip value is the number of logical pixels per inch divided by 96. + + This pointer + The drawing context passed to . + Dip + the number of physical pixels per DIP + HRESULT GetPixelsPerDip([None] void* clientDrawingContext,[Out] FLOAT* pixelsPerDip) + + + +

Represents text rendering settings such as ClearType level, enhanced contrast, and gamma correction for glyph rasterization and filtering.

An application typically obtains a rendering parameters object by calling the method.

+
+ + dd371285 + IDWriteRenderingParams + IDWriteRenderingParams +
+ + + 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. + + A reference to a DirectWrite factory + HRESULT IDWriteFactory::CreateRenderingParams([Out] IDWriteRenderingParams** renderingParams) + + + + 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. + + A reference to a DirectWrite factory + A handle for the specified monitor. + HRESULT IDWriteFactory::CreateMonitorRenderingParams([None] void* monitor,[Out] IDWriteRenderingParams** renderingParams) + + + + Creates a rendering parameters object with the specified properties. + + A reference to a DirectWrite factory + The gamma level to be set for the new rendering parameters object. + The enhanced contrast level to be set for the new rendering parameters object. + The ClearType level to be set for the new rendering parameters object. + 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. + A value that represents the method (for example, ClearType natural quality) for rendering glyphs. + HRESULT IDWriteFactory::CreateCustomRenderingParams([None] float gamma,[None] float enhancedContrast,[None] float clearTypeLevel,[None] DWRITE_PIXEL_GEOMETRY pixelGeometry,[None] DWRITE_RENDERING_MODE renderingMode,[Out] IDWriteRenderingParams** renderingParams) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.

+
+

Returns the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.

+ +

The gamma value is used for gamma correction, which compensates for the non-linear luminosity response of most monitors.

+
+ + dd371295 + float IDWriteRenderingParams::GetGamma() + IDWriteRenderingParams::GetGamma +
+ + +

Gets the enhanced contrast property of the rendering parameters object. Valid values are greater than or equal to zero.

+
+

Returns the amount of contrast enhancement. Valid values are greater than or equal to zero.

+ +

Enhanced contrast is the amount to increase the darkness of text, and typically ranges from 0 to 1. Zero means no contrast enhancement.

+
+ + dd371290 + float IDWriteRenderingParams::GetEnhancedContrast() + IDWriteRenderingParams::GetEnhancedContrast +
+ + +

Gets the ClearType level of the rendering parameters object.

+
+

The ClearType level of the rendering parameters object.

+ +

The ClearType level represents the amount of ClearType ? that is, the degree to which the red, green, and blue subpixels of each pixel are treated differently. Valid values range from zero (meaning no ClearType, which is equivalent to grayscale anti-aliasing) to one (meaning full ClearType)

+
+ + dd371288 + float IDWriteRenderingParams::GetClearTypeLevel() + IDWriteRenderingParams::GetClearTypeLevel +
+ + +

Gets the pixel geometry of the rendering parameters object.

+
+

A value that indicates the type of pixel geometry used in the rendering parameters object.

+ + dd371297 + DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams::GetPixelGeometry() + IDWriteRenderingParams::GetPixelGeometry +
+ + +

Gets the rendering mode of the rendering parameters object.

+
+

A value that indicates the rendering mode of the rendering parameters object.

+ +

By default, the rendering mode is initialized to , which means the rendering mode is determined automatically based on the font and size. To determine the recommended rendering mode to use for a given font and size and rendering parameters object, use the method.

+
+ + dd371300 + DWRITE_RENDERING_MODE IDWriteRenderingParams::GetRenderingMode() + IDWriteRenderingParams::GetRenderingMode +
+ + +

Gets the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.

+
+ +

The gamma value is used for gamma correction, which compensates for the non-linear luminosity response of most monitors.

+
+ + dd371295 + GetGamma + GetGamma + float IDWriteRenderingParams::GetGamma() +
+ + +

Gets the enhanced contrast property of the rendering parameters object. Valid values are greater than or equal to zero.

+
+ +

Enhanced contrast is the amount to increase the darkness of text, and typically ranges from 0 to 1. Zero means no contrast enhancement.

+
+ + dd371290 + GetEnhancedContrast + GetEnhancedContrast + float IDWriteRenderingParams::GetEnhancedContrast() +
+ + +

Gets the ClearType level of the rendering parameters object.

+
+ +

The ClearType level represents the amount of ClearType ? that is, the degree to which the red, green, and blue subpixels of each pixel are treated differently. Valid values range from zero (meaning no ClearType, which is equivalent to grayscale anti-aliasing) to one (meaning full ClearType)

+
+ + dd371288 + GetClearTypeLevel + GetClearTypeLevel + float IDWriteRenderingParams::GetClearTypeLevel() +
+ + +

Gets the pixel geometry of the rendering parameters object.

+
+ + dd371297 + GetPixelGeometry + GetPixelGeometry + DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams::GetPixelGeometry() +
+ + +

Gets the rendering mode of the rendering parameters object.

+
+ +

By default, the rendering mode is initialized to , which means the rendering mode is determined automatically based on the font and size. To determine the recommended rendering mode to use for a given font and size and rendering parameters object, use the method.

+
+ + dd371300 + GetRenderingMode + GetRenderingMode + DWRITE_RENDERING_MODE IDWriteRenderingParams::GetRenderingMode() +
+ + + Defines glyph characteristic information that an application needs to implement justification. + + + + + Justification cannot be applied at the glyph. + + + + + The glyph represents a blank in an Arabic run. + + + + + An inter-character justification point follows the glyph. + + + + + The glyph represents a blank outside an Arabic run. + + + + + Normal middle-of-word glyph that connects to the right (begin). + + + + + Kashida (U+0640) in the middle of the word. + + + + + Final form of an alef-like (U+0627, U+0625, U+0623, U+0622). + + + + + Final form of Ha (U+0647). + + + + + Final form of Ra (U+0631). + + + + + Final form of Ba (U+0628). + + + + + Ligature of alike (U+0628,U+0631). + + + + + Highest priority: initial shape of Seen class (U+0633). + + + + + Highest priority: medial shape of Seen class (U+0633). + + + + +

Contains shaping output properties for an output glyph.

+
+ + dd368123 + DWRITE_SHAPING_GLYPH_PROPERTIES + DWRITE_SHAPING_GLYPH_PROPERTIES +
+ + + Indicates that the glyph has justification applied. + + short justification + + + +

Indicates that the glyph has justification applied.

+
+ + dd368123 + unsigned short justification + unsigned short justification +
+ + +

Indicates that the glyph is the start of a cluster.

+
+ + dd368123 + unsigned short isClusterStart + unsigned short isClusterStart +
+ + +

Indicates that the glyph is a diacritic mark.

+
+ + dd368123 + unsigned short isDiacritic + unsigned short isDiacritic +
+ + +

Indicates that the glyph is a word boundary with no visible space.

+
+ + dd368123 + unsigned short isZeroWidthSpace + unsigned short isZeroWidthSpace +
+ + +

Reserved for future use.

+
+ + dd368123 + unsigned short reserved + unsigned short reserved +
+ + +

This interface is implemented by the text analyzer's client to receive the output of a given text analysis.

+
+ +

The text analyzer disregards any current state of the analysis sink, therefore, a Set method call on a range overwrites the previously set analysis result of the same range.

+
+ + dd371303 + IDWriteTextAnalysisSink + IDWriteTextAnalysisSink +
+ + + Reports script analysis for the specified text range. + + The starting position from which to report. + The number of UTF16 units of the reported range. + A reference to a structure that contains a zero-based index representation of a writing system script and a value indicating whether additional shaping of text is required. + A successful code or error code to stop analysis. + HRESULT IDWriteTextAnalysisSink::SetScriptAnalysis([None] int textPosition,[None] int textLength,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis) + + + + Sets line-break opportunities for each character, starting from the specified position. + + The starting text position from which to report. + The number of UTF16 units of the reported range. + A reference to a structure that contains breaking conditions set for each character from the starting position to the end of the specified range. + A successful code or error code to stop analysis. + HRESULT IDWriteTextAnalysisSink::SetLineBreakpoints([None] int textPosition,[None] int textLength,[In, Buffer] const DWRITE_LINE_BREAKPOINT* lineBreakpoints) + + + + Sets a bidirectional level on the range, which is called once per run change (either explicit or resolved implicit). + + The starting position from which to report. + The number of UTF16 units of the reported range. + The explicit level from the paragraph reading direction and any embedded control codes RLE/RLO/LRE/LRO/PDF, which is determined before any additional rules. + The final implicit level considering the explicit level and characters' natural directionality, after all Bidi rules have been applied. + A successful code or error code to stop analysis. + HRESULT IDWriteTextAnalysisSink::SetBidiLevel([None] int textPosition,[None] int textLength,[None] int explicitLevel,[None] int resolvedLevel) + + + + Sets the number substitution on the text range affected by the text analysis. + + The starting position from which to report. + The number of UTF16 units of the reported range. + An object that holds the appropriate digits and numeric punctuation for a given locale. Use to create this object. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteTextAnalysisSink::SetNumberSubstitution([None] int textPosition,[None] int textLength,[None] IDWriteNumberSubstitution* numberSubstitution) + + + + Internal TextAnalysisSink Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteTextAnalysisSink::SetScriptAnalysis([None] int textPosition,[None] int textLength,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis) + + + HRESULT IDWriteTextAnalysisSink::SetLineBreakpoints([None] int textPosition,[None] int textLength,[In, Buffer] const DWRITE_LINE_BREAKPOINT* lineBreakpoints) + + + HRESULT IDWriteTextAnalysisSink::SetBidiLevel([None] int textPosition,[None] int textLength,[None] int explicitLevel,[None] int resolvedLevel) + + + HRESULT IDWriteTextAnalysisSink::SetNumberSubstitution([None] int textPosition,[None] int textLength,[None] IDWriteNumberSubstitution* numberSubstitution) + + + +

Implemented by the text analyzer's client to provide text to the analyzer. It allows the separation between the logical view of text as a continuous stream of characters identifiable by unique text positions, and the actual memory layout of potentially discrete blocks of text in the client's backing store.

+
+ +

If any of these callbacks returns an error, then the analysis functions will stop prematurely and return a callback error. Note that rather than return E_NOTIMPL, an application should stub the method and return a constant/null and .

+
+ + dd371318 + IDWriteTextAnalysisSource + IDWriteTextAnalysisSource +
+ + + Gets a block of text starting at the specified text position. + + + Returning NULL indicates the end of text, which is the position after the last character. This function is called iteratively for each consecutive block, tying together several fragmented blocks in the backing store into a virtual contiguous string. Although applications can implement sparse textual content that maps only part of the backing store, the application must map any text that is in the range passed to any analysis functions. + + The first position of the piece to obtain. All positions are in UTF16 code units, not whole characters, which matters when supplementary characters are used. + a block of text + HRESULT IDWriteTextAnalysisSource::GetTextAtPosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) + + + + Gets a block of text immediately preceding the specified position. + + + NULL indicates no chunk available at the specified position, either because textPosition equals 0, textPosition is greater than the entire text content length, or the queried position is not mapped into the application's backing store. Although applications can implement sparse textual content that maps only part of the backing store, the application must map any text that is in the range passed to any analysis functions. + + The position immediately after the last position of the block of text to obtain. + text immediately preceding the specified position + HRESULT IDWriteTextAnalysisSource::GetTextBeforePosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) + + + + Gets the locale name on the range affected by the text analysis. + + The text position to examine. + Contains the length of the text being affected by the text analysis up to the next differing locale. + + the locale name on the range affected by the text analysis + + HRESULT IDWriteTextAnalysisSource::GetLocaleName([None] int textPosition,[Out] int* textLength,[Out] const wchar_t** localeName) + + The localeName reference must remain valid until the next call or until the analysis returns. + + + + + Gets the number substitution from the text range affected by the text analysis. + + + Any implementation should return the number substitution with an incremented reference count, and the analysis will release when finished with it (either before the next call or before it returns). However, the sink callback may hold onto it after that. + + The starting position from which to report. + Contains the length of the text, in characters, remaining in the text range up to the next differing number substitution. + the number substitution from the text range affected by the text analysis. + HRESULT IDWriteTextAnalysisSource::GetNumberSubstitution([None] int textPosition,[Out] int* textLength,[Out] IDWriteNumberSubstitution** numberSubstitution) + + + + Gets the paragraph reading direction. + + The reading direction of the current paragraph. + DWRITE_READING_DIRECTION IDWriteTextAnalysisSource::GetParagraphReadingDirection() + + + + Internal TextAnalysisSource Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteTextAnalysisSource::GetTextAtPosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) + + + HRESULT IDWriteTextAnalysisSource::GetTextBeforePosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) + + + DWRITE_READING_DIRECTION IDWriteTextAnalysisSource::GetParagraphReadingDirection() + + + HRESULT IDWriteTextAnalysisSource::GetLocaleName([None] int textPosition,[Out] int* textLength,[Out] const wchar_t** localeName) + + + HRESULT IDWriteTextAnalysisSource::GetNumberSubstitution([None] int textPosition,[Out] int* textLength,[Out] IDWriteNumberSubstitution** numberSubstitution) + + + +

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.

+
+ + dd316607 + IDWriteTextAnalyzer + IDWriteTextAnalyzer +
+ + + Returns an interface for performing text analysis. + + A reference to a DirectWrite factory + HRESULT IDWriteFactory::CreateTextAnalyzer([Out] IDWriteTextAnalyzer** textAnalyzer) + + + + Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink callback {{SetScript}}. + + A reference to the source object to analyze. + The starting text position within the source object. + The text length to analyze. + A reference to the sink callback object that receives the text analysis. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + + HRESULT IDWriteTextAnalyzer::AnalyzeScript([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) + + + + Analyzes a text range for script directionality, reading attributes from the source and reporting levels to the sink callback {{SetBidiLevel}}. + + A reference to a source object to analyze. + The starting text position within the source object. + The text length to analyze. + A reference to the sink callback object that receives the text analysis. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + + HRESULT IDWriteTextAnalyzer::AnalyzeBidi([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) + + While the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs. Otherwise, the returned levels may be wrong, because the Bidi algorithm is meant to apply to the paragraph as a whole. + + + + + 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}}. + + The source object to analyze. + The starting position within the source object. + The length to analyze. + A reference to the sink callback object that receives the text analysis. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + + HRESULT IDWriteTextAnalyzer::AnalyzeNumberSubstitution([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) + + Although the function can handle multiple ranges of differing number substitutions, the text ranges should not arbitrarily split the middle of numbers. Otherwise, it will treat the numbers separately and will not translate any intervening punctuation. + + + + + Analyzes a text range for potential breakpoint opportunities, reading attributes from the source and reporting breakpoint opportunities to the sink callback {{SetLineBreakpoints}}. + + A reference to the source object to analyze. + The starting text position within the source object. + The text length to analyze. + A reference to the sink callback object that receives the text analysis. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + + HRESULT IDWriteTextAnalyzer::AnalyzeLineBreakpoints([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) + + Although the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs, unless the specified text span is considered a whole unit. Otherwise, the returned properties for the first and last characters will inappropriately allow breaks. + + + + + Gets the glyphs (TODO doc) + + The text string. + Length of the text. + The font face. + if set to true [is sideways]. + if set to true [is right to left]. + The script analysis. + Name of the locale. + The number substitution. + The features. + The feature range lengths. + The max glyph count. + The cluster map. + The text props. + The glyph indices. + The glyph props. + The actual glyph count. + + If the method succeeds, it returns . + + HRESULT IDWriteTextAnalyzer::GetGlyphs([In, Buffer] const wchar_t* textString,[In] unsigned int textLength,[In] IDWriteFontFace* fontFace,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] IDWriteNumberSubstitution* numberSubstitution,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[In] unsigned int maxGlyphCount,[Out, Buffer] unsigned short* clusterMap,[Out, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[Out, Buffer] unsigned short* glyphIndices,[Out, Buffer] DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[Out] unsigned int* actualGlyphCount) + + + + Gets the glyph placements. + + The text string. + The cluster map. + The text props. + Length of the text. + The glyph indices. + The glyph props. + The glyph count. + The font face. + Size of the font in ems. + if set to true [is sideways]. + if set to true [is right to left]. + The script analysis. + Name of the locale. + The features. + The feature range lengths. + The glyph advances. + The glyph offsets. + + If the method succeeds, it returns . + + HRESULT IDWriteTextAnalyzer::GetGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) + + + + Gets the GDI compatible glyph placements. + + The text string. + The cluster map. + The text props. + Length of the text. + The glyph indices. + The glyph props. + The glyph count. + The font face. + Size of the font em. + The pixels per dip. + The transform. + if set to true [use GDI natural]. + if set to true [is sideways]. + if set to true [is right to left]. + The script analysis. + Name of the locale. + The features. + The feature range lengths. + The glyph advances. + The glyph offsets. + + If the method succeeds, it returns . + + HRESULT IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) + + + + Allocates the features from the jagged array.. + + The features. + A pointer to the allocated native features or 0 if features is null or empty. + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink callback SetScript.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316620 + HRESULT IDWriteTextAnalyzer::AnalyzeScript([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) + IDWriteTextAnalyzer::AnalyzeScript +
+ + +

Analyzes a text range for script directionality, reading attributes from the source and reporting levels to the sink callback SetBidiLevel.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

While the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs. Otherwise, the returned levels may be wrong, because the Bidi algorithm is meant to apply to the paragraph as a whole.

+
+ + dd316610 + HRESULT IDWriteTextAnalyzer::AnalyzeBidi([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) + IDWriteTextAnalyzer::AnalyzeBidi +
+ + +

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.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Although the function can handle multiple ranges of differing number substitutions, the text ranges should not arbitrarily split the middle of numbers. Otherwise, it will treat the numbers separately and will not translate any intervening punctuation.

+
+ + dd316616 + HRESULT IDWriteTextAnalyzer::AnalyzeNumberSubstitution([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) + IDWriteTextAnalyzer::AnalyzeNumberSubstitution +
+ + +

Analyzes a text range for potential breakpoint opportunities, reading attributes from the source and reporting breakpoint opportunities to the sink callback SetLineBreakpoints.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Although the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs, unless the specified text span is considered a whole unit. Otherwise, the returned properties for the first and last characters will inappropriately allow breaks.

+
+ + dd316613 + HRESULT IDWriteTextAnalyzer::AnalyzeLineBreakpoints([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) + IDWriteTextAnalyzer::AnalyzeLineBreakpoints +
+ + +

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.

+
+

An array of characters to convert to glyphs.

+

The length of textString.

+

The font face that is the source of the output glyphs.

+

A Boolean flag set to TRUE if the text is intended to be drawn vertically.

+

A Boolean flag set to TRUE for right-to-left text.

+

A reference to a Script analysis result from an AnalyzeScript call.

+

The locale to use when selecting glyphs. For example the same character may map to different glyphs for ja-jp versus zh-chs. If this is null, then the default mapping based on the script is used.

+

A reference to an optional number substitution which selects the appropriate glyphs for digits and related numeric characters, depending on the results obtained from AnalyzeNumberSubstitution. Passing null indicates that no substitution is needed and that the digits should receive nominal glyphs.

+

An array of references to the sets of typographic features to use in each feature range.

+

The length of each feature range, in characters. The sum of all lengths should be equal to textLength.

+

The number of feature ranges.

+

The maximum number of glyphs that can be returned.

+

When this method returns, contains the mapping from character ranges to glyph ranges.

+

When this method returns, contains a reference to an array of structures that contains shaping properties for each character.

+

The output glyph indices.

+

When this method returns, contains a reference to an array of structures that contain shaping properties for each output glyph.

+

When this method returns, contains the actual number of glyphs returned if the call succeeds.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Note that the mapping from characters to glyphs is, in general, many-to-many. The recommended estimate for the per-glyph output buffers is (3 * textLength / 2 + 16). This is not guaranteed to be sufficient. The value of the actualGlyphCount parameter is only valid if the call succeeds. In the event that maxGlyphCount is not big enough, HRESULT_FROM_WIN32() will be returned. The application should allocate a larger buffer and try again.

+
+ + dd316625 + HRESULT IDWriteTextAnalyzer::GetGlyphs([In, Buffer] const wchar_t* textString,[In] unsigned int textLength,[In] IDWriteFontFace* fontFace,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] IDWriteNumberSubstitution* numberSubstitution,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[In] unsigned int maxGlyphCount,[Out, Buffer] unsigned short* clusterMap,[Out, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[Out, Buffer] unsigned short* glyphIndices,[Out, Buffer] DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[Out] unsigned int* actualGlyphCount) + IDWriteTextAnalyzer::GetGlyphs +
+ + +

Places glyphs output from the GetGlyphs method according to the font and the writing system's rendering rules.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316622 + HRESULT IDWriteTextAnalyzer::GetGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) + IDWriteTextAnalyzer::GetGlyphPlacements +
+ + +

Place glyphs output from the GetGlyphs method according to the font and the writing system's rendering rules.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd941790 + HRESULT IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) + IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements +
+ + +

The interface describes the font and paragraph properties used to format text, and it describes locale information.

+
+ +

To get a reference to the interface, the application must call the method as shown in the following code.

 if (SUCCEEDED(hr))	
+            { hr = pDWriteFactory_->CreateTextFormat( L"Gabriola", null, , , , 72.0f, L"en-us", &pTextFormat_ );	
+            } 

When creating an object using the CreateTextFormat function, the application specifies the font family, font collection, font weight, font size, and locale name for the text format.

These properties cannot be changed after the object is created. To change these properties, a new object must be created with the desired properties.

The interface is used to draw text with a single format

To draw text with multiple formats, or to use a custom text renderer, use the interface. enables the application to change the format for ranges of text within the string. The takes an object as a parameter and initially applies the format information to the entire string.

This object may not be thread-safe, and it may carry the state of text format change.

DirectWrite and Direct2D

To draw simple text with a single format, Direct2D provides the method, which draws a string using the format information provided by an object.

+
+ + dd316628 + IDWriteTextFormat + IDWriteTextFormat +
+ + + Creates a text format object used for text layout with normal weight, style and stretch. + + an instance of + An array of characters that contains the name of the font family + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + + Creates a text format object used for text layout with normal stretch. + + an instance of + An array of characters that contains the name of the font family + A value that indicates the font weight for the text object created by this method. + A value that indicates the font style for the text object created by this method. + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + + Creates a text format object used for text layout. + + an instance of + An array of characters that contains the name of the font family + A value that indicates the font weight for the text object created by this method. + A value that indicates the font style for the text object created by this method. + A value that indicates the font stretch for the text object created by this method. + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + + Creates a text format object used for text layout. + + an instance of + An array of characters that contains the name of the font family + A pointer to a font collection object. When this is NULL, indicates the system font collection. + A value that indicates the font weight for the text object created by this method. + A value that indicates the font style for the text object created by this method. + A value that indicates the font stretch for the text object created by this method. + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + + Creates a text format object used for text layout. + + an instance of + An array of characters that contains the name of the font family + A pointer to a font collection object. When this is NULL, indicates the system font collection. + A value that indicates the font weight for the text object created by this method. + A value that indicates the font style for the text object created by this method. + A value that indicates the font stretch for the text object created by this method. + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + An array of characters that contains the locale name. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + +

Sets trimming options for text overflowing the layout width.

+
+

Text trimming options.

+

Application-defined omission sign. This parameter may be null. See for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ dd316712 + HRESULT IDWriteTextFormat::SetTrimming([In] const DWRITE_TRIMMING* trimmingOptions,[In] IDWriteInlineObject* trimmingSign) + IDWriteTextFormat::SetTrimming +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the alignment of text in a paragraph, relative to the leading and trailing edge of a layout box for a interface.

+
+ No documentation. +

This method can return one of the following values.

Return codeDescription

The method succeeded.

E_INVALIDARG

The textAlignment argument is invalid.

?

+ +

The text can be aligned to the leading or trailing edge of the layout box, or it can be centered. The following illustration shows text with the alignment set to , , and , respectively.

Note??The alignment is dependent on reading direction, the above is for left-to-right reading direction. For right-to-left reading direction it would be the opposite.

See for more information.

+
+ + dd316709 + HRESULT IDWriteTextFormat::SetTextAlignment([In] DWRITE_TEXT_ALIGNMENT textAlignment) + IDWriteTextFormat::SetTextAlignment +
+ + +

Sets the alignment option of a paragraph relative to the layout box's top and bottom edge.

+
+

The paragraph alignment option being set for a paragraph; see for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316702 + HRESULT IDWriteTextFormat::SetParagraphAlignment([In] DWRITE_PARAGRAPH_ALIGNMENT paragraphAlignment) + IDWriteTextFormat::SetParagraphAlignment +
+ + +

Sets the word wrapping option.

+
+

The word wrapping option being set for a paragraph; see for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316715 + HRESULT IDWriteTextFormat::SetWordWrapping([In] DWRITE_WORD_WRAPPING wordWrapping) + IDWriteTextFormat::SetWordWrapping +
+ + +

Sets the paragraph reading direction.

+
+

The text reading direction (for example, for languages, such as Arabic, that read from right to left) for a paragraph.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316705 + HRESULT IDWriteTextFormat::SetReadingDirection([In] DWRITE_READING_DIRECTION readingDirection) + IDWriteTextFormat::SetReadingDirection +
+ + +

Sets the paragraph flow direction.

+
+

The paragraph flow direction; see for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316691 + HRESULT IDWriteTextFormat::SetFlowDirection([In] DWRITE_FLOW_DIRECTION flowDirection) + IDWriteTextFormat::SetFlowDirection +
+ + +

Sets a fixed distance between two adjacent tab stops.

+
+

The fixed distance between two adjacent tab stops.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316695 + HRESULT IDWriteTextFormat::SetIncrementalTabStop([In] float incrementalTabStop) + IDWriteTextFormat::SetIncrementalTabStop +
+ + +

Sets trimming options for text overflowing the layout width.

+
+

Text trimming options.

+

Application-defined omission sign. This parameter may be null. See for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316712 + HRESULT IDWriteTextFormat::SetTrimming([In] const DWRITE_TRIMMING* trimmingOptions,[In] IDWriteInlineObject* trimmingSign) + IDWriteTextFormat::SetTrimming +
+ + +

Sets the line spacing.

+
+

Specifies how line height is being determined; see for more information.

+

The line height, or distance between one baseline to another.

+

The distance from top of line to baseline. A reasonable ratio to lineSpacing is 80 percent.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

For the default method, spacing depends solely on the content. For uniform spacing, the specified line height overrides the content.

+
+ + dd316698 + HRESULT IDWriteTextFormat::SetLineSpacing([In] DWRITE_LINE_SPACING_METHOD lineSpacingMethod,[In] float lineSpacing,[In] float baseline) + IDWriteTextFormat::SetLineSpacing +
+ + +

Gets the alignment option of text relative to the layout box's leading and trailing edge.

+
+

Returns the text alignment option of the current paragraph.

+ + dd316681 + DWRITE_TEXT_ALIGNMENT IDWriteTextFormat::GetTextAlignment() + IDWriteTextFormat::GetTextAlignment +
+ + +

Gets the alignment option of a paragraph which is relative to the top and bottom edges of a layout box.

+
+

A value that indicates the current paragraph alignment option.

+ + dd316675 + DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat::GetParagraphAlignment() + IDWriteTextFormat::GetParagraphAlignment +
+ + +

Gets the word wrapping option.

+
+

Returns the word wrapping option; see for more information.

+ + dd316688 + DWRITE_WORD_WRAPPING IDWriteTextFormat::GetWordWrapping() + IDWriteTextFormat::GetWordWrapping +
+ + +

Gets the current reading direction for text in a paragraph.

+
+

A value that indicates the current reading direction for text in a paragraph.

+ + dd316678 + DWRITE_READING_DIRECTION IDWriteTextFormat::GetReadingDirection() + IDWriteTextFormat::GetReadingDirection +
+ + +

Gets the direction that text lines flow.

+
+

The direction that text lines flow within their parent container. For example, indicates that text lines are placed from top to bottom.

+ + dd316631 + DWRITE_FLOW_DIRECTION IDWriteTextFormat::GetFlowDirection() + IDWriteTextFormat::GetFlowDirection +
+ + +

Gets the incremental tab stop position.

+
+

The incremental tab stop value.

+ + dd316655 + float IDWriteTextFormat::GetIncrementalTabStop() + IDWriteTextFormat::GetIncrementalTabStop +
+ + +

Gets the trimming options for text that overflows the layout box.

+
+

When this method returns, it contains a reference to a structure that holds the text trimming options for the overflowing text.

+

When this method returns, contains an address of a reference to a trimming omission sign. This parameter may be null.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316684 + HRESULT IDWriteTextFormat::GetTrimming([Out] DWRITE_TRIMMING* trimmingOptions,[Out] IDWriteInlineObject** trimmingSign) + IDWriteTextFormat::GetTrimming +
+ + +

Gets the line spacing adjustment set for a multiline text paragraph.

+
+

A value that indicates how line height is determined.

+

When this method returns, contains the line height, or distance between one baseline to another.

+

When this method returns, contains the distance from top of line to baseline. A reasonable ratio to lineSpacing is 80 percent.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316657 + HRESULT IDWriteTextFormat::GetLineSpacing([Out] DWRITE_LINE_SPACING_METHOD* lineSpacingMethod,[Out] float* lineSpacing,[Out] float* baseline) + IDWriteTextFormat::GetLineSpacing +
+ + +

Gets the current font collection.

+
+

When this method returns, contains an address of a reference to the font collection being used for the current text.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316633 + HRESULT IDWriteTextFormat::GetFontCollection([Out] IDWriteFontCollection** fontCollection) + IDWriteTextFormat::GetFontCollection +
+ + +

Gets the length of the font family name.

+
+

The size of the character array, in character count, not including the terminated null character.

+ + dd316640 + unsigned int IDWriteTextFormat::GetFontFamilyNameLength() + IDWriteTextFormat::GetFontFamilyNameLength +
+ + +

Gets a copy of the font family name.

+
+

When this method returns, contains a reference to a character array, which is null-terminated, that receives the current font family name. The buffer allocated for this array should be at least the size, in elements, of nameSize.

+

The size of the fontFamilyName character array, in character count, including the terminated null character. To find the size of fontFamilyName, use GetFontFamilyNameLength.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316636 + HRESULT IDWriteTextFormat::GetFontFamilyName([Out, Buffer] wchar_t* fontFamilyName,[In] unsigned int nameSize) + IDWriteTextFormat::GetFontFamilyName +
+ + +

Gets the font weight of the text.

+
+

A value that indicates the type of weight (such as normal, bold, or black).

+ + dd316652 + DWRITE_FONT_WEIGHT IDWriteTextFormat::GetFontWeight() + IDWriteTextFormat::GetFontWeight +
+ + +

Gets the font style of the text.

+
+

A value which indicates the type of font style (such as slope or incline).

+ + dd316649 + DWRITE_FONT_STYLE IDWriteTextFormat::GetFontStyle() + IDWriteTextFormat::GetFontStyle +
+ + +

Gets the font stretch of the text.

+
+

A value which indicates the type of font stretch (such as normal or condensed).

+ + dd316646 + DWRITE_FONT_STRETCH IDWriteTextFormat::GetFontStretch() + IDWriteTextFormat::GetFontStretch +
+ + +

Gets the font size in DIP unites.

+
+

The current font size in DIP units.

+ + dd316643 + float IDWriteTextFormat::GetFontSize() + IDWriteTextFormat::GetFontSize +
+ + +

Gets the length of the locale name.

+
+

The size of the character array in character count, not including the terminated null character.

+ + dd316674 + unsigned int IDWriteTextFormat::GetLocaleNameLength() + IDWriteTextFormat::GetLocaleNameLength +
+ + +

Gets a copy of the locale name.

+
+

Contains a character array that receives the current locale name.

+

The size of the character array, in character count, including the terminated null character. Use GetLocaleNameLength to get the size of the locale name character array.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316659 + HRESULT IDWriteTextFormat::GetLocaleName([Out, Buffer] wchar_t* localeName,[In] unsigned int nameSize) + IDWriteTextFormat::GetLocaleName +
+ + + Gets a copy of the font family name. + + the current font family name. + HRESULT IDWriteTextFormat::GetFontFamilyName([Out, Buffer] wchar_t* fontFamilyName,[None] int nameSize) + + + + Gets a copy of the locale name. + + the current locale name. + HRESULT IDWriteTextFormat::GetLocaleName([Out, Buffer] wchar_t* localeName,[None] int nameSize) + + + +

Gets or sets the alignment option of text relative to the layout box's leading and trailing edge.

+
+ + dd316681 + GetTextAlignment / SetTextAlignment + GetTextAlignment + DWRITE_TEXT_ALIGNMENT IDWriteTextFormat::GetTextAlignment() +
+ + +

Gets or sets the alignment option of a paragraph which is relative to the top and bottom edges of a layout box.

+
+ + dd316675 + GetParagraphAlignment / SetParagraphAlignment + GetParagraphAlignment + DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat::GetParagraphAlignment() +
+ + +

Gets or sets the word wrapping option.

+
+ + dd316688 + GetWordWrapping / SetWordWrapping + GetWordWrapping + DWRITE_WORD_WRAPPING IDWriteTextFormat::GetWordWrapping() +
+ + +

Gets or sets the current reading direction for text in a paragraph.

+
+ + dd316678 + GetReadingDirection / SetReadingDirection + GetReadingDirection + DWRITE_READING_DIRECTION IDWriteTextFormat::GetReadingDirection() +
+ + +

Gets or sets the direction that text lines flow.

+
+ + dd316631 + GetFlowDirection / SetFlowDirection + GetFlowDirection + DWRITE_FLOW_DIRECTION IDWriteTextFormat::GetFlowDirection() +
+ + +

Gets or sets the incremental tab stop position.

+
+ + dd316655 + GetIncrementalTabStop / SetIncrementalTabStop + GetIncrementalTabStop + float IDWriteTextFormat::GetIncrementalTabStop() +
+ + +

Gets the current font collection.

+
+ + dd316633 + GetFontCollection + GetFontCollection + HRESULT IDWriteTextFormat::GetFontCollection([Out] IDWriteFontCollection** fontCollection) +
+ + +

Gets the font weight of the text.

+
+ + dd316652 + GetFontWeight + GetFontWeight + DWRITE_FONT_WEIGHT IDWriteTextFormat::GetFontWeight() +
+ + +

Gets the font style of the text.

+
+ + dd316649 + GetFontStyle + GetFontStyle + DWRITE_FONT_STYLE IDWriteTextFormat::GetFontStyle() +
+ + +

Gets the font stretch of the text.

+
+ + dd316646 + GetFontStretch + GetFontStretch + DWRITE_FONT_STRETCH IDWriteTextFormat::GetFontStretch() +
+ + +

Gets the font size in DIP unites.

+
+ + dd316643 + GetFontSize + GetFontSize + float IDWriteTextFormat::GetFontSize() +
+ + +

The interface represents a block of text after it has been fully analyzed and formatted.

+
+ +

To get a reference to the interface, the application must call the method, as shown in the following code.

 // Create a text layout using the text format.	
+            if (SUCCEEDED(hr))	
+            {  rect; GetClientRect(hwnd_, &rect);  float width  = rect.right  / dpiScaleX_; float height = rect.bottom / dpiScaleY_; hr = pDWriteFactory_->CreateTextLayout( wszText_,      // The string to be laid out and formatted. cTextLength_,  // The length of the string. pTextFormat_,  // The text format to apply to the string (contains font information, etc). width,         // The width of the layout box. height,        // The height of the layout box. &pTextLayout_  // The  interface reference. );	
+            } 

The interface allows the application to change the format for ranges of the text it represents, specified by a structure. The following example shows how to set the font weight for a text range.

 // Set the font weight to bold for the first 5 letters.	
+             textRange = {0, 4}; if (SUCCEEDED(hr))	
+            { hr = pTextLayout_->SetFontWeight(, textRange);	
+            } 

also provides methods for adding strikethrough, underline, and inline objects to the text.

To draw the block of text represented by an object, Direct2D provides the method. To draw using a custom renderer implement an interface and call the method

DirectWrite and Direct2D

To draw a formatted string represented by an object, Direct2D provides the method.

Other Rendering Options

To render using a custom renderer, use the method, which takes a callback interface derived from as an argument, as shown in the following code.

 // Draw the text layout using DirectWrite and the CustomTextRenderer class.	
+            hr = pTextLayout_->Draw( null, pTextRenderer_,  // Custom text renderer. origin.x, origin.y ); 

declares methods for drawing a glyph run, underline, strikethrough and inline objects. It is up to the application to implement these methods. Creating a custom text renderer allows the application to apply additional effects when rendering text, such as a custom fill or outline.

Using a custom text renderer also enables you to render using another technology, such as GDI.

+
+ + dd316718 + IDWriteTextLayout + IDWriteTextLayout +
+ + + Takes a string, text format, and associated constraints, and produces an object that represents the fully analyzed and formatted result. + + an instance of + An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded NULL characters. + A pointer to an object that indicates the format to apply to the string. + The width of the layout box. + The height of the layout box. + HRESULT CreateTextLayout([In, Buffer] const wchar* string,[None] UINT32 stringLength,[None] IDWriteTextFormat* textFormat,[None] FLOAT maxWidth,[None] FLOAT maxHeight,[Out] IDWriteTextLayout** textLayout) + + + + Create a Gdi Compatible TextLayout. Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode. + + + The resulting text layout should only be used for the intended resolution, and for cases where text scalability is desired {{CreateTextLayout}} should be used instead. + + an instance of + An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded NULL characters. + The text formatting object to apply to the string. + The width of the layout box. + The height of the layout box. + The number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI device pixelsPerDip is 1. If rendering onto a 120 DPI device pixelsPerDip is 1.25 (120/96). + Instructs the text layout to use the same metrics as GDI bi-level text when set to FALSE. When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY. + HRESULT IDWriteFactory::CreateGdiCompatibleTextLayout([In, Buffer] const wchar_t* string,[None] int stringLength,[None] IDWriteTextFormat* textFormat,[None] float layoutWidth,[None] float layoutHeight,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] BOOL useGdiNatural,[Out] IDWriteTextLayout** textLayout) + + + + Create a GDI Compatible TextLayout. Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode. + + + The resulting text layout should only be used for the intended resolution, and for cases where text scalability is desired {{CreateTextLayout}} should be used instead. + + an instance of + An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded NULL characters. + The text formatting object to apply to the string. + The width of the layout box. + The height of the layout box. + The number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI device pixelsPerDip is 1. If rendering onto a 120 DPI device pixelsPerDip is 1.25 (120/96). + An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specifies the font size and pixels per DIP. + Instructs the text layout to use the same metrics as GDI bi-level text when set to FALSE. When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY. + HRESULT IDWriteFactory::CreateGdiCompatibleTextLayout([In, Buffer] const wchar_t* string,[None] int stringLength,[None] IDWriteTextFormat* textFormat,[None] float layoutWidth,[None] float layoutHeight,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] BOOL useGdiNatural,[Out] IDWriteTextLayout** textLayout) + + + + Draws text using the specified client drawing context. + + + To draw text with this method, a textLayout object needs to be created by the application using . After the textLayout object is obtained, the application calls the IDWriteTextLayout::Draw method to draw the text, decorations, and inline objects. The actual drawing is done through the callback interface passed in as the textRenderer argument; there, the corresponding DrawGlyphRun API is called. + + Pointer to the set of callback functions used to draw parts of a text string. + The x-coordinate of the layout's left side. + The y-coordinate of the layout's top side. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] FLOAT originX,[None] FLOAT originY) + + + + Draws text using the specified client drawing context. + + + To draw text with this method, a textLayout object needs to be created by the application using . After the textLayout object is obtained, the application calls the IDWriteTextLayout::Draw method to draw the text, decorations, and inline objects. The actual drawing is done through the callback interface passed in as the textRenderer argument; there, the corresponding DrawGlyphRun API is called. + + An application-defined drawing context. + Pointer to the set of callback functions used to draw parts of a text string. + The x-coordinate of the layout's left side. + The y-coordinate of the layout's top side. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] FLOAT originX,[None] FLOAT originY) + + + + Retrieves logical properties and measurements of each glyph cluster. + + + If maxClusterCount is not large enough, then E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), is returned and actualClusterCount is set to the number of clusters needed. + + Returns metrics, such as line-break or total advance width, for a glyph cluster. + HRESULT IDWriteTextLayout::GetClusterMetrics([Out, Buffer, Optional] DWRITE_CLUSTER_METRICS* clusterMetrics,[None] int maxClusterCount,[Out] int* actualClusterCount) + + + + Sets the application-defined drawing effect. + + + An , such as a color or gradient brush, can be set as a drawing effect if you are using the to draw text and that brush will be used to draw the specified range of text. This drawing effect is associated with the specified range and will be passed back to the application by way of the callback when the range is drawn at drawing time. + + Application-defined drawing effects that apply to the range. This data object will be passed back to the application's drawing callbacks for final rendering. + The text range to which this change applies. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteTextLayout::SetDrawingEffect([None] IUnknown* drawingEffect,[None] DWRITE_TEXT_RANGE textRange) + + + + Gets the application-defined drawing effect at the specified text position. + + The position of the text whose drawing effect is to be retrieved. + a reference to the current application-defined drawing effect. Usually this effect is a foreground brush that is used in glyph drawing. + HRESULT IDWriteTextLayout::GetDrawingEffect([None] int currentPosition,[Out] IUnknown** drawingEffect,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the application-defined drawing effect at the specified text position. + + The position of the text whose drawing effect is to be retrieved. + Contains the range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the drawing effect. + a reference to the current application-defined drawing effect. Usually this effect is a foreground brush that is used in glyph drawing. + HRESULT IDWriteTextLayout::GetDrawingEffect([None] int currentPosition,[Out] IUnknown** drawingEffect,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font collection associated with the text at the specified position. + + The position of the text to inspect. + a reference to the current font collection. + HRESULT IDWriteTextLayout::GetFontCollection([None] int currentPosition,[Out] IDWriteFontCollection** fontCollection,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font family name of the text at the specified position. + + The position of the text to examine. + the font family name + HRESULT IDWriteTextLayout::GetFontFamilyName([None] int currentPosition,[Out, Buffer] wchar_t* fontFamilyName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font family name of the text at the specified position. + + The position of the text to examine. + The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family name. + the font family name + HRESULT IDWriteTextLayout::GetFontFamilyName([None] int currentPosition,[Out, Buffer] wchar_t* fontFamilyName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font em height of the text at the specified position. + + The position of the text to inspect. + The size of the font in ems of the text at the specified position. + HRESULT IDWriteTextLayout::GetFontSize([None] int currentPosition,[Out] float* fontSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font stretch of the text at the specified position. + + The position of the text to inspect. + a value which indicates the type of font stretch (also known as width) being applied at the specified position. + HRESULT IDWriteTextLayout::GetFontStretch([None] int currentPosition,[Out] DWRITE_FONT_STRETCH* fontStretch,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font style (also known as slope) of the text at the specified position. + + The position of the text to inspect. + a value which indicates the type of font style (also known as slope or incline) being applied at the specified position. + HRESULT IDWriteTextLayout::GetFontStyle([None] int currentPosition,[Out] DWRITE_FONT_STYLE* fontStyle,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font weight of the text at the specified position. + + The position of the text to inspect. + a value which indicates the type of font weight being applied at the specified position. + HRESULT IDWriteTextLayout::GetFontWeight([None] int currentPosition,[Out] DWRITE_FONT_WEIGHT* fontWeight,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the inline object at the specified position. + + The specified text position. + an application-defined inline object. + HRESULT IDWriteTextLayout::GetInlineObject([None] int currentPosition,[Out] IDWriteInlineObject** inlineObject,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Retrieves the information about each individual text line of the text string. + + + If maxLineCount is not large enough E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), is returned and *actualLineCount is set to the number of lines needed. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteTextLayout::GetLineMetrics([Out, Buffer, Optional] DWRITE_LINE_METRICS* lineMetrics,[None] int maxLineCount,[Out] int* actualLineCount) + + + + Gets the locale name of the text at the specified position. + + The position of the text to inspect. + the locale name of the text at the specified position. + HRESULT IDWriteTextLayout::GetLocaleName([None] int currentPosition,[Out, Buffer] wchar_t* localeName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the locale name of the text at the specified position. + + The position of the text to inspect. + The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name. + the locale name of the text at the specified position. + HRESULT IDWriteTextLayout::GetLocaleName([None] int currentPosition,[Out, Buffer] wchar_t* localeName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Get the strikethrough presence of the text at the specified position. + + The position of the text to inspect. + A Boolean flag that indicates whether strikethrough is present at the position indicated by currentPosition. + HRESULT IDWriteTextLayout::GetStrikethrough([None] int currentPosition,[Out] BOOL* hasStrikethrough,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the typography setting of the text at the specified position. + + The position of the text to inspect. + a reference to the current typography setting. + HRESULT IDWriteTextLayout::GetTypography([None] int currentPosition,[Out] IDWriteTypography** typography,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the underline presence of the text at the specified position. + + The current text position. + A Boolean flag that indicates whether underline is present at the position indicated by currentPosition. + HRESULT IDWriteTextLayout::GetUnderline([None] int currentPosition,[Out] BOOL* hasUnderline,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + 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. + The function returns E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), + when the buffer size of hitTestMetrics is too small to hold all the regions calculated by the function. + In this situation, the function sets the output value *actualHitTestMetricsCount to the number of geometries calculated. + The application is responsible for allocating a new buffer of greater size and calling the function again. + A good value to use as an initial value for maxHitTestMetricsCount may be calculated from the following equation: + maxHitTestMetricsCount = lineCount * maxBidiReorderingDepth where lineCount is obtained from the value of the output argument *actualLineCount (from the function IDWriteTextLayout::GetLineLengths), and the maxBidiReorderingDepth value from the DWRITE_TEXT_METRICS structure of the output argument *textMetrics (from the function IDWriteFactory::CreateTextLayout). + + The first text position of the specified range. + The number of positions of the specified range. + The origin pixel location X at the left of the layout box. This offset is added to the hit-test metrics returned. + The origin pixel location Y at the top of the layout box. This offset is added to the hit-test metrics returned. + a reference to a buffer of the output geometry fully enclosing the specified position range. The buffer must be at least as large as maxHitTestMetricsCount. + HRESULT IDWriteTextLayout::HitTestTextRange([None] int textPosition,[None] int textLength,[None] float originX,[None] float originY,[Out, Buffer, Optional] DWRITE_HIT_TEST_METRICS* hitTestMetrics,[None] int maxHitTestMetricsCount,[Out] int* actualHitTestMetricsCount) + + + + Sets the inline object. + + + The application may call this function to specify the set of properties describing an application-defined inline object for specific range. This inline object applies to the specified range and will be passed back to the application by way of the DrawInlineObject callback when the range is drawn. Any text in that range will be suppressed. + + An application-defined inline object. + Text range to which this change applies. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteTextLayout::SetInlineObject([None] IDWriteInlineObject* inlineObject,[None] DWRITE_TEXT_RANGE textRange) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the layout maximum width.

+
+

A value that indicates the maximum width of the layout box.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371511 + HRESULT IDWriteTextLayout::SetMaxWidth([In] float maxWidth) + IDWriteTextLayout::SetMaxWidth +
+ + +

Sets the layout maximum height.

+
+

A value that indicates the maximum height of the layout box.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371507 + HRESULT IDWriteTextLayout::SetMaxHeight([In] float maxHeight) + IDWriteTextLayout::SetMaxHeight +
+ + +

Sets the font collection.

+
+

The font collection to set.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371481 + HRESULT IDWriteTextLayout::SetFontCollection([In] IDWriteFontCollection* fontCollection,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontCollection +
+ + +

Sets null-terminated font family name for text within a specified text range.

+
+

The font family name that applies to the entire text string within the range specified by textRange.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371487 + HRESULT IDWriteTextLayout::SetFontFamilyName([In, Buffer] const wchar_t* fontFamilyName,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontFamilyName +
+ + +

Sets the font weight for text within a text range specified by a structure.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The font weight can be set to one of the predefined font weight values provided in the enumeration or an integer from 1 to 999. Values outside this range will cause the method to fail with an E_INVALIDARG return value.

The following illustration shows an example of Normal and UltraBold weights for the Palatino Linotype typeface.

+
+ + dd371498 + HRESULT IDWriteTextLayout::SetFontWeight([In] DWRITE_FONT_WEIGHT fontWeight,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontWeight +
+ + +

Sets the font style for text within a text range specified by a structure.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The font style can be set to Normal, Italic or Oblique. The following illustration shows three styles for the Palatino font. For more information, see .

+
+ + dd371495 + HRESULT IDWriteTextLayout::SetFontStyle([In] DWRITE_FONT_STYLE fontStyle,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontStyle +
+ + +

Sets the font stretch for text within a specified text range.

+
+

A value which indicates the type of font stretch for text within the range specified by textRange.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371493 + HRESULT IDWriteTextLayout::SetFontStretch([In] DWRITE_FONT_STRETCH fontStretch,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontStretch +
+ + +

Sets the font size in DIP units for text within a specified text range.

+
+

The font size in DIP units to be set for text in the range specified by textRange.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371490 + HRESULT IDWriteTextLayout::SetFontSize([In] float fontSize,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontSize +
+ + +

Sets underlining for text within a specified text range.

+
+

A Boolean flag that indicates whether underline takes place within a specified text range.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371518 + HRESULT IDWriteTextLayout::SetUnderline([In] BOOL hasUnderline,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetUnderline +
+ + +

Sets strikethrough for text within a specified text range.

+
+

A Boolean flag that indicates whether strikethrough takes place in the range specified by textRange.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371514 + HRESULT IDWriteTextLayout::SetStrikethrough([In] BOOL hasStrikethrough,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetStrikethrough +
+ + +

Sets the application-defined drawing effect.

+
+

Application-defined drawing effects that apply to the range. This data object will be passed back to the application's drawing callbacks for final rendering.

+

The text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

An , such as a color or gradient brush, can be set as a drawing effect if you are using the to draw text and that brush will be used to draw the specified range of text.

This drawing effect is associated with the specified range and will be passed back to the application by way of the callback when the range is drawn at drawing time.

+
+ + dd371477 + HRESULT IDWriteTextLayout::SetDrawingEffect([In] void* drawingEffect,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetDrawingEffect +
+ + +

Sets the inline object.

+
+

An application-defined inline object.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The application may call this function to specify the set of properties describing an application-defined inline object for specific range.

This inline object applies to the specified range and will be passed back to the application by way of the DrawInlineObject callback when the range is drawn. Any text in that range will be suppressed.

+
+ + dd371500 + HRESULT IDWriteTextLayout::SetInlineObject([In] IDWriteInlineObject* inlineObject,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetInlineObject +
+ + +

Sets font typography features for text within a specified text range.

+
+

Pointer to font typography settings.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371517 + HRESULT IDWriteTextLayout::SetTypography([In] IDWriteTypography* typography,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetTypography +
+ + +

Sets the locale name for text within a specified text range.

+
+

A null-terminated locale name string.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371503 + HRESULT IDWriteTextLayout::SetLocaleName([In, Buffer] const wchar_t* localeName,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetLocaleName +
+ + +

Gets the layout maximum width.

+
+

Returns the layout maximum width.

+ + dd316781 + float IDWriteTextLayout::GetMaxWidth() + IDWriteTextLayout::GetMaxWidth +
+ + +

Gets the layout maximum height.

+
+

The layout maximum height.

+ + dd316776 + float IDWriteTextLayout::GetMaxHeight() + IDWriteTextLayout::GetMaxHeight +
+ + +

Gets the font collection associated with the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the underline.

+

Contains an address of a reference to the current font collection.

+ + dd316735 + HRESULT IDWriteTextLayout::GetFontCollection([In] unsigned int currentPosition,[Out] IDWriteFontCollection** fontCollection,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontCollection +
+ + +

Get the length of the font family name at the current position.

+
+

The current text position.

+

When this method returns, contains the size of the character array containing the font family name, in character count, not including the terminated null character.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316741 + HRESULT IDWriteTextLayout::GetFontFamilyNameLength([In] unsigned int currentPosition,[Out] unsigned int* nameLength,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontFamilyNameLength +
+ + +

Copies the font family name of the text at the specified position.

+
+

The position of the text to examine.

+

When this method returns, contains an array of characters that receives the current font family name. You must allocate storage for this parameter.

+

The size of the character array in character count including the terminated null character.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316738 + HRESULT IDWriteTextLayout::GetFontFamilyName([In] unsigned int currentPosition,[Out, Buffer] wchar_t* fontFamilyName,[In] unsigned int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontFamilyName +
+ + +

Gets the font weight of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font weight.

+

When this method returns, contains a value which indicates the type of font weight being applied at the specified position.

+ + dd316753 + HRESULT IDWriteTextLayout::GetFontWeight([In] unsigned int currentPosition,[Out] DWRITE_FONT_WEIGHT* fontWeight,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontWeight +
+ + +

Gets the font style (also known as slope) of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font style.

+

When this method returns, contains a value which indicates the type of font style (also known as slope or incline) being applied at the specified position.

+ + dd316750 + HRESULT IDWriteTextLayout::GetFontStyle([In] unsigned int currentPosition,[Out] DWRITE_FONT_STYLE* fontStyle,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontStyle +
+ + +

Gets the font stretch of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font stretch.

+

When this method returns, contains a value which indicates the type of font stretch (also known as width) being applied at the specified position.

+ + dd316747 + HRESULT IDWriteTextLayout::GetFontStretch([In] unsigned int currentPosition,[Out] DWRITE_FONT_STRETCH* fontStretch,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontStretch +
+ + +

Gets the font em height of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font size.

+

When this method returns, contains the size of the font in ems of the text at the specified position.

+ + dd316745 + HRESULT IDWriteTextLayout::GetFontSize([In] unsigned int currentPosition,[Out] float* fontSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontSize +
+ + +

Gets the underline presence of the text at the specified position.

+
+

The current text position.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the underline.

+

A Boolean flag that indicates whether underline is present at the position indicated by currentPosition.

+ + dd371463 + HRESULT IDWriteTextLayout::GetUnderline([In] unsigned int currentPosition,[Out] BOOL* hasUnderline,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetUnderline +
+ + +

Get the strikethrough presence of the text at the specified position.

+
+

The position of the text to inspect.

+

Contains the range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to strikethrough.

+

A Boolean flag that indicates whether strikethrough is present at the position indicated by currentPosition.

+ + dd316793 + HRESULT IDWriteTextLayout::GetStrikethrough([In] unsigned int currentPosition,[Out] BOOL* hasStrikethrough,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetStrikethrough +
+ + +

Gets the application-defined drawing effect at the specified text position.

+
+

The position of the text whose drawing effect is to be retrieved.

+

Contains the range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the drawing effect.

+

When this method returns, contains an address of a reference to the current application-defined drawing effect. Usually this effect is a foreground brush that is used in glyph drawing.

+ + dd316732 + HRESULT IDWriteTextLayout::GetDrawingEffect([In] unsigned int currentPosition,[Out] void** drawingEffect,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetDrawingEffect +
+ + +

Gets the inline object at the specified position.

+
+

The specified text position.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the inline object.

+

Contains the application-defined inline object.

+ + dd316758 + HRESULT IDWriteTextLayout::GetInlineObject([In] unsigned int currentPosition,[Out] IDWriteInlineObject** inlineObject,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetInlineObject +
+ + +

Gets the typography setting of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the typography.

+

When this method returns, contains an address of a reference to the current typography setting.

+ + dd371459 + HRESULT IDWriteTextLayout::GetTypography([In] unsigned int currentPosition,[Out] IDWriteTypography** typography,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetTypography +
+ + +

Gets the length of the locale name of the text at the specified position.

+
+

The position of the text to inspect.

+

Size of the character array, in character count, not including the terminated null character.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316771 + HRESULT IDWriteTextLayout::GetLocaleNameLength([In] unsigned int currentPosition,[Out] unsigned int* nameLength,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetLocaleNameLength +
+ + +

Gets the locale name of the text at the specified position.

+
+

The position of the text to inspect.

+

When this method returns, contains the character array receiving the current locale name.

+

Size of the character array, in character count, including the terminated null character.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316767 + HRESULT IDWriteTextLayout::GetLocaleName([In] unsigned int currentPosition,[Out, Buffer] wchar_t* localeName,[In] unsigned int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetLocaleName +
+ + +

Draws text using the specified client drawing context.

+
+

An application-defined drawing context.

+

Pointer to the set of callback functions used to draw parts of a text string.

+

The x-coordinate of the layout's left side.

+

The y-coordinate of the layout's top side.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To draw text with this method, a textLayout object needs to be created by the application using .

After the textLayout object is obtained, the application calls the method to draw the text, decorations, and inline objects. The actual drawing is done through the callback interface passed in as the textRenderer argument; there, the corresponding DrawGlyphRun API is called.

+
+ + dd316726 + HRESULT IDWriteTextLayout::Draw([In, Optional] void* clientDrawingContext,[In] IDWriteTextRenderer* renderer,[In] float originX,[In] float originY) + IDWriteTextLayout::Draw +
+ + +

Retrieves the information about each individual text line of the text string.

+
+

When this method returns, contains a reference to an array of structures containing various calculated length values of individual text lines.

+

The maximum size of the lineMetrics array.

+

When this method returns, contains the actual size of the lineMetrics array that is needed.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If maxLineCount is not large enough E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), is returned and *actualLineCount is set to the number of lines needed.

+
+ + dd316763 + HRESULT IDWriteTextLayout::GetLineMetrics([Out, Buffer, Optional] DWRITE_LINE_METRICS* lineMetrics,[In] unsigned int maxLineCount,[Out] unsigned int* actualLineCount) + IDWriteTextLayout::GetLineMetrics +
+ + +

Retrieves overall metrics for the formatted string.

+
+

When this method returns, contains the measured distances of text and associated content after being formatted.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316785 + HRESULT IDWriteTextLayout::GetMetrics([Out] DWRITE_TEXT_METRICS* textMetrics) + IDWriteTextLayout::GetMetrics +
+ + +

Returns the overhangs (in DIPs) of the layout and all objects contained in it, including text glyphs and inline objects.

+
+

Overshoots of visible extents (in DIPs) outside the layout.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Underlines and strikethroughs do not contribute to the black box determination, since these are actually drawn by the renderer, which is allowed to draw them in any variety of styles.

+
+ + dd316790 + HRESULT IDWriteTextLayout::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + IDWriteTextLayout::GetOverhangMetrics +
+ + +

Retrieves logical properties and measurements of each glyph cluster.

+
+

When this method returns, contains metrics, such as line-break or total advance width, for a glyph cluster.

+

The maximum size of the clusterMetrics array.

+

When this method returns, contains the actual size of the clusterMetrics array that is needed.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If maxClusterCount is not large enough, then E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), is returned and actualClusterCount is set to the number of clusters needed.

+
+ + dd316729 + HRESULT IDWriteTextLayout::GetClusterMetrics([Out, Buffer, Optional] DWRITE_CLUSTER_METRICS* clusterMetrics,[In] unsigned int maxClusterCount,[Out] unsigned int* actualClusterCount) + IDWriteTextLayout::GetClusterMetrics +
+ + +

Determines the minimum possible width the layout can be set to without emergency breaking between the characters of whole words occurring.

+
+

Minimum width.

+ + dd316723 + HRESULT IDWriteTextLayout::DetermineMinWidth([Out] float* minWidth) + IDWriteTextLayout::DetermineMinWidth +
+ + +

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. When the specified pixel location is outside the text string, the function sets the output value *isInside to .

+
+

The pixel location X to hit-test, relative to the top-left location of the layout box.

+

The pixel location Y to hit-test, relative to the top-left location of the layout box.

+

An output flag that indicates whether the hit-test location is at the leading or the trailing side of the character. When the output *isInside value is set to , this value is set according to the output hitTestMetrics->textPosition value to represent the edge closest to the hit-test location.

+

An output flag that indicates whether the hit-test location is inside the text string. When , the position nearest the text's edge is returned.

+

The output geometry fully enclosing the hit-test location. When the output *isInside value is set to , this structure represents the geometry enclosing the edge closest to the hit-test location.

+ + dd371464 + HRESULT IDWriteTextLayout::HitTestPoint([In] float pointX,[In] float pointY,[Out] BOOL* isTrailingHit,[Out] BOOL* isInside,[Out] DWRITE_HIT_TEST_METRICS* hitTestMetrics) + IDWriteTextLayout::HitTestPoint +
+ + +

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. This function is normally used as part of caret positioning of text where the caret is drawn at the location corresponding to the current text editing position. It may also be used as a way to programmatically obtain the geometry of a particular text position in UI automation.

+
+

The text position used to get the pixel location.

+

A Boolean flag that indicates whether the pixel location is of the leading or the trailing side of the specified text position.

+

When this method returns, contains the output pixel location X, relative to the top-left location of the layout box.

+

When this method returns, contains the output pixel location Y, relative to the top-left location of the layout box.

+

When this method returns, contains the output geometry fully enclosing the specified text position.

+ + dd371469 + HRESULT IDWriteTextLayout::HitTestTextPosition([In] unsigned int textPosition,[In] BOOL isTrailingHit,[Out] float* pointX,[Out] float* pointY,[Out] DWRITE_HIT_TEST_METRICS* hitTestMetrics) + IDWriteTextLayout::HitTestTextPosition +
+ + +

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. The function returns E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), when the buffer size of hitTestMetrics is too small to hold all the regions calculated by the function. In this situation, the function sets the output value *actualHitTestMetricsCount to the number of geometries calculated. The application is responsible for allocating a new buffer of greater size and calling the function again. A good value to use as an initial value for maxHitTestMetricsCount may be calculated from the following equation: maxHitTestMetricsCount = lineCount * maxBidiReorderingDepth where lineCount is obtained from the value of the output argument *actualLineCount (from the function IDWriteTextLayout::GetLineLengths), and the maxBidiReorderingDepth value from the structure of the output argument *textMetrics (from the function ).

+
+

The first text position of the specified range.

+

The number of positions of the specified range.

+

The origin pixel location X at the left of the layout box. This offset is added to the hit-test metrics returned.

+

The origin pixel location Y at the top of the layout box. This offset is added to the hit-test metrics returned.

+

When this method returns, contains a reference to a buffer of the output geometry fully enclosing the specified position range. The buffer must be at least as large as maxHitTestMetricsCount.

+

Maximum number of boxes hitTestMetrics could hold in its buffer memory.

+

Actual number of geometries hitTestMetrics holds in its buffer memory.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371473 + HRESULT IDWriteTextLayout::HitTestTextRange([In] unsigned int textPosition,[In] unsigned int textLength,[In] float originX,[In] float originY,[Out, Buffer, Optional] DWRITE_HIT_TEST_METRICS* hitTestMetrics,[In] unsigned int maxHitTestMetricsCount,[Out] unsigned int* actualHitTestMetricsCount) + IDWriteTextLayout::HitTestTextRange +
+ + +

Gets or sets the layout maximum width.

+
+ + dd316781 + GetMaxWidth / SetMaxWidth + GetMaxWidth + float IDWriteTextLayout::GetMaxWidth() +
+ + +

Gets or sets the layout maximum height.

+
+ + dd316776 + GetMaxHeight / SetMaxHeight + GetMaxHeight + float IDWriteTextLayout::GetMaxHeight() +
+ + +

Retrieves overall metrics for the formatted string.

+
+ + dd316785 + GetMetrics + GetMetrics + HRESULT IDWriteTextLayout::GetMetrics([Out] DWRITE_TEXT_METRICS* textMetrics) +
+ + +

Returns the overhangs (in DIPs) of the layout and all objects contained in it, including text glyphs and inline objects.

+
+ +

Underlines and strikethroughs do not contribute to the black box determination, since these are actually drawn by the renderer, which is allowed to draw them in any variety of styles.

+
+ + dd316790 + GetOverhangMetrics + GetOverhangMetrics + HRESULT IDWriteTextLayout::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) +
+ + +

Specifies a range of text positions where format is applied in the text represented by an object.

+
+ + dd368137 + DWRITE_TEXT_RANGE + DWRITE_TEXT_RANGE +
+ + + Initializes a new instance of the struct. + + The start position. + The length. + + + + No documentation. + + + unsigned int startPosition + unsigned int startPosition + + + + No documentation. + + + unsigned int length + unsigned int length + + + +

Represents a set of application-defined callbacks that perform rendering of text, inline objects, and decorations such as underlines.

+
+ + dd371523 + IDWriteTextRenderer + IDWriteTextRenderer +
+ + + IDWriteTextLayout::Draw calls this function to instruct the client to render a run of glyphs. + + + The function calls this callback function with all the information about glyphs to render. The application implements this callback by mostly delegating the call to the underlying platform's graphics API such as {{Direct2D}} to draw glyphs on the drawing context. An application that uses GDI can implement this callback in terms of the method. + + The application-defined drawing context passed to . + The pixel location (X-coordinate) at the baseline origin of the glyph run. + The pixel location (Y-coordinate) at the baseline origin of the glyph run. + The measuring method for glyphs in the run, used with the other properties to determine the rendering mode. + Pointer to the glyph run instance to render. + A pointer to the optional glyph run description instance which contains properties of the characters associated with this run. + Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of text. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawGlyphRun([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to draw an underline. + + + A single underline can be broken into multiple calls, depending on how the formatting changes attributes. If font sizes/styles change within an underline, the thickness and offset will be averaged weighted according to characters. To get an appropriate starting pixel position, add underline::offset to the baseline. Otherwise there will be no spacing between the text. The x coordinate will always be passed as the left side, regardless of text directionality. This simplifies drawing and reduces the problem of round-off that could potentially cause gaps or a double stamped alpha blend. To avoid alpha overlap, round the end points to the nearest device pixel. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + The pixel location (X-coordinate) at the baseline origin of the run where underline applies. + The pixel location (Y-coordinate) at the baseline origin of the run where underline applies. + Pointer to a structure containing underline logical information. + Application-defined effect to apply to the underline. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawUnderline([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_UNDERLINE* underline,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to draw a strikethrough. + + + A single strikethrough can be broken into multiple calls, depending on how the formatting changes attributes. Strikethrough is not averaged across font sizes/styles changes. To get an appropriate starting pixel position, add strikethrough::offset to the baseline. Like underlines, the x coordinate will always be passed as the left side, regardless of text directionality. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + The pixel location (X-coordinate) at the baseline origin of the run where strikethrough applies. + The pixel location (Y-coordinate) at the baseline origin of the run where strikethrough applies. + Pointer to a structure containing strikethrough logical information. + Application-defined effect to apply to the strikethrough. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawStrikethrough([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_STRIKETHROUGH* strikethrough,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this application callback when it needs to draw an inline object. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + X-coordinate at the top-left corner of the inline object. + Y-coordinate at the top-left corner of the inline object. + The application-defined inline object set using IDWriteTextFormat::SetInlineObject. + A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. + A Boolean flag that indicates whether the object is in a right-to-left context, hinting that the drawing may want to mirror the normal image. + Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawInlineObject([None] void* clientDrawingContext,[None] FLOAT originX,[None] FLOAT originY,[None] IDWriteInlineObject* inlineObject,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + +

Represents a bitmap that has been bound to an .

+
+ + Creating Objects

To create a bitmap, use one of the following methods of the render target on which the bitmap will be drawn:

For information about the pixel formats supported by Direct2D bitmaps, see Supported Pixel Formats and Alpha Modes.

An is a device-dependent resource: your application should create bitmaps after it initializes the render target with which the bitmap will be used, and recreate the bitmap whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371109 + ID2D1Bitmap + ID2D1Bitmap +
+ + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + The pixel format and dots per inch (DPI) of the bitmap to create. + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + A pointer to the memory location of the image data, or NULL to create an uninitialized bitmap. + The byte count of each scanline, which is equal to (the image width in pixels * the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.) + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + A pointer to the memory location of the image data, or NULL to create an uninitialized bitmap. + The byte count of each scanline, which is equal to (the image width in pixels * the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.) + The pixel format and dots per inch (DPI) of the bitmap to create. + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + The pixel format and DPI of the bitmap to create . The portion of the pixel format must match the of data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass NULL or the value obtained from the {{D2D1::PixelFormat}} helper function. The DPI settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the default DPI, 96, is used. + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + The pixel format and DPI of the bitmap to create . The portion of the pixel format must match the of data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass NULL or the value obtained from the {{D2D1::PixelFormat}} helper function. The DPI settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the default DPI, 96, is used. + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + A pointer to an array of pixel data. The size of the array must be equal to sizeof(pixel) * Size.Width * Height. + The pixel format and dots per inch (DPI) of the bitmap to create. + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates a Bitmap from a WIC bitmap. + + The render target. + A reference to a WIC bitmap. + + dd371797 + HRESULT ID2D1RenderTarget::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmapFromWicBitmap + + + + Creates a Bitmap from a WIC bitmap. + + The render target. + The WIC bitmap. + The bitmap properties. + + dd371797 + HRESULT ID2D1RenderTarget::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmapFromWicBitmap + + + + Copies the specified region from the specified bitmap into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The bitmap to copy from. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371152 + HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromBitmap + + + + Copies the specified region from the specified bitmap into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The bitmap to copy from. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371152 + HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromBitmap + + + + Copies the specified region from the specified bitmap into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The bitmap to copy from. + The area of bitmap to copy. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371152 + HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromBitmap + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from the specified render target into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. All clips and layers must be popped off of the render target before calling this method. The method returns {{D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT}} if any clips or layers are currently applied to the render target. + + The render target that contains the region to copy. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371158 + HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromRenderTarget + + + + Copies the specified region from the specified render target into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. All clips and layers must be popped off of the render target before calling this method. The method returns {{D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT}} if any clips or layers are currently applied to the render target. + + The render target that contains the region to copy. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371158 + HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromRenderTarget + + + + Copies the specified region from the specified render target into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. All clips and layers must be popped off of the render target before calling this method. The method returns {{D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT}} if any clips or layers are currently applied to the render target. + + The render target that contains the region to copy. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + The area of renderTarget to copy. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371158 + HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromRenderTarget + + + + Copies the specified region from a stream into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The stream to copy the data from. + Length in bytes of the data to copy from the stream. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from a stream into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The stream to copy the data from. + Length in bytes of the data to copy from the stream. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Returns the size, in device-independent pixels (DIPs), of the bitmap.

+
+

The size, in DIPs, of the bitmap.

+ +

A DIP is 1/96?of an inch. To retrieve the size in device pixels, use the method.

+
+ + dd371170 + D2D_SIZE_F ID2D1Bitmap::GetSize() + ID2D1Bitmap::GetSize +
+ + +

Returns the size, in device-dependent units (pixels), of the bitmap.

+
+

The size, in pixels, of the bitmap.

+ + dd371167 + D2D_SIZE_U ID2D1Bitmap::GetPixelSize() + ID2D1Bitmap::GetPixelSize +
+ + +

Retrieves the pixel format and alpha mode of the bitmap.

+
+

The pixel format and alpha mode of the bitmap.

+ + dd371164 + D2D1_PIXEL_FORMAT ID2D1Bitmap::GetPixelFormat() + ID2D1Bitmap::GetPixelFormat +
+ + +

Return the dots per inch (DPI) of the bitmap.

+
+

The horizontal DPI of the image. You must allocate storage for this parameter.

+

The vertical DPI of the image. You must allocate storage for this parameter.

+ + dd371161 + void ID2D1Bitmap::GetDpi([Out] float* dpiX,[Out] float* dpiY) + ID2D1Bitmap::GetDpi +
+ + +

Copies the specified region from the specified bitmap into the current bitmap.

+
+

In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied.

+

The bitmap to copy from.

+

The area of bitmap to copy.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to EndDraw or Flush.

+
+ + dd371152 + HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromBitmap +
+ + +

Copies the specified region from the specified render target into the current bitmap.

+
+

In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied.

+

The render target that contains the region to copy.

+

The area of renderTarget to copy.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to EndDraw or Flush.

All clips and layers must be popped off of the render target before calling this method. The method returns if any clips or layers are currently applied to the render target.

+
+ + dd371158 + HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromRenderTarget +
+ + +

Copies the specified region from memory into the current bitmap.

+
+

In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied.

+

The data to copy.

+

The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match.

If this method is passed invalid input (such as an invalid destination rectangle), can produce unpredictable results, such as a distorted image or device failure.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to EndDraw or Flush.

+
+ + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory +
+ + + Return the dots per inch (DPI) of the bitmap. + + The dots per inch (DPI) of the bitmap. + + + +

Returns the size, in device-independent pixels (DIPs), of the bitmap.

+
+ +

A DIP is 1/96?of an inch. To retrieve the size in device pixels, use the method.

+
+ + dd371170 + GetSize + GetSize + D2D_SIZE_F ID2D1Bitmap::GetSize() +
+ + +

Returns the size, in device-dependent units (pixels), of the bitmap.

+
+ + dd371167 + GetPixelSize + GetPixelSize + D2D_SIZE_U ID2D1Bitmap::GetPixelSize() +
+ + +

Retrieves the pixel format and alpha mode of the bitmap.

+
+ + dd371164 + GetPixelFormat + GetPixelFormat + D2D1_PIXEL_FORMAT ID2D1Bitmap::GetPixelFormat() +
+ + +

Paints an area with a bitmap.

+
+ +

A bitmap brush is used to fill a geometry with a bitmap. Like all brushes, it defines an infinite plane of content. Because bitmaps are finite, the brush relies on an "extend mode" to determine how the plane is filled horizontally and vertically.

Creating Objects

To create a bitmap brush, use the method.

An is a device-dependent resource: your application should create bitmap brushes after it initializes the render target with which the bitmap brush will be used, and recreate the bitmap brush whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371122 + ID2D1BitmapBrush + ID2D1BitmapBrush +
+ + +

Defines an object that paints an area. Interfaces that derive from describe how the area is painted.

+
+ +

An is a device-dependent resource: your application should create bitmap brushes after it initializes the render target with which the bitmap brush will be used, and recreate the bitmap brush whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

Brush space in Direct2D is specified differently than in XPS and Windows Presentation Foundation (WPF). In Direct2D, brush space is not relative to the object being drawn, but rather is the current coordinate system of the render target, transformed by the brush transform, if present. To paint an object as it would be painted by a WPF brush, you must translate the brush space origin to the upper-left corner of the object's bounding box, and then scale the brush space so that the base tile fills the bounding box of the object.

For more information about brushes, see the Brushes Overview.

+
+ + dd371173 + ID2D1Brush + ID2D1Brush +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the degree of opacity of this brush.

+
+

A value between zero and 1 that indicates the opacity of the brush. This value is a constant multiplier that linearly scales the alpha value of all pixels filled by the brush. The opacity values are clamped in the range 0?1 before they are multipled together.

+ + dd371181 + void ID2D1Brush::SetOpacity([In] float opacity) + ID2D1Brush::SetOpacity +
+ + +

Sets the transformation applied to the brush.

+
+

The transformation to apply to this brush.

+ +

When you paint with a brush, it paints in the coordinate space of the render target. Brushes do not automatically position themselves to align with the object being painted; by default, they begin painting at the origin (0, 0) of the render target.

You can "move" the gradient defined by an to a target area by setting its start point and end point. Likewise, you can move the gradient defined by an by changing its center and radii.

To align the content of an to the area being painted, you can use the SetTransform method to translate the bitmap to the desired location. This transform only affects the brush; it does not affect any other content drawn by the render target.

The following illustrations show the effect of using an to fill a rectangle located at (100, 100). The illustration on the left illustration shows the result of filling the rectangle without transforming the brush: the bitmap is drawn at the render target's origin. As a result, only a portion of the bitmap appears in the rectangle.

The illustration on the right shows the result of transforming the so that its content is shifted 50 pixels to the right and 50 pixels down. The bitmap now fills the rectangle.

+
+ + dd371186 + void ID2D1Brush::SetTransform([In] const D2D_MATRIX_3X2_F* transform) + ID2D1Brush::SetTransform +
+ + +

Gets the degree of opacity of this brush.

+
+

A value between zero and 1 that indicates the opacity of the brush. This value is a constant multiplier that linearly scales the alpha value of all pixels filled by the brush. The opacity values are clamped in the range 0?1 before they are multipled together.

+ + dd371176 + float ID2D1Brush::GetOpacity() + ID2D1Brush::GetOpacity +
+ + +

Gets the transform applied to this brush.

+
+

The transform applied to this brush.

+ +

When the brush transform is the identity matrix, the brush appears in the same coordinate space as the render target in which it is drawn.

+
+ + dd371179 + void ID2D1Brush::GetTransform([Out] D2D_MATRIX_3X2_F* transform) + ID2D1Brush::GetTransform +
+ + +

Gets or sets the degree of opacity of this brush.

+
+ + dd371176 + GetOpacity / SetOpacity + GetOpacity + float ID2D1Brush::GetOpacity() +
+ + +

Gets or sets the transform applied to this brush.

+
+ +

When the brush transform is the identity matrix, the brush appears in the same coordinate space as the render target in which it is drawn.

+
+ + dd371179 + GetTransform / SetTransform + GetTransform + void ID2D1Brush::GetTransform([Out] D2D_MATRIX_3X2_F* transform) +
+ + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + + + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + The extend modes and interpolation mode of the new brush, or NULL. If this parameter is NULL, the brush defaults to the horizontal and vertical extend modes and the interpolation mode. + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + + + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + The opacity and transform of the new brush, or NULL. If this parameter is NULL, the brush defaults to an opacity of 1.0f and its transform is the identity matrix. + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + + + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + The extend modes and interpolation mode of the new brush, or NULL. If this parameter is NULL, the brush defaults to the horizontal and vertical extend modes and the interpolation mode. + The opacity and transform of the new brush, or NULL. If this parameter is NULL, the brush defaults to an opacity of 1.0f and its transform is the identity matrix. + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Specifies how the brush horizontally tiles those areas that extend past its bitmap.

+
+

A value that specifies how the brush horizontally tiles those areas that extend past its bitmap.

+ +

Sometimes, the bitmap for a bitmap brush doesn't completely fill the area being painted. When this happens, Direct2D uses the brush's horizontal (SetExtendModeX) and vertical (SetExtendModeY) extend mode settings to determine how to fill the remaining area.

The following illustration shows the results from every possible combination of the extend modes for an : (CLAMP), (WRAP), and D2D1_EXTEND_MIRROR (MIRROR).

+
+ + dd371139 + void ID2D1BitmapBrush::SetExtendModeX([In] D2D1_EXTEND_MODE extendModeX) + ID2D1BitmapBrush::SetExtendModeX +
+ + +

Specifies how the brush vertically tiles those areas that extend past its bitmap.

+
+

A value that specifies how the brush vertically tiles those areas that extend past its bitmap.

+ +

Sometimes, the bitmap for a bitmap brush doesn't completely fill the area being painted. When this happens, Direct2D uses the brush's horizontal (SetExtendModeX) and vertical (SetExtendModeY) extend mode settings to determine how to fill the remaining area.

The following illustration shows the results from every possible combination of the extend modes for an : (CLAMP), (WRAP), and D2D1_EXTEND_MIRROR (MIRROR).

+
+ + dd371142 + void ID2D1BitmapBrush::SetExtendModeY([In] D2D1_EXTEND_MODE extendModeY) + ID2D1BitmapBrush::SetExtendModeY +
+ + +

Specifies the interpolation mode used when the brush bitmap is scaled or rotated.

+
+

The interpolation mode used when the brush bitmap is scaled or rotated.

+ +

This method sets the interpolation mode for a bitmap, which is an enum value that is specified in the enumeration type. represents nearest neighbor filtering. It looks up the nearest bitmap pixel to the current rendering pixel and chooses its exact color. represents linear filtering, and interpolates a color from the four nearest bitmap pixels.

The interpolation mode of a bitmap also affects subpixel translations. In a subpixel translation, bilinear interpolation positions the bitmap more precisely to the application requests, but blurs the bitmap in the process.

+
+ + dd371145 + void ID2D1BitmapBrush::SetInterpolationMode([In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode) + ID2D1BitmapBrush::SetInterpolationMode +
+ + +

Specifies the bitmap source that this brush uses to paint.

+
+

The bitmap source used by the brush.

+ +

This method specifies the bitmap source that this brush uses to paint. The bitmap is not resized or rescaled automatically to fit the geometry that it fills. The bitmap stays at its native size. To resize or translate the bitmap, use the SetTransform method to apply a transform to the brush.

The native size of a bitmap is the width and height in bitmap pixels, divided by the bitmap DPI. This native size forms the base tile of the brush. To tile a subregion of the bitmap, you must generate a new bitmap containing this subregion and use SetBitmap to apply it to the brush. +

+
+ + dd371136 + void ID2D1BitmapBrush::SetBitmap([In] ID2D1Bitmap* bitmap) + ID2D1BitmapBrush::SetBitmap +
+ + +

Gets the method by which the brush horizontally tiles those areas that extend past its bitmap.

+
+

A value that specifies how the brush horizontally tiles those areas that extend past its bitmap.

+ +

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

+
+ + dd371128 + D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeX() + ID2D1BitmapBrush::GetExtendModeX +
+ + +

Gets the method by which the brush vertically tiles those areas that extend past its bitmap.

+
+

A value that specifies how the brush vertically tiles those areas that extend past its bitmap.

+ +

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

+
+ + dd371132 + D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeY() + ID2D1BitmapBrush::GetExtendModeY +
+ + +

Gets the interpolation method used when the brush bitmap is scaled or rotated.

+
+

The interpolation method used when the brush bitmap is scaled or rotated.

+ +

This method gets the interpolation mode of a bitmap, which is specified by the enumeration type. represents nearest neighbor filtering. It looks up the bitmap pixel nearest to the current rendering pixel and chooses its exact color. represents linear filtering, and interpolates a color from the four nearest bitmap pixels.

The interpolation mode of a bitmap also affects subpixel translations. In a subpixel translation, linear interpolation positions the bitmap more precisely to the application request, but blurs the bitmap in the process.

+
+ + dd371134 + D2D1_BITMAP_INTERPOLATION_MODE ID2D1BitmapBrush::GetInterpolationMode() + ID2D1BitmapBrush::GetInterpolationMode +
+ + +

Gets the bitmap source that this brush uses to paint.

+
+

When this method returns, contains the address to a reference to the bitmap with which this brush paints.

+ + dd371124 + void ID2D1BitmapBrush::GetBitmap([Out] ID2D1Bitmap** bitmap) + ID2D1BitmapBrush::GetBitmap +
+ + +

Gets or sets the method by which the brush horizontally tiles those areas that extend past its bitmap.

+
+ +

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

+
+ + dd371128 + GetExtendModeX / SetExtendModeX + GetExtendModeX + D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeX() +
+ + +

Gets or sets the method by which the brush vertically tiles those areas that extend past its bitmap.

+
+ +

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

+
+ + dd371132 + GetExtendModeY / SetExtendModeY + GetExtendModeY + D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeY() +
+ + +

Gets or sets the interpolation method used when the brush bitmap is scaled or rotated.

+
+ +

This method gets the interpolation mode of a bitmap, which is specified by the enumeration type. represents nearest neighbor filtering. It looks up the bitmap pixel nearest to the current rendering pixel and chooses its exact color. represents linear filtering, and interpolates a color from the four nearest bitmap pixels.

The interpolation mode of a bitmap also affects subpixel translations. In a subpixel translation, linear interpolation positions the bitmap more precisely to the application request, but blurs the bitmap in the process.

+
+ + dd371134 + GetInterpolationMode / SetInterpolationMode + GetInterpolationMode + D2D1_BITMAP_INTERPOLATION_MODE ID2D1BitmapBrush::GetInterpolationMode() +
+ + +

Gets or sets the bitmap source that this brush uses to paint.

+
+ + dd371124 + GetBitmap / SetBitmap + GetBitmap + void ID2D1BitmapBrush::GetBitmap([Out] ID2D1Bitmap** bitmap) +
+ + +

Describes the pixel format and dpi of a bitmap.

+
+ + dd368075 + D2D1_BITMAP_PROPERTIES + D2D1_BITMAP_PROPERTIES +
+ + + Initializes a new instance of the struct. + + The pixel format. + + + + Initializes a new instance of the struct. + + The pixel format. + The dpi X. + The dpi Y. + + + +

The bitmap's pixel format and alpha mode.

+
+ + dd368075 + D2D1_PIXEL_FORMAT pixelFormat + D2D1_PIXEL_FORMAT pixelFormat +
+ + +

The horizontal dpi of the bitmap.

+
+ + dd368075 + float dpiX + float dpiX +
+ + +

The vertical dpi of the bitmap.

+
+ + dd368075 + float dpiY + float dpiY +
+ + +

Renders to an intermediate texture created by the CreateCompatibleRenderTarget method.

+
+ +

An writes to an intermediate texture. It's useful for creating patterns for use with an or caching drawing data that will be used repeatedly.

To write directly to a WIC bitmap instead, use the method. This method returns an that writes to the specified WIC bitmap. For an example, see the Save as Image File Sample.

Creating Objects

To create a bitmap render target, call the method.

Like other render targets, an is a device-dependent resource and must be recreated when the associated device becomes unavailable. For more information, see the Resources Overview.

+
+ + dd371146 + ID2D1BitmapRenderTarget + ID2D1BitmapRenderTarget +
+ + + Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target with same size, pixel size and pixel format. + + an instance of + A value that specifies whether the new render target must be compatible with GDI. + HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) + + + + Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target with same pixel size and pixel format. + + an instance of + A value that specifies whether the new render target must be compatible with GDI. + The desired size of the new render target in device-independent pixels if it should be different from the original render target. For more information, see the Remarks section. + HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) + + + + Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target with same size and pixel size. + + an instance of + The desired pixel format and alpha mode of the new render target. If the pixel format is set to DXGI_FORMAT_UNKNOWN, the new render target uses the same pixel format as the original render target. If the alpha mode is , the alpha mode of the new render target defaults to D2D1_ALPHA_MODE_PREMULTIPLIED. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + A value that specifies whether the new render target must be compatible with GDI. + HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) + + + + Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target. + + + The pixel size and DPI of the new render target can be altered by specifying values for desiredSize or desiredPixelSize: If desiredSize is specified but desiredPixelSize is not, the pixel size is computed from the desired size using the parent target DPI. If the desiredSize maps to a integer-pixel size, the DPI of the compatible render target is the same as the DPI of the parent target. If desiredSize maps to a fractional-pixel size, the pixel size is rounded up to the nearest integer and the DPI for the compatible render target is slightly higher than the DPI of the parent render target. In all cases, the coordinate (desiredSize.width, desiredSize.height) maps to the lower-right corner of the compatible render target.If the desiredPixelSize is specified and desiredSize is not, the DPI of the new render target is the same as the original render target.If both desiredSize and desiredPixelSize are specified, the DPI of the new render target is computed to account for the difference in scale.If neither desiredSize nor desiredPixelSize is specified, the new render target size and DPI match the original render target. + + an instance of + The desired size of the new render target in device-independent pixels if it should be different from the original render target. For more information, see the Remarks section. + The desired size of the new render target in pixels if it should be different from the original render target. For more information, see the Remarks section. + The desired pixel format and alpha mode of the new render target. If the pixel format is set to DXGI_FORMAT_UNKNOWN, the new render target uses the same pixel format as the original render target. If the alpha mode is , the alpha mode of the new render target defaults to D2D1_ALPHA_MODE_PREMULTIPLIED. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + A value that specifies whether the new render target must be compatible with GDI. + HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the bitmap for this render target. The returned bitmap can be used for drawing operations.

+
+

When this method returns, contains the address of a reference to the bitmap for this render target. This bitmap can be used for drawing operations.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The DPI for the obtained from GetBitmap will be the DPI of the when the render target was created. Changing the DPI of the by calling SetDpi doesn't affect the DPI of the bitmap, even if SetDpi is called before GetBitmap. Using SetDpi to change the DPI of the does affect how contents are rendered into the bitmap: it just doesn't affect the DPI of the bitmap retrieved by GetBitmap.

+
+ + dd371150 + HRESULT ID2D1BitmapRenderTarget::GetBitmap([Out] ID2D1Bitmap** bitmap) + ID2D1BitmapRenderTarget::GetBitmap +
+ + +

Retrieves the bitmap for this render target. The returned bitmap can be used for drawing operations.

+
+ +

The DPI for the obtained from GetBitmap will be the DPI of the when the render target was created. Changing the DPI of the by calling SetDpi doesn't affect the DPI of the bitmap, even if SetDpi is called before GetBitmap. Using SetDpi to change the DPI of the does affect how contents are rendered into the bitmap: it just doesn't affect the DPI of the bitmap retrieved by GetBitmap.

+
+ + dd371150 + GetBitmap + GetBitmap + HRESULT ID2D1BitmapRenderTarget::GetBitmap([Out] ID2D1Bitmap** bitmap) +
+ + + Default abstract implementation of TextRenderer. Need to implement a least a DrawXXX method to use it. + + + + + Determines whether pixel snapping is disabled. The recommended default is FALSE, + unless doing animation that requires subpixel vertical placement. + + The context passed to IDWriteTextLayout::Draw. + Receives TRUE if pixel snapping is disabled or FALSE if it not. + HRESULT IsPixelSnappingDisabled([None] void* clientDrawingContext,[Out] BOOL* isDisabled) + + + + Gets a transform that maps abstract coordinates to DIPs. + + The drawing context passed to . + a structure which has transform information for pixel snapping. + HRESULT GetCurrentTransform([None] void* clientDrawingContext,[Out] DWRITE_MATRIX* transform) + + + + Gets the number of physical pixels per DIP. + + + Because a DIP (device-independent pixel) is 1/96 inch, the pixelsPerDip value is the number of logical pixels per inch divided by 96. + + The drawing context passed to . + the number of physical pixels per DIP + HRESULT GetPixelsPerDip([None] void* clientDrawingContext,[Out] FLOAT* pixelsPerDip) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to render a run of glyphs. + + + The function calls this callback function with all the information about glyphs to render. The application implements this callback by mostly delegating the call to the underlying platform's graphics API such as {{Direct2D}} to draw glyphs on the drawing context. An application that uses GDI can implement this callback in terms of the method. + + The application-defined drawing context passed to . + The pixel location (X-coordinate) at the baseline origin of the glyph run. + The pixel location (Y-coordinate) at the baseline origin of the glyph run. + The measuring method for glyphs in the run, used with the other properties to determine the rendering mode. + Pointer to the glyph run instance to render. + A pointer to the optional glyph run description instance which contains properties of the characters associated with this run. + Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of text. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawGlyphRun([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to draw an underline. + + + A single underline can be broken into multiple calls, depending on how the formatting changes attributes. If font sizes/styles change within an underline, the thickness and offset will be averaged weighted according to characters. To get an appropriate starting pixel position, add underline::offset to the baseline. Otherwise there will be no spacing between the text. The x coordinate will always be passed as the left side, regardless of text directionality. This simplifies drawing and reduces the problem of round-off that could potentially cause gaps or a double stamped alpha blend. To avoid alpha overlap, round the end points to the nearest device pixel. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + The pixel location (X-coordinate) at the baseline origin of the run where underline applies. + The pixel location (Y-coordinate) at the baseline origin of the run where underline applies. + Pointer to a structure containing underline logical information. + Application-defined effect to apply to the underline. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawUnderline([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_UNDERLINE* underline,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to draw a strikethrough. + + + A single strikethrough can be broken into multiple calls, depending on how the formatting changes attributes. Strikethrough is not averaged across font sizes/styles changes. To get an appropriate starting pixel position, add strikethrough::offset to the baseline. Like underlines, the x coordinate will always be passed as the left side, regardless of text directionality. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + The pixel location (X-coordinate) at the baseline origin of the run where strikethrough applies. + The pixel location (Y-coordinate) at the baseline origin of the run where strikethrough applies. + Pointer to a structure containing strikethrough logical information. + Application-defined effect to apply to the strikethrough. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawStrikethrough([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_STRIKETHROUGH* strikethrough,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this application callback when it needs to draw an inline object. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + X-coordinate at the top-left corner of the inline object. + Y-coordinate at the top-left corner of the inline object. + The application-defined inline object set using IDWriteTextFormat::SetInlineObject. + A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. + A Boolean flag that indicates whether the object is in a right-to-left context, hinting that the drawing may want to mirror the normal image. + Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawInlineObject([None] void* clientDrawingContext,[None] FLOAT originX,[None] FLOAT originY,[None] IDWriteInlineObject* inlineObject,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + + Internal TextRenderer Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT DrawGlyphRun([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[None] IUnknown* clientDrawingEffect) + + + HRESULT DrawUnderline([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_UNDERLINE* underline,[None] IUnknown* clientDrawingEffect) + + + HRESULT DrawStrikethrough([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_STRIKETHROUGH* strikethrough,[None] IUnknown* clientDrawingEffect) + + + HRESULT DrawInlineObject([None] void* clientDrawingContext,[None] FLOAT originX,[None] FLOAT originY,[None] IDWriteInlineObject* inlineObject,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + +

Gets the number of OpenType font features for the current font.

+
+ +

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

+
+ + dd371549 + IDWriteTypography + IDWriteTypography +
+ + + Creates a typography object for use in a text layout. + + an instance of + HRESULT IDWriteFactory::CreateTypography([Out] IDWriteTypography** typography) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Adds an OpenType font feature.

+
+

A structure that contains the OpenType name identifier and the execution parameter for the font feature being added.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371545 + HRESULT IDWriteTypography::AddFontFeature([In] DWRITE_FONT_FEATURE fontFeature) + IDWriteTypography::AddFontFeature +
+ + +

Gets the number of OpenType font features for the current font.

+
+

The number of font features for the current text format.

+ +

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

+
+ + dd371549 + unsigned int IDWriteTypography::GetFontFeatureCount() + IDWriteTypography::GetFontFeatureCount +
+ + +

Gets the font feature at the specified index.

+
+

The zero-based index of the font feature to retrieve.

+

When this method returns, contains the font feature which is at the specified index.

+ +

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

+
+ + dd371546 + HRESULT IDWriteTypography::GetFontFeature([In] unsigned int fontFeatureIndex,[Out] DWRITE_FONT_FEATURE* fontFeature) + IDWriteTypography::GetFontFeature +
+ + +

Gets the number of OpenType font features for the current font.

+
+ +

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

+
+ + dd371549 + GetFontFeatureCount + GetFontFeatureCount + unsigned int IDWriteTypography::GetFontFeatureCount() +
+ + +

Contains the center point, x-radius, and y-radius of an ellipse.

+
+ + dd368097 + D2D1_ELLIPSE + D2D1_ELLIPSE +
+ + + Initializes a new instance of the struct. + + The center. + The radius X. + The radius Y. + + + +

The center point of the ellipse.

+
+ + dd368097 + D2D_POINT_2F point + D2D_POINT_2F point +
+ + +

The X-radius of the ellipse.

+
+ + dd368097 + float radiusX + float radiusX +
+ + +

The Y-radius of the ellipse.

+
+ + dd368097 + float radiusY + float radiusY +
+ + +

Provides access to an device context that can accept GDI drawing commands.

+
+ +

You don't create an object directly; instead, you use the QueryInterface method of an existing render target instance to provide an version of that render target.

Not all render targets support the interface. The render target must be GDI-compatible (the flag was specified when creating the render target), use the pixel format, and use the or alpha mode.

Note that the QueryInterface method always succeeds; if the render target doesn't support the interface, calling GetDC will fail. (For render targets created through the CreateCompatibleRenderTarget method, the render target that created it must have these settings.)

To test whether a given render target supports the interface, create a that specifies GDI compatibility and the appropriate pixel format, then call the render target's IsSupported method to see whether the render target is GDI-compatible.

+
+ + dd371321 + ID2D1GdiInteropRenderTarget + ID2D1GdiInteropRenderTarget +
+ + + Indicates that drawing with the device context retrieved using the {{GetDC}} method is finished. + + + ReleaseDC must be called once for each call to {{GetDC}}. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT ID2D1GdiInteropRenderTarget::ReleaseDC([In, Optional] const RECT* update) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the device context associated with this render target.

+
+

A value that specifies whether the device context should be cleared.

+

When this method returns, contains the device context associated with this render target. You must allocate storage for this parameter.

+ +

Calling this method flushes the render target.

This command can be called only after BeginDraw and before EndDraw. It should not be called between PushAxisAlignedClip/PopAxisAlignedClip commands or between PushLayer/PopLayer.

ReleaseDC must be called once for each call to GetDC.

+
+ + dd371323 + HRESULT ID2D1GdiInteropRenderTarget::GetDC([In] D2D1_DC_INITIALIZE_MODE mode,[Out] HDC* hdc) + ID2D1GdiInteropRenderTarget::GetDC +
+ + +

Indicates that drawing with the device context retrieved using the GetDC method is finished.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

ReleaseDC must be called once for each call to GetDC.

+
+ + dd371327 + HRESULT ID2D1GdiInteropRenderTarget::ReleaseDC([In, Optional] const RECT* update) + ID2D1GdiInteropRenderTarget::ReleaseDC +
+ + +

Indicates the condition at the edges of inline object or text used to determine line-breaking behavior.

+
+ + dd368051 + DWRITE_BREAK_CONDITION + DWRITE_BREAK_CONDITION +
+ + +

Indicates whether a break is allowed by determining the condition of the neighboring text span or inline object.

+
+ + dd368051 + DWRITE_BREAK_CONDITION_NEUTRAL + DWRITE_BREAK_CONDITION_NEUTRAL +
+ + +

Indicates that a line break is allowed, unless overruled by the condition of the neighboring text span or inline object, either prohibited by a "may not break" condition or forced by a "must break" condition.

+
+ + dd368051 + DWRITE_BREAK_CONDITION_CAN_BREAK + DWRITE_BREAK_CONDITION_CAN_BREAK +
+ + +

Indicates that there should be no line break, unless overruled by a "must break" condition from the neighboring text span or inline object.

+
+ + dd368051 + DWRITE_BREAK_CONDITION_MAY_NOT_BREAK + DWRITE_BREAK_CONDITION_MAY_NOT_BREAK +
+ + +

Indicates that the line break must happen, regardless of the condition of the adjacent text span or inline object.

+
+ + dd368051 + DWRITE_BREAK_CONDITION_MUST_BREAK + DWRITE_BREAK_CONDITION_MUST_BREAK +
+ + +

Specifies the type of DirectWrite factory object.

+
+ +

A DirectWrite factory object contains information about its internal state, such as font loader registration and cached font data. In most cases you should use the shared factory object, because it allows multiple components that use DirectWrite to share internal DirectWrite state information, thereby reducing memory usage. However, there are cases when it is desirable to reduce the impact of a component on the rest of the process, such as a plug-in from an untrusted source, by sandboxing and isolating it from the rest of the process components. In such cases, you should use an isolated factory for the sandboxed component.

+
+ + dd368057 + DWRITE_FACTORY_TYPE + DWRITE_FACTORY_TYPE +
+ + +

Indicates that the DirectWrite factory is a shared factory and that it allows for the reuse of cached font data across multiple in-process components. Such factories also take advantage of cross process font caching components for better performance.

+
+ + dd368057 + DWRITE_FACTORY_TYPE_SHARED + DWRITE_FACTORY_TYPE_SHARED +
+ + +

Indicates that the DirectWrite factory object is isolated. Objects created from the isolated factory do not interact with internal DirectWrite state from other components.

+
+ + dd368057 + DWRITE_FACTORY_TYPE_ISOLATED + DWRITE_FACTORY_TYPE_ISOLATED +
+ + +

Indicates the direction of flow for placing lines of text in a paragraph.

+
+ + dd368060 + DWRITE_FLOW_DIRECTION + DWRITE_FLOW_DIRECTION +
+ + +

Specifies that text lines are placed from top to bottom.

+
+ + dd368060 + DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM + DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM +
+ + +

Indicates the file format of a complete font face.

+
+ +

Font formats that consist of multiple files, such as Type 1 .PFM and .PFB, have a single enum entry.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE + DWRITE_FONT_FACE_TYPE +
+ + +

OpenType font face with CFF outlines.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_CFF + DWRITE_FONT_FACE_TYPE_CFF +
+ + +

OpenType font face with TrueType outlines.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_TRUETYPE + DWRITE_FONT_FACE_TYPE_TRUETYPE +
+ + +

OpenType font face that is a part of a TrueType collection.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION + DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION +
+ + +

A Type 1 font face.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_TYPE1 + DWRITE_FONT_FACE_TYPE_TYPE1 +
+ + +

A vector .FON format font face.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_VECTOR + DWRITE_FONT_FACE_TYPE_VECTOR +
+ + +

A bitmap .FON format font face.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_BITMAP + DWRITE_FONT_FACE_TYPE_BITMAP +
+ + +

Font face type is not recognized by the DirectWrite font system.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_UNKNOWN + DWRITE_FONT_FACE_TYPE_UNKNOWN +
+ + +

A value that indicates the typographic feature of text supplied by the font.

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG + DWRITE_FONT_FEATURE_TAG +
+ + +

Replaces figures separated by a slash with an alternative form.

Equivalent OpenType tag: 'afrc'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS + DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS +
+ + +

Turns capital characters into petite capitals. It is generally used for words which would otherwise be set in all caps, such as acronyms, but which are desired in petite-cap form to avoid disrupting the flow of text. See the pcap feature description for notes on the relationship of caps, smallcaps and petite caps.

Equivalent OpenType tag: 'c2pc'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS +
+ + +

Turns capital characters into small capitals. It is generally used for words which would otherwise be set in all caps, such as acronyms, but which are desired in small-cap form to avoid disrupting the flow of text.

Equivalent OpenType tag: 'c2sc'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS +
+ + +

In specified situations, replaces default glyphs with alternate forms which provide better joining behavior. Used in script typefaces which are designed to have some or all of their glyphs join.

Equivalent OpenType tag: 'calt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES +
+ + +

Shifts various punctuation marks up to a position that works better with all-capital sequences or sets of lining figures; also changes oldstyle figures to lining figures. By default, glyphs in a text face are designed to work with lowercase characters. Some characters should be shifted vertically to fit the higher visual center of all-capital or lining text. Also, lining figures are the same height (or close to it) as capitals, and fit much better with all-capital text.

Equivalent OpenType tag: 'case'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS + DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS +
+ + +

To minimize the number of glyph alternates, it is sometimes desired to decompose a character into two glyphs. Additionally, it may be preferable to compose two characters into a single glyph for better glyph processing. This feature permits such composition/decomposition. The feature should be processed as the first feature processed, and should be processed only when it is called.

Equivalent OpenType tag: 'ccmp'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION + DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION +
+ + +

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. Unlike other ligature features, clig specifies the context in which the ligature is recommended. This capability is important in some script designs and for swash ligatures.

Equivalent OpenType tag: 'clig'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES +
+ + +

Globally adjusts inter-glyph spacing for all-capital text. Most typefaces contain capitals and lowercase characters, and the capitals are positioned to work with the lowercase. When capitals are used for words, they need more space between them for legibility and esthetics. This feature would not apply to monospaced designs. Of course the user may want to override this behavior in order to do more pronounced letterspacing for esthetic reasons.

Equivalent OpenType tag: 'cpsp'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING + DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING +
+ + +

Replaces default character glyphs with corresponding swash glyphs in a specified context. Note that there may be more than one swash alternate for a given character.

Equivalent OpenType tag: 'cswh'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH +
+ + +

In cursive scripts like Arabic, this feature cursively positions adjacent glyphs.

Equivalent OpenType tag: 'curs'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING + DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING +
+ + +

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers those ligatures which may be used for special effect, at the user's preference.

Equivalent OpenType tag: 'dlig'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_DEFAULT + DWRITE_FONT_FEATURE_TAG_DEFAULT +
+ + +

Replaces standard forms in Japanese fonts with corresponding forms preferred by typographers. For example, a user would invoke this feature to replace kanji character U+5516 with U+555E. +

Equivalent OpenType tag: 'expt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES + DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES +
+ + +

Replaces figures separated by a slash with 'common' (diagonal) fractions.

Equivalent OpenType tag: 'frac'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS + DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS +
+ + +

Replaces glyphs set on other widths with glyphs set on full (usually em) widths. In a CJKV font, this may include "lower ASCII" Latin characters and various symbols. In a European font, this feature replaces proportionally-spaced glyphs with monospaced glyphs, which are generally set on widths of 0.6 em. For example, a user may invoke this feature in a Japanese font to get full monospaced Latin glyphs instead of the corresponding proportionally-spaced versions.

Equivalent OpenType tag: 'fwid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_FRACTIONS + DWRITE_FONT_FEATURE_TAG_FRACTIONS +
+ + +

Produces the half forms of consonants in Indic scripts. For example, in Hindi (Devanagari script), the conjunct KKa, obtained by doubling the Ka, is denoted with a half form of Ka followed by the full form.

Equivalent OpenType tag: 'half'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_FULL_WIDTH + DWRITE_FONT_FEATURE_TAG_FULL_WIDTH +
+ + +

Produces the halant forms of consonants in Indic scripts. For example, in Sanskrit (Devanagari script), syllable final consonants are frequently required in their halant form.

Equivalent OpenType tag: 'haln'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HALF_FORMS + DWRITE_FONT_FEATURE_TAG_HALF_FORMS +
+ + +

Respaces glyphs designed to be set on full-em widths, fitting them onto half-em widths. This differs from hwid in that it does not substitute new glyphs.

Equivalent OpenType tag: 'halt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HALANT_FORMS + DWRITE_FONT_FEATURE_TAG_HALANT_FORMS +
+ + +

Replaces the default (current) forms with the historical alternates. While some ligatures are also used for historical effect, this feature deals only with single characters. Some fonts include the historical forms as alternates, so they can be used for a 'period' effect.

Equivalent OpenType tag: 'hist'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH + DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH +
+ + +

Replaces standard kana with forms that have been specially designed for only horizontal writing. This is a typographic optimization for improved fit and more even color.

Equivalent OpenType tag: 'hkna'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS + DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS +
+ + +

Replaces the default (current) forms with the historical alternates. Some ligatures were in common use in the past, but appear anachronistic today. Some fonts include the historical forms as alternates, so they can be used for a 'period' effect.

Equivalent OpenType tag: 'hlig'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES + DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES +
+ + +

Replaces glyphs on proportional widths, or fixed widths other than half an em, with glyphs on half-em (en) widths. Many CJKV fonts have glyphs which are set on multiple widths; this feature selects the half-em version. There are various contexts in which this is the preferred behavior, including compatibility with older desktop documents.

Equivalent OpenType tag: 'hwid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES + DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES +
+ + +

Used to access the JIS X 0212-1990 glyphs for the cases when the JIS X 0213:2004 form is encoded. The JIS X 0212-1990 (aka, "Hojo Kanji") and JIS X 0213:2004 character sets overlap significantly. In some cases their prototypical glyphs differ. When building fonts that support both JIS X 0212-1990 and JIS X 0213:2004 (such as those supporting the Adobe-Japan 1-6 character collection), it is recommended that JIS X 0213:2004 forms be the preferred encoded form.

Equivalent OpenType tag: 'hojo'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HALF_WIDTH + DWRITE_FONT_FEATURE_TAG_HALF_WIDTH +
+ + +

The National Language Council (NLC) of Japan has defined new glyph shapes for a number of JIS characters, which were incorporated into JIS X 0213:2004 as new prototypical forms. The 'jp04' feature is A subset of the 'nlck' feature, and is used to access these prototypical glyphs in a manner that maintains the integrity of JIS X 0213:2004.

Equivalent OpenType tag: 'jp04'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS + DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS +
+ + +

Replaces default (JIS90) Japanese glyphs with the corresponding forms from the JIS C 6226-1978 (JIS78) specification.

Equivalent OpenType tag: 'jp78'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_JIS04_FORMS + DWRITE_FONT_FEATURE_TAG_JIS04_FORMS +
+ + +

Replaces default (JIS90) Japanese glyphs with the corresponding forms from the JIS X 0208-1983 (JIS83) specification.

Equivalent OpenType tag: 'jp83'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_JIS78_FORMS + DWRITE_FONT_FEATURE_TAG_JIS78_FORMS +
+ + +

Replaces Japanese glyphs from the JIS78 or JIS83 specifications with the corresponding forms from the JIS X 0208-1990 (JIS90) specification.

Equivalent OpenType tag: 'jp90'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_JIS83_FORMS + DWRITE_FONT_FEATURE_TAG_JIS83_FORMS +
+ + +

Adjusts amount of space between glyphs, generally to provide optically consistent spacing between glyphs. Although a well-designed typeface has consistent inter-glyph spacing overall, some glyph combinations require adjustment for improved legibility. Besides standard adjustment in the horizontal direction, this feature can supply size-dependent kerning data via device tables, "cross-stream" kerning in the Y text direction, and adjustment of glyph placement independent of the advance adjustment. Note that this feature may apply to runs of more than two glyphs, and would not be used in monospaced fonts. Also note that this feature does not apply to text set vertically.

Equivalent OpenType tag: 'kern'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_JIS90_FORMS + DWRITE_FONT_FEATURE_TAG_JIS90_FORMS +
+ + +

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers the ligatures which the designer/manufacturer judges should be used in normal conditions.

Equivalent OpenType tag: 'liga'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_KERNING + DWRITE_FONT_FEATURE_TAG_KERNING +
+ + +

Changes selected figures from oldstyle to the default lining form. For example, a user may invoke this feature in order to get lining figures, which fit better with all-capital text. This feature overrides results of the Oldstyle Figures feature (onum).

Equivalent OpenType tag: 'lnum'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES + DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES +
+ + +

Enables localized forms of glyphs to be substituted for default forms. Many scripts used to write multiple languages over wide geographical areas have developed localized variant forms of specific letters, which are used by individual literary communities. For example, a number of letters in the Bulgarian and Serbian alphabets have forms distinct from their Russian counterparts and from each other. In some cases the localized form differs only subtly from the script 'norm', in others the forms are radically distinct.

Equivalent OpenType tag: 'locl'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_LINING_FIGURES + DWRITE_FONT_FEATURE_TAG_LINING_FIGURES +
+ + +

Positions mark glyphs with respect to base glyphs. For example, in Arabic script positioning the Hamza above the Yeh.

Equivalent OpenType tag: 'mark'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS + DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS +
+ + +

Replaces standard typographic forms of Greek glyphs with corresponding forms commonly used in mathematical notation (which are a subset of the Greek alphabet).

Equivalent OpenType tag: 'mgrk'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING + DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING +
+ + +

Positions marks with respect to other marks. Required in various non-Latin scripts like Arabic. For example, in Arabic, the ligaturised mark Ha with Hamza above it can also be obtained by positioning these marks relative to one another.

Equivalent OpenType tag: 'mkmk'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK + DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK +
+ + +

Replaces default glyphs with various notational forms (such as glyphs placed in open or solid circles, squares, parentheses, diamonds or rounded boxes). In some cases an annotation form may already be present, but the user may want a different one.

Equivalent OpenType tag: 'nalt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING + DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING +
+ + +

Used to access glyphs made from glyph shapes defined by the National Language Council (NLC) of Japan for a number of JIS characters in 2000.

Equivalent OpenType tag: 'nlck'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS + DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS +
+ + +

Changes selected figures from the default lining style to oldstyle form. For example, a user may invoke this feature to get oldstyle figures, which fit better into the flow of normal upper- and lowercase text. This feature overrides results of the Lining Figures feature (lnum).

Equivalent OpenType tag: 'onum'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS + DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS +
+ + +

Replaces default alphabetic glyphs with the corresponding ordinal forms for use after figures. One exception to the follows-a-figure rule is the numero character (U+2116), which is actually a ligature substitution, but is best accessed through this feature.

Equivalent OpenType tag: 'ordn'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES + DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES +
+ + +

Respaces glyphs designed to be set on full-em widths, fitting them onto individual (more or less proportional) horizontal widths. This differs from pwid in that it does not substitute new glyphs (GPOS, not GSUB feature). The user may prefer the monospaced form, or may simply want to ensure that the glyph is well-fit and not rotated in vertical setting (Latin forms designed for proportional spacing would be rotated).

Equivalent OpenType tag: 'palt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_ORDINALS + DWRITE_FONT_FEATURE_TAG_ORDINALS +
+ + +

Turns lowercase characters into petite capitals. Forms related to petite capitals, such as specially designed figures, may be included. Some fonts contain an additional size of capital letters, shorter than the regular smallcaps and it is referred to as petite caps. Such forms are most likely to be found in designs with a small lowercase x-height, where they better harmonise with lowercase text than the taller smallcaps (for examples of petite caps, see the Emigre type families Mrs Eaves and Filosofia).

Equivalent OpenType tag: 'pcap'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH +
+ + +

Replaces figure glyphs set on uniform (tabular) widths with corresponding glyphs set on glyph-specific (proportional) widths. Tabular widths will generally be the default, but this cannot be safely assumed. Of course this feature would not be present in monospaced designs.

Equivalent OpenType tag: 'pnum'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS +
+ + +

Replaces glyphs set on uniform widths (typically full or half-em) with proportionally spaced glyphs. The proportional variants are often used for the Latin characters in CJKV fonts, but may also be used for Kana in Japanese fonts.

Equivalent OpenType tag: 'pwid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES +
+ + +

Replaces glyphs on other widths with glyphs set on widths of one quarter of an em (half an en). The characters involved are normally figures and some forms of punctuation.

Equivalent OpenType tag: 'qwid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS +
+ + +

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers those ligatures, which the script determines as required to be used in normal conditions. This feature is important for some scripts to ensure correct glyph formation.

Equivalent OpenType tag: 'rlig'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS + DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS +
+ + +

Identifies glyphs in the font which have been designed for "ruby", from the old typesetting term for four-point-sized type. Japanese typesetting often uses smaller kana glyphs, generally in superscripted form, to clarify the meaning of kanji which may be unfamiliar to the reader.

Equivalent OpenType tag: 'ruby'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES + DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES +
+ + +

Replaces the default forms with the stylistic alternates. Many fonts contain alternate glyph designs for a purely esthetic effect; these don't always fit into a clear category like swash or historical. As in the case of swash glyphs, there may be more than one alternate form.

Equivalent OpenType tag: 'salt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS + DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS +
+ + +

Replaces lining or oldstyle figures with inferior figures (smaller glyphs which sit lower than the standard baseline, primarily for chemical or mathematical notation). May also replace lowercase characters with alphabetic inferiors.

Equivalent OpenType tag: 'sinf'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES + DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES +
+ + +

Turns lowercase characters into small capitals. This corresponds to the common SC font layout. It is generally used for display lines set in Large & small caps, such as titles. Forms related to small capitals, such as oldstyle figures, may be included.

Equivalent OpenType tag: 'smcp'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS + DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS +
+ + +

Replaces 'traditional' Chinese or Japanese forms with the corresponding 'simplified' forms.

Equivalent OpenType tag: 'smpl'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS +
+ + +

In addition to, or instead of, stylistic alternatives of individual glyphs (see 'salt' feature), some fonts may contain sets of stylistic variant glyphs corresponding to portions of the character set, such as multiple variants for lowercase letters in a Latin font. Glyphs in stylistic sets may be designed to harmonise visually, interract in particular ways, or otherwise work together. Examples of fonts including stylistic sets are Zapfino Linotype and Adobe's Poetica. Individual features numbered sequentially with the tag name convention 'ss01' 'ss02' 'ss03' . 'ss20' provide a mechanism for glyphs in these sets to be associated via GSUB lookup indexes to default forms and to each other, and for users to select from available stylistic sets

Equivalent OpenType tag: 'ss01'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS + DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS +
+ + +

See the description for .

Equivalent OpenType tag: 'ss02'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss03'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss04'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss05'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss06'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss07'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss08'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss09'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss10'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss11'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss12'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss13'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss14'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss15'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss16'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss17'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss18'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss19'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss20'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 +
+ + +

May replace a default glyph with a subscript glyph, or it may combine a glyph substitution with positioning adjustments for proper placement.

Equivalent OpenType tag: 'subs'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 +
+ + +

Replaces lining or oldstyle figures with superior figures (primarily for footnote indication), and replaces lowercase letters with superior letters (primarily for abbreviated French titles).

Equivalent OpenType tag: 'sups'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SUBSCRIPT + DWRITE_FONT_FEATURE_TAG_SUBSCRIPT +
+ + +

Replaces default character glyphs with corresponding swash glyphs. Note that there may be more than one swash alternate for a given character.

Equivalent OpenType tag: 'swsh'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT + DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT +
+ + +

Replaces the default glyphs with corresponding forms designed specifically for titling. These may be all-capital and/or larger on the body, and adjusted for viewing at larger sizes.

Equivalent OpenType tag: 'titl'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SWASH + DWRITE_FONT_FEATURE_TAG_SWASH +
+ + +

Replaces 'simplified' Japanese kanji forms with the corresponding 'traditional' forms. This is equivalent to the Traditional Forms feature, but explicitly limited to the traditional forms considered proper for use in personal names (as many as 205 glyphs in some fonts).

Equivalent OpenType tag: 'tnam'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_TITLING + DWRITE_FONT_FEATURE_TAG_TITLING +
+ + +

Replaces figure glyphs set on proportional widths with corresponding glyphs set on uniform (tabular) widths. Tabular widths will generally be the default, but this cannot be safely assumed. Of course this feature would not be present in monospaced designs.

Equivalent OpenType tag: 'tnum'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS +
+ + +

Replaces 'simplified' Chinese hanzi or Japanese kanji forms with the corresponding 'traditional' forms.

Equivalent OpenType tag: 'trad'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES + DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES +
+ + +

Replaces glyphs on other widths with glyphs set on widths of one third of an em. The characters involved are normally figures and some forms of punctuation.

Equivalent OpenType tag: 'twid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS +
+ + +

Maps upper- and lowercase letters to a mixed set of lowercase and small capital forms, resulting in a single case alphabet (for an example of unicase, see the Emigre type family Filosofia). The letters substituted may vary from font to font, as appropriate to the design. If aligning to the x-height, smallcap glyphs may be substituted, or specially designed unicase forms might be used. Substitutions might also include specially designed figures. +

Equivalent OpenType tag: 'unic'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS + DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS +
+ + +

Allows the user to change from the default 0 to a slashed form. Some fonts contain both a default form of zero, and an alternative form which uses a diagonal slash through the counter. Especially in condensed designs, it can be difficult to distinguish between 0 and O (zero and capital O) in any situation where capitals and lining figures may be arbitrarily mixed.

Equivalent OpenType tag: 'zero'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_UNICASE + DWRITE_FONT_FEATURE_TAG_UNICASE +
+ + + No documentation. + + + DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO + DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO + + + +

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.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE + DWRITE_FONT_FILE_TYPE +
+ + +

Font type is not recognized by the DirectWrite font system.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_UNKNOWN + DWRITE_FONT_FILE_TYPE_UNKNOWN +
+ + +

OpenType font with CFF outlines.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_CFF + DWRITE_FONT_FILE_TYPE_CFF +
+ + +

OpenType font with TrueType outlines.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_TRUETYPE + DWRITE_FONT_FILE_TYPE_TRUETYPE +
+ + +

OpenType font that contains a TrueType collection.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION + DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION +
+ + +

Type 1 PFM font.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_TYPE1_PFM + DWRITE_FONT_FILE_TYPE_TYPE1_PFM +
+ + +

Type 1 PFB font.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_TYPE1_PFB + DWRITE_FONT_FILE_TYPE_TYPE1_PFB +
+ + +

Vector .FON font.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_VECTOR + DWRITE_FONT_FILE_TYPE_VECTOR +
+ + +

Bitmap .FON font.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_BITMAP + DWRITE_FONT_FILE_TYPE_BITMAP +
+ + +

Specifies algorithmic style simulations to be applied to the font face. Bold and oblique simulations can be combined via bitwise OR operation.

+
+ +

Style simulations are not recommended for good typographic quality.

+
+ + dd368076 + DWRITE_FONT_SIMULATIONS + DWRITE_FONT_SIMULATIONS +
+ + +

Indicates that no simulations are applied to the font face.

+
+ + dd368076 + DWRITE_FONT_SIMULATIONS_NONE + DWRITE_FONT_SIMULATIONS_NONE +
+ + +

Indicates that algorithmic emboldening is applied to the font face. increases weight by applying a widening algorithm to the glyph outline. This may be used to simulate a bold weight where no designed bold weight is available.

+
+ + dd368076 + DWRITE_FONT_SIMULATIONS_BOLD + DWRITE_FONT_SIMULATIONS_BOLD +
+ + +

Indicates that algorithmic italicization is applied to the font face. applies obliquing (shear) to the glyph outline. This may be used to simulate an oblique/italic style where no designed oblique/italic style is available.

+
+ + dd368076 + DWRITE_FONT_SIMULATIONS_OBLIQUE + DWRITE_FONT_SIMULATIONS_OBLIQUE +
+ + +

Represents the degree to which a font has been stretched compared to a font's normal aspect ratio. The enumerated values correspond to the usWidthClass definition in the OpenType specification. The usWidthClass represents an integer value between 1 and 9?lower values indicate narrower widths; higher values indicate wider widths.

+
+ +

A font stretch describes the degree to which a font form is stretched from its normal aspect ratio, which is the original width to height ratio specified for the glyphs in the font. + The following illustration shows an example of Normal and Condensed stretches for the Rockwell Bold typeface.

Note??Values other than the ones defined in the enumeration are considered to be invalid, and are rejected by font API functions.

+
+ + dd368078 + DWRITE_FONT_STRETCH + DWRITE_FONT_STRETCH +
+ + +

Predefined font stretch : Not known (0).

+
+ + dd368078 + DWRITE_FONT_STRETCH_UNDEFINED + DWRITE_FONT_STRETCH_UNDEFINED +
+ + +

Predefined font stretch : Ultra-condensed (1).

+
+ + dd368078 + DWRITE_FONT_STRETCH_ULTRA_CONDENSED + DWRITE_FONT_STRETCH_ULTRA_CONDENSED +
+ + +

Predefined font stretch : Extra-condensed (2).

+
+ + dd368078 + DWRITE_FONT_STRETCH_EXTRA_CONDENSED + DWRITE_FONT_STRETCH_EXTRA_CONDENSED +
+ + +

Predefined font stretch : Condensed (3).

+
+ + dd368078 + DWRITE_FONT_STRETCH_CONDENSED + DWRITE_FONT_STRETCH_CONDENSED +
+ + +

Predefined font stretch : Semi-condensed (4).

+
+ + dd368078 + DWRITE_FONT_STRETCH_SEMI_CONDENSED + DWRITE_FONT_STRETCH_SEMI_CONDENSED +
+ + +

Predefined font stretch : Normal (5).

+
+ + dd368078 + DWRITE_FONT_STRETCH_NORMAL + DWRITE_FONT_STRETCH_NORMAL +
+ + +

Predefined font stretch : Medium (5).

+
+ + dd368078 + DWRITE_FONT_STRETCH_MEDIUM + DWRITE_FONT_STRETCH_MEDIUM +
+ + +

Predefined font stretch : Semi-expanded (6).

+
+ + dd368078 + DWRITE_FONT_STRETCH_SEMI_EXPANDED + DWRITE_FONT_STRETCH_SEMI_EXPANDED +
+ + +

Predefined font stretch : Expanded (7).

+
+ + dd368078 + DWRITE_FONT_STRETCH_EXPANDED + DWRITE_FONT_STRETCH_EXPANDED +
+ + +

Predefined font stretch : Extra-expanded (8).

+
+ + dd368078 + DWRITE_FONT_STRETCH_EXTRA_EXPANDED + DWRITE_FONT_STRETCH_EXTRA_EXPANDED +
+ + +

Predefined font stretch : Ultra-expanded (9).

+
+ + dd368078 + DWRITE_FONT_STRETCH_ULTRA_EXPANDED + DWRITE_FONT_STRETCH_ULTRA_EXPANDED +
+ + +

Represents the style of a font face as normal, italic, or oblique.

+
+ +

Three terms categorize the slant of a font: normal, italic, and oblique.

Font styleDescription
NormalThe characters in a normal, or roman, font are upright. +
Italic + The characters in an italic font are truly slanted and appear as they were designed. +
ObliqueThe characters in an oblique font are artificially slanted.

?

For Oblique, the slant is achieved by performing a shear transformation on the characters from a normal font. When a true italic font is not available on a computer or printer, an oblique style can be generated from the normal font and used to simulate an italic font. The following illustration shows the normal, italic, and oblique font styles for the Palatino Linotype font. Notice how the italic font style has a more flowing and visually appealing appearance than the oblique font style, which is simply created by skewing the normal font style version of the text.

Note?? Values other than the ones defined in the enumeration are considered to be invalid, and they are rejected by font API functions.

+
+ + dd368080 + DWRITE_FONT_STYLE + DWRITE_FONT_STYLE +
+ + +

Font style : Normal.

+
+ + dd368080 + DWRITE_FONT_STYLE_NORMAL + DWRITE_FONT_STYLE_NORMAL +
+ + +

Font style : Oblique.

+
+ + dd368080 + DWRITE_FONT_STYLE_OBLIQUE + DWRITE_FONT_STYLE_OBLIQUE +
+ + +

Font style : Italic.

+
+ + dd368080 + DWRITE_FONT_STYLE_ITALIC + DWRITE_FONT_STYLE_ITALIC +
+ + +

Represents the density of a typeface, in terms of the lightness or heaviness of the strokes. The enumerated values correspond to the usWeightClass definition in the OpenType specification. The usWeightClass represents an integer value between 1 and 999. Lower values indicate lighter weights; higher values indicate heavier weights.

+
+ +

Weight differences are generally differentiated by an increased stroke or thickness that is associated with a given character in a typeface, as compared to a "normal" character from that same typeface. + The following illustration shows an example of Normal and UltraBold weights for the Palatino Linotype typeface.

Note??Not all weights are available for all typefaces. When a weight is not available for a typeface, the closest matching weight is returned.

Font weight values less than 1 or greater than 999 are considered invalid, and they are rejected by font API functions.

+
+ + dd368082 + DWRITE_FONT_WEIGHT + DWRITE_FONT_WEIGHT +
+ + +

Predefined font weight : Thin (100).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_THIN + DWRITE_FONT_WEIGHT_THIN +
+ + +

Predefined font weight : Extra-light (200).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_EXTRA_LIGHT + DWRITE_FONT_WEIGHT_EXTRA_LIGHT +
+ + +

Predefined font weight : Ultra-light (200).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_ULTRA_LIGHT + DWRITE_FONT_WEIGHT_ULTRA_LIGHT +
+ + +

Predefined font weight : Light (300).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_LIGHT + DWRITE_FONT_WEIGHT_LIGHT +
+ + +

Predefined font weight : Normal (400).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_NORMAL + DWRITE_FONT_WEIGHT_NORMAL +
+ + +

Predefined font weight : Regular (400).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_REGULAR + DWRITE_FONT_WEIGHT_REGULAR +
+ + +

Predefined font weight : Medium (500).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_MEDIUM + DWRITE_FONT_WEIGHT_MEDIUM +
+ + +

Predefined font weight : Demi-bold (600).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_DEMI_BOLD + DWRITE_FONT_WEIGHT_DEMI_BOLD +
+ + +

Predefined font weight : Semi-bold (600).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_SEMI_BOLD + DWRITE_FONT_WEIGHT_SEMI_BOLD +
+ + +

Predefined font weight : Bold (700).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_BOLD + DWRITE_FONT_WEIGHT_BOLD +
+ + +

Predefined font weight : Extra-bold (800).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_EXTRA_BOLD + DWRITE_FONT_WEIGHT_EXTRA_BOLD +
+ + +

Predefined font weight : Ultra-bold (800).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_ULTRA_BOLD + DWRITE_FONT_WEIGHT_ULTRA_BOLD +
+ + +

Predefined font weight : Black (900).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_BLACK + DWRITE_FONT_WEIGHT_BLACK +
+ + +

Predefined font weight : Heavy (900).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_HEAVY + DWRITE_FONT_WEIGHT_HEAVY +
+ + +

Predefined font weight : Extra-black (950).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_EXTRA_BLACK + DWRITE_FONT_WEIGHT_EXTRA_BLACK +
+ + +

Predefined font weight : Ultra-black (950).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_ULTRA_BLACK + DWRITE_FONT_WEIGHT_ULTRA_BLACK +
+ + +

The informational string enumeration which identifies a string embedded in a font file.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_ID + DWRITE_INFORMATIONAL_STRING_ID +
+ + +

Indicates the string containing the unspecified name ID.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_NONE + DWRITE_INFORMATIONAL_STRING_NONE +
+ + +

Indicates the string containing the copyright notice provided by the font.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE + DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE +
+ + +

Indicates the string containing a version number.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS + DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS +
+ + +

Indicates the string containing the trademark information provided by the font.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_TRADEMARK + DWRITE_INFORMATIONAL_STRING_TRADEMARK +
+ + +

Indicates the string containing the name of the font manufacturer.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_MANUFACTURER + DWRITE_INFORMATIONAL_STRING_MANUFACTURER +
+ + +

Indicates the string containing the name of the font designer.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_DESIGNER + DWRITE_INFORMATIONAL_STRING_DESIGNER +
+ + +

Indicates the string containing the URL of the font designer (with protocol, e.g., http://, ftp://).

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_DESIGNER_URL + DWRITE_INFORMATIONAL_STRING_DESIGNER_URL +
+ + +

Indicates the string containing the description of the font. This may also contain revision information, usage recommendations, history, features, etc.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_DESCRIPTION + DWRITE_INFORMATIONAL_STRING_DESCRIPTION +
+ + +

Indicates the string containing the URL of the font vendor (with protocol, e.g., http://, ftp://). If a unique serial number is embedded in the URL, it can be used to register the font.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL + DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL +
+ + +

Indicates the string containing the description of how the font may be legally used, or different example scenarios for licensed use.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION + DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION +
+ + +

Indicates the string containing the URL where additional licensing information can be found.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL + DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL +
+ + +

Indicates the string containing the GDI-compatible family name. Since GDI allows a maximum of four fonts per family, fonts in the same family may have different GDI-compatible family names (e.g., "Arial", "Arial Narrow", "Arial Black").

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES +
+ + +

Indicates the string containing a GDI-compatible subfamily name.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES +
+ + +

Indicates the string containing the family name preferred by the designer. This enables font designers to group more than four fonts in a single family without losing compatibility with GDI. This name is typically only present if it differs from the GDI-compatible family name.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES +
+ + +

Indicates the string containing the subfamily name preferred by the designer. This name is typically only present if it differs from the GDI-compatible subfamily name.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES +
+ + +

Contains sample text for display in font lists. This can be the font name or any other text that the designer thinks is the best example to display the font in.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT + DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT +
+ + +

The method used for line spacing in a text layout.

+
+ +

The line spacing method is set by using the SetLineSpacing method of the or interfaces. To get the current line spacing method of a text format or text layou use the GetLineSpacing.

+
+ + dd368101 + DWRITE_LINE_SPACING_METHOD + DWRITE_LINE_SPACING_METHOD +
+ + +

Line spacing depends solely on the content, adjusting to accommodate the size of fonts and inline objects.

+
+ + dd368101 + DWRITE_LINE_SPACING_METHOD_DEFAULT + DWRITE_LINE_SPACING_METHOD_DEFAULT +
+ + +

Lines are explicitly set to uniform spacing, regardless of the size of fonts and inline objects. This can be useful to avoid the uneven appearance that can occur from font fallback.

+
+ + dd368101 + DWRITE_LINE_SPACING_METHOD_UNIFORM + DWRITE_LINE_SPACING_METHOD_UNIFORM +
+ + +

Specifies how to apply number substitution on digits and related punctuation.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD + DWRITE_NUMBER_SUBSTITUTION_METHOD +
+ + +

Specifies that the substitution method should be determined based on the LOCALE_IDIGITSUBSTITUTION value of the specified text culture.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE + DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE +
+ + +

If the culture is Arabic or Persian, specifies that the number shapes depend on the context. Either traditional or nominal number shapes are used, depending on the nearest preceding strong character or (if there is none) the reading direction of the paragraph.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL + DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL +
+ + +

Specifies that code points 0x30-0x39 are always rendered as nominal numeral shapes (ones of the European number), that is, no substitution is performed.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE + DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE +
+ + +

Specifies that numbers are rendered using the national number shapes as specified by the LOCALE_SNATIVEDIGITS value of the specified text culture.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL + DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL +
+ + +

Specifies that numbers are rendered using the traditional shapes for the specified culture. For most cultures, this is the same as NativeNational. However, NativeNational results in Latin numbers for some Arabic cultures, whereasDWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL results in arabic numbers for all Arabic cultures.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL + DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL +
+ + +

Specifies the alignment of paragraph text along the flow direction axis, relative to the top and bottom of the flow's layout box.

+
+ + dd368112 + DWRITE_PARAGRAPH_ALIGNMENT + DWRITE_PARAGRAPH_ALIGNMENT +
+ + +

The top of the text flow is aligned to the top edge of the layout box.

+
+ + dd368112 + DWRITE_PARAGRAPH_ALIGNMENT_NEAR + DWRITE_PARAGRAPH_ALIGNMENT_NEAR +
+ + +

The bottom of the text flow is aligned to the bottom edge of the layout box.

+
+ + dd368112 + DWRITE_PARAGRAPH_ALIGNMENT_FAR + DWRITE_PARAGRAPH_ALIGNMENT_FAR +
+ + +

The center of the flow is aligned to the center of the layout box.

+
+ + dd368112 + DWRITE_PARAGRAPH_ALIGNMENT_CENTER + DWRITE_PARAGRAPH_ALIGNMENT_CENTER +
+ + +

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. +

+
+ + dd368114 + DWRITE_PIXEL_GEOMETRY + DWRITE_PIXEL_GEOMETRY +
+ + +

The red, green, and blue color components of each pixel are assumed to occupy the same point.

+
+ + dd368114 + DWRITE_PIXEL_GEOMETRY_FLAT + DWRITE_PIXEL_GEOMETRY_FLAT +
+ + +

Each pixel is composed of three vertical stripes, with red on the left, green in the center, and blue on the right. This is the most common pixel geometry for LCD monitors.

+
+ + dd368114 + DWRITE_PIXEL_GEOMETRY_RGB + DWRITE_PIXEL_GEOMETRY_RGB +
+ + +

Each pixel is composed of three vertical stripes, with blue on the left, green in the center, and red on the right.

+
+ + dd368114 + DWRITE_PIXEL_GEOMETRY_BGR + DWRITE_PIXEL_GEOMETRY_BGR +
+ + +

Specifies the direction in which reading progresses.

+
+ + dd368116 + DWRITE_READING_DIRECTION + DWRITE_READING_DIRECTION +
+ + +

Indicates that reading progresses from left to right.

+
+ + dd368116 + DWRITE_READING_DIRECTION_LEFT_TO_RIGHT + DWRITE_READING_DIRECTION_LEFT_TO_RIGHT +
+ + +

Indicates that reading progresses from right to left.

+
+ + dd368116 + DWRITE_READING_DIRECTION_RIGHT_TO_LEFT + DWRITE_READING_DIRECTION_RIGHT_TO_LEFT +
+ + +

Represents a method of rendering glyphs.

+
+ + dd368118 + DWRITE_RENDERING_MODE + DWRITE_RENDERING_MODE +
+ + +

Specifies that the rendering mode is determined automatically, based on the font and size.

+
+ + dd368118 + DWRITE_RENDERING_MODE_DEFAULT + DWRITE_RENDERING_MODE_DEFAULT +
+ + +

Specifies that no anti-aliasing is performed. Each pixel is either set to the foreground color of the text or retains the color of the background.

+
+ + dd368118 + DWRITE_RENDERING_MODE_ALIASED + DWRITE_RENDERING_MODE_ALIASED +
+ + +

Specifies ClearType rendering with the same metrics as bi-level text. Glyphs can only be positioned on whole-pixel boundaries.

+
+ + dd368118 + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC +
+ + +

Specifies ClearType rendering with the same metrics as text rendering using GDI using a font created with CLEARTYPE_NATURAL_QUALITY. Glyph metrics are closer to their ideal values than with bi-level text, but glyphs are still positioned on whole-pixel boundaries.

+
+ + dd368118 + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL +
+ + +

Specifies ClearType rendering with anti-aliasing in the horizontal dimension only. This is typically used with small to medium font sizes (up to 16 ppem).

+
+ + dd368118 + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL +
+ + +

Specifies ClearType rendering with anti-aliasing in both horizontal and vertical dimensions. This is typically used at larger sizes to makes curves and diagonal lines look smoother, at the expense of some softness.

+
+ + dd368118 + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC +
+ + +

Specifies that rendering should bypass the rasterizer and use the outlines directly. This is typically used at very large sizes.

+
+ + dd368118 + DWRITE_RENDERING_MODE_OUTLINE + DWRITE_RENDERING_MODE_OUTLINE +
+ + +

Indicates additional shaping requirements for text.

+
+ + dd368121 + DWRITE_SCRIPT_SHAPES + DWRITE_SCRIPT_SHAPES +
+ + +

Indicates that there is no additional shaping requirements for text. Text is shaped with the writing system default behavior.

+
+ + dd368121 + DWRITE_SCRIPT_SHAPES_DEFAULT + DWRITE_SCRIPT_SHAPES_DEFAULT +
+ + +

Indicates that text should leave no visible control or format control characters.

+
+ + dd368121 + DWRITE_SCRIPT_SHAPES_NO_VISUAL + DWRITE_SCRIPT_SHAPES_NO_VISUAL +
+ + +

Specifies the alignment of paragraph text along the reading direction axis, relative to the leading and trailing edge of the layout box.

+
+ + dd368131 + DWRITE_TEXT_ALIGNMENT + DWRITE_TEXT_ALIGNMENT +
+ + +

The leading edge of the paragraph text is aligned to the leading edge of the layout box.

+
+ + dd368131 + DWRITE_TEXT_ALIGNMENT_LEADING + DWRITE_TEXT_ALIGNMENT_LEADING +
+ + +

The trailing edge of the paragraph text is aligned to the trailing edge of the layout box.

+
+ + dd368131 + DWRITE_TEXT_ALIGNMENT_TRAILING + DWRITE_TEXT_ALIGNMENT_TRAILING +
+ + +

The center of the paragraph text is aligned to the center of the layout box.

+
+ + dd368131 + DWRITE_TEXT_ALIGNMENT_CENTER + DWRITE_TEXT_ALIGNMENT_CENTER +
+ + +

Identifies a type of alpha texture.

+
+ +

An alpha texture is a bitmap of alpha values, each representing opacity of a pixel or subpixel.

+
+ + dd368129 + DWRITE_TEXTURE_TYPE + DWRITE_TEXTURE_TYPE +
+ + +

Specifies an alpha texture for aliased text rendering (that is, each pixel is either fully opaque or fully transparent), with one byte per pixel.

+
+ + dd368129 + DWRITE_TEXTURE_ALIASED_1x1 + DWRITE_TEXTURE_ALIASED_1x1 +
+ + +

Specifies an alpha texture for ClearType text rendering, with three bytes per pixel in the horizontal dimension and one byte per pixel in the vertical dimension.

+
+ + dd368129 + DWRITE_TEXTURE_CLEARTYPE_3x1 + DWRITE_TEXTURE_CLEARTYPE_3x1 +
+ + +

Specifies the text granularity used to trim text overflowing the layout box.

+
+ + dd368141 + DWRITE_TRIMMING_GRANULARITY + DWRITE_TRIMMING_GRANULARITY +
+ + +

No trimming occurs. Text flows beyond the layout width.

+
+ + dd368141 + DWRITE_TRIMMING_GRANULARITY_NONE + DWRITE_TRIMMING_GRANULARITY_NONE +
+ + +

Trimming occurs at a character cluster boundary.

+
+ + dd368141 + DWRITE_TRIMMING_GRANULARITY_CHARACTER + DWRITE_TRIMMING_GRANULARITY_CHARACTER +
+ + +

Trimming occurs at a word boundary.

+
+ + dd368141 + DWRITE_TRIMMING_GRANULARITY_WORD + DWRITE_TRIMMING_GRANULARITY_WORD +
+ + +

Specifies the word wrapping to be used in a particular multiline paragraph.

+
+ + dd368146 + DWRITE_WORD_WRAPPING + DWRITE_WORD_WRAPPING +
+ + +

Indicates that words are broken across lines to avoid text overflowing the layout box.

+
+ + dd368146 + DWRITE_WORD_WRAPPING_WRAP + DWRITE_WORD_WRAPPING_WRAP +
+ + +

Indicates that words are kept within the same line even when it overflows the layout box. This option is often used with scrolling to reveal overflow text.

+
+ + dd368146 + DWRITE_WORD_WRAPPING_NO_WRAP + DWRITE_WORD_WRAPPING_NO_WRAP +
+ + + Functions + + + + + +

Creates a DirectWrite factory object that is used for subsequent creation of individual DirectWrite objects.

+
+

A value that specifies whether the factory object will be shared or isolated.

+

A value that identifies the DirectWrite factory interface, such as __uuidof().

+

An address of a reference to the newly created DirectWrite factory object.

+

If this function succeeds, it returns . Otherwise, it returns an error code.

+ +

This function creates a DirectWrite factory object that is used for subsequent creation of individual DirectWrite objects. DirectWrite factory contains internal state data such as font loader registration and cached font data. In most cases it is recommended you use the shared factory object, because it allows multiple components that use DirectWrite to share internal DirectWrite state data, and thereby reduce memory usage. However, there are cases when it is desirable to reduce the impact of a component, such as a plug-in from an untrusted source, on the rest of the process, by sandboxing and isolating it from the rest of the process components. In such cases, it is recommended you use an isolated factory for the sandboxed component.

The following example shows how to create a shared DirectWrite factory.

 if (SUCCEEDED(hr))	
+            { hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory_) );	
+            } 
+
+ + dd368040 + HRESULT DWriteCreateFactory([In] DWRITE_FACTORY_TYPE factoryType,[In] const GUID& iid,[Out, Fast] IUnknown** factory) + DWriteCreateFactory +
+ + +

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.

+
+ + dd368213 + IDWriteFont + IDWriteFont +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the font family to which the specified font belongs.

+
+

When this method returns, contains an address of a reference to the font family object to which the specified font belongs.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371143 + HRESULT IDWriteFont::GetFontFamily([Out] IDWriteFontFamily** fontFamily) + IDWriteFont::GetFontFamily +
+ + +

Gets the weight, or stroke thickness, of the specified font.

+
+

A value that indicates the weight for the specified font.

+ + dd371162 + DWRITE_FONT_WEIGHT IDWriteFont::GetWeight() + IDWriteFont::GetWeight +
+ + +

Gets the stretch, or width, of the specified font.

+
+

A value that indicates the type of stretch, or width, applied to the specified font.

+ + dd371156 + DWRITE_FONT_STRETCH IDWriteFont::GetStretch() + IDWriteFont::GetStretch +
+ + +

Gets the style, or slope, of the specified font.

+
+

A value that indicates the type of style, or slope, of the specified font.

+ + dd371159 + DWRITE_FONT_STYLE IDWriteFont::GetStyle() + IDWriteFont::GetStyle +
+ + +

Determines whether the font is a symbol font.

+
+

TRUE if the font is a symbol font; otherwise, .

+ + dd371168 + BOOL IDWriteFont::IsSymbolFont() + IDWriteFont::IsSymbolFont +
+ + +

Gets a localized strings collection containing the face names for the font (such as Regular or Bold), indexed by locale name.

+
+

When this method returns, contains an address to a reference to the newly created localized strings object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371140 + HRESULT IDWriteFont::GetFaceNames([Out] IDWriteLocalizedStrings** names) + IDWriteFont::GetFaceNames +
+ + +

Gets a localized strings collection containing the specified informational strings, indexed by locale name.

+
+

A value that identifies the informational string to get. For example, specifies a string that contains a description of the font.

+

When this method returns, contains an address of a reference to the newly created localized strings object.

+

When this method returns, TRUE if the font contains the specified string ID; otherwise, .

+ +

If the font does not contain the string specified by informationalStringID, the return value is but informationalStrings receives a null reference and exists receives the value .

+
+ + dd371147 + HRESULT IDWriteFont::GetInformationalStrings([In] DWRITE_INFORMATIONAL_STRING_ID informationalStringID,[Out] IDWriteLocalizedStrings** informationalStrings,[Out] BOOL* exists) + IDWriteFont::GetInformationalStrings +
+ + +

Gets a value that indicates what simulations are applied to the specified font.

+
+

A value that indicates one or more of the types of simulations (none, bold, or oblique) applied to the specified font.

+ + dd371153 + DWRITE_FONT_SIMULATIONS IDWriteFont::GetSimulations() + IDWriteFont::GetSimulations +
+ + +

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.

+
+

When this method returns, contains a structure that has font metrics for the current font face. The metrics returned by this function are in font design units.

+ + dd371149 + void IDWriteFont::GetMetrics([Out] DWRITE_FONT_METRICS* fontMetrics) + IDWriteFont::GetMetrics +
+ + +

Determines whether the font supports a specified character.

+
+

A Unicode (UCS-4) character value for the method to inspect.

+

When this method returns, TRUE if the font supports the specified character; otherwise, .

+ + dd371165 + HRESULT IDWriteFont::HasCharacter([In] unsigned int unicodeValue,[Out] BOOL* exists) + IDWriteFont::HasCharacter +
+ + +

Creates a font face object for the font.

+
+

When this method returns, contains an address of a reference to the newly created font face object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371137 + HRESULT IDWriteFont::CreateFontFace([Out, Fast] IDWriteFontFace** fontFace) + IDWriteFont::CreateFontFace +
+ + +

Gets the font family to which the specified font belongs.

+
+ + dd371143 + GetFontFamily + GetFontFamily + HRESULT IDWriteFont::GetFontFamily([Out] IDWriteFontFamily** fontFamily) +
+ + +

Gets the weight, or stroke thickness, of the specified font.

+
+ + dd371162 + GetWeight + GetWeight + DWRITE_FONT_WEIGHT IDWriteFont::GetWeight() +
+ + +

Gets the stretch, or width, of the specified font.

+
+ + dd371156 + GetStretch + GetStretch + DWRITE_FONT_STRETCH IDWriteFont::GetStretch() +
+ + +

Gets the style, or slope, of the specified font.

+
+ + dd371159 + GetStyle + GetStyle + DWRITE_FONT_STYLE IDWriteFont::GetStyle() +
+ + +

Determines whether the font is a symbol font.

+
+ + dd371168 + IsSymbolFont + IsSymbolFont + BOOL IDWriteFont::IsSymbolFont() +
+ + +

Gets a localized strings collection containing the face names for the font (such as Regular or Bold), indexed by locale name.

+
+ + dd371140 + GetFaceNames + GetFaceNames + HRESULT IDWriteFont::GetFaceNames([Out] IDWriteLocalizedStrings** names) +
+ + +

Gets a value that indicates what simulations are applied to the specified font.

+
+ + dd371153 + GetSimulations + GetSimulations + DWRITE_FONT_SIMULATIONS IDWriteFont::GetSimulations() +
+ + +

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.

+
+ + dd371149 + GetMetrics + GetMetrics + void IDWriteFont::GetMetrics([Out] DWRITE_FONT_METRICS* fontMetrics) +
+ + +

Represents a family of related fonts.

+
+ +

A font family is a set of fonts that share the same family name, such as "Times New Roman", but that differ in features. These feature differences include style, such as italic, and weight, such as bold. The following illustration shows examples of fonts that are members of the "Times New Roman" font family.

An object can be retrieved from a font collection using the method shown in the following example. GetFontFamily takes a UINT32 index and returns the font family for the font at that index.

* pFontFamily = null; // Get the font family.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontCollection->GetFontFamily(i, &pFontFamily);	
+            }	
+            

The font family name is used to specify the font family for text layout and text format objects. You can get a list of localized font family names from an object in the form of an object by using the method, as shown in the following code.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
+            }	
+            
+
+ + dd371042 + IDWriteFontFamily + IDWriteFontFamily +
+ + +

Represents a list of fonts.

+
+ + dd371120 + IDWriteFontList + IDWriteFontList +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the font collection that contains the fonts in the font list.

+
+

When this method returns, contains the address of a reference to the current object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371129 + HRESULT IDWriteFontList::GetFontCollection([Out] IDWriteFontCollection** fontCollection) + IDWriteFontList::GetFontCollection +
+ + +

Gets the number of fonts in the font list.

+
+

The number of fonts in the font list.

+ + dd371133 + unsigned int IDWriteFontList::GetFontCount() + IDWriteFontList::GetFontCount +
+ + +

Gets a font given its zero-based index.

+
+

Zero-based index of the font in the font list.

+

When this method returns, contains the address of a reference to the newly created object.

+ + dd371125 + HRESULT IDWriteFontList::GetFont([In] unsigned int index,[Out] IDWriteFont** font) + IDWriteFontList::GetFont +
+ + +

Gets the font collection that contains the fonts in the font list.

+
+ + dd371129 + GetFontCollection + GetFontCollection + HRESULT IDWriteFontList::GetFontCollection([Out] IDWriteFontCollection** fontCollection) +
+ + +

Gets the number of fonts in the font list.

+
+ + dd371133 + GetFontCount + GetFontCount + unsigned int IDWriteFontList::GetFontCount() +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a localized strings object that contains the family names for the font family, indexed by locale name.

+
+

The address of a reference to the newly created object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The following code example shows how to get the font family name from a object.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
+            } UINT32 index = 0;	
+             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
+            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
+            } // If the specified locale doesn't exist, select the first on the list.	
+            if (!exists) index = 0; UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371047 + HRESULT IDWriteFontFamily::GetFamilyNames([Out] IDWriteLocalizedStrings** names) + IDWriteFontFamily::GetFamilyNames +
+ + +

Gets the font that best matches the specified properties.

+
+

A value that is used to match a requested font weight.

+

A value that is used to match a requested font stretch.

+

A value that is used to match a requested font style.

+

When this method returns, contains the address of a reference to the newly created object.

+ + dd371051 + HRESULT IDWriteFontFamily::GetFirstMatchingFont([In] DWRITE_FONT_WEIGHT weight,[In] DWRITE_FONT_STRETCH stretch,[In] DWRITE_FONT_STYLE style,[Out] IDWriteFont** matchingFont) + IDWriteFontFamily::GetFirstMatchingFont +
+ + +

Gets a list of fonts in the font family ranked in order of how well they match the specified properties.

+
+

A value that is used to match a requested font weight.

+

A value that is used to match a requested font stretch.

+

A value that is used to match a requested font style.

+

An address of a reference to the newly created object.

+ + dd371056 + HRESULT IDWriteFontFamily::GetMatchingFonts([In] DWRITE_FONT_WEIGHT weight,[In] DWRITE_FONT_STRETCH stretch,[In] DWRITE_FONT_STYLE style,[Out] IDWriteFontList** matchingFonts) + IDWriteFontFamily::GetMatchingFonts +
+ + +

Creates a localized strings object that contains the family names for the font family, indexed by locale name.

+
+ +

The following code example shows how to get the font family name from a object.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
+            } UINT32 index = 0;	
+             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
+            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
+            } // If the specified locale doesn't exist, select the first on the list.	
+            if (!exists) index = 0; UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371047 + GetFamilyNames + GetFamilyNames + HRESULT IDWriteFontFamily::GetFamilyNames([Out] IDWriteLocalizedStrings** names) +
+ + +

A built-in implementation of the interface, that operates on local font files + and exposes local font file information from the font file reference key. Font file references created using CreateFontFileReference use this font file loader.

+
+ + dd371238 + IDWriteLocalFontFileLoader + IDWriteLocalFontFileLoader +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Obtains the length of the absolute file path from the font file reference key.

+
+

Font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

+

Size of font file reference key in bytes.

+

Length of the file path string, not including the terminated null character.

+ + dd371244 + HRESULT IDWriteLocalFontFileLoader::GetFilePathLengthFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] unsigned int* filePathLength) + IDWriteLocalFontFileLoader::GetFilePathLengthFromKey +
+ + +

Obtains the absolute font file path from the font file reference key.

+
+

The font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

+

The size of font file reference key in bytes.

+

The character array that receives the local file path.

+

The length of the file path character array.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371241 + HRESULT IDWriteLocalFontFileLoader::GetFilePathFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out, Buffer] wchar_t* filePath,[In] unsigned int filePathSize) + IDWriteLocalFontFileLoader::GetFilePathFromKey +
+ + +

Obtains the last write time of the file from the font file reference key.

+
+

The font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

+

The size of font file reference key in bytes.

+

The time of the last font file modification.

+ + dd371247 + HRESULT IDWriteLocalFontFileLoader::GetLastWriteTimeFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] FILETIME* lastWriteTime) + IDWriteLocalFontFileLoader::GetLastWriteTimeFromKey +
+ + +

Contains information about a glyph cluster.

+
+ + dd368054 + DWRITE_CLUSTER_METRICS + DWRITE_CLUSTER_METRICS +
+ + +

The total advance width of all glyphs in the cluster.

+
+ + dd368054 + float width + float width +
+ + +

The number of text positions in the cluster.

+
+ + dd368054 + unsigned short length + unsigned short length +
+ + +

Indicates whether a line can be broken right after the cluster.

+
+ + dd368054 + unsigned short canWrapLineAfter + unsigned short canWrapLineAfter +
+ + +

Indicates whether the cluster corresponds to a whitespace character.

+
+ + dd368054 + unsigned short isWhitespace + unsigned short isWhitespace +
+ + +

Indicates whether the cluster corresponds to a newline character.

+
+ + dd368054 + unsigned short isNewline + unsigned short isNewline +
+ + +

Indicates whether the cluster corresponds to a soft hyphen character.

+
+ + dd368054 + unsigned short isSoftHyphen + unsigned short isSoftHyphen +
+ + +

Indicates whether the cluster is read from right to left.

+
+ + dd368054 + unsigned short isRightToLeft + unsigned short isRightToLeft +
+ + +

Reserved for future use.

+
+ + dd368054 + unsigned short padding + unsigned short padding +
+ + +

The structure specifies the metrics that are applicable to all glyphs within the font face.

+
+ + dd368074 + DWRITE_FONT_METRICS + DWRITE_FONT_METRICS +
+ + +

The number of font design units per em unit. Font files use their own coordinate system of font design units. A font design unit is the smallest measurable unit in the em square, an imaginary square that is used to size and align glyphs. The concept of em square is used as a reference scale factor when defining font size and device transformation semantics. The size of one em square is also commonly used to compute the paragraph identation value.

+
+ + dd368074 + unsigned short designUnitsPerEm + unsigned short designUnitsPerEm +
+ + +

The ascent value of the font face in font design units. Ascent is the distance from the top of font character alignment box to the English baseline.

+
+ + dd368074 + unsigned short ascent + unsigned short ascent +
+ + +

The descent value of the font face in font design units. Descent is the distance from the bottom of font character alignment box to the English baseline.

+
+ + dd368074 + unsigned short descent + unsigned short descent +
+ + +

The line gap in font design units. Recommended additional white space to add between lines to improve legibility. The recommended line spacing (baseline-to-baseline distance) is the sum of ascent, descent, and lineGap. The line gap is usually positive or zero but can be negative, in which case the recommended line spacing is less than the height of the character alignment box.

+
+ + dd368074 + short lineGap + short lineGap +
+ + +

The cap height value of the font face in font design units. Cap height is the distance from the English baseline to the top of a typical English capital. Capital "H" is often used as a reference character for the purpose of calculating the cap height value.

+
+ + dd368074 + unsigned short capHeight + unsigned short capHeight +
+ + +

The x-height value of the font face in font design units. x-height is the distance from the English baseline to the top of lowercase letter "x", or a similar lowercase character.

+
+ + dd368074 + unsigned short xHeight + unsigned short xHeight +
+ + +

The underline position value of the font face in font design units. Underline position is the position of underline relative to the English baseline. The value is usually made negative in order to place the underline below the baseline.

+
+ + dd368074 + short underlinePosition + short underlinePosition +
+ + +

The suggested underline thickness value of the font face in font design units.

+
+ + dd368074 + unsigned short underlineThickness + unsigned short underlineThickness +
+ + +

The strikethrough position value of the font face in font design units. Strikethrough position is the position of strikethrough relative to the English baseline. The value is usually made positive in order to place the strikethrough above the baseline.

+
+ + dd368074 + short strikethroughPosition + short strikethroughPosition +
+ + +

The suggested strikethrough thickness value of the font face in font design units.

+
+ + dd368074 + unsigned short strikethroughThickness + unsigned short strikethroughThickness +
+ + +

Specifies the metrics of an individual glyph. The units depend on how the metrics are obtained.

+
+ + dd368084 + DWRITE_GLYPH_METRICS + DWRITE_GLYPH_METRICS +
+ + +

Specifies the X offset from the glyph origin to the left edge of the black box. The glyph origin is the current horizontal writing position. A negative value means the black box extends to the left of the origin (often true for lowercase italic 'f').

+
+ + dd368084 + int leftSideBearing + int leftSideBearing +
+ + +

Specifies the X offset from the origin of the current glyph to the origin of the next glyph when writing horizontally.

+
+ + dd368084 + unsigned int advanceWidth + unsigned int advanceWidth +
+ + +

Specifies the X offset from the right edge of the black box to the origin of the next glyph when writing horizontally. The value is negative when the right edge of the black box overhangs the layout box.

+
+ + dd368084 + int rightSideBearing + int rightSideBearing +
+ + +

Specifies the vertical offset from the vertical origin to the top of the black box. Thus, a positive value adds whitespace whereas a negative value means the glyph overhangs the top of the layout box.

+
+ + dd368084 + int topSideBearing + int topSideBearing +
+ + +

Specifies the Y offset from the vertical origin of the current glyph to the vertical origin of the next glyph when writing vertically. Note that the term "origin" by itself denotes the horizontal origin. The vertical origin is different. Its Y coordinate is specified by verticalOriginY value, and its X coordinate is half the advanceWidth to the right of the horizontal origin.

+
+ + dd368084 + unsigned int advanceHeight + unsigned int advanceHeight +
+ + +

Specifies the vertical distance from the bottom edge of the black box to the advance height. This is positive when the bottom edge of the black box is within the layout box, or negative when the bottom edge of black box overhangs the layout box.

+
+ + dd368084 + int bottomSideBearing + int bottomSideBearing +
+ + +

Specifies the Y coordinate of a glyph's vertical origin, in the font's design coordinate system. The y coordinate of a glyph's vertical origin is the sum of the glyph's top side bearing and the top (that is, yMax) of the glyph's bounding box.

+
+ + dd368084 + int verticalOriginY + int verticalOriginY +
+ + +

The optional adjustment to a glyph's position.

+
+ +

An glyph offset changes the position of a glyph without affecting the pen position. Offsets are in logical, pre-transform units.

+
+ + dd368086 + DWRITE_GLYPH_OFFSET + DWRITE_GLYPH_OFFSET +
+ + +

The offset in the advance direction of the run. A positive advance offset moves the glyph to the right (in pre-transform coordinates) if the run is left-to-right or to the left if the run is right-to-left.

+
+ + dd368086 + float advanceOffset + float advanceOffset +
+ + +

The offset in the ascent direction, that is, the direction ascenders point. A positive ascender offset moves the glyph up (in pre-transform coordinates). A negative ascender offset moves the glyph down.

+
+ + dd368086 + float ascenderOffset + float ascenderOffset +
+ + +

Describes the region obtained by a hit test.

+
+ + dd368092 + DWRITE_HIT_TEST_METRICS + DWRITE_HIT_TEST_METRICS +
+ + +

The first text position within the hit region.

+
+ + dd368092 + unsigned int textPosition + unsigned int textPosition +
+ + +

The number of text positions within the hit region.

+
+ + dd368092 + unsigned int length + unsigned int length +
+ + +

The x-coordinate of the upper-left corner of the hit region.

+
+ + dd368092 + float left + float left +
+ + +

The y-coordinate of the upper-left corner of the hit region.

+
+ + dd368092 + float top + float top +
+ + +

The width of the hit region.

+
+ + dd368092 + float width + float width +
+ + +

The height of the hit region.

+
+ + dd368092 + float height + float height +
+ + +

The BIDI level of the text positions within the hit region.

+
+ + dd368092 + unsigned int bidiLevel + unsigned int bidiLevel +
+ + +

true if the hit region contains text; otherwise, false.

+
+ + dd368092 + BOOL isText + BOOL isText +
+ + + No documentation. + + + BOOL isTrimmed + BOOL isTrimmed + + + +

Contains properties describing the geometric measurement of an + application-defined inline object.

+
+ + dd368096 + DWRITE_INLINE_OBJECT_METRICS + DWRITE_INLINE_OBJECT_METRICS +
+ + +

The width of the inline object.

+
+ + dd368096 + float width + float width +
+ + +

The height of the inline object.

+
+ + dd368096 + float height + float height +
+ + +

The distance from the top of the object to the point where it is lined up with the adjacent text. If the baseline is at the bottom, then baseline simply equals height.

+
+ + dd368096 + float baseline + float baseline +
+ + +

A Boolean flag that indicates whether the object is to be placed upright or alongside the text baseline for vertical text.

+
+ + dd368096 + BOOL supportsSideways + BOOL supportsSideways +
+ + +

Contains information about a formatted line of text.

+
+ + dd368099 + DWRITE_LINE_METRICS + DWRITE_LINE_METRICS +
+ + +

The number of text positions in the text line. This includes any trailing whitespace and newline characters.

+
+ + dd368099 + unsigned int length + unsigned int length +
+ + +

The number of whitespace positions at the end of the text line. Newline sequences are considered whitespace.

+
+ + dd368099 + unsigned int trailingWhitespaceLength + unsigned int trailingWhitespaceLength +
+ + +

The number of characters in the newline sequence at the end of the text line. If the count is zero, then the text line was either wrapped or it is the end of the text.

+
+ + dd368099 + unsigned int newlineLength + unsigned int newlineLength +
+ + +

The height of the text line.

+
+ + dd368099 + float height + float height +
+ + +

The distance from the top of the text line to its baseline.

+
+ + dd368099 + float baseline + float baseline +
+ + +

The line is trimmed.

+
+ + dd368099 + BOOL isTrimmed + BOOL isTrimmed +
+ + +

Indicates how much any visible DIPs (device independent pixels) overshoot each side of the layout or inline objects.

Positive overhangs indicate that the visible area extends outside the layout box or inline object, while negative values mean there is whitespace inside. The returned values are unaffected by rendering transforms or pixel snapping. Additionally, they may not exactly match the final target's pixel bounds after applying grid fitting and hinting.

+
+ + dd368109 + DWRITE_OVERHANG_METRICS + DWRITE_OVERHANG_METRICS +
+ + +

The distance from the left-most visible DIP to its left-alignment edge.

+
+ + dd368109 + float left + float left +
+ + +

The distance from the top-most visible DIP to its top alignment edge.

+
+ + dd368109 + float top + float top +
+ + +

The distance from the right-most visible DIP to its right-alignment edge.

+
+ + dd368109 + float right + float right +
+ + +

The distance from the bottom-most visible DIP to its lower-alignment edge.

+
+ + dd368109 + float bottom + float bottom +
+ + +

Stores the association of text and its writing system script, as well as some display attributes.

+
+ + dd368120 + DWRITE_SCRIPT_ANALYSIS + DWRITE_SCRIPT_ANALYSIS +
+ + +

The zero-based index representation of writing system script.

+
+ + dd368120 + unsigned short script + unsigned short script +
+ + +

A value that indicates additional shaping requirement of text.

+
+ + dd368120 + DWRITE_SCRIPT_SHAPES shapes + DWRITE_SCRIPT_SHAPES shapes +
+ + +

Shaping output properties for an output glyph.

+
+ + dd368125 + DWRITE_SHAPING_TEXT_PROPERTIES + DWRITE_SHAPING_TEXT_PROPERTIES +
+ + +

Indicates that the glyph is shaped alone.

+
+ + dd368125 + unsigned short isShapedAlone + unsigned short isShapedAlone +
+ + +

Reserved for future use.

+
+ + dd368125 + unsigned short reserved + unsigned short reserved +
+ + +

Contains information regarding the size and placement of strikethroughs. All coordinates are in device independent pixels (DIPs).

+
+ + dd368126 + DWRITE_STRIKETHROUGH + DWRITE_STRIKETHROUGH +
+ + +

A value that indicates the width of the strikethrough, measured parallel to the baseline.

+
+ + dd368126 + float width + float width +
+ + +

A value that indicates the thickness of the strikethrough, measured perpendicular to the baseline.

+
+ + dd368126 + float thickness + float thickness +
+ + +

A value that indicates the offset of the strikethrough from the baseline. A positive offset represents a position below the baseline and a negative offset is above. Typically, the offset will be negative.

+
+ + dd368126 + float offset + float offset +
+ + +

Reading direction of the text associated with the strikethrough. This value is used to interpret whether the width value runs horizontally or vertically.

+
+ + dd368126 + DWRITE_READING_DIRECTION readingDirection + DWRITE_READING_DIRECTION readingDirection +
+ + +

Flow direction of the text associated with the strikethrough. This value is used to interpret whether the thickness value advances top to bottom, left to right, or right to left.

+
+ + dd368126 + DWRITE_FLOW_DIRECTION flowDirection + DWRITE_FLOW_DIRECTION flowDirection +
+ + +

An array of characters containing the locale of the text that is the strikethrough is being drawn over.

+
+ + dd368126 + const wchar_t* localeName + wchar_t localeName +
+ + +

The measuring mode can be useful to the renderer to determine how underlines are rendered, such as rounding the thickness to a whole pixel in GDI-compatible modes.

+
+ + dd368126 + DWRITE_MEASURING_MODE measuringMode + DWRITE_MEASURING_MODE measuringMode +
+ + +

Contains the metrics associated with text after layout. All coordinates are in device independent pixels (DIPs).

+
+ + dd368135 + DWRITE_TEXT_METRICS + DWRITE_TEXT_METRICS +
+ + +

A value that indicates the left-most point of formatted text relative to the layout box, while excluding any glyph overhang.

+
+ + dd368135 + float left + float left +
+ + +

A value that indicates the top-most point of formatted text relative to the layout box, while excluding any glyph overhang.

+
+ + dd368135 + float top + float top +
+ + +

A value that indicates the width of the formatted text, while ignoring trailing whitespace at the end of each line.

+
+ + dd368135 + float width + float width +
+ + +

The width of the formatted text, taking into account the trailing whitespace at the end of each line.

+
+ + dd368135 + float widthIncludingTrailingWhitespace + float widthIncludingTrailingWhitespace +
+ + +

The height of the formatted text. The height of an empty string is set to the same value as that of the default font.

+
+ + dd368135 + float height + float height +
+ + +

The initial width given to the layout. It can be either larger or smaller than the text content width, depending on whether the text was wrapped.

+
+ + dd368135 + float layoutWidth + float layoutWidth +
+ + +

Initial height given to the layout. Depending on the length of the text, it may be larger or smaller than the text content height.

+
+ + dd368135 + float layoutHeight + float layoutHeight +
+ + +

The maximum reordering count of any line of text, used to calculate the most number of hit-testing boxes needed. If the layout has no bidirectional text, or no text at all, the minimum level is 1.

+
+ + dd368135 + unsigned int maxBidiReorderingDepth + unsigned int maxBidiReorderingDepth +
+ + + No documentation. + + + unsigned int lineCount + unsigned int lineCount + + + +

Specifies the trimming option for text overflowing the layout box.

+
+ + dd368139 + DWRITE_TRIMMING + DWRITE_TRIMMING +
+ + +

A value that specifies the text granularity used to trim text overflowing the layout box.

+
+ + dd368139 + DWRITE_TRIMMING_GRANULARITY granularity + DWRITE_TRIMMING_GRANULARITY granularity +
+ + +

A character code used as the delimiter that signals the beginning of the portion of text to be preserved. Most useful for path ellipsis, where the delimiter would be a slash.

+
+ + dd368139 + unsigned int delimiter + unsigned int delimiter +
+ + +

A value that indicates how many occurrences of the delimiter to step back.

+
+ + dd368139 + unsigned int delimiterCount + unsigned int delimiterCount +
+ + +

Contains a set of typographic features to be applied during text shaping.

+
+ + dd368143 + DWRITE_TYPOGRAPHIC_FEATURES + DWRITE_TYPOGRAPHIC_FEATURES +
+ + +

A reference to a structure that specifies properties used to identify and execute typographic features in the font.

+
+ + dd368143 + DWRITE_FONT_FEATURE* features + DWRITE_FONT_FEATURE features +
+ + +

A value that indicates the number of features being applied to a font face.

+
+ + dd368143 + unsigned int featureCount + unsigned int featureCount +
+ + +

Contains information about the width, thickness, offset, run height, reading direction, and flow direction of an underline.

+
+ +

All coordinates are in device independent pixels (DIPs).

+
+ + dd368145 + DWRITE_UNDERLINE + DWRITE_UNDERLINE +
+ + +

A value that indicates the width of the underline, measured parallel to the baseline.

+
+ + dd368145 + float width + float width +
+ + +

A value that indicates the thickness of the underline, measured perpendicular to the baseline.

+
+ + dd368145 + float thickness + float thickness +
+ + +

A value that indicates the offset of the underline from the baseline. A positive offset represents a position below the baseline (away from the text) and a negative offset is above (toward the text).

+
+ + dd368145 + float offset + float offset +
+ + +

A value that indicates the height of the tallest run where the underline is applied.

+
+ + dd368145 + float runHeight + float runHeight +
+ + +

A value that indicates the reading direction of the text associated with the underline. This value is used to interpret whether the width value runs horizontally or vertically.

+
+ + dd368145 + DWRITE_READING_DIRECTION readingDirection + DWRITE_READING_DIRECTION readingDirection +
+ + +

A value that indicates the flow direction of the text associated with the underline. This value is used to interpret whether the thickness value advances top to bottom, left to right, or right to left.

+
+ + dd368145 + DWRITE_FLOW_DIRECTION flowDirection + DWRITE_FLOW_DIRECTION flowDirection +
+ + +

An array of characters which contains the locale of the text that the underline is being drawn under. For example, in vertical text, the underline belongs on the left for Chinese but on the right for Japanese.

+
+ + dd368145 + const wchar_t* localeName + wchar_t localeName +
+ + +

The measuring mode can be useful to the renderer to determine how underlines are rendered, such as rounding the thickness to a whole pixel in GDI-compatible modes.

+
+ + dd368145 + DWRITE_MEASURING_MODE measuringMode + DWRITE_MEASURING_MODE measuringMode +
+ + +

Specifies how the alpha value of a bitmap or render target should be treated.

+
+ +

The enumeration is used with the enumeration to specify the alpha mode of a render target or bitmap. Different render targets and bitmaps support different alpha modes. For a list, see Supported Pixel Formats and Alpha Modes.

The Differences Between Straight and Premultiplied Alpha

When describing an RGBA color using straight alpha, the alpha value of the color is stored in the alpha channel. For example, to describe a red color that is 60% opaque, you'd use the following values: (255, 0, 0, 255 * 0.6) = (255, 0, 0, 153). The 255 value indicates full red, and 153 (which is 60 percent of 255) indicates that the color should have an opacity of 60 percent.

When describing an RGBA color using premultiplied alpha, each color is multiplied by the alpha value: (255 * 0.6, 0 * 0.6, 0 * 0.6, 255 * 0.6) = (153, 0, 0, 153).

Regardless of the alpha mode of the render target, D2D1_COLOR_F values are always interpreted as straight alpha. For example, when specifying the color of an for use with a bitmap that uses the premultiplied alpha mode, you'd specify the color just as you would if the bitmap used straight alpha. When you paint with the brush, Direct2D translates the color to the destination format for you.

Alpha Mode for Render Targets

Regardless of the alpha mode setting, a render target's contents support transparency. For example, if you draw a partially transparent red rectangle with a render target with an alpha mode of , the rectangle will appear pink (if the background is white), as you might expect.

If you draw a partially transparent red rectangle when the alpha mode is , the rectangle will appear pink (assuming the background is white) and you can see through it to whatever is behind the render target. This is useful when using a to render to a transparent window or when using an compatible render target (a render targeted created by the CreateCompatibleRenderTarget method) to create a bitmap that supports transparency.

ClearType and Alpha Modes

If you specify an alpha mode other than for a render target, the text antialiasing mode automatically changes from CLEARTYPE to GRAYSCALE. (When you specify an alpha mode of , Direct2D sets the alpha for you depending on the type of render target. For a list of what the setting resolves to for each render target, see the Supported Pixel Formats and Alpha Modes overview.)

You can use the SetTextAntialiasMode method to change the text antialias mode back to CLEARTYPE, but rendering ClearType text to a transparent surface can create unpredictable results. If you want to render ClearType text to an transparent render target, we recommend that you use one of the following two techniques.

  • Use the PushAxisAlignedClip method to clip the render target to the area where the text will be rendered, then call the Clear method and specify an opaque color, then render your text.
  • Use DrawRectangle to draw an opaque rectangle behind the area where the text will be rendered.
+
+ + dd368058 + D2D1_ALPHA_MODE + D2D1_ALPHA_MODE +
+ + +

The alpha value might not be meaningful.

+
+ + dd368058 + D2D1_ALPHA_MODE_UNKNOWN + D2D1_ALPHA_MODE_UNKNOWN +
+ + +

The alpha value has been premultiplied. Each color is first scaled by the alpha value. The alpha value itself is the same in both straight and premultiplied alpha. Typically, no color channel value is greater than the alpha channel value. If a color channel value in a premultiplied format is greater than the alpha channel, the standard source-over blending math results in an additive blend.

+
+ + dd368058 + D2D1_ALPHA_MODE_PREMULTIPLIED + D2D1_ALPHA_MODE_PREMULTIPLIED +
+ + +

The alpha value has not been premultiplied. The alpha channel indicates the transparency of the color.

+
+ + dd368058 + D2D1_ALPHA_MODE_STRAIGHT + D2D1_ALPHA_MODE_STRAIGHT +
+ + +

The alpha value is ignored.

+
+ + dd368058 + D2D1_ALPHA_MODE_IGNORE + D2D1_ALPHA_MODE_IGNORE +
+ + +

Specifies how the edges of nontext primitives are rendered.

+
+ + dd368061 + D2D1_ANTIALIAS_MODE + D2D1_ANTIALIAS_MODE +
+ + +

Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.

+
+ + dd368061 + D2D1_ANTIALIAS_MODE_PER_PRIMITIVE + D2D1_ANTIALIAS_MODE_PER_PRIMITIVE +
+ + +

Objects are aliased in most cases. Objects are antialiased only when they are drawn to a render target created by the CreateDxgiSurfaceRenderTarget method and Direct3D multisampling has been enabled on the backing DirectX Graphics Infrastructure (DXGI) surface.

+
+ + dd368061 + D2D1_ANTIALIAS_MODE_ALIASED + D2D1_ANTIALIAS_MODE_ALIASED +
+ + +

Specifies whether an arc should be greater than 180 degrees.

+
+ + dd368068 + D2D1_ARC_SIZE + D2D1_ARC_SIZE +
+ + +

An arc's sweep should be 180 degrees or less.

+
+ + dd368068 + D2D1_ARC_SIZE_SMALL + D2D1_ARC_SIZE_SMALL +
+ + +

An arc's sweep should be 180 degrees or greater.

+
+ + dd368068 + D2D1_ARC_SIZE_LARGE + D2D1_ARC_SIZE_LARGE +
+ + +

Specifies the algorithm that is used when images are scaled or rotated.

+
+ +

To stretch an image, each pixel in the original image must be mapped to a group of pixels in the larger image. To shrink an image, groups of pixels in the original image must be mapped to single pixels in the smaller image. The effectiveness of the algorithms that perform these mappings determines the quality of a scaled image. Algorithms that produce higher-quality scaled images tend to require more processing time. provides faster but lower-quality interpolation, while provides higher-quality interpolation.

+
+ + dd368073 + D2D1_BITMAP_INTERPOLATION_MODE + D2D1_BITMAP_INTERPOLATION_MODE +
+ + +

Use the exact color of the nearest bitmap pixel to the current rendering pixel.

+
+ + dd368073 + D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR + D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR +
+ + +

Interpolate a color from the four bitmap pixels that are the nearest to the rendering pixel.

+
+ + dd368073 + D2D1_BITMAP_INTERPOLATION_MODE_LINEAR + D2D1_BITMAP_INTERPOLATION_MODE_LINEAR +
+ + +

Describes the shape at the end of a line or segment.

+
+ +

The following illustration shows the available cap styles for lines or segments. The red portion of the line shows the extra area added by the line cap setting.

+
+ + dd368079 + D2D1_CAP_STYLE + D2D1_CAP_STYLE +
+ + +

A cap that does not extend past the last point of the line. Comparable to cap used for objects other than lines.

+
+ + dd368079 + D2D1_CAP_STYLE_FLAT + D2D1_CAP_STYLE_FLAT +
+ + +

Half of a square that has a length equal to the line thickness.

+
+ + dd368079 + D2D1_CAP_STYLE_SQUARE + D2D1_CAP_STYLE_SQUARE +
+ + +

A semicircle that has a diameter equal to the line thickness.

+
+ + dd368079 + D2D1_CAP_STYLE_ROUND + D2D1_CAP_STYLE_ROUND +
+ + +

An isosceles right triangle whose hypotenuse is equal in length to the thickness of the line.

+
+ + dd368079 + D2D1_CAP_STYLE_TRIANGLE + D2D1_CAP_STYLE_TRIANGLE +
+ + +

Specifies the different methods by which two geometries can be combined.

+
+ +

The following illustration shows the different geometry combine modes. +

+
+ + dd368083 + D2D1_COMBINE_MODE + D2D1_COMBINE_MODE +
+ + +

The two regions are combined by taking the union of both. Given two geometries, A and B, the resulting geometry is geometry A + geometry B.

+
+ + dd368083 + D2D1_COMBINE_MODE_UNION + D2D1_COMBINE_MODE_UNION +
+ + +

The two regions are combined by taking their intersection. The new area consists of the overlapping region between the two geometries.

+
+ + dd368083 + D2D1_COMBINE_MODE_INTERSECT + D2D1_COMBINE_MODE_INTERSECT +
+ + +

The two regions are combined by taking the area that exists in the first region but not the second and the area that exists in the second region but not the first. Given two geometries, A and B, the new region consists of (A-B) + (B-A).

+
+ + dd368083 + D2D1_COMBINE_MODE_XOR + D2D1_COMBINE_MODE_XOR +
+ + +

The second region is excluded from the first. Given two geometries, A and B, the area of geometry B is removed from the area of geometry A, producing a region that is A-B.

+
+ + dd368083 + D2D1_COMBINE_MODE_EXCLUDE + D2D1_COMBINE_MODE_EXCLUDE +
+ + +

Specifies additional features supportable by a compatible render target when it is created. This enumeration allows a bitwise combination of its member values.

+
+ +

Use this enumeration when creating a compatible render target with the CreateCompatibleRenderTarget method. For more information about compatible render targets, see the Render Targets Overview.

The option may only be requested if the parent render target was created with (for most render targets) or (for render targets created by the CreateCompatibleRenderTarget method).

+
+ + dd368085 + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS +
+ + +

The render target supports no additional features.

+
+ + dd368085 + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE +
+ + +

The render target supports interoperability with the Windows Graphics Device Interface (GDI).

+
+ + dd368085 + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE +
+ + +

Describes the sequence of dashes and gaps in a stroke.

+
+ +

The following illustration shows several available dash styles. For more information, see the Stroke Style Example.

+
+ + dd368087 + D2D1_DASH_STYLE + D2D1_DASH_STYLE +
+ + +

A solid line with no breaks.

+
+ + dd368087 + D2D1_DASH_STYLE_SOLID + D2D1_DASH_STYLE_SOLID +
+ + +

A dash followed by a gap of equal length. The dash and the gap are each twice as long as the stroke thickness.

The equivalent dash array for is {2, 2}.

+
+ + dd368087 + D2D1_DASH_STYLE_DASH + D2D1_DASH_STYLE_DASH +
+ + +

A dot followed by a longer gap.

The equivalent dash array for is {0, 2}.

+
+ + dd368087 + D2D1_DASH_STYLE_DOT + D2D1_DASH_STYLE_DOT +
+ + +

A dash, followed by a gap, followed by a dot, followed by another gap.

The equivalent dash array for is {2, 2, 0, 2}.

+
+ + dd368087 + D2D1_DASH_STYLE_DASH_DOT + D2D1_DASH_STYLE_DASH_DOT +
+ + +

A dash, followed by a gap, followed by a dot, followed by another gap, followed by another dot, followed by another gap.

The equivalent dash array for is {2, 2, 0, 2, 0, 2}.

+
+ + dd368087 + D2D1_DASH_STYLE_DASH_DOT_DOT + D2D1_DASH_STYLE_DASH_DOT_DOT +
+ + +

The dash pattern is specified by an array of floating-point values.

+
+ + dd368087 + D2D1_DASH_STYLE_CUSTOM + D2D1_DASH_STYLE_CUSTOM +
+ + +

Indicates the type of information provided by the Direct2D Debug Layer.

+
+ +

To receive debugging messages, you must install the Direct2D Debug Layer.

+
+ + dd368090 + D2D1_DEBUG_LEVEL + D2D1_DEBUG_LEVEL +
+ + + No documentation. + + + D2D1_DEBUG_LEVEL_NONE + D2D1_DEBUG_LEVEL_NONE + + + + No documentation. + + + D2D1_DEBUG_LEVEL_ERROR + D2D1_DEBUG_LEVEL_ERROR + + + + No documentation. + + + D2D1_DEBUG_LEVEL_WARNING + D2D1_DEBUG_LEVEL_WARNING + + + + No documentation. + + + D2D1_DEBUG_LEVEL_INFORMATION + D2D1_DEBUG_LEVEL_INFORMATION + + + +

Specifies how a device context is initialized for GDI rendering when it is retrieved from the render target.

+
+ +

Use this enumeration with the method to specify how the device context is initialized for GDI rendering.

+
+ + dd368088 + D2D1_DC_INITIALIZE_MODE + D2D1_DC_INITIALIZE_MODE +
+ + +

The current contents of the render target are copied to the device context when it is initialized.

+
+ + dd368088 + D2D1_DC_INITIALIZE_MODE_COPY + D2D1_DC_INITIALIZE_MODE_COPY +
+ + +

The device context is cleared to transparent black when it is initialized.

+
+ + dd368088 + D2D1_DC_INITIALIZE_MODE_CLEAR + D2D1_DC_INITIALIZE_MODE_CLEAR +
+ + +

Specifies whether text snapping is suppressed or clipping to the layout rectangle is enabled. This enumeration allows a bitwise combination of its member values.

+
+ + dd368095 + D2D1_DRAW_TEXT_OPTIONS + D2D1_DRAW_TEXT_OPTIONS +
+ + +

Text is not vertically snapped to pixel boundaries. This setting is recommended for text that is being animated.

+
+ + dd368095 + D2D1_DRAW_TEXT_OPTIONS_NO_SNAP + D2D1_DRAW_TEXT_OPTIONS_NO_SNAP +
+ + +

Text is clipped to the layout rectangle.

+
+ + dd368095 + D2D1_DRAW_TEXT_OPTIONS_CLIP + D2D1_DRAW_TEXT_OPTIONS_CLIP +
+ + +

Text is vertically snapped to pixel boundaries and is not clipped to the layout rectangle.

+
+ + dd368095 + D2D1_DRAW_TEXT_OPTIONS_NONE + D2D1_DRAW_TEXT_OPTIONS_NONE +
+ + +

Specifies how a brush paints areas outside of its normal content area.

+
+ +

For an , the brush's content is the brush's bitmap. For an , the brush's content area is the gradient axis. For an , the brush's content is the area within the gradient ellipse.

For an example, see the Draw Extend Mode Example.

+
+ + dd368100 + D2D1_EXTEND_MODE + D2D1_EXTEND_MODE +
+ + +

Repeat the edge pixels of the brush's content for all regions outside the normal content area.

+
+ + dd368100 + D2D1_EXTEND_MODE_CLAMP + D2D1_EXTEND_MODE_CLAMP +
+ + +

Repeat the brush's content.

+
+ + dd368100 + D2D1_EXTEND_MODE_WRAP + D2D1_EXTEND_MODE_WRAP +
+ + +

The same as , except that alternate tiles of the brush's content are flipped. (The brush's normal content is drawn untransformed.)

+
+ + dd368100 + D2D1_EXTEND_MODE_MIRROR + D2D1_EXTEND_MODE_MIRROR +
+ + +

Specifies whether Direct2D provides synchronization for an and the resources it creates, so that they may be safely accessed from multiple threads.

+
+ +

When you create a factory, you can specify whether it is multithreaded or singlethreaded. A singlethreaded factory provides no serialization against any other single threaded instance within Direct2D, so this mechanism provides a very large degree of scaling on the CPU.

You can also create a multithreaded factory instance. In this case, the factory and all derived objects can be used from any thread, and each render target can be rendered to independently. Direct2D serializes calls to these objects, so a single multithreaded Direct2D instance won't scale as well on the CPU as many single threaded instances. However, the resources can be shared within the multithreaded instance.

Note the qualifier "On the CPU": GPUs generally take advantage of fine-grained parallelism more so than CPUs. For example, multithreaded calls from the CPU might still end up being serialized when being sent to the GPU; however, a whole bank of pixel and vertex shaders will run in parallel to perform the rendering.

+
+ + dd368104 + D2D1_FACTORY_TYPE + D2D1_FACTORY_TYPE +
+ + + No documentation. + + + D2D1_FACTORY_TYPE_SINGLE_THREADED + D2D1_FACTORY_TYPE_SINGLE_THREADED + + + + No documentation. + + + D2D1_FACTORY_TYPE_MULTI_THREADED + D2D1_FACTORY_TYPE_MULTI_THREADED + + + +

Describes the minimum DirectX support required for hardware rendering by a render target.

+
+ + dd756628 + D2D1_FEATURE_LEVEL + D2D1_FEATURE_LEVEL +
+ + +

Direct2D determines whether the video card provides adequate hardware rendering support.

+
+ + dd756628 + D2D1_FEATURE_LEVEL_DEFAULT + D2D1_FEATURE_LEVEL_DEFAULT +
+ + +

The video card must support DirectX 9.

+
+ + dd756628 + D2D1_FEATURE_LEVEL_9 + D2D1_FEATURE_LEVEL_9 +
+ + +

The video card must support DirectX 10.

+
+ + dd756628 + D2D1_FEATURE_LEVEL_10 + D2D1_FEATURE_LEVEL_10 +
+ + +

Indicates whether a specific figure is filled or hollow.

+
+ + dd368106 + D2D1_FIGURE_BEGIN + D2D1_FIGURE_BEGIN +
+ + + No documentation. + + + D2D1_FIGURE_BEGIN_FILLED + D2D1_FIGURE_BEGIN_FILLED + + + + No documentation. + + + D2D1_FIGURE_BEGIN_HOLLOW + D2D1_FIGURE_BEGIN_HOLLOW + + + +

Indicates whether a specific figure is open or closed.

+
+ + dd368108 + D2D1_FIGURE_END + D2D1_FIGURE_END +
+ + + No documentation. + + + D2D1_FIGURE_END_OPEN + D2D1_FIGURE_END_OPEN + + + + No documentation. + + + D2D1_FIGURE_END_CLOSED + D2D1_FIGURE_END_CLOSED + + + +

Specifies how the intersecting areas of geometries or figures are combined to form the area of the composite geometry.

+
+ +

Use the enumeration when creating an with the CreateGeometryGroup method, or when modifying the fill mode of an with the method.

Direct2D fills the interior of a path by using one of the two fill modes specified by this enumeration: (alternate) or (winding). Because the modes determine how to fill the interior of a closed shape, all shapes are treated as closed when they are filled. If there is a gap in a segment in a shape, draw an imaginary line to close it.

To see the difference between the winding and alternate fill modes, assume that you have four circles with the same center and a different radius, as shown in the following illustration. The first one has the radius of 25, the second 50, the third 75, and the fourth 100.

The following illustration shows the shape filled by using the alternate fill mode. Notice that the center and third ring are not filled. This is because a ray drawn from any point in either of those two rings passes through an even number of segments.

The following illustration explains this process.

The following illustration shows how the same shape is filled when the winding fill mode is specified.

Notice that all the rings are filled. This is because all the segments run in the same direction, so a ray drawn from any point will cross one or more segments, and the sum of the crossings will not equal zero.

The following illustration explains this process. The red arrows represent the direction in which the segments are drawn and the black arrow represents an arbitrary ray that runs from a point in the innermost ring. Starting with a value of zero, for each segment that the ray crosses, a value of one is added for every clockwise intersection. All points lie in the fill region in this illustration, because the count does not equal zero.

+
+ + dd368110 + D2D1_FILL_MODE + D2D1_FILL_MODE +
+ + +

Determines whether a point is in the fill region by drawing a ray from that point to infinity in any direction, and then counting the number of path segments within the given shape that the ray crosses. If this number is odd, the point is in the fill region; if even, the point is outside the fill region.

+
+ + dd368110 + D2D1_FILL_MODE_ALTERNATE + D2D1_FILL_MODE_ALTERNATE +
+ + +

Determines whether a point is in the fill region of the path by drawing a ray from that point to infinity in any direction, and then examining the places where a segment of the shape crosses the ray. Starting with a count of zero, add one each time a segment crosses the ray from left to right and subtract one each time a path segment crosses the ray from right to left, as long as left and right are seen from the perspective of the ray. After counting the crossings, if the result is zero, then the point is outside the path. Otherwise, it is inside the path.

+
+ + dd368110 + D2D1_FILL_MODE_WINDING + D2D1_FILL_MODE_WINDING +
+ + +

Specifies which gamma is used for interpolation.

+
+ +

Interpolating in a linear gamma space () can avoid changes in perceived brightness caused by the effect of gamma correction in spaces where the gamma is not 1.0, such as the default sRGB color space, where the gamma is 2.2. For an example of the differences between these two blending modes, consider the following illustration, which shows two gradients, each of which blends from red to blue to green:

The first gradient is interpolated linearly in the space of the render target (sRGB in this case), and one can see the dark bands between each color. The second gradient uses a gamma-correct linear interpolation, and thus does not exhibit the same variations in brightness.

+
+ + dd368113 + D2D1_GAMMA + D2D1_GAMMA +
+ + +

Interpolation is performed in the standard RGB (sRGB) gamma.

+
+ + dd368113 + D2D1_GAMMA_2_2 + D2D1_GAMMA_2_2 +
+ + +

Interpolation is performed in the linear-gamma color space.

+
+ + dd368113 + D2D1_GAMMA_1_0 + D2D1_GAMMA_1_0 +
+ + +

Describes how one geometry object is spatially related to another geometry object.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION + D2D1_GEOMETRY_RELATION +
+ + +

The relationship between the two geometries cannot be determined. This value is never returned by any D2D method.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_UNKNOWN + D2D1_GEOMETRY_RELATION_UNKNOWN +
+ + +

The two geometries do not intersect at all.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_DISJOINT + D2D1_GEOMETRY_RELATION_DISJOINT +
+ + +

The instance geometry is entirely contained by the passed-in geometry.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_IS_CONTAINED + D2D1_GEOMETRY_RELATION_IS_CONTAINED +
+ + +

The instance geometry entirely contains the passed-in geometry.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_CONTAINS + D2D1_GEOMETRY_RELATION_CONTAINS +
+ + +

The two geometries overlap but neither completely contains the other.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_OVERLAP + D2D1_GEOMETRY_RELATION_OVERLAP +
+ + +

Specifies how a geometry is simplified to an .

+
+ + dd368117 + D2D1_GEOMETRY_SIMPLIFICATION_OPTION + D2D1_GEOMETRY_SIMPLIFICATION_OPTION +
+ + + No documentation. + + + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES + + + + No documentation. + + + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES + + + +

Specifies options that can be applied when a layer resource is applied to create a layer.

+
+ +

ClearType antialiasing must use the current contents of the render target to blend properly. When a pushed layer requests initializing for ClearType, Direct 2D copies the current contents of the render target into the layer so that ClearType antialiasing can be performed. Rendering ClearType text into a transparent layer does not produce the desired results.

A small performance hit from re-copying content occurs when is called.

+
+ + dd368124 + D2D1_LAYER_OPTIONS + D2D1_LAYER_OPTIONS +
+ + +

The text in this layer does not use ClearType antialiasing.

+
+ + dd368124 + D2D1_LAYER_OPTIONS_NONE + D2D1_LAYER_OPTIONS_NONE +
+ + +

The layer renders correctly for ClearType text. If the render target is set to ClearType, the layer continues to render ClearType. If the render target is set to ClearType and this option is not specified, the render target will be set to render gray-scale until the layer is popped. The caller can override this default by calling SetTextAntialiasMode while within the layer. This flag is slightly slower than the default.

+
+ + dd368124 + D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE + D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE +
+ + +

Describes the shape that joins two lines or segments.

+
+ +

A miter limit affects how sharp miter joins are allowed to be. If the line join style is , then the join will be mitered with regular angular vertices if it doesn't extend beyond the miter limit; otherwise, the line join will be beveled.

The following illustration shows different line join settings for the same stroked path geometry. For more information, see Stroke Style Example.

+
+ + dd368130 + D2D1_LINE_JOIN + D2D1_LINE_JOIN +
+ + +

Regular angular vertices.

+
+ + dd368130 + D2D1_LINE_JOIN_MITER + D2D1_LINE_JOIN_MITER +
+ + +

Beveled vertices.

+
+ + dd368130 + D2D1_LINE_JOIN_BEVEL + D2D1_LINE_JOIN_BEVEL +
+ + +

Rounded vertices.

+
+ + dd368130 + D2D1_LINE_JOIN_ROUND + D2D1_LINE_JOIN_ROUND +
+ + +

Regular angular vertices unless the join would extend beyond the miter limit; otherwise, beveled vertices.

+
+ + dd368130 + D2D1_LINE_JOIN_MITER_OR_BEVEL + D2D1_LINE_JOIN_MITER_OR_BEVEL +
+ + +

Indicates the measuring method used for text layout.

+
+ + dd368133 + DWRITE_MEASURING_MODE + DWRITE_MEASURING_MODE +
+ + +

Specifies that text is measured using glyph ideal metrics whose values are independent to the current display resolution.

+
+ + dd368133 + DWRITE_MEASURING_MODE_NATURAL + DWRITE_MEASURING_MODE_NATURAL +
+ + +

Specifies that text is measured using glyph display-compatible metrics whose values tuned for the current display resolution.

+
+ + dd368133 + DWRITE_MEASURING_MODE_GDI_CLASSIC + DWRITE_MEASURING_MODE_GDI_CLASSIC +
+ + +

Specifies that text is measured using the same glyph display metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.

+
+ + dd368133 + DWRITE_MEASURING_MODE_GDI_NATURAL + DWRITE_MEASURING_MODE_GDI_NATURAL +
+ + +

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.

+
+ + dd756629 + D2D1_OPACITY_MASK_CONTENT + D2D1_OPACITY_MASK_CONTENT +
+ + +

The opacity mask contains graphics. The opacity mask is blended in the gamma 2.2 color space.

+
+ + dd756629 + D2D1_OPACITY_MASK_CONTENT_GRAPHICS + D2D1_OPACITY_MASK_CONTENT_GRAPHICS +
+ + +

The opacity mask contains non-GDI text. The gamma space used for blending is obtained from the render target's text rendering parameters. ().

+
+ + dd756629 + D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL + D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL +
+ + +

The opacity mask contains text rendered using the GDI-compatible rendering mode. The opacity mask is blended using the gamma for GDI rendering.

+
+ + dd756629 + D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE + D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE +
+ + +

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.

+
+ + dd368136 + D2D1_PATH_SEGMENT + D2D1_PATH_SEGMENT +
+ + +

The segment is joined as specified by the interface, and it is stroked.

+
+ + dd368136 + D2D1_PATH_SEGMENT_NONE + D2D1_PATH_SEGMENT_NONE +
+ + +

The segment is not stroked.

+
+ + dd368136 + D2D1_PATH_SEGMENT_FORCE_UNSTROKED + D2D1_PATH_SEGMENT_FORCE_UNSTROKED +
+ + +

The segment is always joined with the one preceding it using a round line join, regardless of which enumeration is specified by the interface. If this segment is the first segment and the figure is closed, a round line join is used to connect the closing segment with the first segment. If the figure is not closed, this setting has no effect on the first segment of the figure. If is called just before , the join between the closing segment and the last explicitly specified segment is affected.

+
+ + dd368136 + D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN + D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN +
+ + +

Describes how a render target behaves when it presents its content. This enumeration allows a bitwise combination of its member values.

+
+ + dd368144 + D2D1_PRESENT_OPTIONS + D2D1_PRESENT_OPTIONS +
+ + +

The render target waits until the display refreshes to present and discards the frame upon presenting.

+
+ + dd368144 + D2D1_PRESENT_OPTIONS_NONE + D2D1_PRESENT_OPTIONS_NONE +
+ + +

The render target does not discard the frame upon presenting.

+
+ + dd368144 + D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS + D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS +
+ + +

The render target does not wait until the display refreshes to present.

+
+ + dd368144 + D2D1_PRESENT_OPTIONS_IMMEDIATELY + D2D1_PRESENT_OPTIONS_IMMEDIATELY +
+ + +

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

+
+ +

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

+
+ + dd756630 + D2D1_RENDER_TARGET_TYPE + D2D1_RENDER_TARGET_TYPE +
+ + +

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

+
+ + dd756630 + D2D1_RENDER_TARGET_TYPE_DEFAULT + D2D1_RENDER_TARGET_TYPE_DEFAULT +
+ + +

The render target uses software rendering only.

+
+ + dd756630 + D2D1_RENDER_TARGET_TYPE_SOFTWARE + D2D1_RENDER_TARGET_TYPE_SOFTWARE +
+ + +

The render target uses hardware rendering only.

+
+ + dd756630 + D2D1_RENDER_TARGET_TYPE_HARDWARE + D2D1_RENDER_TARGET_TYPE_HARDWARE +
+ + +

Describes how a render target is remoted and whether it should be GDI-compatible. This enumeration allows a bitwise combination of its member values.

+
+ + dd368157 + D2D1_RENDER_TARGET_USAGE + D2D1_RENDER_TARGET_USAGE +
+ + +

The render target attempts to use Direct3D command-stream remoting and uses bitmap remoting if stream remoting fails. The render target is not GDI-compatible.

+
+ + dd368157 + D2D1_RENDER_TARGET_USAGE_NONE + D2D1_RENDER_TARGET_USAGE_NONE +
+ + +

The render target renders content locally and sends it to the terminal services client as a bitmap.

+
+ + dd368157 + D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING + D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING +
+ + +

The render target can be used efficiently with GDI.

+
+ + dd368157 + D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE + D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE +
+ + +

Defines the direction that an elliptical arc is drawn.

+
+ + dd368166 + D2D1_SWEEP_DIRECTION + D2D1_SWEEP_DIRECTION +
+ + +

Arcs are drawn in a counterclockwise (negative-angle) direction.

+
+ + dd368166 + D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE + D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE +
+ + +

Arcs are drawn in a clockwise (positive-angle) direction.

+
+ + dd368166 + D2D1_SWEEP_DIRECTION_CLOCKWISE + D2D1_SWEEP_DIRECTION_CLOCKWISE +
+ + +

Describes the antialiasing mode used for drawing text.

+
+ +

This enumeration is used with the SetTextAntialiasMode of an to specify how text and glyphs are antialiased.

By default, Direct2D renders text in ClearType mode. Factors that can downgrade the default quality to grayscale or aliased:

  • If the value is , then the default text antialiasing mode is aliased. To change the DirectWrite rendering mode of an , use the method.
  • If the value is , then the default text antialiasing mode is grayscale.
  • If the render target has an alpha channel and is not set to , then the default text antialiasing mode is grayscale.
  • If is called without (and the corresponding PopLayer has not been called yet), then the default text antialiasing mode is grayscale.
+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE + D2D1_TEXT_ANTIALIAS_MODE +
+ + +

Use the system default. See Remarks.

+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE_DEFAULT + D2D1_TEXT_ANTIALIAS_MODE_DEFAULT +
+ + +

Use ClearType antialiasing.

+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE + D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE +
+ + +

Use grayscale antialiasing.

+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE + D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE +
+ + +

Do not use antialiasing.

+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE_ALIASED + D2D1_TEXT_ANTIALIAS_MODE_ALIASED +
+ + +

Describes whether a window is occluded.

+
+ +

If the window was occluded the last time EndDraw was called, the next time the render target calls CheckWindowState, it returns regardless of the current window state. If you want to use CheckWindowState to check the current window state, call CheckWindowState after every EndDraw call and ignore its return value. This will ensure that your next call to CheckWindowState state returns the actual window state.

+
+ + dd368174 + D2D1_WINDOW_STATE + D2D1_WINDOW_STATE +
+ + +

The window is not occluded.

+
+ + dd368174 + D2D1_WINDOW_STATE_NONE + D2D1_WINDOW_STATE_NONE +
+ + +

The window is occluded.

+
+ + dd368174 + D2D1_WINDOW_STATE_OCCLUDED + D2D1_WINDOW_STATE_OCCLUDED +
+ + + Functions + + + + + +

Indicates whether the specified matrix is invertible.

+
+

The matrix to test.

+

true if the matrix was inverted; otherwise, false.

+ + dd368045 + BOOL D2D1IsMatrixInvertible([In] const D2D_MATRIX_3X2_F* matrix) + D2D1IsMatrixInvertible +
+ + +

Tries to invert the specified matrix.

+
+

The matrix to invert.

+

true if the matrix was inverted; otherwise, false.

+ + dd368044 + BOOL D2D1InvertMatrix([InOut] D2D_MATRIX_3X2_F* matrix) + D2D1InvertMatrix +
+ + +

Creates a skew transformation that has the specified x-axis angle, y-axis angle, and center point.

+
+

The x-axis skew angle, which is measured in degrees counterclockwise from the y-axis.

+

The y-axis skew angle, which is measured in degrees counterclockwise from the x-axis.

+

The center point of the skew operation.

+

When this method returns, contains the rotation transformation. You must allocate storate for this parameter.

+ + dd368052 + void D2D1MakeSkewMatrix([In] float angleX,[In] float angleY,[In] D2D_POINT_2F center,[Out] D2D_MATRIX_3X2_F* matrix) + D2D1MakeSkewMatrix +
+ + +

Creates a factory object that can be used to create Direct2D resources.

+
+

The threading model of the factory and the resources it creates.

+

A reference to the IID of that is obtained by using __uuidof().

+

The level of detail provided to the debugging layer.

+

When this method returns, contains the address to a reference to the new factory.

+

If this function succeeds, it returns . Otherwise, it returns an error code.

+ +

The interface provides the starting point for Direct2D. In general, objects created from a single instance of a factory object can be used with other resources created from that instance, but not with resources created by other factory instances.

+
+ + dd368034 + HRESULT D2D1CreateFactory([In] D2D1_FACTORY_TYPE factoryType,[In] const GUID& riid,[In, Optional] const D2D1_FACTORY_OPTIONS* pFactoryOptions,[Out] void** ppIFactory) + D2D1CreateFactory +
+ + +

Creates a rotation transformation that rotates by the specified angle about the specified point.

+
+

The clockwise rotation angle, in degrees.

+

The point about which to rotate.

+

When this method returns, contains the new rotation transformation. You must allocate storage for this parameter.

+ +

Rotation occurs in the plane of the 2-D surface.

+
+ + dd368049 + void D2D1MakeRotateMatrix([In] float angle,[In] D2D_POINT_2F center,[Out] D2D_MATRIX_3X2_F* matrix) + D2D1MakeRotateMatrix +
+ + + Functions + + + + + Constant WrongFactory. + D2DERR_WRONG_FACTORY + + + Constant BadNumber. + D2DERR_BAD_NUMBER + + + Constant MaximumTextureSizeExceeded. + D2DERR_MAX_TEXTURE_SIZE_EXCEEDED + + + Constant NoHardwareDevice. + D2DERR_NO_HARDWARE_DEVICE + + + Constant WrongResourceDomain. + D2DERR_WRONG_RESOURCE_DOMAIN + + + Constant InvalidCall. + D2DERR_INVALID_CALL + + + Constant Win32Error. + D2DERR_WIN32_ERROR + + + Constant PopCallDidNotMatchPush. + D2DERR_POP_CALL_DID_NOT_MATCH_PUSH + + + Constant UnsupportedVersion. + D2DERR_UNSUPPORTED_VERSION + + + Constant RecreateTarget. + D2DERR_RECREATE_TARGET + + + Constant ZeroVector. + D2DERR_ZERO_VECTOR + + + Constant UnsupportedPixelFormat. + D2DERR_UNSUPPORTED_PIXEL_FORMAT + + + Constant ShaderCompileFailed. + D2DERR_SHADER_COMPILE_FAILED + + + Constant ScannerFailed. + D2DERR_SCANNER_FAILED + + + Constant TooManyShaderElements. + D2DERR_TOO_MANY_SHADER_ELEMENTS + + + Constant TextRendererNotReleased. + D2DERR_TEXT_RENDERER_NOT_RELEASED + + + Constant IncompatibleBrushTypes. + D2DERR_INCOMPATIBLE_BRUSH_TYPES + + + Constant ScreenAccessDenied. + D2DERR_SCREEN_ACCESS_DENIED + + + Constant LayerAlreadyInUse. + D2DERR_LAYER_ALREADY_IN_USE + + + Constant InternalError. + D2DERR_INTERNAL_ERROR + + + Constant RenderTargetHasLayerOrCliprect. + D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT + + + Constant WrongState. + D2DERR_WRONG_STATE + + + Constant DisplayStateInvalid. + D2DERR_DISPLAY_STATE_INVALID + + + Constant TextEffectIsWrongType. + D2DERR_TEXT_EFFECT_IS_WRONG_TYPE + + + Constant UnsupportedOperation. + D2DERR_UNSUPPORTED_OPERATION + + + Constant PushPopUnbalanced. + D2DERR_PUSH_POP_UNBALANCED + + + Constant DisplayFormatNotSupported. + D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED + + + Constant NotInitializeD. + D2DERR_NOT_INITIALIZED + + + Constant TargetNotGdiCompatible. + D2DERR_TARGET_NOT_GDI_COMPATIBLE + + + Constant ExceedsMaximumBitmapSize. + D2DERR_EXCEEDS_MAX_BITMAP_SIZE + + + +

Issues drawing commands to a GDI device context.

+
+ + Creating Objects

To create an , use the method.

Before you can render with the DC render target, you must use its BindDC method to associate it with a GDI DC. You do this each time you use a different DC, or the size of the area you want to draw to changes.

To enable the DC render target to work with GDI, set its pixel format to and its alpha mode to or .

Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

ID2D1DCRenderTargets, GDI Transforms, and Right-to-Left Language Builds of Windows

When you use an , it renders Direct2D content to an internal bitmap, and then renders the bitmap to the DC with GDI.

It's possible for GDI to apply a GDI transform (through the SetWorldTransform method) or other effect to the same DC used by the render target, in which case GDI transforms the bitmap produced by Direct2D. Using a GDI transform to transform the Direct2D content has the potential to degrade the visual quality of the output, because you're transforming a bitmap for which antialiasing and subpixel positioning have already been calculated.

For example, suppose you use the render target to draw a scene that contains antialiased geometries and text. If you use a GDI transform to apply a scale transform to the DC and scale the scene so that it's 10 times larger, you'll see pixelization and jagged edges. (If, however, you applied a similar transform using Direct2D, the visual quality of the scene would not be degraded.)

In some cases, it might not be obvious that GDI is performing additional processing that might degrade the quality of the Direct2D content. For example, on a right-to-left (RTL) build of Windows, content rendered by an might be horizontally inverted when GDI copies it to its destination. Whether the content is actually inverted depends on the current settings of the DC.

Depending on the type of content being rendered, you might want to prevent the inversion. If the Direct2D content includes ClearType text, this inversion will degrade the quality of the text.

You can control RTL rendering behavior by using the SetLayout GDI function. To prevent the mirroring, call the SetLayout GDI function and specify LAYOUT_BITMAPORIENTATIONPRESERVED as the only value for the second parameter (do not combine it with LAYOUT_RTL), as shown in the following example:

SetLayout(m_hwnd, LAYOUT_BITMAPORIENTATIONPRESERVED);
+
+ + dd371213 + ID2D1DCRenderTarget + ID2D1DCRenderTarget +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Binds the render target to the device context to which it issues drawing commands.

+
+

The device context to which the render target issues drawing commands.

+

The dimensions of the handle to a device context () to which the render target is bound.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Before you can render with the DC render target, you must use its BindDC method to associate it with a GDI DC. You do this each time you use a different DC, or the size of the area you want to draw to changes.

+
+ + dd371214 + HRESULT ID2D1DCRenderTarget::BindDC([In] const HDC hDC,[In] const RECT* pSubRect) + ID2D1DCRenderTarget::BindDC +
+ + + Creates a render target that draws to a Windows Graphics Device Interface (GDI) device context. + + + Before you can render with a DC render target, you must use the render target's {{BindDC}} method to associate it with a GDI DC. Do this for each different DC and whenever there is a change in the size of the area you want to draw to.To enable the DC render target to work with GDI, set the render target's DXGI format to and alpha mode to or D2D1_ALPHA_MODE_IGNORE.Your application should create render targets once and hold on to them for the life of the application or until the render target's {{EndDraw}} method returns the {{D2DERR_RECREATE_TARGET}} error. When you receive this error, recreate the render target (and any resources it created). + + an instance of + The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. To enable the device context (DC) render target to work with GDI, set the DXGI format to and the alpha mode to or D2D1_ALPHA_MODE_IGNORE. For more information about pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + + + +

Represents the drawing state of a render target: the antialiasing mode, transform, tags, and text-rendering options.

+
+ + Creating Objects

To create an , use the method.

A drawing state block is a device-independent resource; you can create it once and retain it for the life of your application. For more information about resources, see the Resources Overview.

+
+ + dd371218 + ID2D1DrawingStateBlock + ID2D1DrawingStateBlock +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the antialiasing mode, transform, and tags portion of the drawing state.

+
+

When this method returns, contains the antialiasing mode, transform, and tags portion of the drawing state. You must allocate storage for this parameter.

+ + dd371223 + void ID2D1DrawingStateBlock::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION* stateDescription) + ID2D1DrawingStateBlock::GetDescription +
+ + +

Specifies the antialiasing mode, transform, and tags portion of the drawing state.

+
+

The antialiasing mode, transform, and tags portion of the drawing state.

+ + dd371231 + void ID2D1DrawingStateBlock::SetDescription([In] const D2D1_DRAWING_STATE_DESCRIPTION* stateDescription) + ID2D1DrawingStateBlock::SetDescription +
+ + +

Specifies the text-rendering configuration of the drawing state.

+
+

The text-rendering configuration of the drawing state, or null to use default settings.

+ + dd371237 + void ID2D1DrawingStateBlock::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) + ID2D1DrawingStateBlock::SetTextRenderingParams +
+ + +

Retrieves the text-rendering configuration of the drawing state.

+
+

When this method returns, contains the address of a reference to an object that describes the text-rendering configuration of the drawing state.

+ + dd371227 + void ID2D1DrawingStateBlock::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) + ID2D1DrawingStateBlock::GetTextRenderingParams +
+ + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + + + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + A structure that contains antialiasing, transform, and tags information. + + + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + Optional text parameters that indicate how text should be rendered. + + + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + A structure that contains antialiasing, transform, and tags information. + Optional text parameters that indicate how text should be rendered. + + + +

Retrieves or sets the antialiasing mode, transform, and tags portion of the drawing state.

+
+ + dd371223 + GetDescription / SetDescription + GetDescription + void ID2D1DrawingStateBlock::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION* stateDescription) +
+ + +

Retrieves or sets the text-rendering configuration of the drawing state.

+
+ + dd371227 + GetTextRenderingParams / SetTextRenderingParams + GetTextRenderingParams + void ID2D1DrawingStateBlock::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) +
+ + +

Represents an ellipse.

+
+ + Creating Objects

To create an elipse geometry, use the method.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd371239 + ID2D1EllipseGeometry + ID2D1EllipseGeometry +
+ + +

Represents a geometry resource and defines a set of helper methods for manipulating and measuring geometric shapes. Interfaces that inherit from define specific shapes.

+
+ +

There are several types of Direct2D geometry objects: a simple geometry (, , or ), a path geometry (), or a composite geometry ( and ).

Direct2D geometries enable you to describe two-dimensional figures and also offer many uses, such as defining hit-test regions, clip regions, and even animation paths.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd316578 + ID2D1Geometry + ID2D1Geometry +
+ + + Default flattening tolerance used for all methods that are not explicitly using it. Default is set to 0.25f. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + Retrieves the bounds of the geometry.Overload list + + No documentation. + No documentation. + + dd742751 + HRESULT ID2D1Geometry::GetBounds([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[Out] D2D_RECT_F* bounds) + ID2D1Geometry::GetBounds + + + +

Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix.

+
+

The amount by which to widen the geometry by stroking its outline.

+

The style of the stroke that widens the geometry.

+

A transform to apply to the geometry after the geometry is transformed and after the geometry has been stroked.

+

When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.

+ No documentation. + + dd316714 + HRESULT ID2D1Geometry::GetWidenedBounds([In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] D2D_RECT_F* bounds) + ID2D1Geometry::GetWidenedBounds +
+ + +

Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform.

+
+

The point to test for containment.

+

The thickness of the stroke to apply.

+

The style of stroke to apply.

+

The transform to apply to the stroked geometry.

+

When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter.

+ No documentation. + + dd316742 + HRESULT ID2D1Geometry::StrokeContainsPoint([In] D2D_POINT_2F point,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] BOOL* contains) + ID2D1Geometry::StrokeContainsPoint +
+ + +

Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance.

+
+

The point to test.

+

The transform to apply to the geometry prior to testing for containment, or null.

+

The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution.

+

When this method returns, contains a value that is TRUE if the area filled by the geometry contains point; otherwise, .You must allocate storage for this parameter.

+ + dd316687 + HRESULT ID2D1Geometry::FillContainsPoint([In] D2D_POINT_2F point,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] BOOL* contains) + ID2D1Geometry::FillContainsPoint +
+ + +

Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance.

+
+

The geometry to test.

+

The transform to apply to inputGeometry, or null.

+

The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution.

+

When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter.

+ +

When interpreting the returned relation value, it is important to remember that the member of the enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry.

For more information about how to interpret other possible return values, see .

+
+ + dd316630 + HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D_MATRIX_3X2_F* inputGeometryTransform,[In] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation) + ID2D1Geometry::CompareWithGeometry +
+ + + Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an .Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742770 + HRESULT ID2D1Geometry::Simplify([In] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + ID2D1Geometry::Simplify + + + + 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.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + + dd742772 + HRESULT ID2D1Geometry::Tessellate([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) + ID2D1Geometry::Tessellate + + + + Combines this geometry with the specified geometry and stores the result in an .Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742739 + HRESULT ID2D1Geometry::CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[In] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D_MATRIX_3X2_F* inputGeometryTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + ID2D1Geometry::CombineWithGeometry + + + +

Computes the outline of the geometry and writes the result to an .

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The Outline method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties:

  • The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.
  • The outermost figures in the output geometry are all oriented counterclockwise.
  • The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .

Additionally, the Outline method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. +

+
+ + dd316717 + HRESULT ID2D1Geometry::Outline([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + ID2D1Geometry::Outline +
+ + +

Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance.

+
+

The transform to apply to this geometry before computing its area, or null.

+

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

+

When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter.

+ + dd316641 + HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] float* area) + ID2D1Geometry::ComputeArea +
+ + + Calculates the length of the geometry as though each segment were unrolled into a line.Overload list + + No documentation. + No documentation. + No documentation. + + dd742744 + HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] float* length) + ID2D1Geometry::ComputeLength + + + +

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.

+
+

The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry.

+

The transform to apply to the geometry before calculating the specified point and tangent, or null.

+

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

+

When this method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter.

+

The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values.

+ + dd316676 + HRESULT ID2D1Geometry::ComputePointAtLength([In] float length,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out, Optional] D2D_POINT_2F* point,[Out, Optional] D2D_POINT_2F* unitTangentVector) + ID2D1Geometry::ComputePointAtLength +
+ + +

Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the default tolerance.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316770 + HRESULT ID2D1Geometry::Widen([In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + ID2D1Geometry::Widen +
+ + + Combines this geometry with the specified geometry and stores the result in an . + + The geometry to combine with this instance. + The type of combine operation to perform. + The result of the combine operation. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[None] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Combines this geometry with the specified geometry and stores the result in an . + + The geometry to combine with this instance. + The type of combine operation to perform. + The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. + The result of the combine operation. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[None] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Combines this geometry with the specified geometry and stores the result in an . + + The geometry to combine with this instance. + The type of combine operation to perform. + The transform to apply to inputGeometry before combining, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. + The result of the combine operation. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[None] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance. + + + When interpreting the returned relation value, it is important to remember that the member of the D2D1_GEOMETRY_RELATION enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry. For more information about how to interpret other possible return values, see . + + The geometry to test. + When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation) + + + + Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance. + + + When interpreting the returned relation value, it is important to remember that the member of the D2D1_GEOMETRY_RELATION enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry. For more information about how to interpret other possible return values, see . + + The geometry to test. + The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation) + + + + Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. + + When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* area) + + + + Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* area) + + + + Calculates the length of the geometry as though each segment were unrolled into a line. + + When this method returns, contains a reference to the length of the geometry. For closed geometries, the length includes an implicit closing segment. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* length) + + + + Calculates the length of the geometry as though each segment were unrolled into a line. + + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a reference to the length of the geometry. For closed geometries, the length includes an implicit closing segment. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* length) + + + + 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. + + The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry. + When this method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter. + The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values. + HRESULT ID2D1Geometry::ComputePointAtLength([None] float length,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out, Optional] D2D1_POINT_2F* point,[Out, Optional] D2D1_POINT_2F* unitTangentVector) + + + + 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. + + The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter. + The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values. + HRESULT ID2D1Geometry::ComputePointAtLength([None] float length,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out, Optional] D2D1_POINT_2F* point,[Out, Optional] D2D1_POINT_2F* unitTangentVector) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + The transform to apply to the geometry prior to testing for containment, or NULL. + The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Retrieves the bounds of the geometry. + + When this method returns, contains the bounds of this geometry. If the bounds are empty, this will be a rect where bounds.left > bounds.right. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::GetBounds([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[Out] D2D1_RECT_F* bounds) + + + + Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. + + The amount by which to widen the geometry by stroking its outline. + When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::GetWidenedBounds([None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] D2D1_RECT_F* bounds) + + + + Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. + + The amount by which to widen the geometry by stroking its outline. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::GetWidenedBounds([None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] D2D1_RECT_F* bounds) + + + + Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. + + The amount by which to widen the geometry by stroking its outline. + The style of the stroke that widens the geometry. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::GetWidenedBounds([None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] D2D1_RECT_F* bounds) + + + + Computes the outline of the geometry and writes the result to an . + + + The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. + + The to which the geometry's transformed outline is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Outline([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Computes the outline of the geometry and writes the result to an . + + + The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. + + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the geometry's transformed outline is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Outline([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Computes the outline of the geometry and writes the result to an . + + + The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. + + The transform to apply to the geometry outline, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the geometry's transformed outline is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Outline([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an . + + A value that specifies whether the simplified geometry should contain curves. + The to which the simplified geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Simplify([None] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an . + + A value that specifies whether the simplified geometry should contain curves. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the simplified geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Simplify([None] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an . + + A value that specifies whether the simplified geometry should contain curves. + The transform to apply to the simplified geometry, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the simplified geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Simplify([None] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + The transform to apply to the stroked geometry. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + The transform to apply to the stroked geometry. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + The transform to apply to the stroked geometry. + The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the stroke by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + 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 + + The to which the tessellated is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Tessellate([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) + + + + 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 + + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the tessellated is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Tessellate([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) + + + + 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 + + The transform to apply to this geometry, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the tessellated is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Tessellate([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) + + + + Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The amount by which to widen the geometry. + The to which the widened geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The amount by which to widen the geometry. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the widened geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The amount by which to widen the geometry. + The style of stroke to apply to the geometry, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the widened geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The amount by which to widen the geometry. + The style of stroke to apply to the geometry, or NULL. + The transform to apply to the geometry after widening it, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the widened geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Get or set the default flattening tolerance used for all methods that are not explicitly using it. Default is set to 0.25f. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the structure that describes this ellipse geometry.

+
+ No documentation. + + dd371243 + void ID2D1EllipseGeometry::GetEllipse([Out] D2D1_ELLIPSE* ellipse) + ID2D1EllipseGeometry::GetEllipse +
+ + + Creates an . + + an instance of + A value that describes the center point, x-radius, and y-radius of the ellipse geometry. + + + +

Gets the structure that describes this ellipse geometry.

+
+ + dd371243 + GetEllipse + GetEllipse + void ID2D1EllipseGeometry::GetEllipse([Out] D2D1_ELLIPSE* ellipse) +
+ + +

Creates Direct2D resources.

+
+ +

The interface is the starting point for using Direct2D; it's what you use to create other Direct2D resources that you can use to draw or describe shapes.

A factory defines a set of CreateResource methods that can produce the following drawing resources:

  • Render targets: objects that render drawing commands.
  • Drawing state blocks: objects that store drawing state information, such as the current transformation and antialiasing mode.
  • Geometries: objects that represent simple and potentially complex shapes.

To create an , you use one of the CreateFactory methods. You should retain the instance for as long as you use Direct2D resources; in general, you shouldn't need to recreate it when the application is running. For more information about Direct2D resources, see the Resources Overview.

Singlethreaded and Multithreaded Factories

When you create a factory, you can specify whether it is multithreaded or singlethreaded. A singlethreaded factory provides no serialization against any other single threaded instance within Direct2D, so, this mechanism provides a very large degree of scaling on the CPU.

You can also create a multithreaded factory instance. In this case, the factory and all derived objects can be used from any thread and each render target can be rendered to independently. Direct2D serializes calls to these objects, so a single multithreaded Direct2D instance won't scale as well on the CPU as many single threaded instances. However, the resources can be shared within the multithreaded instance.

Note that the qualifier "On the CPU": GPUs generally take advantage of fine-grained parallelism more so than CPUs. For example, multithreaded calls from the CPU might still end up being serialized when being sent to the GPU, however, a whole bank of pixel and vertex shaders will run in parallel to perform the rendering.

+
+ + dd371246 + ID2D1Factory + ID2D1Factory +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Forces the factory to refresh any system defaults that it might have changed since factory creation.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

You should call this method before calling the GetDesktopDpi method, to ensure that the system DPI is current.

+
+ + dd371319 + HRESULT ID2D1Factory::ReloadSystemMetrics() + ID2D1Factory::ReloadSystemMetrics +
+ + +

Retrieves the current desktop dots per inch (DPI). To refresh this value, call ReloadSystemMetrics.

+
+ No documentation. + No documentation. + +

Use this method to obtain the system DPI when setting physical pixel values, such as when you specify the size of a window.

+
+ + dd371316 + void ID2D1Factory::GetDesktopDpi([Out] float* dpiX,[Out] float* dpiY) + ID2D1Factory::GetDesktopDpi +
+ + +

Creates an .

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371286 + HRESULT ID2D1Factory::CreateRectangleGeometry([In] const D2D_RECT_F* rectangle,[Out, Fast] ID2D1RectangleGeometry** rectangleGeometry) + ID2D1Factory::CreateRectangleGeometry +
+ + +

Creates an .

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371292 + HRESULT ID2D1Factory::CreateRoundedRectangleGeometry([In] const D2D1_ROUNDED_RECT* roundedRectangle,[Out, Fast] ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) + ID2D1Factory::CreateRoundedRectangleGeometry +
+ + +

Creates an .

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371265 + HRESULT ID2D1Factory::CreateEllipseGeometry([In] const D2D1_ELLIPSE* ellipse,[Out, Fast] ID2D1EllipseGeometry** ellipseGeometry) + ID2D1Factory::CreateEllipseGeometry +
+ + +

Creates an , which is an object that holds other geometries.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and , an array of geometry objects to add to the geometry group, and the number of elements in this array.

+
+ + dd371273 + HRESULT ID2D1Factory::CreateGeometryGroup([In] D2D1_FILL_MODE fillMode,[In, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount,[Out, Fast] ID2D1GeometryGroup** geometryGroup) + ID2D1Factory::CreateGeometryGroup +
+ + +

Creates an , which is an object that holds other geometries.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and , an array of geometry objects to add to the geometry group, and the number of elements in this array.

+
+ + dd371273 + HRESULT ID2D1Factory::CreateGeometryGroup([In] D2D1_FILL_MODE fillMode,[In, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount,[Out, Fast] ID2D1GeometryGroup** geometryGroup) + ID2D1Factory::CreateGeometryGroup +
+ + +

Transforms the specified geometry and stores the result as an object.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Like other resources, a transformed geometry the inherits the resource space and threading policy of the factory that created it. This object is immutable.

When stroking a transformed geometry with the DrawGeometry method, the stroke width is not affected by the transform applied to the geometry. The stroke width is only affected by the world transform.

+
+ + dd371304 + HRESULT ID2D1Factory::CreateTransformedGeometry([In] ID2D1Geometry* sourceGeometry,[In] const D2D_MATRIX_3X2_F* transform,[Out, Fast] ID2D1TransformedGeometry** transformedGeometry) + ID2D1Factory::CreateTransformedGeometry +
+ + +

Creates an empty .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371282 + HRESULT ID2D1Factory::CreatePathGeometry([Out, Fast] ID2D1PathGeometry** pathGeometry) + ID2D1Factory::CreatePathGeometry +
+ + + Creates an that describes start cap, dash pattern, and other features of a stroke.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742729 + HRESULT ID2D1Factory::CreateStrokeStyle([In] const D2D1_STROKE_STYLE_PROPERTIES* strokeStyleProperties,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[Out, Fast] ID2D1StrokeStyle** strokeStyle) + ID2D1Factory::CreateStrokeStyle + + + +

Creates an that can be used with the SaveDrawingState and RestoreDrawingState methods of a render target.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371257 + HRESULT ID2D1Factory::CreateDrawingStateBlock([In, Optional] const D2D1_DRAWING_STATE_DESCRIPTION* drawingStateDescription,[In, Optional] IDWriteRenderingParams* textRenderingParams,[Out, Fast] ID2D1DrawingStateBlock** drawingStateBlock) + ID2D1Factory::CreateDrawingStateBlock +
+ + +

Creates a render target that renders to a Microsoft Windows Imaging Component (WIC) bitmap.

+
+

The bitmap that receives the rendering output of the render target.

+

The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see Supported Pixel Formats and Alpha Modes.

+

When this method returns, contains the address of the reference to the object created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Your application should create render targets once and hold onto them for the life of the application or until the error is received. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371313 + HRESULT ID2D1Factory::CreateWicBitmapRenderTarget([In] IWICBitmap* target,[In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[Out, Fast] ID2D1RenderTarget** renderTarget) + ID2D1Factory::CreateWicBitmapRenderTarget +
+ + +

Creates an , a render target that renders to a window.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the error is received. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371275 + HRESULT ID2D1Factory::CreateHwndRenderTarget([In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[In] const D2D1_HWND_RENDER_TARGET_PROPERTIES* hwndRenderTargetProperties,[Out, Fast] ID2D1HwndRenderTarget** hwndRenderTarget) + ID2D1Factory::CreateHwndRenderTarget +
+ + +

Creates a render target that draws to a DirectX Graphics Infrastructure (DXGI) surface.

+
+

The to which the render target will draw.

+

The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see Supported Pixel Formats and Alpha Modes.

+

When this method returns, contains the address of the reference to the object created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To write to a Direct3D surface, you obtain an and pass it to the CreateDxgiSurfaceRenderTarget method to create a DXGI surface render target; you can then use the DXGI surface render target to draw 2-D content to the DXGI surface.

A DXGI surface render target is a type of . Like other Direct2D render targets, you can use it to create resources and issue drawing commands.

The DXGI surface render target and the DXGI surface must use the same DXGI format. If you specify the DXGI_FORMAT_UNKOWN format when you create the render target, it will automatically use the surface's format.

The DXGI surface render target does not perform DXGI surface synchronization.

For more information about creating and using DXGI surface render targets, see the Direct2D and Direct3D Interoperability Overview.

To work with Direct2D, the Direct3D device that provides the must be created with the flag.

When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371264 + HRESULT ID2D1Factory::CreateDxgiSurfaceRenderTarget([In] IDXGISurface* dxgiSurface,[In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[Out, Fast] ID2D1RenderTarget** renderTarget) + ID2D1Factory::CreateDxgiSurfaceRenderTarget +
+ + +

Creates a render target that draws to a Windows Graphics Device Interface (GDI) device context.

+
+

The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. To enable the device context (DC) render target to work with GDI, set the DXGI format to and the alpha mode to or . For more information about pixel formats, see Supported Pixel Formats and Alpha Modes.

+

When this method returns, dcRenderTarget contains the address of the reference to the created by the method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Before you can render with a DC render target, you must use the render target's BindDC method to associate it with a GDI DC. Do this for each different DC and whenever there is a change in the size of the area you want to draw to.

To enable the DC render target to work with GDI, set the render target's DXGI format to and alpha mode to or .

Your application should create render targets once and hold on to them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, recreate the render target (and any resources it created).

+
+ + dd371248 + HRESULT ID2D1Factory::CreateDCRenderTarget([In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[Out, Fast] ID2D1DCRenderTarget** dcRenderTarget) + ID2D1Factory::CreateDCRenderTarget +
+ + + Default Constructor for a . + + + + + Default Constructor for a . + + + + + Default Constructor for a . + + + + + Retrieves the current desktop dots per inch (DPI). To refresh this value, call {{ReloadSystemMetrics}}. + + + Use this method to obtain the system DPI when setting physical pixel values, such as when you specify the size of a window. + + + + +

Represents a composite geometry, composed of other objects.

+
+ +

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one.

Creating Objects

To create a object, call the method, passing in the fillMode with possible values of (alternate) and , an array of geometry objects to add to the geometry group, and the number of elements in this array.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd316581 + ID2D1GeometryGroup + ID2D1GeometryGroup +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Indicates how the intersecting areas of the geometries contained in this geometry group are combined.

+
+

A value that indicates how the intersecting areas of the geometries contained in this geometry group are combined.

+ + dd316583 + D2D1_FILL_MODE ID2D1GeometryGroup::GetFillMode() + ID2D1GeometryGroup::GetFillMode +
+ + +

Indicates the number of geometry objects in the geometry group.

+
+

The number of geometries in the .

+ + dd316589 + unsigned int ID2D1GeometryGroup::GetSourceGeometryCount() + ID2D1GeometryGroup::GetSourceGeometryCount +
+ + +

Retrieves the geometries in the geometry group.

+
+

When this method returns, contains the address of a reference to an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. If the array is null, then this method performs no operation. You must allocate the memory for this array.

+

A value indicating the number of geometries to return in the geometries array. If this value is less than the number of geometries in the geometry group, the remaining geometries are omitted. If this value is larger than the number of geometries in the geometry group, the extra geometries are set to null. To obtain the number of geometries currently in the geometry group, use the GetSourceGeometryCount method.

+ +

The returned geometries are referenced and counted, and the caller must release them.

+
+ + dd316586 + void ID2D1GeometryGroup::GetSourceGeometries([Out, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount) + ID2D1GeometryGroup::GetSourceGeometries +
+ + + Creates an , which is an object that holds other geometries. + + + Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and D2D1_FILL_MODE_WINDING, an array of geometry objects to add to the geometry group, and the number of elements in this array. + + an instance of + A value that specifies the rule that a composite shape uses to determine whether a given point is part of the geometry. + An array containing the geometry objects to add to the geometry group. The number of elements in this array is indicated by the geometriesCount parameter. + + + + Retrieves the geometries in the geometry group. + + + The returned geometries are referenced and counted, and the caller must release them. + + an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. + void ID2D1GeometryGroup::GetSourceGeometries([Out, Buffer] ID2D1Geometry** geometries,[None] int geometriesCount) + + + + Retrieves the geometries in the geometry group. + + + The returned geometries are referenced and counted, and the caller must release them. + + A value indicating the number of geometries to return in the geometries array. If this value is less than the number of geometries in the geometry group, the remaining geometries are omitted. If this value is larger than the number of geometries in the geometry group, the extra geometries are set to NULL. To obtain the number of geometries currently in the geometry group, use the {{GetSourceGeometryCount}} method. + an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. + void ID2D1GeometryGroup::GetSourceGeometries([Out, Buffer] ID2D1Geometry** geometries,[None] int geometriesCount) + + + +

Indicates how the intersecting areas of the geometries contained in this geometry group are combined.

+
+ + dd316583 + GetFillMode + GetFillMode + D2D1_FILL_MODE ID2D1GeometryGroup::GetFillMode() +
+ + +

Indicates the number of geometry objects in the geometry group.

+
+ + dd316589 + GetSourceGeometryCount + GetSourceGeometryCount + unsigned int ID2D1GeometryGroup::GetSourceGeometryCount() +
+ + +

Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.

+
+ +

The interface extends the interface to add support for arcs and quadratic beziers, as well as functions for adding single lines and cubic beziers.

A geometry sink consists of one or more figures. Each figure is made up of one or more line, curve, or arc segments. To create a figure, call the BeginFigure method, specify the figure's start point, and then use its Add methods (such as AddLine and AddBezier) to add segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

+
+ + dd316592 + ID2D1GeometrySink + ID2D1GeometrySink +
+ + +

Describes a geometric path that does not contain quadratic bezier curves or arcs.

+
+ +

A geometry sink consists of one or more figures. Each figure is made up of one or more line or Bezier curve segments. To create a figure, call the BeginFigure method and specify the figure's start point, then use AddLines and AddBeziers to add line and Bezier segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

To create geometry paths that can contain arcs and quadratic Bezier curves, use an .

+
+ + dd316919 + ID2D1SimplifiedGeometrySink + ID2D1SimplifiedGeometrySink +
+ + + Specifies the method used to determine which points are inside the geometry described by this geometry sink and which points are outside. + + + The fill mode defaults to D2D1_FILL_MODE_ALTERNATE. To set the fill mode, call SetFillMode before the first call to {{BeginFigure}}. Not doing will put the geometry sink in an error state. + + The method used to determine whether a given point is part of the geometry. + void SetFillMode([None] D2D1_FILL_MODE fillMode) + + + + Specifies stroke and join options to be applied to new segments added to the geometry sink. + + + After this method is called, the specified segment flags are applied to each segment subsequently added to the sink. The segment flags are applied to every additional segment until this method is called again and a different set of segment flags is specified. + + Stroke and join options to be applied to new segments added to the geometry sink. + void SetSegmentFlags([None] D2D1_PATH_SEGMENT vertexFlags) + + + + Starts a new figure at the specified point. + + + If this method is called while a figure is currently in progress, the interface is invalidated and all future methods will fail. + + The point at which to begin the new figure. + Whether the new figure should be hollow or filled. + void BeginFigure([None] D2D1_POINT_2F startPoint,[None] D2D1_FIGURE_BEGIN figureBegin) + + + + Creates a sequence of lines using the specified points and adds them to the geometry sink. + + A pointer to an array of one or more points that describe the lines to draw. A line is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by {{BeginFigure}}) to the first point in the array. if the array contains additional points, a line is drawn from the first point to the second point in the array, from the second point to the third point, and so on. + void AddLines([In, Buffer] const D2D1_POINT_2F* points,[None] UINT pointsCount) + + + + Creates a sequence of cubic Bezier curves and adds them to the geometry sink. + + A pointer to an array of Bezier segments that describes the Bezier curves to create. A curve is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by {{BeginFigure}}) to the end point of the first Bezier segment in the array. if the array contains additional Bezier segments, each subsequent Bezier segment uses the end point of the preceding Bezier segment as its start point. + void AddBeziers([In, Buffer] const D2D1_BEZIER_SEGMENT* beziers,[None] UINT beziersCount) + + + + Ends the current figure; optionally, closes it. + + + Calling this method without a matching call to {{BeginFigure}} places the geometry sink in an error state; subsequent calls are ignored, and the overall failure will be returned when the {{Close}} method is called. + + A value that indicates whether the current figure is closed. If the figure is closed, a line is drawn between the current point and the start point specified by {{BeginFigure}}. + void EndFigure([None] D2D1_FIGURE_END figureEnd) + + + + Closes the geometry sink, indicates whether it is in an error state, and resets the sink's error state. + + + Do not close the geometry sink while a figure is still in progress; doing so puts the geometry sink in an error state. For the close operation to be successful, there must be one {{EndFigure}} call for each call to {{BeginFigure}}.After calling this method, the geometry sink might not be usable. Direct2D implementations of this interface do not allow the geometry sink to be modified after it is closed, but other implementations might not impose this restriction. + + HRESULT Close() + + + + Creates a line segment between the current point and the specified end point and adds it to the geometry sink. + + The end point of the line to draw. + void AddLine([None] D2D1_POINT_2F point) + + + + Creates a cubic Bezier curve between the current point and the specified endpoint. + + A structure that describes the control points and endpoint of the Bezier curve to add. + void AddBezier([In] const D2D1_BEZIER_SEGMENT* bezier) + + + + Creates a quadratic Bezier curve between the current point and the specified endpoint. + + A structure that describes the control point and the endpoint of the quadratic Bezier curve to add. + void AddQuadraticBezier([In] const D2D1_QUADRATIC_BEZIER_SEGMENT* bezier) + + + + Adds a sequence of quadratic Bezier segments as an array in a single call. + + An array of a sequence of quadratic Bezier segments. + void AddQuadraticBeziers([In, Buffer] const D2D1_QUADRATIC_BEZIER_SEGMENT* beziers,[None] UINT beziersCount) + + + + Adds a single arc to the path geometry. + + The arc segment to add to the figure. + void AddArc([In] const D2D1_ARC_SEGMENT* arc) + + + +

Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.

+
+ +

The interface extends the interface to add support for arcs and quadratic beziers, as well as functions for adding single lines and cubic beziers.

A geometry sink consists of one or more figures. Each figure is made up of one or more line, curve, or arc segments. To create a figure, call the BeginFigure method, specify the figure's start point, and then use its Add methods (such as AddLine and AddBezier) to add segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

+
+ + dd316592 + ID2D1GeometrySink + ID2D1GeometrySink +
+ + +

Describes a geometric path that does not contain quadratic bezier curves or arcs.

+
+ +

A geometry sink consists of one or more figures. Each figure is made up of one or more line or Bezier curve segments. To create a figure, call the BeginFigure method and specify the figure's start point, then use AddLines and AddBeziers to add line and Bezier segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

To create geometry paths that can contain arcs and quadratic Bezier curves, use an .

+
+ + dd316919 + ID2D1SimplifiedGeometrySink + ID2D1SimplifiedGeometrySink +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Specifies the method used to determine which points are inside the geometry described by this geometry sink and which points are outside.

+
+

The method used to determine whether a given point is part of the geometry.

+ +

The fill mode defaults to . To set the fill mode, call SetFillMode before the first call to BeginFigure. Not doing will put the geometry sink in an error state.

+
+ + dd316937 + void ID2D1SimplifiedGeometrySink::SetFillMode([In] D2D1_FILL_MODE fillMode) + ID2D1SimplifiedGeometrySink::SetFillMode +
+ + +

Specifies stroke and join options to be applied to new segments added to the geometry sink.

+
+

Stroke and join options to be applied to new segments added to the geometry sink.

+ +

After this method is called, the specified segment flags are applied to each segment subsequently added to the sink. The segment flags are applied to every additional segment until this method is called again and a different set of segment flags is specified.

+
+ + dd316939 + void ID2D1SimplifiedGeometrySink::SetSegmentFlags([In] D2D1_PATH_SEGMENT vertexFlags) + ID2D1SimplifiedGeometrySink::SetSegmentFlags +
+ + +

Starts a new figure at the specified point.

+
+

The point at which to begin the new figure.

+

Whether the new figure should be hollow or filled.

+ +

If this method is called while a figure is currently in progress, the interface is invalidated and all future methods will fail.

+
+ + dd316929 + void ID2D1SimplifiedGeometrySink::BeginFigure([In] D2D_POINT_2F startPoint,[In] D2D1_FIGURE_BEGIN figureBegin) + ID2D1SimplifiedGeometrySink::BeginFigure +
+ + +

Creates a sequence of lines using the specified points and adds them to the geometry sink.

+
+

A reference to an array of one or more points that describe the lines to draw. A line is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the first point in the array. if the array contains additional points, a line is drawn from the first point to the second point in the array, from the second point to the third point, and so on.

+

The number of points in the points array.

+ + dd316925 + void ID2D1SimplifiedGeometrySink::AddLines([In, Buffer] const D2D_POINT_2F* points,[In] unsigned int pointsCount) + ID2D1SimplifiedGeometrySink::AddLines +
+ + +

Creates a sequence of cubic Bezier curves and adds them to the geometry sink.

+
+

A reference to an array of Bezier segments that describes the Bezier curves to create. A curve is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the end point of the first Bezier segment in the array. if the array contains additional Bezier segments, each subsequent Bezier segment uses the end point of the preceding Bezier segment as its start point.

+

The number of Bezier segments in the beziers array.

+ + dd316922 + void ID2D1SimplifiedGeometrySink::AddBeziers([In, Buffer] const D2D1_BEZIER_SEGMENT* beziers,[In] unsigned int beziersCount) + ID2D1SimplifiedGeometrySink::AddBeziers +
+ + +

Ends the current figure; optionally, closes it.

+
+

A value that indicates whether the current figure is closed. If the figure is closed, a line is drawn between the current point and the start point specified by BeginFigure.

+ +

Calling this method without a matching call to BeginFigure places the geometry sink in an error state; subsequent calls are ignored, and the overall failure will be returned when the Close method is called.

+
+ + dd316934 + void ID2D1SimplifiedGeometrySink::EndFigure([In] D2D1_FIGURE_END figureEnd) + ID2D1SimplifiedGeometrySink::EndFigure +
+ + +

Closes the geometry sink, indicates whether it is in an error state, and resets the sink's error state.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Do not close the geometry sink while a figure is still in progress; doing so puts the geometry sink in an error state. For the close operation to be successful, there must be one EndFigure call for each call to BeginFigure.

After calling this method, the geometry sink might not be usable. Direct2D implementations of this interface do not allow the geometry sink to be modified after it is closed, but other implementations might not impose this restriction.

+
+ + dd316932 + HRESULT ID2D1SimplifiedGeometrySink::Close() + ID2D1SimplifiedGeometrySink::Close +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a line segment between the current point and the specified end point and adds it to the geometry sink.

+
+

The end point of the line to draw.

+ + dd316604 + void ID2D1GeometrySink::AddLine([In] D2D_POINT_2F point) + ID2D1GeometrySink::AddLine +
+ + +

Creates a cubic Bezier curve between the current point and the specified end point.

+
+

A structure that describes the control points and end point of the Bezier curve to add.

+ + dd316601 + void ID2D1GeometrySink::AddBezier([In] const D2D1_BEZIER_SEGMENT* bezier) + ID2D1GeometrySink::AddBezier +
+ + +

Creates a quadratic Bezier curve between the current point and the specified endpoint.

+
+

A structure that describes the control point and the endpoint of the quadratic Bezier curve to add.

+ + dd316611 + void ID2D1GeometrySink::AddQuadraticBezier([In] const D2D1_QUADRATIC_BEZIER_SEGMENT* bezier) + ID2D1GeometrySink::AddQuadraticBezier +
+ + +

Adds a sequence of quadratic Bezier segments as an array in a single call.

+
+

An array of a sequence of quadratic Bezier segments.

+

A value indicating the number of quadratic Bezier segments in beziers.

+ + dd316608 + void ID2D1GeometrySink::AddQuadraticBeziers([In, Buffer] const D2D1_QUADRATIC_BEZIER_SEGMENT* beziers,[In] unsigned int beziersCount) + ID2D1GeometrySink::AddQuadraticBeziers +
+ + +

Adds a single arc to the path geometry.

+
+

The arc segment to add to the figure.

+ + dd316595 + void ID2D1GeometrySink::AddArc([In] const D2D1_ARC_SEGMENT* arc) + ID2D1GeometrySink::AddArc +
+ + +

Represents an collection of objects for linear and radial gradient brushes.

+
+ + Creating Objects

To create an , use the method.

A gradient stop collection is a device-dependent resource: your application should create gradient stop collections after it initializes the render target with which the gradient stop collection will be used, and recreate the gradient stop collection whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd316783 + ID2D1GradientStopCollection + ID2D1GradientStopCollection +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the number of gradient stops in the collection.

+
+

The number of gradient stops in the collection.

+ + dd371454 + unsigned int ID2D1GradientStopCollection::GetGradientStopCount() + ID2D1GradientStopCollection::GetGradientStopCount +
+ + +

Copies the gradient stops from the collection into an array of structures.

+
+ No documentation. + No documentation. + +

Gradient stops are copied in order of position, starting with the gradient stop with the smallest position value and progressing to the gradient stop with the largest position value.

+
+ + dd371457 + void ID2D1GradientStopCollection::GetGradientStops([Out, Buffer] D2D1_GRADIENT_STOP* gradientStops,[In] unsigned int gradientStopsCount) + ID2D1GradientStopCollection::GetGradientStops +
+ + +

Indicates the gamma space in which the gradient stops are interpolated.

+
+

The gamma space in which the gradient stops are interpolated.

+ + dd316786 + D2D1_GAMMA ID2D1GradientStopCollection::GetColorInterpolationGamma() + ID2D1GradientStopCollection::GetColorInterpolationGamma +
+ + +

Indicates the behavior of the gradient outside the normalized gradient range.

+
+

The behavior of the gradient outside the [0,1] normalized gradient range.

+ + dd316789 + D2D1_EXTEND_MODE ID2D1GradientStopCollection::GetExtendMode() + ID2D1GradientStopCollection::GetExtendMode +
+ + + Creates an from the specified gradient stops, a Gamma StandardRgb, and ExtendMode.Clamp. + + an instance of + A pointer to an array of D2D1_GRADIENT_STOP structures. + HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) + + + + Creates an from the specified gradient stops, color Gamma.StandardRgb, and extend mode. + + an instance of + A pointer to an array of D2D1_GRADIENT_STOP structures. + The behavior of the gradient outside the [0,1] normalized range. + HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) + + + + Creates an from the specified gradient stops, color interpolation gamma, and ExtendMode.Clamp. + + an instance of + A pointer to an array of D2D1_GRADIENT_STOP structures. + The space in which color interpolation between the gradient stops is performed. + HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) + + + + Creates an from the specified gradient stops, color interpolation gamma, and extend mode. + + an instance of + A pointer to an array of D2D1_GRADIENT_STOP structures. + The space in which color interpolation between the gradient stops is performed. + The behavior of the gradient outside the [0,1] normalized range. + HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) + + + +

Retrieves the number of gradient stops in the collection.

+
+ + dd371454 + GetGradientStopCount + GetGradientStopCount + unsigned int ID2D1GradientStopCollection::GetGradientStopCount() +
+ + +

Indicates the gamma space in which the gradient stops are interpolated.

+
+ + dd316786 + GetColorInterpolationGamma + GetColorInterpolationGamma + D2D1_GAMMA ID2D1GradientStopCollection::GetColorInterpolationGamma() +
+ + +

Indicates the behavior of the gradient outside the normalized gradient range.

+
+ + dd316789 + GetExtendMode + GetExtendMode + D2D1_EXTEND_MODE ID2D1GradientStopCollection::GetExtendMode() +
+ + +

Represents the backing store required to render a layer.

+
+ +

To create a layer, call the CreateLayer method of the render target where the layer will be used. To draw to a layer, push the layer to the render target stack by calling the PushLayer method. After you have finished drawing to the layer, call the PopLayer method.

Between PushLayer and PopLayer calls, the layer is in use and cannot be used by another render target.

If the size of the layer is not specified, the corresponding PushLayer call determines the minimum layer size, based on the layer content bounds and the geometric mask. The layer resource can be larger than the size required by PushLayer without any rendering artifacts.

If the size of a layer is specified, or if the layer has been used and the required backing store size as calculated during PushLayer is larger than the layer, then the layer resource is expanded on each axis monotonically to ensure that it is large enough. The layer resource never shrinks in size.

Creating Objects

To create a layer, call the CreateLayer method of the render target where the layer will be used.

A layer is a device-dependent resource: your application should create layers after it initializes the render target with which the layers will be used, and recreate the layers whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371483 + ID2D1Layer + ID2D1Layer +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the size of the layer in device-independent pixels.

+
+

The size of the layer in device-independent pixels.

+ + dd371485 + D2D_SIZE_F ID2D1Layer::GetSize() + ID2D1Layer::GetSize +
+ + + 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. The layer resource is allocated to the minimum size when {{PushLayer}} is called. + + + Regardless of whether a size is initially specified, the layer automatically resizes as needed. + + an instance of + HRESULT CreateLayer([In, Optional] const D2D1_SIZE_F* size,[Out] ID2D1Layer** layer) + + + + 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. + + + Regardless of whether a size is initially specified, the layer automatically resizes as needed. + + an instance of + If (0, 0) is specified, no backing store is created behind the layer resource. The layer resource is allocated to the minimum size when {{PushLayer}} is called. + HRESULT CreateLayer([In, Optional] const D2D1_SIZE_F* size,[Out] ID2D1Layer** layer) + + + +

Gets the size of the layer in device-independent pixels.

+
+ + dd371485 + GetSize + GetSize + D2D_SIZE_F ID2D1Layer::GetSize() +
+ + +

Paints an area with a linear gradient.

+
+ +

An paints an area with a linear gradient along a line between the brush start point and end point. The gradient, defined by the brush , is extruded perpendicular to this line, and then transformed by a brush transform (if specified).

The start point and end point are described in the brush space and are mappped to the render target when the brush is used. Note the starting and ending coordinates are absolute, not relative to the render target size. A value of (0, 0) maps to the upper-left corner of the render target, while a value of (1, 1) maps one pixel diagonally away from (0, 0). If there is a nonidentity brush transform or render target transform, the brush start point and end point are also transformed.

It is possible to specify a gradient axis that does not completely fill the area that is being painted. When this occurs, the , specified by the , determines how the remaining area is painted. +

Creating Objects

To create a linear gradient brush, use the method of the render target on which the brush will be used. The brush can only be used with the render target that created it or with the compatible targets for that render target.

A linear gradient brush is a device-dependent resource: your application should create linear gradient brushes after it initializes the render target with which the brushes will be used, and recreate the brushes whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371488 + ID2D1LinearGradientBrush + ID2D1LinearGradientBrush +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the starting coordinates of the linear gradient in the brush's coordinate space.

+
+

The starting two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371505 + void ID2D1LinearGradientBrush::SetStartPoint([In] D2D_POINT_2F startPoint) + ID2D1LinearGradientBrush::SetStartPoint +
+ + +

Sets the ending coordinates of the linear gradient in the brush's coordinate space.

+
+

The ending two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371501 + void ID2D1LinearGradientBrush::SetEndPoint([In] D2D_POINT_2F endPoint) + ID2D1LinearGradientBrush::SetEndPoint +
+ + +

Retrieves the starting coordinates of the linear gradient.

+
+

The starting two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371497 + D2D_POINT_2F ID2D1LinearGradientBrush::GetStartPoint() + ID2D1LinearGradientBrush::GetStartPoint +
+ + +

Retrieves the ending coordinates of the linear gradient.

+
+

The ending two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371492 + D2D_POINT_2F ID2D1LinearGradientBrush::GetEndPoint() + ID2D1LinearGradientBrush::GetEndPoint +
+ + +

Retrieves the associated with this linear gradient brush.

+
+ No documentation. + +

contains an array of structures and information, such as the extend mode and the color interpolation mode.

+
+ + dd371496 + void ID2D1LinearGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) + ID2D1LinearGradientBrush::GetGradientStopCollection +
+ + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The start and end points of the gradient. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient line. + HRESULT CreateLinearGradientBrush([In] const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1LinearGradientBrush** linearGradientBrush) + + + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The start and end points of the gradient. + The transform and base opacity of the new brush, or NULL. If this value is NULL, the brush defaults to a base opacity of 1.0f and the identity matrix as its transformation. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient line. + HRESULT CreateLinearGradientBrush([In] const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1LinearGradientBrush** linearGradientBrush) + + + +

Retrieves or sets the starting coordinates of the linear gradient.

+
+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371497 + GetStartPoint / SetStartPoint + GetStartPoint + D2D_POINT_2F ID2D1LinearGradientBrush::GetStartPoint() +
+ + +

Retrieves or sets the ending coordinates of the linear gradient.

+
+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371492 + GetEndPoint / SetEndPoint + GetEndPoint + D2D_POINT_2F ID2D1LinearGradientBrush::GetEndPoint() +
+ + +

Retrieves the associated with this linear gradient brush.

+
+ +

contains an array of structures and information, such as the extend mode and the color interpolation mode.

+
+ + dd371496 + GetGradientStopCollection + GetGradientStopCollection + void ID2D1LinearGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) +
+ + +

Represents a set of vertices that form a list of triangles.

+
+ + Creating Objects

To create a mesh, call the method on the render target with which the mesh will be used. A mesh can only be used with the render target that created it and the render target's compatible targets.

A mesh is a device-dependent resource: your application should create meshes after it initializes the render target with which the meshes will be used, and recreate the meshes whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371508 + ID2D1Mesh + ID2D1Mesh +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Opens the mesh for population.

+
+

When this method returns, contains a reference to a reference to an that is used to populate the mesh. This parameter is passed uninitialized.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371510 + HRESULT ID2D1Mesh::Open([Out] ID2D1TessellationSink** tessellationSink) + ID2D1Mesh::Open +
+ + + Create a mesh that uses triangles to describe a shape. + + + To populate a mesh, use its {{Open}} method to obtain an . To draw the mesh, use the render target's {{FillMesh}} method. + + an instance of + HRESULT CreateMesh([Out] ID2D1Mesh** mesh) + + + + Create a mesh that uses triangles to describe a shape and populates it with triangles. + + an instance of + An array of structures that describe the triangles to add to this mesh. + HRESULT CreateMesh([Out] ID2D1Mesh** mesh) + + + + Opens the mesh for population. + + When this method returns, contains a pointer to a pointer to an that is used to populate the mesh. This parameter is passed uninitialized. + HRESULT Open([Out] ID2D1TessellationSink** tessellationSink) + + + +

Represents a complex shape that may be composed of arcs, curves, and lines.

+
+ +

An object enables you to describe a geometric path. To describe an object's path, use the object's Open method to retrieve an . Use the sink to populate the path geometry with figures and segments.

Creating Objects

To create a path geometry, use the method.

objects are device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd371512 + ID2D1PathGeometry + ID2D1PathGeometry +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the geometry sink that is used to populate the path geometry with figures and segments.

+
+

When this method returns, geometrySink contains the address of a reference to the geometry sink that is used to populate the path geometry with figures and segments. This parameter is passed uninitialized.

+ +

Because path geometries are immutable and can only be populated once, it is an error to call Open on a path geometry more than once.

Note that the fill mode defaults to . To set the fill mode, call SetFillMode before the first call to BeginFigure. Failure to do so will put the geometry sink in an error state.

+
+ + dd371522 + HRESULT ID2D1PathGeometry::Open([Out] ID2D1GeometrySink** geometrySink) + ID2D1PathGeometry::Open +
+ + +

Copies the contents of the path geometry to the specified .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371525 + HRESULT ID2D1PathGeometry::Stream([In] ID2D1GeometrySink* geometrySink) + ID2D1PathGeometry::Stream +
+ + +

Retrieves the number of segments in the path geometry.

+
+

A reference that receives the number of segments in the path geometry when this method returns. You must allocate storage for this parameter.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371520 + HRESULT ID2D1PathGeometry::GetSegmentCount([Out] unsigned int* count) + ID2D1PathGeometry::GetSegmentCount +
+ + +

Retrieves the number of figures in the path geometry.

+
+

A reference that receives the number of figures in the path geometry when this method returns. You must allocate storage for this parameter.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371515 + HRESULT ID2D1PathGeometry::GetFigureCount([Out] unsigned int* count) + ID2D1PathGeometry::GetFigureCount +
+ + + Creates an empty . + + an instance of + + + + Copies the contents of the path geometry to the specified . + + The sink to which the path geometry's contents are copied. Modifying this sink does not change the contents of this path geometry. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Stream([In] ID2D1GeometrySink* geometrySink) + + + +

Retrieves the number of segments in the path geometry.

+
+ + dd371520 + GetSegmentCount + GetSegmentCount + HRESULT ID2D1PathGeometry::GetSegmentCount([Out] unsigned int* count) +
+ + +

Retrieves the number of figures in the path geometry.

+
+ + dd371515 + GetFigureCount + GetFigureCount + HRESULT ID2D1PathGeometry::GetFigureCount([Out] unsigned int* count) +
+ + +

Paints an area with a radial gradient.

+
+ +

The is similar to the in that they both map a collection of gradient stops to a gradient. However, the linear gradient has a start and an end point to define the gradient vector, while the radial gradient uses an ellipse and a gradient origin to define its gradient behavior. To define the position and size of the ellipse, use the SetCenter, SetRadiusX, and SetRadiusY methods to specify the center, x-radius, and y-radius of the ellipse. The gradient origin is the center of the ellipse, unless a gradient offset is specified by using the SetGradientOriginOffset method.

The brush maps the gradient stop position 0.0f of the gradient origin, and the position 1.0f is mapped to the ellipse boundary. When the gradient origin is within the ellipse, the contents of the ellipse enclose the entire [0, 1] range of the brush gradient stops. If the gradient origin is outside the bounds of the ellipse, the brush still works, but its gradient is not well-defined.

The start point and end point are described in the brush space and are mappped to the render target when the brush is used. Note the starting and ending coordinates are absolute, not relative to the render target size. A value of (0, 0) maps to the upper-left corner of the render target, while a value of (1, 1) maps just one pixel diagonally away from (0, 0). If there is a nonidentity brush transform or render target transform, the brush ellipse and gradient origin are also transformed.

It is possible to specify an ellipse that does not completely fill area being painted. When this occurs, the and setting (specified by the brush ) determines how the remaining area is painted. +

Creating Objects

To create a radial gradient brush, use the method of the render target on which the brush will be used. The brush may be used only with the render target that created it or with the compatible targets for that render target.

A radial gradient brush is a device-dependent resource: your application should create radial gradient brushes after it initializes the render target with which the brushes will be used, and recreate the brushes whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371529 + ID2D1RadialGradientBrush + ID2D1RadialGradientBrush +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Specifies the center of the gradient ellipse in the brush's coordinate space.

+
+

The center of the gradient ellipse, in the brush's coordinate space.

+ + dd371547 + void ID2D1RadialGradientBrush::SetCenter([In] D2D_POINT_2F center) + ID2D1RadialGradientBrush::SetCenter +
+ + +

Specifies the offset of the gradient origin relative to the gradient ellipse's center.

+
+

The offset of the gradient origin from the center of the gradient ellipse.

+ + dd371550 + void ID2D1RadialGradientBrush::SetGradientOriginOffset([In] D2D_POINT_2F gradientOriginOffset) + ID2D1RadialGradientBrush::SetGradientOriginOffset +
+ + +

Specifies the x-radius of the gradient ellipse, in the brush's coordinate space.

+
+

The x-radius of the gradient ellipse. This value is in the brush's coordinate space.

+ + dd371553 + void ID2D1RadialGradientBrush::SetRadiusX([In] float radiusX) + ID2D1RadialGradientBrush::SetRadiusX +
+ + +

Specifies the y-radius of the gradient ellipse, in the brush's coordinate space.

+
+

The y-radius of the gradient ellipse. This value is in the brush's coordinate space.

+ + dd371557 + void ID2D1RadialGradientBrush::SetRadiusY([In] float radiusY) + ID2D1RadialGradientBrush::SetRadiusY +
+ + +

Retrieves the center of the gradient ellipse.

+
+

The center of the gradient ellipse. This value is expressed in the brush's coordinate space.

+ + dd371532 + D2D_POINT_2F ID2D1RadialGradientBrush::GetCenter() + ID2D1RadialGradientBrush::GetCenter +
+ + +

Retrieves the offset of the gradient origin relative to the gradient ellipse's center.

+
+

The offset of the gradient origin from the center of the gradient ellipse. This value is expressed in the brush's coordinate space.

+ + dd371535 + D2D_POINT_2F ID2D1RadialGradientBrush::GetGradientOriginOffset() + ID2D1RadialGradientBrush::GetGradientOriginOffset +
+ + +

Retrieves the x-radius of the gradient ellipse.

+
+

The x-radius of the gradient ellipse. This value is expressed in the brush's coordinate space.

+ + dd371542 + float ID2D1RadialGradientBrush::GetRadiusX() + ID2D1RadialGradientBrush::GetRadiusX +
+ + +

Retrieves the y-radius of the gradient ellipse.

+
+

The y-radius of the gradient ellipse. This value is expressed in the brush's coordinate space.

+ + dd371544 + float ID2D1RadialGradientBrush::GetRadiusY() + ID2D1RadialGradientBrush::GetRadiusY +
+ + +

Retrieves the associated with this radial gradient brush object.

+
+ No documentation. + +

contains an array of structures and additional information, such as the extend mode and the color interpolation mode.

+
+ + dd371539 + void ID2D1RadialGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) + ID2D1RadialGradientBrush::GetGradientStopCollection +
+ + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. + HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) + + + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. + HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) + + + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. + The transform and base opacity of the new brush, or NULL. If this value is NULL, the brush defaults to a base opacity of 1.0f and the identity matrix as its transformation. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. + HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) + + + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. + The transform and base opacity of the new brush, or NULL. If this value is NULL, the brush defaults to a base opacity of 1.0f and the identity matrix as its transformation. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. + HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) + + + +

Retrieves or sets the center of the gradient ellipse.

+
+ + dd371532 + GetCenter / SetCenter + GetCenter + D2D_POINT_2F ID2D1RadialGradientBrush::GetCenter() +
+ + +

Retrieves or sets the offset of the gradient origin relative to the gradient ellipse's center.

+
+ + dd371535 + GetGradientOriginOffset / SetGradientOriginOffset + GetGradientOriginOffset + D2D_POINT_2F ID2D1RadialGradientBrush::GetGradientOriginOffset() +
+ + +

Retrieves or sets the x-radius of the gradient ellipse.

+
+ + dd371542 + GetRadiusX / SetRadiusX + GetRadiusX + float ID2D1RadialGradientBrush::GetRadiusX() +
+ + +

Retrieves or sets the y-radius of the gradient ellipse.

+
+ + dd371544 + GetRadiusY / SetRadiusY + GetRadiusY + float ID2D1RadialGradientBrush::GetRadiusY() +
+ + +

Retrieves the associated with this radial gradient brush object.

+
+ +

contains an array of structures and additional information, such as the extend mode and the color interpolation mode.

+
+ + dd371539 + GetGradientStopCollection + GetGradientStopCollection + void ID2D1RadialGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) +
+ + +

Describes a two-dimensional rectangle.

+
+ + Creating Objects

To create a rectangle geometry, use the method.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd371561 + ID2D1RectangleGeometry + ID2D1RectangleGeometry +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the rectangle that describes the rectangle geometry's dimensions.

+
+

Contains a reference to a rectangle that describes the rectangle geometry's dimensions when this method returns. You must allocate storage for this parameter.

+ + dd371762 + void ID2D1RectangleGeometry::GetRect([Out] D2D_RECT_F* rect) + ID2D1RectangleGeometry::GetRect +
+ + + Creates an . + + an instance of + The coordinates of the rectangle geometry. + + + +

Retrieves the rectangle that describes the rectangle geometry's dimensions.

+
+ + dd371762 + GetRect + GetRect + void ID2D1RectangleGeometry::GetRect([Out] D2D_RECT_F* rect) +
+ + +

Retrieves a rounded rectangle that describes this rounded rectangle geometry.

+
+ + dd316917 + ID2D1RoundedRectangleGeometry + ID2D1RoundedRectangleGeometry +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves a rounded rectangle that describes this rounded rectangle geometry.

+
+

A reference that receives a rounded rectangle that describes this rounded rectangle geometry. You must allocate storage for this parameter.

+ + dd316917 + void ID2D1RoundedRectangleGeometry::GetRoundedRect([Out] D2D1_ROUNDED_RECT* roundedRect) + ID2D1RoundedRectangleGeometry::GetRoundedRect +
+ + + Creates an . + + an instance of + The coordinates and corner radii of the rounded rectangle geometry. + + + +

Retrieves a rounded rectangle that describes this rounded rectangle geometry.

+
+ + dd316917 + GetRoundedRect + GetRoundedRect + void ID2D1RoundedRectangleGeometry::GetRoundedRect([Out] D2D1_ROUNDED_RECT* roundedRect) +
+ + +

Paints an area with a solid color.

+
+ + Creating Objects

To create a solid color brush, use the method of the render target on which the brush will be used. The brush can only be used with the render target that created it or with the compatible targets for that render target.

A solid color brush is a device-dependent resource. (For more information about resources, see Resources Overview.)

+
+ + dd372207 + ID2D1SolidColorBrush + ID2D1SolidColorBrush +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Specifies the color of this solid-color brush.

+
+

The color of this solid-color brush.

+ +

To help create colors, Direct2D provides the ColorF class. It offers several helper methods for creating colors and provides a set or predefined colors.

+
+ + dd372215 + void ID2D1SolidColorBrush::SetColor([In] const D2D_COLOR_F* color) + ID2D1SolidColorBrush::SetColor +
+ + +

Retrieves the color of the solid color brush.

+
+

The color of this solid color brush.

+ + dd372209 + D2D_COLOR_F ID2D1SolidColorBrush::GetColor() + ID2D1SolidColorBrush::GetColor +
+ + + Creates a new that has the specified color and opacity. + + an instance of + The red, green, blue, and alpha values of the brush's color. + + + + Creates a new that has the specified color and opacity. + + an instance of + The red, green, blue, and alpha values of the brush's color. + The base opacity of the brush. + + + +

Retrieves or sets the color of the solid color brush.

+
+ + dd372209 + GetColor / SetColor + GetColor + D2D_COLOR_F ID2D1SolidColorBrush::GetColor() +
+ + +

Describes the caps, miter limit, line join, and dash information for a stroke.

+
+ + Creating Objects

To create a stroke style, use the method.

A stroke style is a device-indenpendent resource; you can create it once then retain it for the life of your application. For more information about resources, see the Resources Overview.

+
+ + dd372217 + ID2D1StrokeStyle + ID2D1StrokeStyle +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the type of shape used at the beginning of a stroke.

+
+

The type of shape used at the beginning of a stroke.

+ + dd372244 + D2D1_CAP_STYLE ID2D1StrokeStyle::GetStartCap() + ID2D1StrokeStyle::GetStartCap +
+ + +

Retrieves the type of shape used at the end of a stroke.

+
+

The type of shape used at the end of a stroke.

+ + dd372238 + D2D1_CAP_STYLE ID2D1StrokeStyle::GetEndCap() + ID2D1StrokeStyle::GetEndCap +
+ + +

Gets a value that specifies how the ends of each dash are drawn.

+
+

A value that specifies how the ends of each dash are drawn.

+ + dd372218 + D2D1_CAP_STYLE ID2D1StrokeStyle::GetDashCap() + ID2D1StrokeStyle::GetDashCap +
+ + +

Retrieves the limit on the ratio of the miter length to half the stroke's thickness.

+
+

A positive number greater than or equal to 1.0f that describes the limit on the ratio of the miter length to half the stroke's thickness.

+ + dd372242 + float ID2D1StrokeStyle::GetMiterLimit() + ID2D1StrokeStyle::GetMiterLimit +
+ + +

Retrieves the type of joint used at the vertices of a shape's outline.

+
+

A value that specifies the type of joint used at the vertices of a shape's outline.

+ + dd372240 + D2D1_LINE_JOIN ID2D1StrokeStyle::GetLineJoin() + ID2D1StrokeStyle::GetLineJoin +
+ + +

Retrieves a value that specifies how far in the dash sequence the stroke will start.

+
+

A value that specifies how far in the dash sequence the stroke will start.

+ + dd372234 + float ID2D1StrokeStyle::GetDashOffset() + ID2D1StrokeStyle::GetDashOffset +
+ + +

Gets a value that describes the stroke's dash pattern.

+
+

A value that describes the predefined dash pattern used, or if a custom dash style is used.

+ +

If a custom dash style is specified, the dash pattern is described by the dashes array, which can be retrieved by calling the GetDashes method.

+
+ + dd372236 + D2D1_DASH_STYLE ID2D1StrokeStyle::GetDashStyle() + ID2D1StrokeStyle::GetDashStyle +
+ + +

Retrieves the number of entries in the dashes array.

+
+

The number of entries in the dashes array if the stroke is dashed; otherwise, 0.

+ + dd372232 + unsigned int ID2D1StrokeStyle::GetDashesCount() + ID2D1StrokeStyle::GetDashesCount +
+ + +

Copies the dash pattern to the specified array.

+
+

A reference to an array that will receive the dash pattern. The array must be able to contain at least as many elements as specified by dashesCount. You must allocate storage for this array.

+

The number of dashes to copy. If this value is less than the number of dashes in the stroke style's dashes array, the returned dashes are truncated to dashesCount. If this value is greater than the number of dashes in the stroke style's dashes array, the extra dashes are set to 0.0f. To obtain the actual number of dashes in the stroke style's dashes array, use the GetDashesCount method.

+ +

The dashes are specified in units that are a multiple of the stroke width, with subsequent members of the array indicating the dashes and gaps between dashes: the first entry indicates a filled dash, the second a gap, and so on.

+
+ + dd372230 + void ID2D1StrokeStyle::GetDashes([Out, Buffer] float* dashes,[In] unsigned int dashesCount) + ID2D1StrokeStyle::GetDashes +
+ + + Creates an that describes start cap, dash pattern, and other features of a stroke. + + an instance of + a definition for this render target + + + + Creates an that describes start cap, dash pattern, and other features of a stroke. + + an instance of + A structure that describes the stroke's line cap, dash offset, and other details of a stroke. + An array whose elements are set to the length of each dash and space in the dash pattern. The first element sets the length of a dash, the second element sets the length of a space, the third element sets the length of a dash, and so on. The length of each dash and space in the dash pattern is the product of the element value in the array and the stroke width. + + + +

Retrieves the type of shape used at the beginning of a stroke.

+
+ + dd372244 + GetStartCap + GetStartCap + D2D1_CAP_STYLE ID2D1StrokeStyle::GetStartCap() +
+ + +

Retrieves the type of shape used at the end of a stroke.

+
+ + dd372238 + GetEndCap + GetEndCap + D2D1_CAP_STYLE ID2D1StrokeStyle::GetEndCap() +
+ + +

Gets a value that specifies how the ends of each dash are drawn.

+
+ + dd372218 + GetDashCap + GetDashCap + D2D1_CAP_STYLE ID2D1StrokeStyle::GetDashCap() +
+ + +

Retrieves the limit on the ratio of the miter length to half the stroke's thickness.

+
+ + dd372242 + GetMiterLimit + GetMiterLimit + float ID2D1StrokeStyle::GetMiterLimit() +
+ + +

Retrieves the type of joint used at the vertices of a shape's outline.

+
+ + dd372240 + GetLineJoin + GetLineJoin + D2D1_LINE_JOIN ID2D1StrokeStyle::GetLineJoin() +
+ + +

Retrieves a value that specifies how far in the dash sequence the stroke will start.

+
+ + dd372234 + GetDashOffset + GetDashOffset + float ID2D1StrokeStyle::GetDashOffset() +
+ + +

Gets a value that describes the stroke's dash pattern.

+
+ +

If a custom dash style is specified, the dash pattern is described by the dashes array, which can be retrieved by calling the GetDashes method.

+
+ + dd372236 + GetDashStyle + GetDashStyle + D2D1_DASH_STYLE ID2D1StrokeStyle::GetDashStyle() +
+ + +

Retrieves the number of entries in the dashes array.

+
+ + dd372232 + GetDashesCount + GetDashesCount + unsigned int ID2D1StrokeStyle::GetDashesCount() +
+ + +

Populates an object with triangles.

+
+ + dd372245 + ID2D1TessellationSink + ID2D1TessellationSink +
+ + + Copies the specified triangles to the sink. + + An array of structures that describe the triangles to add to the sink. + void AddTriangles([In, Buffer] const D2D1_TRIANGLE* triangles,[None] UINT trianglesCount) + + + + Closes the sink. + + HRESULT Close() + + + +

Populates an object with triangles.

+
+ + dd372245 + ID2D1TessellationSink + ID2D1TessellationSink +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Copies the specified triangles to the sink.

+
+

An array of structures that describe the triangles to add to the sink.

+

The number of triangles to copy from the triangles array.

+ + dd372248 + void ID2D1TessellationSink::AddTriangles([In, Buffer] const D2D1_TRIANGLE* triangles,[In] unsigned int trianglesCount) + ID2D1TessellationSink::AddTriangles +
+ + +

Closes the sink and returns its error status.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd372250 + HRESULT ID2D1TessellationSink::Close() + ID2D1TessellationSink::Close +
+ + +

Represents a geometry that has been transformed.

+
+ +

Using an rather than transforming a geometry by using a render target's transform enables you to transform a geometry without transforming its stroke.

Creating Objects

To create an , call the method.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd372252 + ID2D1TransformedGeometry + ID2D1TransformedGeometry +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the source geometry of this transformed geometry object.

+
+

When this method returns, contains a reference to a reference to the source geometry for this transformed geometry object. This parameter is passed uninitialized.

+ + dd372255 + void ID2D1TransformedGeometry::GetSourceGeometry([Out] ID2D1Geometry** sourceGeometry) + ID2D1TransformedGeometry::GetSourceGeometry +
+ + +

Retrieves the matrix used to transform the object's source geometry.

+
+ No documentation. + + dd372256 + void ID2D1TransformedGeometry::GetTransform([Out] D2D_MATRIX_3X2_F* transform) + ID2D1TransformedGeometry::GetTransform +
+ + + Default Constructor for a . + + an instance of + + + + + +

Retrieves the source geometry of this transformed geometry object.

+
+ + dd372255 + GetSourceGeometry + GetSourceGeometry + void ID2D1TransformedGeometry::GetSourceGeometry([Out] ID2D1Geometry** sourceGeometry) +
+ + +

Retrieves the matrix used to transform the object's source geometry.

+
+ + dd372256 + GetTransform + GetTransform + void ID2D1TransformedGeometry::GetTransform([Out] D2D_MATRIX_3X2_F* transform) +
+ + +

Renders drawing instructions to a window.

+
+ +

As is the case with other render targets, you must call BeginDraw before issuing drawing commands. After you've finished drawing, call EndDraw to indicate that drawing is finished and to release access to the buffer backing the render target. For , the only side effect of BeginDraw is changing the state of the render target to allow drawing commands to be issued. EndDraw flushes any batched drawing commands. If no errors have occurred, then it also presents the buffer, causing it to appear on the associated window. Finally, EndDraw returns the of the first error that occurred in drawing or presenting, as well as the tag state at the time the error occurred.

objects are double buffered, so drawing commands issued do not appear immediately, but rather are performed on an offscreen surface. When EndDraw is called, if there have been no rendering errors, the offscreen buffer is presented. If there have been rendering errors in the batch flushed by EndDraw, then the buffer is not presented, and the application must call BeginDraw and re-draw the frame. Flush can be used to check for errors before calling EndDraw if an application wants the frame to be presented regardless of errors.

A hardware render target's back-buffer is the size specified by GetPixelSize. If EndDraw presents the buffer, this bitmap is stretched to cover the surface where it is presented: the entire client area of the window. This stretch is performed using bilinear filtering if the render target is rendering in hardware and using nearest-neighbor filtering if the rendering target is using software. (Typically, an application will call Resize to ensure the pixel size of the render target and the pixel size of the destination match, and no scaling is necessary, though this is not a requirement.)

In the case where a window straddles adapters, Direct2D ensures that the portion of the off-screen render target is copied from the adapter where rendering is occurring to the adapter that needs to display the contents. If the adapter a render target is on has been removed or the driver upgraded while the application is running, this is returned as an error in the EndDraw call. In this case, the application should create a new render target and resources as necessary. +

Creating Objects

To create an , use the method.

Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371461 + ID2D1HwndRenderTarget + ID2D1HwndRenderTarget +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Indicates whether the associated with this render target is occluded.

+
+

A value that indicates whether the associated with this render target is occluded.

+ +

Note??If the window was occluded the last time that EndDraw was called, the next time that the render target calls CheckWindowState, it will return regardless of the current window state. If you want to use CheckWindowState to determine the current window state, you should call CheckWindowState after every EndDraw call and ignore its return value. This call will ensure that your next call to CheckWindowState state will return the actual window state.

+
+ + dd371466 + D2D1_WINDOW_STATE ID2D1HwndRenderTarget::CheckWindowState() + ID2D1HwndRenderTarget::CheckWindowState +
+ + + Changes the size of the render target to the specified pixel size.Overload list + + No documentation. + No documentation. + +

After this method is called, the contents of the render target's back-buffer are not defined, even if the option was specified when the render target was created.

+
+ + dd742774 + HRESULT ID2D1HwndRenderTarget::Resize([In] const D2D_SIZE_U* pixelSize) + ID2D1HwndRenderTarget::Resize +
+ + +

Returns the associated with this render target.

+
+

The associated with this render target.

+ + dd371470 + HWND ID2D1HwndRenderTarget::GetHwnd() + ID2D1HwndRenderTarget::GetHwnd +
+ + + Creates an , a render target that renders to a window. + + + When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the {{D2DERR_RECREATE_TARGET}} error is received. When you receive this error, you need to recreate the render target (and any resources it created). + + an instance of + The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + The window handle, initial size (in pixels), and present options. + + + +

Returns the associated with this render target.

+
+ + dd371470 + GetHwnd + GetHwnd + HWND ID2D1HwndRenderTarget::GetHwnd() +
+ + +

Describes an elliptical arc between two points.

+
+ + dd368065 + D2D1_ARC_SEGMENT + D2D1_ARC_SEGMENT +
+ + +

The end point of the arc.

+
+ + dd368065 + D2D_POINT_2F point + D2D_POINT_2F point +
+ + +

The x-radius and y-radius of the arc.

+
+ + dd368065 + D2D_SIZE_F size + D2D_SIZE_F size +
+ + +

A value that specifies how many degrees in the clockwise direction the ellipse is rotated relative to the current coordinate system.

+
+ + dd368065 + float rotationAngle + float rotationAngle +
+ + +

A value that specifies whether the arc sweep is clockwise or counterclockwise.

+
+ + dd368065 + D2D1_SWEEP_DIRECTION sweepDirection + D2D1_SWEEP_DIRECTION sweepDirection +
+ + +

A value that specifies whether the given arc is larger than 180 degrees.

+
+ + dd368065 + D2D1_ARC_SIZE arcSize + D2D1_ARC_SIZE arcSize +
+ + +

Represents a cubic bezier segment drawn between two points.

+
+ +

A cubic Bezier curve is defined by four points: a start point, an end point (point3), and two control points (point1 and point2). A Bezier segment does not contain a property for the starting point of the curve; it defines only the end point. The beginning point of the curve is the current point of the path to which the Bezier curve is added.

The two control points of a cubic Bezier curve behave like magnets, attracting portions of what would otherwise be a straight line toward themselves and producing a curve. The first control point, point1, affects the beginning portion of the curve; the second control point, point2, affects the ending portion of the curve.

Note??The curve doesn't necessarily pass through either of the control points; each control point moves its portion of the line toward itself, but not through itself.

+
+ + dd368070 + D2D1_BEZIER_SEGMENT + D2D1_BEZIER_SEGMENT +
+ + +

The first control point for the Bezier segment.

+
+ + dd368070 + D2D_POINT_2F point1 + D2D_POINT_2F point1 +
+ + +

The second control point for the Bezier segment.

+
+ + dd368070 + D2D_POINT_2F point2 + D2D_POINT_2F point2 +
+ + +

The end point for the Bezier segment.

+
+ + dd368070 + D2D_POINT_2F point3 + D2D_POINT_2F point3 +
+ + +

Describes the extend modes and the interpolation mode of an .

+
+ + dd368071 + D2D1_BITMAP_BRUSH_PROPERTIES + D2D1_BITMAP_BRUSH_PROPERTIES +
+ + + No documentation. + + + D2D1_EXTEND_MODE extendModeX + D2D1_EXTEND_MODE extendModeX + + + + No documentation. + + + D2D1_EXTEND_MODE extendModeY + D2D1_EXTEND_MODE extendModeY + + + + No documentation. + + + D2D1_BITMAP_INTERPOLATION_MODE interpolationMode + D2D1_BITMAP_INTERPOLATION_MODE interpolationMode + + + +

Describes the opacity and transformation of a brush.

+
+ +

This structure is used when creating a brush. For convenience, Direct2D provides the D2D1::BrushProperties function for creating structures.

After creating a brush, you can change its opacity or transform by calling the SetOpacity or SetTransform methods.

+
+ + dd368077 + D2D1_BRUSH_PROPERTIES + D2D1_BRUSH_PROPERTIES +
+ + +

A value between 0.0f and 1.0f, inclusive, that specifies the degree of opacity of the brush.

+
+ + dd368077 + float opacity + float opacity +
+ + +

The transformation that is applied to the brush.

+
+ + dd368077 + D2D_MATRIX_3X2_F transform + D2D_MATRIX_3X2_F transform +
+ + +

Describes the drawing state of a render target.

+
+ + dd368093 + D2D1_DRAWING_STATE_DESCRIPTION + D2D1_DRAWING_STATE_DESCRIPTION +
+ + +

The antialiasing mode for subsequent nontext drawing operations.

+
+ + dd368093 + D2D1_ANTIALIAS_MODE antialiasMode + D2D1_ANTIALIAS_MODE antialiasMode +
+ + +

The antialiasing mode for subsequent text and glyph drawing operations.

+
+ + dd368093 + D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode + D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode +
+ + +

A label for subsequent drawing operations.

+
+ + dd368093 + unsigned longlong tag1 + unsigned longlong tag1 +
+ + +

A label for subsequent drawing operations.

+
+ + dd368093 + unsigned longlong tag2 + unsigned longlong tag2 +
+ + +

The transformation to apply to subsequent drawing operations.

+
+ + dd368093 + D2D_MATRIX_3X2_F transform + D2D_MATRIX_3X2_F transform +
+ + +

Contains the debugging level of an object.

+
+ +

To enable debugging, you must install the Direct2D Debug Layer.

+
+ + dd368102 + D2D1_FACTORY_OPTIONS + D2D1_FACTORY_OPTIONS +
+ + + No documentation. + + + D2D1_DEBUG_LEVEL debugLevel + D2D1_DEBUG_LEVEL debugLevel + + + +

Contains the position and color of a gradient stop.

+
+ +

Gradient stops can be specified in any order if they are at different positions. Two stops may share a position. In this case, the first stop specified is treated as the "low" stop (nearer 0.0f) and subsequent stops are treated as "higher" (nearer 1.0f). This behavior is useful if a caller wants an instant transition in the middle of a stop.

Typically, there are at least two points in a collection, although creation with only one stop is permitted. For example, one point is at position 0.0f, another point is at position 1.0f, and additional points are distributed in the [0, 1] range. Where the gradient progression is beyond the range of [0, 1], the stops are stored, but may affect the gradient.

When drawn, the [0, 1] range of positions is mapped to the brush, in a brush-dependent way. For details, see and .

Gradient stops with a position outside the [0, 1] range cannot be seen explicitly, but they can still affect the colors produced in the [0, 1] range. For example, a two-stop gradient 0.0f, Black}, {2.0f, White is indistinguishable visually from 0.0f, Black}, {1.0f, Mid-level gray. Also, the colors are clamped before interpolation.

+
+ + dd368119 + D2D1_GRADIENT_STOP + D2D1_GRADIENT_STOP +
+ + +

A value that indicates the relative position of the gradient stop in the brush. This value must be in the [0.0f, 1.0f] range if the gradient stop is to be seen explicitly.

+
+ + dd368119 + float position + float position +
+ + +

The color of the gradient stop.

+
+ + dd368119 + D2D_COLOR_F color + D2D_COLOR_F color +
+ + +

Contains the , pixel size, and presentation options for an .

+
+ +

Use this structure when you call the CreateHwndRenderTarget method to create a new .

For convenience, Direct2D provides the D2D1::HwndRenderTargetProperties function for creating new structures.

+
+ + dd368122 + D2D1_HWND_RENDER_TARGET_PROPERTIES + D2D1_HWND_RENDER_TARGET_PROPERTIES +
+ + + No documentation. + + + HWND hwnd + HWND hwnd + + + + No documentation. + + + D2D_SIZE_U pixelSize + D2D_SIZE_U pixelSize + + + + No documentation. + + + D2D1_PRESENT_OPTIONS presentOptions + D2D1_PRESENT_OPTIONS presentOptions + + + +

Contains the starting point and endpoint of the gradient axis for an .

+
+ +

Use this method when creating new objects with the CreateLinearGradientBrush method. For convenience, Direct2D provides the D2D1::LinearGradientBrushProperties helper function for creating new structures.

The following illustration shows how a linear gradient changes as you change its start and end points. For the first gradient, the start point is set to (0,0) and the end point to (150, 50); this creates a diagonal gradient that starts at the upper-left corner and extends to the lower-right corner of the area being painted. When you set the start point to (0, 25) and the end point to (150, 25), a horizontal gradient is created. Similarly, setting the start point to (75, 0) and the end point to (75, 50) creates a vertical gradient. Setting the start point to (0, 50) and the end point to (150, 0) creates a diagonal gradient that starts at the lower-left corner and extends to the upper-right corner of the area being painted.

+
+ + dd368128 + D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES + D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES +
+ + + No documentation. + + + D2D_POINT_2F startPoint + D2D_POINT_2F startPoint + + + + No documentation. + + + D2D_POINT_2F endPoint + D2D_POINT_2F endPoint + + + +

Contains the data format and alpha mode for a bitmap or render target.

+
+ +

For more information about the pixel formats and alpha modes supported by each render target, see Supported Pixel Formats and Alpha Modes.

+
+ + dd368138 + D2D1_PIXEL_FORMAT + D2D1_PIXEL_FORMAT +
+ + +

A value that specifies the size and arrangement of channels in each pixel.

+
+ + dd368138 + DXGI_FORMAT format + DXGI_FORMAT format +
+ + +

A value that specifies whether the alpha channel is using pre-multiplied alpha, straight alpha, whether it should be ignored and considered opaque, or whether it is unkown.

+
+ + dd368138 + D2D1_ALPHA_MODE alphaMode + D2D1_ALPHA_MODE alphaMode +
+ + + Initializes a new instance of the struct. + + A value that specifies the size and arrangement of channels in each pixel. + A value that specifies whether the alpha channel is using pre-multiplied alpha, straight alpha, whether it should be ignored and considered opaque, or whether it is unknown. + + + +

Contains the control point and end point for a quadratic Bezier segment.

+
+ + dd368147 + D2D1_QUADRATIC_BEZIER_SEGMENT + D2D1_QUADRATIC_BEZIER_SEGMENT +
+ + +

The control point of the quadratic Bezier segment.

+
+ + dd368147 + D2D_POINT_2F point1 + D2D_POINT_2F point1 +
+ + +

The end point of the quadratic Bezier segment.

+
+ + dd368147 + D2D_POINT_2F point2 + D2D_POINT_2F point2 +
+ + +

Contains the gradient origin offset and the size and position of the gradient ellipse for an .

+
+ +

Different values for center, gradientOriginOffset, radiusX and/or radiusY produce different gradients. The following illustration shows several radial gradients that have different gradient origin offsets, creating the appearance of the light illuminating the circles from different angles.

For convenience, Direct2D provides the D2D1::RadialGradientBrushProperties function for creating new D2D1_RADIAL_GRADIENT_BRUSH structures.

+
+ + dd368149 + D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES + D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES +
+ + + No documentation. + + + D2D_POINT_2F center + D2D_POINT_2F center + + + + No documentation. + + + D2D_POINT_2F gradientOriginOffset + D2D_POINT_2F gradientOriginOffset + + + + No documentation. + + + float radiusX + float radiusX + + + + No documentation. + + + float radiusY + float radiusY + + + +

Contains rendering options (hardware or software), pixel format, DPI information, remoting options, and Direct3D support requirements for a render target.

+
+ +

Use this structure when creating a render target, or use it with the method to check the properties supported by an existing render target.

As a convenience, Direct2D provides the D2D1::RenderTargetProperties helper function for creating structures. An easy way to create a structure that works for most render targets is to call the function without specifying any parameters. Doing so creates a structure that has its fields set to default values. For more information, see D2D1::RenderTargetProperties.

Not all render targets support hardware rendering. For a list, see the Render Targets Overview.

Using Default DPI Settings

To use the default DPI, set dpiX and dpiY to 0. The default DPI varies depending on the render target:

  • For a compatible render target, the default DPI is the DPI of the parent render target.
  • For a , the default DPI is the system DPI obtained from the render target's .
  • For other render targets, the default DPI is 96.

To use the default DPI setting, both dpiX and dpiY must be set to 0. Setting only one value to 0 causes an E_INVALIDARG error when attempting to create a render target.

+
+ + dd368155 + D2D1_RENDER_TARGET_PROPERTIES + D2D1_RENDER_TARGET_PROPERTIES +
+ + +

A value that specifies whether the render target should force hardware or software rendering. A value of specifies that the render target should use hardware rendering if it is available; otherwise, it uses software rendering. Note that WIC bitmap render targets do not support hardware rendering.

+
+ + dd368155 + D2D1_RENDER_TARGET_TYPE type + D2D1_RENDER_TARGET_TYPE type +
+ + +

The pixel format and alpha mode of the render target. You can use the D2D1::PixelFormat function to create a pixel format that specifies that Direct2D should select the pixel format and alpha mode for you. For a list of pixel formats and alpha modes supported by each render target, see Supported Pixel Formats and Alpha Modes.

+
+ + dd368155 + D2D1_PIXEL_FORMAT pixelFormat + D2D1_PIXEL_FORMAT pixelFormat +
+ + +

The horizontal DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section.

+
+ + dd368155 + float dpiX + float dpiX +
+ + +

The vertical DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section.

+
+ + dd368155 + float dpiY + float dpiY +
+ + +

A value that specifies how the render target is remoted and whether it should be GDI-compatible. Set to to create a render target that is not compatible with GDI and uses Direct3D command-stream remoting if it is available.

+
+ + dd368155 + D2D1_RENDER_TARGET_USAGE usage + D2D1_RENDER_TARGET_USAGE usage +
+ + +

A value that specifies the minimum Direct3D feature level required for hardware rendering. If the specified minimum level is not available, the render target uses software rendering if the type member is set to ; if type is set to to , render target creation fails. A value of indicates that Direct2D should determine whether the Direct3D feature level of the device is adequate. This field is used only when creating and objects.

+
+ + dd368155 + D2D1_FEATURE_LEVEL minLevel + D2D1_FEATURE_LEVEL minLevel +
+ + + Initializes a new instance of the struct. + + The pixel format and alpha mode of the render target. You can use the {{D2D1::PixelFormat}} function to create a pixel format that specifies that Direct2D should select the pixel format and alpha mode for you. For a list of pixel formats and alpha modes supported by each render target, see {{Supported Pixel Formats and Alpha Modes}}. + + + + Initializes a new instance of the struct. + + A value that specifies whether the render target should force hardware or software rendering. A value of specifies that the render target should use hardware rendering if it is available; otherwise, it uses software rendering. Note that WIC bitmap render targets do not support hardware rendering. + The pixel format and alpha mode of the render target. You can use the {{D2D1::PixelFormat}} function to create a pixel format that specifies that Direct2D should select the pixel format and alpha mode for you. For a list of pixel formats and alpha modes supported by each render target, see {{Supported Pixel Formats and Alpha Modes}}. + The horizontal DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section. + The vertical DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section. + A value that specifies how the render target is remoted and whether it should be GDI-compatible. Set to to create a render target that is not compatible with GDI and uses Direct3D command-stream remoting if it is available. + A value that specifies the minimum Direct3D feature level required for hardware rendering. If the specified minimum level is not available, the render target uses software rendering if the type member is set to ; if type is set to to D2D1_RENDER_TARGET_TYPE_HARDWARE, render target creation fails. A value of indicates that Direct2D should determine whether the Direct3D feature level of the device is adequate. This field is used only when creating and objects. + + + +

Contains the dimensions and corner radii of a rounded rectangle.

+
+ +

Each corner of the rectangle specified by the rect is replaced with a quarter ellipse, with a radius in each direction specified by radiusX and radiusY.

If the radiusX is greater than or equal to half the width of the rectangle, and the radiusY is greater than or equal to one-half the height, the rounded rectangle is an ellipse with the same width and height of the rect.

Even when both radiuX and radiusY are zero, the rounded rectangle is different from a rectangle., When stroked, the corners of the rounded rectangle are roundly joined, not mitered (square).

+
+ + dd368158 + D2D1_ROUNDED_RECT + D2D1_ROUNDED_RECT +
+ + +

The coordinates of the rectangle.

+
+ + dd368158 + D2D_RECT_F rect + D2D_RECT_F rect +
+ + +

The x-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.

+
+ + dd368158 + float radiusX + float radiusX +
+ + +

The y-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.

+
+ + dd368158 + float radiusY + float radiusY +
+ + +

Describes the stroke that outlines a shape.

+
+ +

The following illustration shows different dashOffset values for the same custom dash style.

+
+ + dd368164 + D2D1_STROKE_STYLE_PROPERTIES + D2D1_STROKE_STYLE_PROPERTIES +
+ + +

The cap applied to the start of all the open figures in a stroked geometry.

+
+ + dd368164 + D2D1_CAP_STYLE startCap + D2D1_CAP_STYLE startCap +
+ + +

The cap applied to the end of all the open figures in a stroked geometry.

+
+ + dd368164 + D2D1_CAP_STYLE endCap + D2D1_CAP_STYLE endCap +
+ + +

The shape at either end of each dash segment.

+
+ + dd368164 + D2D1_CAP_STYLE dashCap + D2D1_CAP_STYLE dashCap +
+ + +

A value that describes how segments are joined. This value is ignored for a vertex if the segment flags specify that the segment should have a smooth join.

+
+ + dd368164 + D2D1_LINE_JOIN lineJoin + D2D1_LINE_JOIN lineJoin +
+ + +

The limit of the thickness of the join on a mitered corner. This value is always treated as though it is greater than or equal to 1.0f.

+
+ + dd368164 + float miterLimit + float miterLimit +
+ + +

A value that specifies whether the stroke has a dash pattern and, if so, the dash style.

+
+ + dd368164 + D2D1_DASH_STYLE dashStyle + D2D1_DASH_STYLE dashStyle +
+ + +

A value that specifies an offset in the dash sequence. A positive dash offset value shifts the dash pattern, in units of stroke width, toward the start of the stroked geometry. A negative dash offset value shifts the dash pattern, in units of stroke width, toward the end of the stroked geometry.

+
+ + dd368164 + float dashOffset + float dashOffset +
+ + +

Contains the three vertices that describe a triangle.

+
+ + dd368172 + D2D1_TRIANGLE + D2D1_TRIANGLE +
+ + +

The first vertex of a triangle.

+
+ + dd368172 + D2D_POINT_2F point1 + D2D_POINT_2F point1 +
+ + +

The second vertex of a triangle.

+
+ + dd368172 + D2D_POINT_2F point2 + D2D_POINT_2F point2 +
+ + +

The third vertex of a triangle.

+
+ + dd368172 + D2D_POINT_2F point3 + D2D_POINT_2F point3 +
+ + + Internal GeometrySink Callback + + + + + Internal SimplifiedGeometrySink Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + + Get a native callback pointer from a managed callback. + + The geometry sink. + A pointer to the unmanaged geometry sink counterpart + + + + Internal TessellationSink Callback + + + + + Get a native callback pointer from a managed callback. + + The geometry sink. + A pointer to the unmanaged geometry sink counterpart + + + + BitmapEncoderOptions used for encoding. + + + + + Initializes a new instance of the class. + + The property bag pointer. + + + + Gets or sets the image quality. + + + The image quality. + + + Range value: 0-1.0f + Applicable Codecs: JPEG, HDPhoto + + + + + Gets or sets the compression quality. + + + The compression quality. + + + Range value: 0-1.0f + Applicable Codecs: TIFF + + + + + Gets or sets a value indicating whether loss less compression is enabled. + + + true if [loss less]; otherwise, false. + + + Range value: true-false + Applicable Codecs: HDPhoto + + + + + Gets or sets the bitmap transform. + + + The bitmap transform. + + + Range value: + Applicable Codecs: JPEG + + + + + Gets or sets a value indicating whether [interlace option]. + + + true if [interlace option]; otherwise, false. + + + Range value: true-false + Applicable Codecs: PNG + + + + + Gets or sets the filter option. + + + The filter option. + + + Range value: + Applicable Codecs: PNG + + + + + Gets or sets the TIFF compression method. + + + The TIFF compression method. + + + Range value: + Applicable Codecs: TIFF + + + + + Gets or sets the luminance. + + + The luminance. + + + Range value: 64 Entries (DCT) + Applicable Codecs: JPEG + + + + + Gets or sets the chrominance. + + + The chrominance. + + + Range value: 64 Entries (DCT) + Applicable Codecs: JPEG + + + + + Gets or sets the JPEG Y Cr Cb subsampling. + + + The JPEG Y Cr Cb subsampling. + + + Range value: + Applicable Codecs: JPEG + + + + + Gets or sets a value indicating whether [suppress app0]. + + + true if [suppress app0]; otherwise, false. + + + Range value: true-false + Applicable Codecs: JPEG + + + + + Bmp bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Bmp bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Gif bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Gif bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Tiff bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Tiff bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + The namespace provides a managed WIC API. + + ee719902 + WIC + WIC + + + + Png bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Png bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Tiff bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Tiff bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Wmp bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + WMP bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + +
+
diff --git a/packages/SharpDX.Direct2D1.2.5.0/lib/net40/SharpDX.Direct2D1.dll b/packages/SharpDX.Direct2D1.2.5.0/lib/net40/SharpDX.Direct2D1.dll new file mode 100644 index 00000000000..f5015769b78 Binary files /dev/null and b/packages/SharpDX.Direct2D1.2.5.0/lib/net40/SharpDX.Direct2D1.dll differ diff --git a/packages/SharpDX.Direct2D1.2.5.0/lib/net40/SharpDX.Direct2D1.xml b/packages/SharpDX.Direct2D1.2.5.0/lib/net40/SharpDX.Direct2D1.xml new file mode 100644 index 00000000000..ad58ae2e017 --- /dev/null +++ b/packages/SharpDX.Direct2D1.2.5.0/lib/net40/SharpDX.Direct2D1.xml @@ -0,0 +1,24072 @@ + + + + SharpDX.Direct2D1 + + + + + The assembly provides managed API for , and . + + ee663274 + Direct2D1 / DirectWrite + Direct2D1 / DirectWrite + + + + The namespace provides a managed DirectWrite API. + + dd368038 + DirectWrite + DirectWrite + + + + The namespace provides a managed Direct2D1 built in Effects API. + + hh706327 + Direct2D1 Effects + Direct2D1 Effects + + + + The namespace provides a managed Direct2D API. + + dd370990 + Direct2D1 + Direct2D1 + + + +

Contains the content bounds, mask information, opacity settings, and other options for a layer resource.

+
+ + dd368127 + D2D1_LAYER_PARAMETERS + D2D1_LAYER_PARAMETERS +
+ + +

The content bounds of the layer. Content outside these bounds is not guaranteed to render.

+
+ + dd368127 + D2D_RECT_F contentBounds + D2D_RECT_F contentBounds +
+ + +

The geometric mask specifies the area of the layer that is composited into the render target.

+
+ + dd368127 + ID2D1Geometry* geometricMask + ID2D1Geometry geometricMask +
+ + +

A value that specifies the antialiasing mode for the geometricMask.

+
+ + dd368127 + D2D1_ANTIALIAS_MODE maskAntialiasMode + D2D1_ANTIALIAS_MODE maskAntialiasMode +
+ + +

A value that specifies the transform that is applied to the geometric mask when composing the layer.

+
+ + dd368127 + D2D_MATRIX_3X2_F maskTransform + D2D_MATRIX_3X2_F maskTransform +
+ + +

An opacity value that is applied uniformly to all resources in the layer when compositing to the target.

+
+ + dd368127 + float opacity + float opacity +
+ + +

A brush that is used to modify the opacity of the layer. The brush + is mapped to the layer, and the alpha channel of each mapped brush pixel is multiplied against the corresponding layer pixel.

+
+ + dd368127 + ID2D1Brush* opacityBrush + ID2D1Brush opacityBrush +
+ + +

A value that specifies whether the layer intends to render text with ClearType antialiasing.

+
+ + dd368127 + D2D1_LAYER_OPTIONS layerOptions + D2D1_LAYER_OPTIONS layerOptions +
+ + + Sets the geometric mask. + + + The geometric mask. + + ID2D1Geometry* geometricMask + + + + Sets the opacity brush. + + + The opacity brush. + + ID2D1Brush* opacityBrush + + + +

Specifies the identifiers of the metadata items in an 8BIM IPTC digest metadata block.

+
+ + ee719802 + WIC8BIMIptcDigestProperties + WIC8BIMIptcDigestProperties +
+ + +

[VT_LPSTR] A name that identifies the 8BIM block.

+
+ + ee719802 + WIC8BIMIptcDigestPString + WIC8BIMIptcDigestPString +
+ + +

[VT_BLOB] The embedded IPTC digest value.

+
+ + ee719802 + WIC8BIMIptcDigestIptcDigest + WIC8BIMIptcDigestIptcDigest +
+ + +

Specifies the identifiers of the metadata items in an 8BIM IPTC block.

+
+ + ee719803 + WIC8BIMIptcProperties + WIC8BIMIptcProperties +
+ + +

[VT_LPSTR] A name that identifies the 8BIM block.

+
+ + ee719803 + WIC8BIMIptcPString + WIC8BIMIptcPString +
+ + +

[VT_UNKNOWN] The IPTC block embedded in this 8BIM IPTC block.

+
+ + ee719803 + WIC8BIMIptcEmbeddedIPTC + WIC8BIMIptcEmbeddedIPTC +
+ + +

Specifies the identifiers of the metadata items in an 8BIMResolutionInfo block.

+
+ + ee719804 + WIC8BIMResolutionInfoProperties + WIC8BIMResolutionInfoProperties +
+ + +

[VT_LPSTR] A name that identifies the 8BIM block.

+
+ + ee719804 + WIC8BIMResolutionInfoPString + WIC8BIMResolutionInfoPString +
+ + +

[VT_UI4] The horizontal resolution of the image.

+
+ + ee719804 + WIC8BIMResolutionInfoHResolution + WIC8BIMResolutionInfoHResolution +
+ + +

[VT_UI2] The units that the horizontal resolution is specified in; a 1 indicates pixels per inch and a 2 indicates pixels per centimeter.

+
+ + ee719804 + WIC8BIMResolutionInfoHResolutionUnit + WIC8BIMResolutionInfoHResolutionUnit +
+ + +

[VT_UI2] The units that the image width is specified in; a 1 indicates inches, a 2 indicates centimeters, a 3 indicates points, a 4 specifies picas, and a 5 specifies columns.

+
+ + ee719804 + WIC8BIMResolutionInfoWidthUnit + WIC8BIMResolutionInfoWidthUnit +
+ + +

[VT_UI4] The vertical resolution of the image.

+
+ + ee719804 + WIC8BIMResolutionInfoVResolution + WIC8BIMResolutionInfoVResolution +
+ + +

[VT_UI2] The units that the vertical resolution is specified in; a 1 indicates pixels per inch and a 2 indicates pixels per centimeter.

+
+ + ee719804 + WIC8BIMResolutionInfoVResolutionUnit + WIC8BIMResolutionInfoVResolutionUnit +
+ + +

[VT_UI2] The units that the image height is specified in; a 1 indicates inches, a 2 indicates centimeters, a 3 indicates points, a 4 specifies picas, and a 5 specifies columns.

+
+ + ee719804 + WIC8BIMResolutionInfoHeightUnit + WIC8BIMResolutionInfoHeightUnit +
+ + +

Specifies the desired alpha channel usage.

+
+ + ee719805 + WICBitmapAlphaChannelOption + WICBitmapAlphaChannelOption +
+ + +

Use alpha channel.

+
+ + ee719805 + WICBitmapUseAlpha + WICBitmapUseAlpha +
+ + +

Use a pre-multiplied alpha channel.

+
+ + ee719805 + WICBitmapUsePremultipliedAlpha + WICBitmapUsePremultipliedAlpha +
+ + +

Ignore alpha channel.

+
+ + ee719805 + WICBitmapIgnoreAlpha + WICBitmapIgnoreAlpha +
+ + +

Specifies the desired cache usage.

+
+ +

The CreateBitmap of the interface does not support when the pixelFormat is a native pixel format provided by Windows Imaging Component (WIC).

+
+ + ee719806 + WICBitmapCreateCacheOption + WICBitmapCreateCacheOption +
+ + +

Do not cache the bitmap.

+
+ + ee719806 + WICBitmapNoCache + WICBitmapNoCache +
+ + +

Cache the bitmap when needed.

+
+ + ee719806 + WICBitmapCacheOnDemand + WICBitmapCacheOnDemand +
+ + +

Cache the bitmap at initialization.

+
+ + ee719806 + WICBitmapCacheOnLoad + WICBitmapCacheOnLoad +
+ + +

Specifies the capabilities of the decoder.

+
+ + ee719807 + WICBitmapDecoderCapabilities + WICBitmapDecoderCapabilities +
+ + +

Decoder recognizes the image was encoded with an encoder produced by the same vendor.

+
+ + ee719807 + WICBitmapDecoderCapabilitySameEncoder + WICBitmapDecoderCapabilitySameEncoder +
+ + +

Decoder can decode all the images within an image container.

+
+ + ee719807 + WICBitmapDecoderCapabilityCanDecodeAllImages + WICBitmapDecoderCapabilityCanDecodeAllImages +
+ + +

Decoder can decode some of the images within an image container.

+
+ + ee719807 + WICBitmapDecoderCapabilityCanDecodeSomeImages + WICBitmapDecoderCapabilityCanDecodeSomeImages +
+ + +

Decoder can enumerate the metadata blocks within a container format.

+
+ + ee719807 + WICBitmapDecoderCapabilityCanEnumerateMetadata + WICBitmapDecoderCapabilityCanEnumerateMetadata +
+ + +

Decoder can find and decode a thumbnail.

+
+ + ee719807 + WICBitmapDecoderCapabilityCanDecodeThumbnail + WICBitmapDecoderCapabilityCanDecodeThumbnail +
+ + + None. + + + None + None + + + +

Specifies the type of dither algorithm to apply when converting between image formats.

+
+ + ee719808 + WICBitmapDitherType + WICBitmapDitherType +
+ + +

A solid color algorithm without dither.

+
+ + ee719808 + WICBitmapDitherTypeNone + WICBitmapDitherTypeNone +
+ + +

A solid color algorithm without dither.

+
+ + ee719808 + WICBitmapDitherTypeSolid + WICBitmapDitherTypeSolid +
+ + +

A 4x4 ordered dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeOrdered4x4 + WICBitmapDitherTypeOrdered4x4 +
+ + +

An 8x8 ordered dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeOrdered8x8 + WICBitmapDitherTypeOrdered8x8 +
+ + +

A 16x16 ordered dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeOrdered16x16 + WICBitmapDitherTypeOrdered16x16 +
+ + +

A 4x4 spiral dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeSpiral4x4 + WICBitmapDitherTypeSpiral4x4 +
+ + +

An 8x8 spiral dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeSpiral8x8 + WICBitmapDitherTypeSpiral8x8 +
+ + +

A 4x4 dual spiral dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeDualSpiral4x4 + WICBitmapDitherTypeDualSpiral4x4 +
+ + +

An 8x8 dual spiral dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeDualSpiral8x8 + WICBitmapDitherTypeDualSpiral8x8 +
+ + +

An error diffusion algorithm.

+
+ + ee719808 + WICBitmapDitherTypeErrorDiffusion + WICBitmapDitherTypeErrorDiffusion +
+ + +

Specifies the cache options available for an encoder.

+
+ + ee719809 + WICBitmapEncoderCacheOption + WICBitmapEncoderCacheOption +
+ + +

The encoder is cached in memory. This option is not supported.

+
+ + ee719809 + WICBitmapEncoderCacheInMemory + WICBitmapEncoderCacheInMemory +
+ + +

The encoder is cached to a temporary file. This option is not supported.

+
+ + ee719809 + WICBitmapEncoderCacheTempFile + WICBitmapEncoderCacheTempFile +
+ + +

The encoder is not cached.

+
+ + ee719809 + WICBitmapEncoderNoCache + WICBitmapEncoderNoCache +
+ + +

Specifies the sampling or filtering mode to use when scaling an image.

+
+ + ee719810 + WICBitmapInterpolationMode + WICBitmapInterpolationMode +
+ + +

A nearest neighbor interpolation algorithm. Also known as nearest pixel or point interpolation.

The output pixel is assigned the value of the pixel that the point falls within. No other pixels are considered.

+
+ + ee719810 + WICBitmapInterpolationModeNearestNeighbor + WICBitmapInterpolationModeNearestNeighbor +
+ + +

A bilinear interpolation algorithm.

The output pixel values are computed as a weighted average of the nearest four pixels in a 2x2 grid.

+
+ + ee719810 + WICBitmapInterpolationModeLinear + WICBitmapInterpolationModeLinear +
+ + +

A bicubic interpolation algorithm.

Destination pixel values are computed as a weighted average of the nearest sixteen pixels in a 4x4 grid.

+
+ + ee719810 + WICBitmapInterpolationModeCubic + WICBitmapInterpolationModeCubic +
+ + +

A Fant resampling algorithm.

Destination pixel values are computed as a weighted average of the all the pixels that map to the new pixel.

+
+ + ee719810 + WICBitmapInterpolationModeFant + WICBitmapInterpolationModeFant +
+ + +

Specifies access to an .

+
+ + ee719811 + WICBitmapLockFlags + WICBitmapLockFlags +
+ + + No documentation. + + + WICBitmapLockRead + WICBitmapLockRead + + + + No documentation. + + + WICBitmapLockWrite + WICBitmapLockWrite + + + +

Specifies the type of palette used for an indexed image format.

+
+ + ee719812 + WICBitmapPaletteType + WICBitmapPaletteType +
+ + +

An arbitrary custom palette provided by caller.

+
+ + ee719812 + WICBitmapPaletteTypeCustom + WICBitmapPaletteTypeCustom +
+ + +

An optimal palette generated using a median-cut algorithm. Derived from the colors in an image.

+
+ + ee719812 + WICBitmapPaletteTypeMedianCut + WICBitmapPaletteTypeMedianCut +
+ + +

A black and white palette.

+
+ + ee719812 + WICBitmapPaletteTypeFixedBW + WICBitmapPaletteTypeFixedBW +
+ + +

A palette that has its 8-color on-off primaries and the 16 system colors added. With duplicates removed, 16 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone8 + WICBitmapPaletteTypeFixedHalftone8 +
+ + +

A palette that has 3 intensity levels of each primary: 27-color on-off primaries and the 16 system colors added. With duplicates removed, 35 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone27 + WICBitmapPaletteTypeFixedHalftone27 +
+ + +

A palette that has 4 intensity levels of each primary: 64-color on-off primaries and the 16 system colors added. With duplicates removed, 72 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone64 + WICBitmapPaletteTypeFixedHalftone64 +
+ + +

A palette that has 5 intensity levels of each primary: 125-color on-off primaries and the 16 system colors added. With duplicates removed, 133 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone125 + WICBitmapPaletteTypeFixedHalftone125 +
+ + +

A palette that has 6 intensity levels of each primary: 216-color on-off primaries and the 16 system colors added. With duplicates removed, 224 colors are available. This is the same as WICBitmapPaletteFixedHalftoneWeb.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone216 + WICBitmapPaletteTypeFixedHalftone216 +
+ + +

A palette that has 6 intensity levels of each primary: 216-color on-off primaries and the 16 system colors added. With duplicates removed, 224 colors are available. This is the same as .

+
+ + ee719812 + WICBitmapPaletteTypeFixedWebPalette + WICBitmapPaletteTypeFixedWebPalette +
+ + +

A palette that has its 252-color on-off primaries and the 16 system colors added. With duplicates removed, 256 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone252 + WICBitmapPaletteTypeFixedHalftone252 +
+ + +

A palette that has its 256-color on-off primaries and the 16 system colors added. With duplicates removed, 256 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone256 + WICBitmapPaletteTypeFixedHalftone256 +
+ + +

A palette that has 4 shades of gray.

+
+ + ee719812 + WICBitmapPaletteTypeFixedGray4 + WICBitmapPaletteTypeFixedGray4 +
+ + +

A palette that has 16 shades of gray.

+
+ + ee719812 + WICBitmapPaletteTypeFixedGray16 + WICBitmapPaletteTypeFixedGray16 +
+ + +

A palette that has 256 shades of gray.

+
+ + ee719812 + WICBitmapPaletteTypeFixedGray256 + WICBitmapPaletteTypeFixedGray256 +
+ + +

Specifies the flip and rotation transforms.

+
+ + ee719814 + WICBitmapTransformOptions + WICBitmapTransformOptions +
+ + +

A rotation of 0 degrees.

+
+ + ee719814 + WICBitmapTransformRotate0 + WICBitmapTransformRotate0 +
+ + +

A clockwise rotation of 90 degrees.

+
+ + ee719814 + WICBitmapTransformRotate90 + WICBitmapTransformRotate90 +
+ + +

A clockwise rotation of 180 degrees.

+
+ + ee719814 + WICBitmapTransformRotate180 + WICBitmapTransformRotate180 +
+ + +

A clockwise rotation of 270 degrees.

+
+ + ee719814 + WICBitmapTransformRotate270 + WICBitmapTransformRotate270 +
+ + +

A horizontal flip. Pixels are flipped around the vertical y-axis.

+
+ + ee719814 + WICBitmapTransformFlipHorizontal + WICBitmapTransformFlipHorizontal +
+ + +

A vertical flip. Pixels are flipped around the horizontal x-axis.

+
+ + ee719814 + WICBitmapTransformFlipVertical + WICBitmapTransformFlipVertical +
+ + +

Specifies the color context types.

+
+ + ee719815 + WICColorContextType + WICColorContextType +
+ + +

An uninitialized color context.

+
+ + ee719815 + WICColorContextUninitialized + WICColorContextUninitialized +
+ + +

A color context profile.

+
+ + ee719815 + WICColorContextProfile + WICColorContextProfile +
+ + +

An EXIF color space color context.

+
+ + ee719815 + WICColorContextExifColorSpace + WICColorContextExifColorSpace +
+ + +

Specifies component enumeration options.

+
+ + ee719816 + WICComponentEnumerateOptions + WICComponentEnumerateOptions +
+ + +

Enumerate signed components.

+
+ + ee719816 + WICComponentEnumerateDefault + WICComponentEnumerateDefault +
+ + +

Force a read of the registry when enumerating components.

+
+ + ee719816 + WICComponentEnumerateRefresh + WICComponentEnumerateRefresh +
+ + +

Enumerate disabled components.

+
+ + ee719816 + WICComponentEnumerateDisabled + WICComponentEnumerateDisabled +
+ + +

Enumerate unsigned components.

+
+ + ee719816 + WICComponentEnumerateUnsigned + WICComponentEnumerateUnsigned +
+ + +

Enumerate only built in components.

+
+ + ee719816 + WICComponentEnumerateBuiltInOnly + WICComponentEnumerateBuiltInOnly +
+ + +

Specifies the component signing status.

+
+ + ee719817 + WICComponentSigning + WICComponentSigning +
+ + +

A signed component.

+
+ + ee719817 + WICComponentSigned + WICComponentSigned +
+ + +

An unsigned component

+
+ + ee719817 + WICComponentUnsigned + WICComponentUnsigned +
+ + +

A component is safe.

Components that do not have a binary component to sign, such as a pixel format, should return this value.

+
+ + ee719817 + WICComponentSafe + WICComponentSafe +
+ + +

A component has been disabled.

+
+ + ee719817 + WICComponentDisabled + WICComponentDisabled +
+ + +

Specifies the type of Windows Imaging Component (WIC) component.

+
+ + ee719818 + WICComponentType + WICComponentType +
+ + +

A WIC decoder.

+
+ + ee719818 + WICDecoder + WICDecoder +
+ + +

A WIC encoder.

+
+ + ee719818 + WICEncoder + WICEncoder +
+ + +

A WIC pixel converter.

+
+ + ee719818 + WICPixelFormatConverter + WICPixelFormatConverter +
+ + +

A WIC metadata reader.

+
+ + ee719818 + WICMetadataReader + WICMetadataReader +
+ + +

A WIC metadata writer.

+
+ + ee719818 + WICMetadataWriter + WICMetadataWriter +
+ + +

A WIC pixel format.

+
+ + ee719818 + WICPixelFormat + WICPixelFormat +
+ + +

All WIC components.

+
+ + ee719818 + WICAllComponents + WICAllComponents +
+ + +

Specifies decode options.

+
+ + ee719824 + WICDecodeOptions + WICDecodeOptions +
+ + +

Cache metadata when needed.

+
+ + ee719824 + WICDecodeMetadataCacheOnDemand + WICDecodeMetadataCacheOnDemand +
+ + +

Cache metadata when decoder is loaded.

+
+ + ee719824 + WICDecodeMetadataCacheOnLoad + WICDecodeMetadataCacheOnLoad +
+ + +

Specifies the application extension metadata properties for a Graphics Interchange Format (GIF) image.

+
+ + ee719826 + WICGifApplicationExtensionProperties + WICGifApplicationExtensionProperties +
+ + +

[VT_UI1 | VT_VECTOR] Indicates a string that identifies the application.

+
+ + ee719826 + WICGifApplicationExtensionApplication + WICGifApplicationExtensionApplication +
+ + +

[VT_UI1 | VT_VECTOR] Indicates data that is exposed by the application.

+
+ + ee719826 + WICGifApplicationExtensionData + WICGifApplicationExtensionData +
+ + +

Specifies the comment extension metadata properties for a Graphics Interchange Format (GIF) image.

+
+ + ee719827 + WICGifCommentExtensionProperties + WICGifCommentExtensionProperties +
+ + +

[VT_LPSTR] Indicates the comment text.

+
+ + ee719827 + WICGifCommentExtensionText + WICGifCommentExtensionText +
+ + +

Specifies the graphic control extension metadata properties that define the transitions between each frame animation for Graphics Interchange Format (GIF) images.

+
+ + ee719828 + WICGifGraphicControlExtensionProperties + WICGifGraphicControlExtensionProperties +
+ + +

[VT_UI1] Indicates the disposal requirements. 0 - no disposal, 1 - do not dispose, 2 - restore to background color, 3 - restore to previous.

+
+ + ee719828 + WICGifGraphicControlExtensionDisposal + WICGifGraphicControlExtensionDisposal +
+ + +

[VT_BOOL] Indicates the user input flag. TRUE if user input should advance to the next frame; otherwise, .

+
+ + ee719828 + WICGifGraphicControlExtensionUserInputFlag + WICGifGraphicControlExtensionUserInputFlag +
+ + +

[VT_BOOL] Indicates the transparency flag. TRUE if a transparent color in is in the color table for this frame; otherwise, .

+
+ + ee719828 + WICGifGraphicControlExtensionTransparencyFlag + WICGifGraphicControlExtensionTransparencyFlag +
+ + +

[VT_UI2] Indicates how long to display the next frame before advancing to the next frame, in units of 1/100th of a second.

+
+ + ee719828 + WICGifGraphicControlExtensionDelay + WICGifGraphicControlExtensionDelay +
+ + +

[VT_UI1] Indicates which color in the palette should be treated as transparent.

+
+ + ee719828 + WICGifGraphicControlExtensionTransparentColorIndex + WICGifGraphicControlExtensionTransparentColorIndex +
+ + +

Specifies the image descriptor metadata properties for Graphics Interchange Format (GIF) frames.

+
+ + ee719829 + WICGifImageDescriptorProperties + WICGifImageDescriptorProperties +
+ + +

[VT_UI2] Indicates the X offset at which to locate this frame within the logical screen.

+
+ + ee719829 + WICGifImageDescriptorLeft + WICGifImageDescriptorLeft +
+ + +

[VT_UI2] Indicates the Y offset at which to locate this frame within the logical screen.

+
+ + ee719829 + WICGifImageDescriptorTop + WICGifImageDescriptorTop +
+ + +

[VT_UI2] Indicates width of this frame, in pixels.

+
+ + ee719829 + WICGifImageDescriptorWidth + WICGifImageDescriptorWidth +
+ + +

[VT_UI2] Indicates height of this frame, in pixels.

+
+ + ee719829 + WICGifImageDescriptorHeight + WICGifImageDescriptorHeight +
+ + +

[VT_BOOL] Indicates the local color table flag. TRUE if global color table is present; otherwise, .

+
+ + ee719829 + WICGifImageDescriptorLocalColorTableFlag + WICGifImageDescriptorLocalColorTableFlag +
+ + +

[VT_BOOL] Indicates the interlace flag. TRUE if image is interlaced; otherwise, .

+
+ + ee719829 + WICGifImageDescriptorInterlaceFlag + WICGifImageDescriptorInterlaceFlag +
+ + +

[VT_BOOL] Indicates the sorted color table flag. TRUE if the color table is sorted from most frequently to least frequently used color; otherwise, .

+
+ + ee719829 + WICGifImageDescriptorSortFlag + WICGifImageDescriptorSortFlag +
+ + +

[VT_UI1] Indicates the value used to calculate the number of bytes contained in the global color table.

To calculate the actual size of the color table, raise 2 to the value of the field + 1.

+
+ + ee719829 + WICGifImageDescriptorLocalColorTableSize + WICGifImageDescriptorLocalColorTableSize +
+ + +

Specifies the logical screen descriptor properties for Graphics Interchange Format (GIF) metadata.

+
+ + ee719830 + WICGifLogicalScreenDescriptorProperties + WICGifLogicalScreenDescriptorProperties +
+ + +

[VT_UI1 | VT_VECTOR] Indicates the signature property.

+
+ + ee719830 + WICGifLogicalScreenSignature + WICGifLogicalScreenSignature +
+ + +

[VT_UI2] Indicates the width in pixels.

+
+ + ee719830 + WICGifLogicalScreenDescriptorWidth + WICGifLogicalScreenDescriptorWidth +
+ + +

[VT_UI2] Indicates the height in pixels.

+
+ + ee719830 + WICGifLogicalScreenDescriptorHeight + WICGifLogicalScreenDescriptorHeight +
+ + +

[VT_BOOL] Indicates the global color table flag. TRUE if a global color table is present; otherwise, .

+
+ + ee719830 + WICGifLogicalScreenDescriptorGlobalColorTableFlag + WICGifLogicalScreenDescriptorGlobalColorTableFlag +
+ + +

[VT_UI1] Indicates the color resolution in bits per pixel.

+
+ + ee719830 + WICGifLogicalScreenDescriptorColorResolution + WICGifLogicalScreenDescriptorColorResolution +
+ + +

[VT_BOOL] Indicates the sorted color table flag. TRUE if the table is sorted; otherwise, .

+
+ + ee719830 + WICGifLogicalScreenDescriptorSortFlag + WICGifLogicalScreenDescriptorSortFlag +
+ + +

[VT_UI1] Indicates the value used to calculate the number of bytes contained in the global color table.

To calculate the actual size of the color table, raise 2 to the value of the field + 1.

+
+ + ee719830 + WICGifLogicalScreenDescriptorGlobalColorTableSize + WICGifLogicalScreenDescriptorGlobalColorTableSize +
+ + +

[VT_UI1] Indicates the index within the color table to use for the background (pixels not defined in the image).

+
+ + ee719830 + WICGifLogicalScreenDescriptorBackgroundColorIndex + WICGifLogicalScreenDescriptorBackgroundColorIndex +
+ + +

[VT_UI1] Indicates the factor used to compute an approximation of the aspect ratio.

+
+ + ee719830 + WICGifLogicalScreenDescriptorPixelAspectRatio + WICGifLogicalScreenDescriptorPixelAspectRatio +
+ + +

Specifies the JPEG chrominance table property.

+
+ + ee719831 + WICJpegChrominanceProperties + WICJpegChrominanceProperties +
+ + +

[VT_UI2|VT_VECTOR] Indicates the metadata property is a chrominance table.

+
+ + ee719831 + WICJpegChrominanceTable + WICJpegChrominanceTable +
+ + +

Specifies the JPEG comment properties.

+
+ + ee719832 + WICJpegCommentProperties + WICJpegCommentProperties +
+ + +

Indicates the metadata property is comment text.

+
+ + ee719832 + WICJpegCommentText + WICJpegCommentText +
+ + +

Specifies the JPEG luminance table property.

+
+ + ee719833 + WICJpegLuminanceProperties + WICJpegLuminanceProperties +
+ + +

[VT_UI2|VT_VECTOR] Indicates the metadata property is a luminance table.

+
+ + ee719833 + WICJpegLuminanceTable + WICJpegLuminanceTable +
+ + +

Specifies the JPEG YCrCB subsampling options.

+
+ +

The native JPEG encoder uses .

+
+ + ee719834 + WICJpegYCrCbSubsamplingOption + WICJpegYCrCbSubsamplingOption +
+ + +

The default subsampling option.

+
+ + ee719834 + WICJpegYCrCbSubsamplingDefault + WICJpegYCrCbSubsamplingDefault +
+ + +

Subsampling option that uses both horizontal and vertical decimation.

+
+ + ee719834 + WICJpegYCrCbSubsampling420 + WICJpegYCrCbSubsampling420 +
+ + +

Subsampling option that uses horizontal decimation .

+
+ + ee719834 + WICJpegYCrCbSubsampling422 + WICJpegYCrCbSubsampling422 +
+ + +

Subsampling option that uses no decimation.

+
+ + ee719834 + WICJpegYCrCbSubsampling444 + WICJpegYCrCbSubsampling444 +
+ + +

Specifies named white balances for raw images.

+
+ + ee719842 + WICNamedWhitePoint + WICNamedWhitePoint +
+ + +

The default white balance.

+
+ + ee719842 + WICWhitePointDefault + WICWhitePointDefault +
+ + +

A daylight white balance.

+
+ + ee719842 + WICWhitePointDaylight + WICWhitePointDaylight +
+ + +

A cloudy white balance.

+
+ + ee719842 + WICWhitePointCloudy + WICWhitePointCloudy +
+ + +

A shade white balance.

+
+ + ee719842 + WICWhitePointShade + WICWhitePointShade +
+ + +

A tungsten white balance.

+
+ + ee719842 + WICWhitePointTungsten + WICWhitePointTungsten +
+ + +

A fluorescent white balance.

+
+ + ee719842 + WICWhitePointFluorescent + WICWhitePointFluorescent +
+ + +

Daylight white balance.

+
+ + ee719842 + WICWhitePointFlash + WICWhitePointFlash +
+ + +

A flash white balance.

+
+ + ee719842 + WICWhitePointUnderwater + WICWhitePointUnderwater +
+ + +

A custom white balance. This is typically used when using a picture (grey-card) as white balance.

+
+ + ee719842 + WICWhitePointCustom + WICWhitePointCustom +
+ + +

An automatic balance.

+
+ + ee719842 + WICWhitePointAutoWhiteBalance + WICWhitePointAutoWhiteBalance +
+ + +

An "as shot" white balance.

+
+ + ee719842 + WICWhitePointAsShot + WICWhitePointAsShot +
+ + + No documentation. + + + ee719844 + WICPixelFormatNumericRepresentation + WICPixelFormatNumericRepresentation + + + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationUnspecified + WICPixelFormatNumericRepresentationUnspecified +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationIndexed + WICPixelFormatNumericRepresentationIndexed +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationUnsignedInteger + WICPixelFormatNumericRepresentationUnsignedInteger +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationSignedInteger + WICPixelFormatNumericRepresentationSignedInteger +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationFixed + WICPixelFormatNumericRepresentationFixed +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationFloat + WICPixelFormatNumericRepresentationFloat +
+ + +

Specifies the Portable Network Graphics (PNG) background (bKGD) chunk metadata properties.

+
+ + ee719845 + WICPngBkgdProperties + WICPngBkgdProperties +
+ + +

Indicates the background color. There are three possible types, depending on the image's pixel format.

VT_UI1

Specifies the index of the background color in an image with an indexed pixel format.

VT_UI2

Specifies the background color in a grayscale image.

VT_VECTOR|VT_UI2

Specifies the background color in an RGB image as three USHORT values: {0xRRRR, 0xGGGG, 0xBBBB}.

+
+ + ee719845 + WICPngBkgdBackgroundColor + WICPngBkgdBackgroundColor +
+ + +

Specifies the Portable Network Graphics (PNG) cHRM chunk metadata properties for CIE XYZ chromaticity.

+
+ + ee719846 + WICPngChrmProperties + WICPngChrmProperties +
+ + +

[VT_UI4] Indicates the whitepoint x value ratio.

+
+ + ee719846 + WICPngChrmWhitePointX + WICPngChrmWhitePointX +
+ + +

[VT_UI4] Indicates the whitepoint y value ratio.

+
+ + ee719846 + WICPngChrmWhitePointY + WICPngChrmWhitePointY +
+ + +

[VT_UI4] Indicates the red x value ratio.

+
+ + ee719846 + WICPngChrmRedX + WICPngChrmRedX +
+ + +

[VT_UI4] Indicates the red y value ratio.

+
+ + ee719846 + WICPngChrmRedY + WICPngChrmRedY +
+ + +

[VT_UI4] Indicates the green x value ratio.

+
+ + ee719846 + WICPngChrmGreenX + WICPngChrmGreenX +
+ + +

[VT_UI4] Indicates the green y value ratio.

+
+ + ee719846 + WICPngChrmGreenY + WICPngChrmGreenY +
+ + +

[VT_UI4] Indicates the blue x value ratio.

+
+ + ee719846 + WICPngChrmBlueX + WICPngChrmBlueX +
+ + +

[VT_UI4] Indicates the blue y value ratio.

+
+ + ee719846 + WICPngChrmBlueY + WICPngChrmBlueY +
+ + +

Specifies the Portable Network Graphics (PNG) filters available for compression optimization.

+
+ + ee719847 + WICPngFilterOption + WICPngFilterOption +
+ + +

Indicates an unspecified PNG filter. This enables WIC to algorithmically choose the best filtering option for the image.

+
+ + ee719847 + WICPngFilterUnspecified + WICPngFilterUnspecified +
+ + +

Indicates no PNG filter.

+
+ + ee719847 + WICPngFilterNone + WICPngFilterNone +
+ + +

Indicates a PNG sub filter.

+
+ + ee719847 + WICPngFilterSub + WICPngFilterSub +
+ + +

Indicates a PNG up filter.

+
+ + ee719847 + WICPngFilterUp + WICPngFilterUp +
+ + +

Indicates a PNG average filter.

+
+ + ee719847 + WICPngFilterAverage + WICPngFilterAverage +
+ + +

Indicates a PNG paeth filter.

+
+ + ee719847 + WICPngFilterPaeth + WICPngFilterPaeth +
+ + +

Indicates a PNG adaptive filter. This enables WIC to choose the best filtering mode on a per-scanline basis.

+
+ + ee719847 + WICPngFilterAdaptive + WICPngFilterAdaptive +
+ + +

Specifies the Portable Network Graphics (PNG) gAMA chunk metadata properties.

+
+ + ee719848 + WICPngGamaProperties + WICPngGamaProperties +
+ + +

[VT_UI4] Indicates the gamma value.

+
+ + ee719848 + WICPngGamaGamma + WICPngGamaGamma +
+ + +

Specifies the Portable Network Graphics (PNG) hIST chunk metadata properties.

+
+ + ee719849 + WICPngHistProperties + WICPngHistProperties +
+ + +

[VT_VECTOR | VT_UI2] Indicates the approximate usage frequency of each color in the color palette.

+
+ + ee719849 + WICPngHistFrequencies + WICPngHistFrequencies +
+ + +

Specifies the Portable Network Graphics (PNG) iCCP chunk metadata properties.

+
+ + ee719850 + WICPngIccpProperties + WICPngIccpProperties +
+ + +

[VT_LPSTR] Indicates the International Color Consortium (ICC) profile name.

+
+ + ee719850 + WICPngIccpProfileName + WICPngIccpProfileName +
+ + +

[VT_VECTOR | VT_UI1] Indicates the embedded ICC profile.

+
+ + ee719850 + WICPngIccpProfileData + WICPngIccpProfileData +
+ + +

Specifies the Portable Network Graphics (PNG) iTXT chunk metadata properties.

+
+ + ee719851 + WICPngItxtProperties + WICPngItxtProperties +
+ + +

[VT_LPSTR] Indicates the keywords in the iTXT metadata chunk.

+
+ + ee719851 + WICPngItxtKeyword + WICPngItxtKeyword +
+ + +

[VT_UI1] Indicates whether the text in the iTXT chunk is compressed. 1 if the text is compressed; otherwise, 0.

+
+ + ee719851 + WICPngItxtCompressionFlag + WICPngItxtCompressionFlag +
+ + +

[VT_LPSTR] Indicates the human language used by the translated keyword and the text.

+
+ + ee719851 + WICPngItxtLanguageTag + WICPngItxtLanguageTag +
+ + +

[VT_LPWSTR] Indicates a translation of the keyword into the language indicated by the language tag.

+
+ + ee719851 + WICPngItxtTranslatedKeyword + WICPngItxtTranslatedKeyword +
+ + +

[VT_LPWSTR] Indicates additional text in the iTXT metadata chunk.

+
+ + ee719851 + WICPngItxtText + WICPngItxtText +
+ + +

Specifies the Portable Network Graphics (PNG) sRGB chunk metadata properties.

+
+ + ee719852 + WICPngSrgbProperties + WICPngSrgbProperties +
+ + +

[VT_UI1] Indicates the rendering intent for an sRGB color space image. The rendering intents have the following meaning.

ValueMeaning
0Perceptual
1Relative colorimetric
2Saturation
3Absolute colorimetric

?

+
+ + ee719852 + WICPngSrgbRenderingIntent + WICPngSrgbRenderingIntent +
+ + +

Specifies the Portable Network Graphics (PNG) tIME chunk metadata properties.

+
+ + ee719853 + WICPngTimeProperties + WICPngTimeProperties +
+ + +

[VT_UI2] Indicates the year of the last modification.

+
+ + ee719853 + WICPngTimeYear + WICPngTimeYear +
+ + +

[VT_UI1] Indicates the month of the last modification.

+
+ + ee719853 + WICPngTimeMonth + WICPngTimeMonth +
+ + +

[VT_UI1] Indicates day of the last modification.

+
+ + ee719853 + WICPngTimeDay + WICPngTimeDay +
+ + +

[VT_UI1] Indicates the hour of the last modification.

+
+ + ee719853 + WICPngTimeHour + WICPngTimeHour +
+ + +

[VT_UI1] Indicates the minute of the last modification.

+
+ + ee719853 + WICPngTimeMinute + WICPngTimeMinute +
+ + +

[VT_UI1] Indicates the second of the last modification.

+
+ + ee719853 + WICPngTimeSecond + WICPngTimeSecond +
+ + +

Specifies when the progress notification callback should be called.

+
+ + ee719854 + WICProgressNotification + WICProgressNotification +
+ + +

The callback should be called when codec operations begin.

+
+ + ee719854 + WICProgressNotificationBegin + WICProgressNotificationBegin +
+ + +

The callback should be called when codec operations end.

+
+ + ee719854 + WICProgressNotificationEnd + WICProgressNotificationEnd +
+ + +

The callback should be called frequently to report status.

+
+ + ee719854 + WICProgressNotificationFrequent + WICProgressNotificationFrequent +
+ + +

The callback should be called on all available progress notifications.

+
+ + ee719854 + WICProgressNotificationAll + WICProgressNotificationAll +
+ + +

Specifies the progress operations to receive notifications for.

+
+ + ee719855 + WICProgressOperation + WICProgressOperation +
+ + +

Receive copy pixel operation.

+
+ + ee719855 + WICProgressOperationCopyPixels + WICProgressOperationCopyPixels +
+ + +

Receive write pixel operation.

+
+ + ee719855 + WICProgressOperationWritePixels + WICProgressOperationWritePixels +
+ + +

Receive all progress operations available.

+
+ + ee719855 + WICProgressOperationAll + WICProgressOperationAll +
+ + +

Specifies the capability support of a raw image.

+
+ + ee719856 + WICRawCapabilities + WICRawCapabilities +
+ + +

The capability is not supported.

+
+ + ee719856 + WICRawCapabilityNotSupported + WICRawCapabilityNotSupported +
+ + +

The capability supports only get operations.

+
+ + ee719856 + WICRawCapabilityGetSupported + WICRawCapabilityGetSupported +
+ + +

The capability supports get and set operations.

+
+ + ee719856 + WICRawCapabilityFullySupported + WICRawCapabilityFullySupported +
+ + +

Specifies the parameter set used by a raw codec.

+
+ + ee719858 + WICRawParameterSet + WICRawParameterSet +
+ + +

An as shot parameter set.

+
+ + ee719858 + WICAsShotParameterSet + WICAsShotParameterSet +
+ + +

A user adjusted parameter set.

+
+ + ee719858 + WICUserAdjustedParameterSet + WICUserAdjustedParameterSet +
+ + +

A codec adjusted parameter set.

+
+ + ee719858 + WICAutoAdjustedParameterSet + WICAutoAdjustedParameterSet +
+ + +

Specifies the render intent of the next CopyPixels call.

+
+ + ee719859 + WICRawRenderMode + WICRawRenderMode +
+ + + No documentation. + + + WICRawRenderModeDraft + WICRawRenderModeDraft + + + + No documentation. + + + WICRawRenderModeNormal + WICRawRenderModeNormal + + + + No documentation. + + + WICRawRenderModeBestQuality + WICRawRenderModeBestQuality + + + +

Specifies the rotation capabilities of the codec.

+
+ + ee719860 + WICRawRotationCapabilities + WICRawRotationCapabilities +
+ + +

Rotation is not supported.

+
+ + ee719860 + WICRawRotationCapabilityNotSupported + WICRawRotationCapabilityNotSupported +
+ + +

Set operations for rotation is not supported.

+
+ + ee719860 + WICRawRotationCapabilityGetSupported + WICRawRotationCapabilityGetSupported +
+ + +

90 degree rotations are supported.

+
+ + ee719860 + WICRawRotationCapabilityNinetyDegreesSupported + WICRawRotationCapabilityNinetyDegreesSupported +
+ + +

All rotation angles are supported.

+
+ + ee719860 + WICRawRotationCapabilityFullySupported + WICRawRotationCapabilityFullySupported +
+ + +

Specifies the access level of a Windows Graphics Device Interface (GDI) section.

+
+ + ee719864 + WICSectionAccessLevel + WICSectionAccessLevel +
+ + +

Indicates a read only access level.

+
+ + ee719864 + WICSectionAccessLevelRead + WICSectionAccessLevelRead +
+ + +

Indicates a read/write access level.

+
+ + ee719864 + WICSectionAccessLevelReadWrite + WICSectionAccessLevelReadWrite +
+ + +

Specifies the Tagged Image File Format (TIFF) compression options.

+
+ + ee719867 + WICTiffCompressionOption + WICTiffCompressionOption +
+ + +

Indicates a suitable compression algorithm based on the image and pixel format.

+
+ + ee719867 + WICTiffCompressionDontCare + WICTiffCompressionDontCare +
+ + +

Indicates no compression.

+
+ + ee719867 + WICTiffCompressionNone + WICTiffCompressionNone +
+ + +

Indicates a CCITT3 compression algorithm. This algorithm is only valid for 1bpp pixel formats.

+
+ + ee719867 + WICTiffCompressionCCITT3 + WICTiffCompressionCCITT3 +
+ + +

Indicates a CCITT4 compression algorithm. This algorithm is only valid for 1bpp pixel formats.

+
+ + ee719867 + WICTiffCompressionCCITT4 + WICTiffCompressionCCITT4 +
+ + +

Indicates a LZW compression algorithm.

+
+ + ee719867 + WICTiffCompressionLZW + WICTiffCompressionLZW +
+ + +

Indicates a RLE compression algorithm. This algorithm is only valid for 1bpp pixel formats.

+
+ + ee719867 + WICTiffCompressionRLE + WICTiffCompressionRLE +
+ + +

Indicates a ZIP compression algorithm.

+
+ + ee719867 + WICTiffCompressionZIP + WICTiffCompressionZIP +
+ + +

Indicates an LZWH differencing algorithm.

+
+ + ee719867 + WICTiffCompressionLZWHDifferencing + WICTiffCompressionLZWHDifferencing +
+ + + Functions + + + + + Constant Gif. + CLSID_WICGifDecoder + + + Constant Jpeg. + CLSID_WICJpegDecoder + + + Constant Png. + CLSID_WICPngDecoder + + + Constant Tiff. + CLSID_WICTiffDecoder + + + Constant Wmp. + CLSID_WICWmpDecoder + + + Constant Bmp. + CLSID_WICBmpDecoder + + + Constant Ico. + CLSID_WICIcoDecoder + + + + Functions + + + + + Constant Wmp. + CLSID_WICWmpEncoder + + + Constant Gif. + CLSID_WICGifEncoder + + + Constant Jpeg. + CLSID_WICJpegEncoder + + + Constant Png. + CLSID_WICPngEncoder + + + Constant Bmp. + CLSID_WICBmpEncoder + + + Constant Tiff. + CLSID_WICTiffEncoder + + + + Functions + + + + + Constant Gif. + GUID_ContainerFormatGif + + + Constant Ico. + GUID_ContainerFormatIco + + + Constant Jpeg. + GUID_ContainerFormatJpeg + + + Constant Wmp. + GUID_ContainerFormatWmp + + + Constant Tiff. + GUID_ContainerFormatTiff + + + Constant Png. + GUID_ContainerFormatPng + + + Constant Bmp. + GUID_ContainerFormatBmp + + + + Functions + + + + + Constant Format32bppBGR101010. + GUID_WICPixelFormat32bppBGR101010 + + + Constant Format72bpp8ChannelsAlpha. + GUID_WICPixelFormat72bpp8ChannelsAlpha + + + Constant Format2bppIndexed. + GUID_WICPixelFormat2bppIndexed + + + Constant Format32bppGrayFixedPoint. + GUID_WICPixelFormat32bppGrayFixedPoint + + + Constant Format1bppIndexed. + GUID_WICPixelFormat1bppIndexed + + + Constant Format64bpp8Channels. + GUID_WICPixelFormat64bpp8Channels + + + Constant Format16bppBGR555. + GUID_WICPixelFormat16bppBGR555 + + + Constant Format16bppBGR565. + GUID_WICPixelFormat16bppBGR565 + + + Constant Format32bppRGBA1010102XR. + GUID_WICPixelFormat32bppRGBA1010102XR + + + Constant Format112bpp7Channels. + GUID_WICPixelFormat112bpp7Channels + + + Constant Format128bppRGBFloat. + GUID_WICPixelFormat128bppRGBFloat + + + Constant Format48bppRGBFixedPoint. + GUID_WICPixelFormat48bppRGBFixedPoint + + + Constant FormatDontCare. + GUID_WICPixelFormatDontCare + + + Constant Format128bpp7ChannelsAlpha. + GUID_WICPixelFormat128bpp7ChannelsAlpha + + + Constant Format48bppBGRFixedPoint. + GUID_WICPixelFormat48bppBGRFixedPoint + + + Constant Format24bppRGB. + GUID_WICPixelFormat24bppRGB + + + Constant Format24bpp3Channels. + GUID_WICPixelFormat24bpp3Channels + + + Constant Format32bppBGR. + GUID_WICPixelFormat32bppBGR + + + Constant Format48bppRGBHalf. + GUID_WICPixelFormat48bppRGBHalf + + + Constant Format64bpp3ChannelsAlpha. + GUID_WICPixelFormat64bpp3ChannelsAlpha + + + Constant Format64bppBGRA. + GUID_WICPixelFormat64bppBGRA + + + Constant Format96bpp6Channels. + GUID_WICPixelFormat96bpp6Channels + + + Constant FormatBlackWhite. + GUID_WICPixelFormatBlackWhite + + + Constant Format32bppPBGRA. + GUID_WICPixelFormat32bppPBGRA + + + Constant Format96bpp5ChannelsAlpha. + GUID_WICPixelFormat96bpp5ChannelsAlpha + + + Constant Format80bppCMYKAlpha. + GUID_WICPixelFormat80bppCMYKAlpha + + + Constant Format128bpp8Channels. + GUID_WICPixelFormat128bpp8Channels + + + Constant Format64bppRGBAFixedPoint. + GUID_WICPixelFormat64bppRGBAFixedPoint + + + Constant Format144bpp8ChannelsAlpha. + GUID_WICPixelFormat144bpp8ChannelsAlpha + + + Constant Format112bpp6ChannelsAlpha. + GUID_WICPixelFormat112bpp6ChannelsAlpha + + + Constant Format16bppGrayHalf. + GUID_WICPixelFormat16bppGrayHalf + + + Constant Format48bpp6Channels. + GUID_WICPixelFormat48bpp6Channels + + + Constant Format64bpp7ChannelsAlpha. + GUID_WICPixelFormat64bpp7ChannelsAlpha + + + Constant Format128bppRGBAFixedPoint. + GUID_WICPixelFormat128bppRGBAFixedPoint + + + Constant Format8bppIndexed. + GUID_WICPixelFormat8bppIndexed + + + Constant Format16bppGrayFixedPoint. + GUID_WICPixelFormat16bppGrayFixedPoint + + + Constant Format48bppRGB. + GUID_WICPixelFormat48bppRGB + + + Constant Format32bpp4Channels. + GUID_WICPixelFormat32bpp4Channels + + + Constant Format32bpp3ChannelsAlpha. + GUID_WICPixelFormat32bpp3ChannelsAlpha + + + Constant Format64bppCMYK. + GUID_WICPixelFormat64bppCMYK + + + Constant Format4bppIndexed. + GUID_WICPixelFormat4bppIndexed + + + Constant Format40bpp4ChannelsAlpha. + GUID_WICPixelFormat40bpp4ChannelsAlpha + + + Constant Format64bppRGBFixedPoint. + GUID_WICPixelFormat64bppRGBFixedPoint + + + Constant Format64bppPBGRA. + GUID_WICPixelFormat64bppPBGRA + + + Constant Format16bppGray. + GUID_WICPixelFormat16bppGray + + + Constant Format40bppCMYKAlpha. + GUID_WICPixelFormat40bppCMYKAlpha + + + Constant Format32bppBGRA. + GUID_WICPixelFormat32bppBGRA + + + Constant Format80bpp4ChannelsAlpha. + GUID_WICPixelFormat80bpp4ChannelsAlpha + + + Constant Format64bppRGBA. + GUID_WICPixelFormat64bppRGBA + + + Constant Format16bppBGRA5551. + GUID_WICPixelFormat16bppBGRA5551 + + + Constant Format64bppBGRAFixedPoint. + GUID_WICPixelFormat64bppBGRAFixedPoint + + + Constant Format32bppPRGBA. + GUID_WICPixelFormat32bppPRGBA + + + Constant Format96bppRGBFixedPoint. + GUID_WICPixelFormat96bppRGBFixedPoint + + + Constant Format32bppGrayFloat. + GUID_WICPixelFormat32bppGrayFloat + + + Constant Format48bpp3Channels. + GUID_WICPixelFormat48bpp3Channels + + + Constant Format80bpp5Channels. + GUID_WICPixelFormat80bpp5Channels + + + Constant Format56bpp7Channels. + GUID_WICPixelFormat56bpp7Channels + + + Constant Format128bppRGBFixedPoint. + GUID_WICPixelFormat128bppRGBFixedPoint + + + Constant Format64bpp4Channels. + GUID_WICPixelFormat64bpp4Channels + + + Constant Format40bpp5Channels. + GUID_WICPixelFormat40bpp5Channels + + + Constant Format8bppGray. + GUID_WICPixelFormat8bppGray + + + Constant Format32bppCMYK. + GUID_WICPixelFormat32bppCMYK + + + Constant Format24bppBGR. + GUID_WICPixelFormat24bppBGR + + + Constant Format32bppRGBA1010102. + GUID_WICPixelFormat32bppRGBA1010102 + + + Constant Format4bppGray. + GUID_WICPixelFormat4bppGray + + + Constant Format64bppPRGBA. + GUID_WICPixelFormat64bppPRGBA + + + Constant Format2bppGray. + GUID_WICPixelFormat2bppGray + + + Constant Format64bppRGBAHalf. + GUID_WICPixelFormat64bppRGBAHalf + + + Constant Format128bppRGBAFloat. + GUID_WICPixelFormat128bppRGBAFloat + + + Constant Format48bpp5ChannelsAlpha. + GUID_WICPixelFormat48bpp5ChannelsAlpha + + + Constant Format32bppRGBA. + GUID_WICPixelFormat32bppRGBA + + + Constant Format32bppRGBE. + GUID_WICPixelFormat32bppRGBE + + + Constant Format56bpp6ChannelsAlpha. + GUID_WICPixelFormat56bpp6ChannelsAlpha + + + Constant Format128bppPRGBAFloat. + GUID_WICPixelFormat128bppPRGBAFloat + + + Constant Format48bppBGR. + GUID_WICPixelFormat48bppBGR + + + Constant Format64bppRGBHalf. + GUID_WICPixelFormat64bppRGBHalf + + + Constant Format8bppAlpha. + GUID_WICPixelFormat8bppAlpha + + + + Gets the number of bits per pixel for a particular pixel format. + + The pixel format guid. + The number of bits per pixel. If the pixel format guid is invalid, returns 0 + + + + Gets the stride in bytes from a pixel format and a width.. + + The pixel format guid. + The width. + The number of bytes per row. + + + + Functions + + + + + Constant Badheader. + WINCODEC_ERR_BADHEADER + + + Constant UnexpectedMetadataType. + WINCODEC_ERR_UNEXPECTEDMETADATATYPE + + + Constant InvalidQueryCharacter. + WINCODEC_ERR_INVALIDQUERYCHARACTER + + + Constant InvalidParameter. + WINCODEC_ERR_INVALIDPARAMETER + + + Constant Valueoutofrange. + WINCODEC_ERR_VALUEOUTOFRANGE + + + Constant Codectoomanyscanlines. + WINCODEC_ERR_CODECTOOMANYSCANLINES + + + Constant Propertysize. + WINCODEC_ERR_PROPERTYSIZE + + + Constant OufOfMemory. + WINCODEC_ERR_OUTOFMEMORY + + + Constant Codecpresent. + WINCODEC_ERR_CODECPRESENT + + + Constant NotInitializeD. + WINCODEC_ERR_NOTINITIALIZED + + + Constant Alreadylocked. + WINCODEC_ERR_ALREADYLOCKED + + + Constant Valueoverflow. + WINCODEC_ERR_VALUEOVERFLOW + + + Constant Paletteunavailable. + WINCODEC_ERR_PALETTEUNAVAILABLE + + + Constant Badstreamdata. + WINCODEC_ERR_BADSTREAMDATA + + + Constant Componentinitializefailure. + WINCODEC_ERR_COMPONENTINITIALIZEFAILURE + + + Constant Aborted. + WINCODEC_ERR_ABORTED + + + Constant Imagesizeoutofrange. + WINCODEC_ERR_IMAGESIZEOUTOFRANGE + + + Constant UnsupportedPixelFormat. + WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT + + + Constant Componentnotfound. + WINCODEC_ERR_COMPONENTNOTFOUND + + + Constant InvalidRegistration. + WINCODEC_ERR_INVALIDREGISTRATION + + + Constant UnexpectedSize. + WINCODEC_ERR_UNEXPECTEDSIZE + + + Constant Internalerror. + WINCODEC_ERR_INTERNALERROR + + + Constant WrongState. + WINCODEC_ERR_WRONGSTATE + + + Constant Badmetadataheader. + WINCODEC_ERR_BADMETADATAHEADER + + + Constant NotImplemented. + WINCODEC_ERR_NOTIMPLEMENTED + + + Constant StreamWrite. + WINCODEC_ERR_STREAMWRITE + + + Constant StreamRead. + WINCODEC_ERR_STREAMREAD + + + Constant Requestonlyvalidatmetadataroot. + WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT + + + Constant SourceRectangleDoesnotmatchdimensions. + WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS + + + Constant StreamNotAvailable. + WINCODEC_ERR_STREAMNOTAVAILABLE + + + Constant InvalidQueryRequest. + WINCODEC_ERR_INVALIDQUERYREQUEST + + + Constant Base. + WINCODEC_ERR_BASE + + + Constant Unknownimageformat. + WINCODEC_ERR_UNKNOWNIMAGEFORMAT + + + Constant GenericError. + WINCODEC_ERR_GENERIC_ERROR + + + Constant InvalidProgressivelevel. + WINCODEC_ERR_INVALIDPROGRESSIVELEVEL + + + Constant Insufficientbuffer. + WINCODEC_ERR_INSUFFICIENTBUFFER + + + Constant UnsupportedVersion. + WINCODEC_ERR_UNSUPPORTEDVERSION + + + Constant FrameMissing. + WINCODEC_ERR_FRAMEMISSING + + + Constant Codecnothumbnail. + WINCODEC_ERR_CODECNOTHUMBNAIL + + + Constant TooMuchmetadata. + WINCODEC_ERR_TOOMUCHMETADATA + + + Constant Badimage. + WINCODEC_ERR_BADIMAGE + + + Constant Duplicatemetadatapresent. + WINCODEC_ERR_DUPLICATEMETADATAPRESENT + + + Constant Propertynotsupported. + WINCODEC_ERR_PROPERTYNOTSUPPORTED + + + Constant UnsupportedOperation. + WINCODEC_ERR_UNSUPPORTEDOPERATION + + + Constant Win32error. + WINCODEC_ERR_WIN32ERROR + + + Constant AccessDenied. + WINCODEC_ERR_ACCESSDENIED + + + Constant Propertyunexpectedtype. + WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE + + + Constant Propertynotfound. + WINCODEC_ERR_PROPERTYNOTFOUND + + + +

Defines methods that add the concept of writeability and static in-memory representations of bitmaps to .

+
+ +

inherits from and therefore also inherits the CopyPixels method. When pixels need to be moved to a new memory location, CopyPixels is often the most efficient.

Because of to the internal memory representation implied by the , in-place modification and processing using the Lock is more efficient than CopyPixels, usually reducing to a simple reference access directly into the memory owned by the bitmap rather than a as a copy. This is contrasted to procedural bitmaps which implement only CopyPixels because there is no internal memory representation and one would need to be created on demand to satisfy a call to Lock.

+
+ + ee719675 + IWICBitmap + IWICBitmap +
+ + +

Exposes methods that refers to a source from which pixels are retrieved, but cannot be written back to.

+
+ +

This interface provides a common way of accessing and linking together bitmaps, decoders, format converters, and scalers. Components that implement this interface can be connected together in a graph to pull imaging data through.

This interface defines only the notion of readability or being able to produce pixels. Modifying or writing to a bitmap is considered to be a specialization specific to bitmaps which have storage and is defined in the descendant interface .

+
+ + ee690171 + IWICBitmapSource + IWICBitmapSource +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the pixel width and height of the bitmap.

+
+

A reference that receives the pixel width of the bitmap.

+

A reference that receives the pixel height of the bitmap

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690185 + HRESULT IWICBitmapSource::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + IWICBitmapSource::GetSize +
+ + +

Retrieves the pixel format of the bitmap source..

+
+

Receives the pixel format the bitmap is stored in. For a list of available pixel formats, see the Native Pixel Formats topic.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The pixel format returned by this method is not necessarily the pixel format the image is stored as. The codec may perform a format conversion from the storage pixel format to an output pixel format.

+
+ + ee690181 + HRESULT IWICBitmapSource::GetPixelFormat([Out] GUID* pPixelFormat) + IWICBitmapSource::GetPixelFormat +
+ + +

Retrieves the sampling rate between pixels and physical world measurements.

+
+

A reference that receives the x-axis dpi resolution.

+

A reference that receives the y-axis dpi resolution.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Some formats, such as GIF and ICO, do not have full DPI support. For GIF, this method calculates the DPI values from the aspect ratio, using a base DPI of (96.0, 96.0). The ICO format does not support DPI at all, and the method always returns (96.0,96.0) for ICO images.

Additionally, WIC itself does not transform images based on the DPI values in an image. It is up to the caller to transform an image based on the resolution returned.

+
+ + ee690183 + HRESULT IWICBitmapSource::GetResolution([Out] double* pDpiX,[Out] double* pDpiY) + IWICBitmapSource::GetResolution +
+ + +

Retrieves the color table for indexed pixel formats.

+
+

An . A palette can be created using the CreatePalette method.

+

Returns one of the following values.

Return codeDescription

The palette was unavailable.

The palette was successfully copied.

?

+ +

If the is an , the function may return the image's global palette if a frame-level palette is not available. The global palette may also be retrieved using the CopyPalette method.

+
+ + ee690177 + HRESULT IWICBitmapSource::CopyPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmapSource::CopyPalette +
+ + +

Instructs the object to produce pixels.

+
+

The rectangle to copy. A null value specifies the entire bitmap.

+

The stride of the bitmap

+

The size of the buffer.

+

A reference to the buffer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ + ee690179 + HRESULT IWICBitmapSource::CopyPixels([In] const void* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+

The rectangle to copy. A null value specifies the entire bitmap.

+

The stride of the bitmap

+

A reference to the buffer.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+

The stride of the bitmap

+

A reference to the buffer.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+

The stride of the bitmap

+

A reference to the buffer.

+ Size of the buffer in bytes. + +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+

The rectangle to copy. A null value specifies the entire bitmap.

+ The destination array. The size of the array must be sizeof(pixel) * rectangle.Width * rectangle.Height +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+ The destination array. The size of the array must be sizeof(pixel) * Width * Height +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Retrieves the pixel format of the bitmap source..

+
+ +

The pixel format returned by this method is not necessarily the pixel format the image is stored as. The codec may perform a format conversion from the storage pixel format to an output pixel format.

+
+ + ee690181 + GetPixelFormat + GetPixelFormat + HRESULT IWICBitmapSource::GetPixelFormat([Out] GUID* pPixelFormat) +
+ + +

Retrieves the pixel width and height of the bitmap.

+
+ HRESULT IWICBitmapSource::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + ee690185 + HRESULT IWICBitmapSource::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + IWICBitmapSource::GetSize +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Provides access to a rectangular area of the bitmap.

+
+

The rectangle to be accessed.

+

The access mode you wish to obtain for the lock. This is a bitwise combination of for read, write, or read and write access.

ValueMeaning

The read access lock.

The write access lock.

?

+

A reference that receives the locked memory location.

+ +

Locks are exclusive for writing but can be shared for reading. You cannot call CopyPixels while the is locked for writing. Doing so will return an error, since locks are exclusive.

+
+ + ee690187 + HRESULT IWICBitmap::Lock([In] const void* prcLock,[In] WICBitmapLockFlags flags,[Out] IWICBitmapLock** ppILock) + IWICBitmap::Lock +
+ + +

Provides access for palette modifications.

+
+

The palette to use for conversion.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690189 + HRESULT IWICBitmap::SetPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmap::SetPalette +
+ + +

Changes the physical resolution of the image.

+
+

The horizontal resolution.

+

The vertical resolution.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method has no effect on the actual pixels or samples stored in the bitmap. Instead the interpretation of the sampling rate is modified. This means that a 96 DPI image which is 96 pixels wide is one inch. If the physical resolution is modified to 48 DPI, then the bitmap is considered to be 2 inches wide but has the same number of pixels. If the resolution is less than REAL_EPSILON (1.192092896e-07F) the error code is returned.

+
+ + ee690191 + HRESULT IWICBitmap::SetResolution([In] double dpiX,[In] double dpiY) + IWICBitmap::SetResolution +
+ + + Initializes a new instance of the class. + + The factory. + The width. + The height. + The pixel format. for a list of valid formats. + The option. + ee690282 + HRESULT IWICImagingFactory::CreateBitmap([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmap + + + + Initializes a new instance of the class from a memory location using . + + The factory. + The width. + The height. + The pixel format. + The data rectangle. + Size of the buffer in . If == 0, calculate the size automatically based on the height and row pitch. + ee690291 + HRESULT IWICImagingFactory::CreateBitmapFromMemory([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromMemory + + + + Initializes a new instance of the class from a + + The factory. + The bitmap source ref. + The option. + ee690293 + HRESULT IWICImagingFactory::CreateBitmapFromSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromSource + + + + Initializes a new instance of the class from a . + + The factory. + The bitmap source. + The rectangle. + ee690294 + HRESULT IWICImagingFactory::CreateBitmapFromSourceRect([In, Optional] IWICBitmapSource* pIBitmapSource,[In] unsigned int x,[In] unsigned int y,[In] unsigned int width,[In] unsigned int height,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromSourceRect + + + + Initializes a new instance of the class from an array of pixel data. + + The factory. + The width. + The height. + The pixel format. + The pixel data. + Stride of a row of pixels (number of bytes per row). By default the stride is == 0, and calculated by taking the sizeof(T) * width. + ee690291 + HRESULT IWICImagingFactory::CreateBitmapFromMemory([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromMemory + + + +

Provides access to a rectangular area of the bitmap.

+
+

The access mode you wish to obtain for the lock. This is a bitwise combination of for read, write, or read and write access.

ValueMeaning

The read access lock.

The write access lock.

?

+

A reference that receives the locked memory location.

+ +

Locks are exclusive for writing but can be shared for reading. You cannot call CopyPixels while the is locked for writing. Doing so will return an error, since locks are exclusive.

+
+ ee690187 + HRESULT IWICBitmap::Lock([In, Optional] const WICRect* prcLock,[In] WICBitmapLockFlags flags,[Out] IWICBitmapLock** ppILock) + IWICBitmap::Lock +
+ + +

Provides access to a rectangular area of the bitmap.

+
+

The rectangle to be accessed.

+

The access mode you wish to obtain for the lock. This is a bitwise combination of for read, write, or read and write access.

ValueMeaning

The read access lock.

The write access lock.

?

+

A reference that receives the locked memory location.

+ +

Locks are exclusive for writing but can be shared for reading. You cannot call CopyPixels while the is locked for writing. Doing so will return an error, since locks are exclusive.

+
+ ee690187 + HRESULT IWICBitmap::Lock([In, Optional] const WICRect* prcLock,[In] WICBitmapLockFlags flags,[Out] IWICBitmapLock** ppILock) + IWICBitmap::Lock +
+ + + Initializes a new instance of the class from a . + + The factory. + The icon. + HRESULT IWICImagingFactory::CreateBitmapFromHICON([In] HICON hIcon,[Out, Fast] IWICBitmap** ppIBitmap) + + + + Initializes a new instance of the class from a . + + The factory. + The bitmap. + The options. + HRESULT IWICImagingFactory::CreateBitmapFromHBITMAP([In] HBITMAP hBitmap,[In, Optional] HPALETTE hPalette,[In] WICBitmapAlphaChannelOption options,[Out, Fast] IWICBitmap** ppIBitmap) + + + +

Provides access for palette modifications.

+
+ + ee690189 + SetPalette + SetPalette + HRESULT IWICBitmap::SetPalette([In, Optional] IWICPalette* pIPalette) +
+ + +

Exposes methods that produce a clipped version of the input bitmap for a specified rectangular region of interest.

+
+ + ee719676 + IWICBitmapClipper + IWICBitmapClipper +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the bitmap clipper with the provided parameters.

+
+

he input bitmap source.

+

The rectangle of the bitmap source to clip.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719677 + HRESULT IWICBitmapClipper::Initialize([In, Optional] IWICBitmapSource* pISource,[In] const void* prc) + IWICBitmapClipper::Initialize +
+ + + Initializes a new instance of the class. + + The factory. + + + +

Initializes the bitmap clipper with the provided parameters.

+
+

he input bitmap source.

+

The rectangle of the bitmap source to clip.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ ee719677 + HRESULT IWICBitmapClipper::Initialize([In, Optional] IWICBitmapSource* pISource,[In] const WICRect* prc) + IWICBitmapClipper::Initialize +
+ + +

Exposes methods that provide information about a particular codec.

+
+ + ee719679 + IWICBitmapCodecInfo + IWICBitmapCodecInfo +
+ + +

Exposes methods that provide component information.

+
+ + ee690213 + IWICComponentInfo + IWICComponentInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the component's .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690218 + HRESULT IWICComponentInfo::GetComponentType([Out] WICComponentType* pType) + IWICComponentInfo::GetComponentType +
+ + +

Retrieves the component's class identifier (CLSID)

+
+

A reference that receives the component's CLSID.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690216 + HRESULT IWICComponentInfo::GetCLSID([Out] GUID* pclsid) + IWICComponentInfo::GetCLSID +
+ + +

Retrieves the signing status of the component.

+
+

A reference that receives the status of the component.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Signing is unused by WIC. Therefore, all components .

This function can be used to determine whether a component has no binary component or has been added to the disabled components list in the registry.

+
+ + ee690221 + HRESULT IWICComponentInfo::GetSigningStatus([Out] unsigned int* pStatus) + IWICComponentInfo::GetSigningStatus +
+ + +

Retrieves the name of component's author.

+
+

The size of the wzAuthor buffer.

+

A reference that receives the name of the component's author. The locale of the string depends on the value that the codec wrote to the registry at install time. For built-in components, these strings are always in English.

+

A reference that receives the actual length of the component's authors name. The author name is optional; if an author name is not specified by the component, the length returned is 0.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If cchAuthor is 0 and wzAuthor is null, the required buffer size is returned in pccchActual.

+
+ + ee690214 + HRESULT IWICComponentInfo::GetAuthor([In] unsigned int cchAuthor,[In] void* wzAuthor,[Out] unsigned int* pcchActual) + IWICComponentInfo::GetAuthor +
+ + +

Retrieves the vendor .

+
+

A reference that receives the component's vendor .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690225 + HRESULT IWICComponentInfo::GetVendorGUID([Out] GUID* pguidVendor) + IWICComponentInfo::GetVendorGUID +
+ + +

Retrieves the component's version.

+
+

The size of the wzVersion buffer.

+

A reference that receives a culture invariant string of the component's version.

+

A reference that receives the actual length of the component's version. The version is optional; if a value is not specified by the component, the length returned is 0.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

All built-in components return "1.0.0.0", except for pixel formats, which do not have a version.

If cchAuthor is 0 and wzAuthor is null, the required buffer size is returned in pccchActual.

+
+ + ee690226 + HRESULT IWICComponentInfo::GetVersion([In] unsigned int cchVersion,[In] void* wzVersion,[Out] unsigned int* pcchActual) + IWICComponentInfo::GetVersion +
+ + +

Retrieves the component's specification version.

+
+

The size of the wzSpecVersion buffer.

+

When this method returns, contain a culture invarient string of the component's specification version. The version form is NN.NN.NN.NN.

+

A reference that receives the actual length of the component's specification version. The specification version is optional; if a value is not specified by the component, the length returned is 0.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

All built-in components return "1.0.0.0", except for pixel formats, which do not have a spec version.

If cchAuthor is 0 and wzAuthor is null, the required buffer size is returned in pccchActual.

+
+ + ee690223 + HRESULT IWICComponentInfo::GetSpecVersion([In] unsigned int cchSpecVersion,[In] void* wzSpecVersion,[Out] unsigned int* pcchActual) + IWICComponentInfo::GetSpecVersion +
+ + +

Retrieves the component's friendly name, which is a human-readable display name for the component.

+
+

The size of the wzFriendlyName buffer.

+

A reference that receives the friendly name of the component. The locale of the string depends on the value that the codec wrote to the registry at install time. For built-in components, these strings are always in English.

+

A reference that receives the actual length of the component's friendly name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If cchFriendlyName is 0 and wzFriendlyName is null, the required buffer size is returned in pccchActual.

+
+ + ee690219 + HRESULT IWICComponentInfo::GetFriendlyName([In] unsigned int cchFriendlyName,[In] void* wzFriendlyName,[Out] unsigned int* pcchActual) + IWICComponentInfo::GetFriendlyName +
+ + + Initializes a new instance of the class. + + The factory. + The CLSID component. + + + +

Retrieves the component's .

+
+ + ee690218 + GetComponentType + GetComponentType + HRESULT IWICComponentInfo::GetComponentType([Out] WICComponentType* pType) +
+ + +

Retrieves the component's class identifier (CLSID)

+
+ + ee690216 + GetCLSID + GetCLSID + HRESULT IWICComponentInfo::GetCLSID([Out] GUID* pclsid) +
+ + +

Retrieves the signing status of the component.

+
+ +

Signing is unused by WIC. Therefore, all components .

This function can be used to determine whether a component has no binary component or has been added to the disabled components list in the registry.

+
+ + ee690221 + GetSigningStatus + GetSigningStatus + HRESULT IWICComponentInfo::GetSigningStatus([Out] unsigned int* pStatus) +
+ + +

Retrieves the vendor .

+
+ + ee690225 + GetVendorGUID + GetVendorGUID + HRESULT IWICComponentInfo::GetVendorGUID([Out] GUID* pguidVendor) +
+ + + Gets the author. + + HRESULT IWICComponentInfo::GetAuthor([In] unsigned int cchAuthor,[InOut, Buffer, Optional] wchar_t* wzAuthor,[Out] unsigned int* pcchActual) + + + + Gets the version. + + HRESULT IWICComponentInfo::GetVersion([In] unsigned int cchVersion,[InOut, Buffer, Optional] wchar_t* wzVersion,[Out] unsigned int* pcchActual) + + + + Gets the spec version. + + HRESULT IWICComponentInfo::GetSpecVersion([In] unsigned int cchSpecVersion,[InOut, Buffer, Optional] wchar_t* wzSpecVersion,[Out] unsigned int* pcchActual) + + + + Gets the friendly name. + + + The name of the friendly. + + HRESULT IWICComponentInfo::GetFriendlyName([In] unsigned int cchFriendlyName,[InOut, Buffer, Optional] wchar_t* wzFriendlyName,[Out] unsigned int* pcchActual) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the container associated with the codec.

+
+

Receives the container .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719688 + HRESULT IWICBitmapCodecInfo::GetContainerFormat([Out] GUID* pguidContainerFormat) + IWICBitmapCodecInfo::GetContainerFormat +
+ + +

Retrieves the pixel formats the codec supports.

+
+

The size of the pguidPixelFormats array. Use 0 on first call to determine the needed array size.

+

Receives the supported pixel formats. Use null on first call to determine needed array size.

+

The array size needed to retrieve all supported pixel formats.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the array size needed to retrieve all the supported pixel formats by calling it with cFormats set to 0 and pguidPixelFormats set to null. This call sets pcActual to the array size needed. Once the needed array size is determined, a second GetPixelFormats call with pguidPixelFormats set to an array of the appropriate size will retrieve the pixel formats.

+
+ + ee690082 + HRESULT IWICBitmapCodecInfo::GetPixelFormats([In] unsigned int cFormats,[In, Buffer] GUID* pguidPixelFormats,[Out] unsigned int* pcActual) + IWICBitmapCodecInfo::GetPixelFormats +
+ + +

Retrieves the color manangement version number the codec supports.

+
+

The size of the version buffer. Use 0 on first call to determine needed buffer size.

+

Receives the color management version number. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve the full color management version number.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchColorManagementVersion set to 0 and wzColorManagementVersion set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetColorManagementVersion call with cchColorManagementVersion set to the buffer size and wzColorManagementVersion set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719687 + HRESULT IWICBitmapCodecInfo::GetColorManagementVersion([In] unsigned int cchColorManagementVersion,[In] void* wzColorManagementVersion,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetColorManagementVersion +
+ + +

Retrieves the name of the device manufacture associated with the codec.

+
+

The size of the device manufacture's name. Use 0 on first call to determine needed buffer size.

+

Receives the device manufacture's name. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve the device manufacture's name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchDeviceManufacturer set to 0 and wzDeviceManufacturer set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetDeviceManufacturer call with cchDeviceManufacturer set to the buffer size and wzDeviceManufacturer set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719690 + HRESULT IWICBitmapCodecInfo::GetDeviceManufacturer([In] unsigned int cchDeviceManufacturer,[In] void* wzDeviceManufacturer,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetDeviceManufacturer +
+ + +

Retrieves a comma delimited list of device models associated with the codec.

+
+

The size of the device models buffer. Use 0 on first call to determine needed buffer size.

+

Receives a comma delimited list of device model names associated with the codec. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve all of the device model names.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchDeviceModels set to 0 and wzDeviceModels set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetDeviceModels call with cchDeviceModels set to the buffer size and wzDeviceModels set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719692 + HRESULT IWICBitmapCodecInfo::GetDeviceModels([In] unsigned int cchDeviceModels,[In] void* wzDeviceModels,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetDeviceModels +
+ + +

Retrieves a comma delimited sequence of mime types associated with the codec.

+
+

The size of the mime types buffer. Use 0 on first call to determine needed buffer size.

+

Receives the mime types associated with the codec. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve all mime types associated with the codec.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchMimeTypes set to 0 and wzMimeTypes set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetMimeTypes call with cchMimeTypes set to the buffer size and wzMimeTypes set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719696 + HRESULT IWICBitmapCodecInfo::GetMimeTypes([In] unsigned int cchMimeTypes,[In] void* wzMimeTypes,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetMimeTypes +
+ + +

Retrieves a comma delimited list of the file name extensions associated with the codec.

+
+

The size of the file name extension buffer. Use 0 on first call to determine needed buffer size.

+

Receives a comma delimited list of file name extensions associated with the codec. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve all file name extensions associated with the codec.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The default extension for an image encoder is the first item in the list of returned extensions.

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchFileExtensions set to 0 and wzFileExtensions set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetFileExtensions call with cchFileExtensions set to the buffer size and wzFileExtensions set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719694 + HRESULT IWICBitmapCodecInfo::GetFileExtensions([In] unsigned int cchFileExtensions,[In] void* wzFileExtensions,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetFileExtensions +
+ + +

Retrieves a value indicating whether the codec supports animation.

+
+

Receives TRUE if the codec supports images with timing information; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719680 + HRESULT IWICBitmapCodecInfo::DoesSupportAnimation([Out] BOOL* pfSupportAnimation) + IWICBitmapCodecInfo::DoesSupportAnimation +
+ + +

Retrieves a value indicating whether the codec supports chromakeys.

+
+

Receives TRUE if the codec supports chromakeys; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719682 + HRESULT IWICBitmapCodecInfo::DoesSupportChromakey([Out] BOOL* pfSupportChromakey) + IWICBitmapCodecInfo::DoesSupportChromakey +
+ + +

Retrieves a value indicating whether the codec supports lossless formats.

+
+

Receives TRUE if the codec supports lossless formats; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719683 + HRESULT IWICBitmapCodecInfo::DoesSupportLossless([Out] BOOL* pfSupportLossless) + IWICBitmapCodecInfo::DoesSupportLossless +
+ + +

Retrieves a value indicating whether the codec supports multi frame images.

+
+

Receives TRUE if the codec supports multi frame images; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719685 + HRESULT IWICBitmapCodecInfo::DoesSupportMultiframe([Out] BOOL* pfSupportMultiframe) + IWICBitmapCodecInfo::DoesSupportMultiframe +
+ + +

Retrieves a value indicating whether the given mime type matches the mime type of the codec.

+
+

The mime type to compare.

+

Receives TRUE if the mime types match; otherwise, .

+ + ee690083 + HRESULT IWICBitmapCodecInfo::MatchesMimeType([In] const wchar_t* wzMimeType,[Out] BOOL* pfMatches) + IWICBitmapCodecInfo::MatchesMimeType +
+ + +

Retrieves the container associated with the codec.

+
+ + ee719688 + GetContainerFormat + GetContainerFormat + HRESULT IWICBitmapCodecInfo::GetContainerFormat([Out] GUID* pguidContainerFormat) +
+ + +

Retrieves a value indicating whether the codec supports animation.

+
+ + ee719680 + DoesSupportAnimation + DoesSupportAnimation + HRESULT IWICBitmapCodecInfo::DoesSupportAnimation([Out] BOOL* pfSupportAnimation) +
+ + +

Retrieves a value indicating whether the codec supports chromakeys.

+
+ + ee719682 + DoesSupportChromakey + DoesSupportChromakey + HRESULT IWICBitmapCodecInfo::DoesSupportChromakey([Out] BOOL* pfSupportChromakey) +
+ + +

Retrieves a value indicating whether the codec supports lossless formats.

+
+ + ee719683 + DoesSupportLossless + DoesSupportLossless + HRESULT IWICBitmapCodecInfo::DoesSupportLossless([Out] BOOL* pfSupportLossless) +
+ + +

Retrieves a value indicating whether the codec supports multi frame images.

+
+ + ee719685 + DoesSupportMultiframe + DoesSupportMultiframe + HRESULT IWICBitmapCodecInfo::DoesSupportMultiframe([Out] BOOL* pfSupportMultiframe) +
+ + + Gets the pixel formats the codec supports. + + + + + Gets the color management version number the codec supports. + + + + + Gets the name of the device manufacture associated with the codec. + + + + + Gets a comma delimited list of device models associated with the codec. + + + + + Gets a comma delimited sequence of mime types associated with the codec. + + + + + Gets a comma delimited list of the file name extensions associated with the codec. + + + + + No documentation. + + + ee719890 + IWICBitmapCodecProgressNotification + IWICBitmapCodecProgressNotification + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Registers a progress notification callback function.

+
+

A function reference to the application defined progress notification callback function. See ProgressNotificationCallback for the callback signature.

+

A reference to component data for the callback method.

+

The and flags to use for progress notification.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Applications can only register a single callback. Subsequent registration calls will replace the previously registered callback. To unregister a callback, pass in null or register a new callback function.

Progress is reported in an increasing order between 0.0 and 1.0. If dwProgressFlags includes , the callback is guaranteed to be called with progress 0.0. If dwProgressFlags includes , the callback is guaranteed to be called with progress 1.0.

increases the frequency in which the callback is called. If an operation is expected to take more than 30 seconds, should be added to dwProgressFlags.

+
+ + ee690085 + HRESULT IWICBitmapCodecProgressNotification::RegisterProgressNotification([In, Optional] __function__stdcall* pfnProgressNotification,[In, Optional] void* pvData,[In] unsigned int dwProgressFlags) + IWICBitmapCodecProgressNotification::RegisterProgressNotification +
+ + +

Exposes methods that represent a decoder.

The interface provides access to the decoder's properties such as global thumbnails (if supported), frames, and palette.

+
+ +

There are a number of concrete implemenations of this interface representing each of the standard decoders provided by the platform including bitmap (BMP), Portable Network Graphics (PNG), icon (ICO), Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP). The following table includes the class identifier (CLSID) for each native decoder.

CLSID NameCLSID
0x6b462062, 0x7cbf, 0x400d, 0x9f, 0xdb, 0x81, 0x3d, 0xd1, 0xf, 0x27, 0x78
0x389ea17b, 0x5078, 0x4cde, 0xb6, 0xef, 0x25, 0xc1, 0x51, 0x75, 0xc7, 0x51
0xc61bfcdf, 0x2e0f, 0x4aad, 0xa8, 0xd7, 0xe0, 0x6b, 0xaf, 0xeb, 0xcd, 0xfe
0x9456a480, 0xe88b, 0x43ea, 0x9e, 0x73, 0xb, 0x2d, 0x9b, 0x71, 0xb1, 0xca
0x381dda3c, 0x9ce9, 0x4834, 0xa2, 0x3e, 0x1f, 0x98, 0xf8, 0xfc, 0x52, 0xbe
0xb54e85d9, 0xfe23, 0x499f, 0x8b, 0x88, 0x6a, 0xce, 0xa7, 0x13, 0x75, 0x2b
0xa26cec36, 0x234c, 0x4950, 0xae, 0x16, 0xe3, 0x4a, 0xac, 0xe7, 0x1d, 0x0d

?

This interface may be sub-classed to provide support for third party codecs as part of the extensibility model. See the AITCodec Sample CODEC.

Codecs written as TIFF container formats that are not register will decode as a TIFF image. Client applications should check for a zero frame count to determine if the codec is valid.

+
+ + ee690086 + IWICBitmapDecoder + IWICBitmapDecoder +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the capabilities of the decoder based on the specified stream.

+
+

The stream to retrieve the decoder capabilities from.

+

The of the decoder.

+ +

Custom decoder implementations should save the current position of the specified , read whatever information is necessary in order to determine which capabilities it can provide for the supplied stream, and restore the stream position.

+
+ + ee690109 + HRESULT IWICBitmapDecoder::QueryCapability([In, Optional] IStream* pIStream,[Out] WICBitmapDecoderCapabilities* pdwCapability) + IWICBitmapDecoder::QueryCapability +
+ + +

Initializes the decoder with the provided stream.

+
+

The stream to use for initialization.

The stream contains the encoded pixels which are decoded each time the CopyPixels method on the interface (see GetFrame) is invoked.

+

The to use for initialization.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690108 + HRESULT IWICBitmapDecoder::Initialize([In, Optional] IStream* pIStream,[In] WICDecodeOptions cacheOptions) + IWICBitmapDecoder::Initialize +
+ + +

Retrieves the image's container format.

+
+

A reference that receives the image's container format .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690095 + HRESULT IWICBitmapDecoder::GetContainerFormat([Out] GUID* pguidContainerFormat) + IWICBitmapDecoder::GetContainerFormat +
+ + +

Retrieves an for the image.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690096 + HRESULT IWICBitmapDecoder::GetDecoderInfo([Out] IWICBitmapDecoderInfo** ppIDecoderInfo) + IWICBitmapDecoder::GetDecoderInfo +
+ + +

Copies the decoder's .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

CopyPalette returns a global palette (a palette that applies to all the frames in the image) if there is one; otherwise, it returns . If an image doesn't have a global palette, it may still have a frame-level palette, which can be retrieved using IWICBitmapFrameDecode::CopyPalette.

+
+ + ee690091 + HRESULT IWICBitmapDecoder::CopyPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmapDecoder::CopyPalette +
+ + +

Retrieves the metadata query reader from the decoder.

+
+

Receives a reference to the decoder's .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690102 + HRESULT IWICBitmapDecoder::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) + IWICBitmapDecoder::GetMetadataQueryReader +
+ + +

Retrieves a preview image, if supported.

+
+

Receives a reference to the preview bitmap if supported.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Not all formats support previews. Only the native Microsoft?Windows Digital Photo (WDP) codec support previews.

+
+ + ee690104 + HRESULT IWICBitmapDecoder::GetPreview([Out] IWICBitmapSource** ppIBitmapSource) + IWICBitmapDecoder::GetPreview +
+ + +

Retrieves the objects of the image.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690093 + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + IWICBitmapDecoder::GetColorContexts +
+ + +

Retrieves the objects of the image.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690093 + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + IWICBitmapDecoder::GetColorContexts +
+ + +

Retrieves a bitmap thumbnail of the image, if one exists

+
+

Receives a reference to the of the thumbnail.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

None of the native formats support global thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support frame level thumbnails that can be accessed through a frame's GetThumbnail method.

+
+ + ee690106 + HRESULT IWICBitmapDecoder::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) + IWICBitmapDecoder::GetThumbnail +
+ + +

Retrieves the total number of frames in the image.

+
+

A reference that receives the total number of frames in the image.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690099 + HRESULT IWICBitmapDecoder::GetFrameCount([Out] unsigned int* pCount) + IWICBitmapDecoder::GetFrameCount +
+ + +

Retrieves the specified frame of the image.

+
+

The particular frame to retrieve.

+

A reference that receives a reference to the .

+ + ee690098 + HRESULT IWICBitmapDecoder::GetFrame([In] unsigned int index,[Out] IWICBitmapFrameDecode** ppIBitmapFrame) + IWICBitmapDecoder::GetFrame +
+ + + Initializes a new instance of the class from a . + + The bitmap decoder info. + HRESULT IWICBitmapDecoderInfo::CreateInstance([Out, Fast] IWICBitmapDecoder** ppIBitmapDecoder) + + + + Initializes a new instance of the class from a guid. for a list of default supported decoder. + + The factory. + The container format GUID. + HRESULT IWICImagingFactory::CreateDecoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. + The GUID vendor ref. + HRESULT IWICImagingFactory::CreateDecoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a . + + The factory. + The stream ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a . + + The factory. + The stream ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a . + + The factory. + The stream ref. + The GUID vendor ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a . + + The factory. + The stream ref. + The GUID vendor ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file in read mode. + + The factory. + The filename. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file. + + The factory. + The filename. + The desired access. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file. + + The factory. + The filename. + The GUID vendor ref. + The desired access. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file stream. + + The factory. + The filename. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFileHandle([In] unsigned int hFile,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file stream. + + The factory. + The filename. + The GUID vendor ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFileHandle([In] unsigned int hFile,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Queries the capabilities of the decoder based on the specified stream. + + The stream to retrieve the decoder capabilities from.. + Capabilities of the decoder + HRESULT IWICBitmapDecoder::QueryCapability([In, Optional] IStream* pIStream,[Out] WICBitmapDecoderCapabilities* pdwCapability) + + + + Initializes the decoder with the provided stream. + + The stream to use for initialization. + The cache options. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapDecoder::Initialize([In, Optional] IStream* pIStream,[In] WICDecodeOptions cacheOptions) + + + + Get the of the image (if any) + + The factory for creating new color contexts + The color context array, or null + + When the image format does not support color contexts, + is returned. + + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + + + + Get the of the image (if any) + + + null if the decoder does not support color contexts; + otherwise an array of zero or more ColorContext objects + + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] + + + +

Retrieves the image's container format.

+
+ + ee690095 + GetContainerFormat + GetContainerFormat + HRESULT IWICBitmapDecoder::GetContainerFormat([Out] GUID* pguidContainerFormat) +
+ + +

Retrieves an for the image.

+
+ + ee690096 + GetDecoderInfo + GetDecoderInfo + HRESULT IWICBitmapDecoder::GetDecoderInfo([Out] IWICBitmapDecoderInfo** ppIDecoderInfo) +
+ + +

Retrieves the metadata query reader from the decoder.

+
+ + ee690102 + GetMetadataQueryReader + GetMetadataQueryReader + HRESULT IWICBitmapDecoder::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) +
+ + +

Retrieves a preview image, if supported.

+
+ +

Not all formats support previews. Only the native Microsoft?Windows Digital Photo (WDP) codec support previews.

+
+ + ee690104 + GetPreview + GetPreview + HRESULT IWICBitmapDecoder::GetPreview([Out] IWICBitmapSource** ppIBitmapSource) +
+ + +

Retrieves a bitmap thumbnail of the image, if one exists

+
+ +

None of the native formats support global thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support frame level thumbnails that can be accessed through a frame's GetThumbnail method.

+
+ + ee690106 + GetThumbnail + GetThumbnail + HRESULT IWICBitmapDecoder::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) +
+ + +

Retrieves the total number of frames in the image.

+
+ + ee690099 + GetFrameCount + GetFrameCount + HRESULT IWICBitmapDecoder::GetFrameCount([Out] unsigned int* pCount) +
+ + +

Exposes methods that provide information about a decoder.

+
+ + ee690087 + IWICBitmapDecoderInfo + IWICBitmapDecoderInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the file pattern signatures supported by the decoder.

+
+

The array size of the pPatterns array.

+

Receives a list of objects supported by the decoder.

+

Receives the number of patterns the decoder supports.

+

Receives the actual buffer size needed to retrieve all pattern signatures supported by the decoder.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To retrieve all pattern signatures, this method should first be called with pPatterns set to null to retrieve the actual buffer size needed through pcbPatternsActual. Once the needed buffer size is known, allocate a buffer of the needed size and call GetPatterns again with the allocated buffer.

+
+ + ee690089 + HRESULT IWICBitmapDecoderInfo::GetPatterns([In] unsigned int cbSizePatterns,[Out, Buffer, Optional] WICBitmapPattern* pPatterns,[Out] unsigned int* pcPatterns,[Out] unsigned int* pcbPatternsActual) + IWICBitmapDecoderInfo::GetPatterns +
+ + +

Retrieves a value that indicates whether the codec recognizes the pattern within a specified stream.

+
+

The stream to pattern match within.

+

A reference that receives TRUE if the patterns match; otherwise, .

+ + ee690090 + HRESULT IWICBitmapDecoderInfo::MatchesPattern([In, Optional] IStream* pIStream,[Out] BOOL* pfMatches) + IWICBitmapDecoderInfo::MatchesPattern +
+ + +

Creates a new instance.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690088 + HRESULT IWICBitmapDecoderInfo::CreateInstance([Out, Fast] IWICBitmapDecoder** ppIBitmapDecoder) + IWICBitmapDecoderInfo::CreateInstance +
+ + + Retrieves a value that indicates whether the codec recognizes the pattern within a specified stream. + + The stream to pattern match within. + true if the patterns match; otherwise, false. + HRESULT IWICBitmapDecoderInfo::MatchesPattern([In, Optional] IStream* pIStream,[Out] BOOL* pfMatches) + + + + Gets the file pattern signatures supported by the decoder. + + HRESULT IWICBitmapDecoderInfo::GetPatterns([In] unsigned int cbSizePatterns,[Out, Buffer, Optional] WICBitmapPattern* pPatterns,[Out] unsigned int* pcPatterns,[Out] unsigned int* pcbPatternsActual) + + + +

Defines methods for setting an encoder's properties such as thumbnails, frames, and palettes.

+
+ +

There are a number of concrete implemenations of this interface representing each of the standard encoders provided by the platform including bitmap (BMP), Portable Network Graphics (PNG), Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP). The following table includes the class identifier (CLSID) for each native encoder.

CLSID NameCLSID
0x69be8bb4, 0xd66d, 0x47c8, 0x86, 0x5a, 0xed, 0x15, 0x89, 0x43, 0x37, 0x82
0x27949969, 0x876a, 0x41d7, 0x94, 0x47, 0x56, 0x8f, 0x6a, 0x35, 0xa4, 0xdc
0x1a34f5c1, 0x4a5a, 0x46dc, 0xb6, 0x44, 0x1f, 0x45, 0x67, 0xe7, 0xa6, 0x76
0x114f5598, 0xb22, 0x40a0, 0x86, 0xa1, 0xc8, 0x3e, 0xa4, 0x95, 0xad, 0xbd
0x0131be10, 0x2001, 0x4c5f, 0xa9, 0xb0, 0xcc, 0x88, 0xfa, 0xb6, 0x4c, 0xe8
0xac4ce3cb, 0xe1c1, 0x44cd, 0x82, 0x15, 0x5a, 0x16, 0x65, 0x50, 0x9e, 0xc2

?

Additionally this interface may be sub-classed to provide support for third party codecs as part of the extensibility model. See the AITCodec Sample CODEC.

+
+ + ee690110 + IWICBitmapEncoder + IWICBitmapEncoder +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the encoder with an which tells the encoder where to encode the bits.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690123 + HRESULT IWICBitmapEncoder::Initialize([In, Optional] IStream* pIStream,[In] WICBitmapEncoderCacheOption cacheOption) + IWICBitmapEncoder::Initialize +
+ + +

Retrieves the encoder's container format.

+
+

A reference that receives the encoder's container format .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690118 + HRESULT IWICBitmapEncoder::GetContainerFormat([Out] GUID* pguidContainerFormat) + IWICBitmapEncoder::GetContainerFormat +
+ + +

Retrieves an for the encoder.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690119 + HRESULT IWICBitmapEncoder::GetEncoderInfo([Out] IWICBitmapEncoderInfo** ppIEncoderInfo) + IWICBitmapEncoder::GetEncoderInfo +
+ + +

Sets the objects for the encoder.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690125 + HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + IWICBitmapEncoder::SetColorContexts +
+ + +

Sets the objects for the encoder.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690125 + HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + IWICBitmapEncoder::SetColorContexts +
+ + +

Sets the global palette for the image.

+
+

The to use as the global palette.

+

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

+ + ee690126 + HRESULT IWICBitmapEncoder::SetPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmapEncoder::SetPalette +
+ + +

Sets the global thumbnail for the image.

+
+

The to set as the global thumbnail.

+

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

+ + ee690129 + HRESULT IWICBitmapEncoder::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) + IWICBitmapEncoder::SetThumbnail +
+ + +

Sets the global preview for the image.

+
+

The to use as the global preview.

+

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

+ + ee690128 + HRESULT IWICBitmapEncoder::SetPreview([In, Optional] IWICBitmapSource* pIPreview) + IWICBitmapEncoder::SetPreview +
+ + +

Creates a new instance.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The parameter ppIEncoderOptions can be used to receive an that can then be used to specify encoder options. This is done by passing a reference to a null reference in ppIEncoderOptions. You should then set your desired encoder options on the returned, and pass this to .

Note??Do not pass in a reference to an initialized . The reference will be overwritten, and the original will not be freed.

Otherwise, you can pass null in ppIEncoderOptions if you do not intend to specify encoder options.

See Encoding Overview for an example of how to set encoder options.

+
+ + ee690116 + HRESULT IWICBitmapEncoder::CreateNewFrame([Out, Fast] IWICBitmapFrameEncode** ppIFrameEncode,[Out, Fast] IPropertyBag2** ppIEncoderOptions) + IWICBitmapEncoder::CreateNewFrame +
+ + +

Commits all changes for the image and closes the stream.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To finalize an image, both the frame Commit and the encoder Commit must be called. However, only call the encoder Commit method after all frames have been committed.

+
+ + ee690114 + HRESULT IWICBitmapEncoder::Commit() + IWICBitmapEncoder::Commit +
+ + +

Retrieves a metadata query writer for the encoder.

+
+

When this method returns, contains a reference to the encoder's metadata query writer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690121 + HRESULT IWICBitmapEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) + IWICBitmapEncoder::GetMetadataQueryWriter +
+ + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + The GUID vendor ref. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + A stream to use as the output of this bitmap encoder. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + A stream to use as the output of this bitmap encoder. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + The GUID vendor ref. + A stream to use as the output of this bitmap encoder. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + The GUID vendor ref. + A stream to use as the output of this bitmap encoder. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes the encoder with the provided stream. + + The stream to use for initialization. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapEncoder::Initialize([In, Optional] IStream* pIStream,[In] WICBitmapEncoderCacheOption cacheOption) + + + + Initializes the encoder with the provided stream. + + The stream to use for initialization. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapEncoder::Initialize([In, Optional] IStream* pIStream,[In] WICBitmapEncoderCacheOption cacheOption) + + + + Sets the objects for the encoder. + + The color contexts to set for the encoder. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + + + +

Retrieves the encoder's container format.

+
+ + ee690118 + GetContainerFormat + GetContainerFormat + HRESULT IWICBitmapEncoder::GetContainerFormat([Out] GUID* pguidContainerFormat) +
+ + +

Retrieves an for the encoder.

+
+ + ee690119 + GetEncoderInfo + GetEncoderInfo + HRESULT IWICBitmapEncoder::GetEncoderInfo([Out] IWICBitmapEncoderInfo** ppIEncoderInfo) +
+ + +

Sets the global palette for the image.

+
+ + ee690126 + SetPalette + SetPalette + HRESULT IWICBitmapEncoder::SetPalette([In, Optional] IWICPalette* pIPalette) +
+ + +

Sets the global thumbnail for the image.

+
+ + ee690129 + SetThumbnail + SetThumbnail + HRESULT IWICBitmapEncoder::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) +
+ + +

Sets the global preview for the image.

+
+ + ee690128 + SetPreview + SetPreview + HRESULT IWICBitmapEncoder::SetPreview([In, Optional] IWICBitmapSource* pIPreview) +
+ + +

Retrieves a metadata query writer for the encoder.

+
+ + ee690121 + GetMetadataQueryWriter + GetMetadataQueryWriter + HRESULT IWICBitmapEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) +
+ + +

Exposes methods that provide information about an encoder.

+
+ + ee690112 + IWICBitmapEncoderInfo + IWICBitmapEncoderInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a new instance.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690113 + HRESULT IWICBitmapEncoderInfo::CreateInstance([Out] IWICBitmapEncoder** ppIBitmapEncoder) + IWICBitmapEncoderInfo::CreateInstance +
+ + +

Exposes methods that produce a flipped (horizontal or vertical) and/or rotated (by 90 degree increments) bitmap source. Rotations are done before the flip.

+
+ +

IWICBitmapFipRotator requests data on a per-pixel basis, while WIC codecs provide data on a per-scanline basis. This causes the fliprotator object to exhibit n2 behavior if there is no buffering. This occures because each pixel in the transformed image requires an entire scanline to be decoded in the file. It is recommended that you buffer the image using , or flip/rotate the image using Direct2D.

+
+ + ee690131 + IWICBitmapFlipRotator + IWICBitmapFlipRotator +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the bitmap flip rotator with the provided parameters.

+
+

The input bitmap source.

+

The to flip or rotate the image.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690132 + HRESULT IWICBitmapFlipRotator::Initialize([In, Optional] IWICBitmapSource* pISource,[In] WICBitmapTransformOptions options) + IWICBitmapFlipRotator::Initialize +
+ + + Initializes a new instance of the class. + + The factory. + + + +

Defines methods for decoding individual image frames of an encoded file.

+
+ + ee690134 + IWICBitmapFrameDecode + IWICBitmapFrameDecode +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves a metadata query reader for the frame.

+
+

When this method returns, contains a reference to the frame's metadata query reader.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690137 + HRESULT IWICBitmapFrameDecode::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) + IWICBitmapFrameDecode::GetMetadataQueryReader +
+ + +

Retrieves the associated with the image frame.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690135 + HRESULT IWICBitmapFrameDecode::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + IWICBitmapFrameDecode::GetColorContexts +
+ + +

Retrieves the associated with the image frame.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690135 + HRESULT IWICBitmapFrameDecode::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + IWICBitmapFrameDecode::GetColorContexts +
+ + +

Retrieves a small preview of the frame, if supported by the codec.

+
+

A reference that receives a reference to the of the thumbnail.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Not all formats support thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support thumbnails.

Note to Implementers

If the codec does not support thumbnails, return WINCODEC_ERROR_CODECNOTHUMBNAIL rather than E_NOTIMPL.

+
+ + ee690139 + HRESULT IWICBitmapFrameDecode::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) + IWICBitmapFrameDecode::GetThumbnail +
+ + + Get the of the image (if any) + + The factory for creating new color contexts + The color context array, or null + + When the image format does not support color contexts, + is returned. + + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + + + + Get the of the image (if any) + + + null if the decoder does not support color contexts; + otherwise an array of zero or more ColorContext objects + + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] + + + +

Retrieves a metadata query reader for the frame.

+
+ + ee690137 + GetMetadataQueryReader + GetMetadataQueryReader + HRESULT IWICBitmapFrameDecode::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) +
+ + +

Retrieves a small preview of the frame, if supported by the codec.

+
+ +

Not all formats support thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support thumbnails.

Note to Implementers

If the codec does not support thumbnails, return WINCODEC_ERROR_CODECNOTHUMBNAIL rather than E_NOTIMPL.

+
+ + ee690139 + GetThumbnail + GetThumbnail + HRESULT IWICBitmapFrameDecode::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) +
+ + +

Represents an encoder's individual image frames.

+
+ + ee690141 + IWICBitmapFrameEncode + IWICBitmapFrameEncode +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the frame encoder using the given properties.

+
+

The set of properties to use for initialization.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690146 + HRESULT IWICBitmapFrameEncode::Initialize([In, Optional] IPropertyBag2* pIEncoderOptions) + IWICBitmapFrameEncode::Initialize +
+ + +

Sets the output image dimensions for the frame.

+
+

The width of the output image.

+

The height of the output image.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690154 + HRESULT IWICBitmapFrameEncode::SetSize([In] unsigned int uiWidth,[In] unsigned int uiHeight) + IWICBitmapFrameEncode::SetSize +
+ + +

Sets the physical resolution of the output image.

+
+

The horizontal resolution value.

+

The vertical resolution value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690152 + HRESULT IWICBitmapFrameEncode::SetResolution([In] double dpiX,[In] double dpiY) + IWICBitmapFrameEncode::SetResolution +
+ + +

Requests that the encoder use the specified pixel format.

+
+

If the method succeeds, contains the specified pixel format ; otherwise, contains the closest supported pixel format . For a list of pixel format GUIDs, see Native Pixel Formats.

+

Possible return values include the following.

Return codeDescription

Success.

The method was not called.

?

+ + ee690151 + HRESULT IWICBitmapFrameEncode::SetPixelFormat([InOut] GUID* pPixelFormat) + IWICBitmapFrameEncode::SetPixelFormat +
+ + +

Sets a given number profiles to the frame.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690148 + HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + IWICBitmapFrameEncode::SetColorContexts +
+ + +

Sets a given number profiles to the frame.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690148 + HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + IWICBitmapFrameEncode::SetColorContexts +
+ + +

Sets the for indexed pixel formats.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method does not fail if called on a frame whose pixel format is set to a non-indexed pixel format. The target pixel format is a non-indexed format, the palette will be ignored.

+
+ + ee690150 + HRESULT IWICBitmapFrameEncode::SetPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmapFrameEncode::SetPalette +
+ + +

Sets the frame thumbnail if supported by the codec.

+
+

The bitmap source to use as the thumbnail.

+

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

+ +

SetThumbnail should be called before calling WritePixels or WriteSource. The thumbnail will not be added to the encoded file if SetThumbnail after a call to WritePixels or WriteSource.

+
+ + ee690156 + HRESULT IWICBitmapFrameEncode::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) + IWICBitmapFrameEncode::SetThumbnail +
+ + +

Encodes the frame scanlines.

+
+

The number of lines to encode.

+

The stride of the image pixels.

+

The size of the pixel buffer.

+

A reference to the pixel buffer.

+

Possible return values include the following.

Return codeDescription

Success.

The value of lineCount is larger than the number of scan lines in the image.

?

+ +

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

+
+ + ee690158 + HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) + IWICBitmapFrameEncode::WritePixels +
+ + +

Encodes a bitmap source.

+
+

The bitmap source to encode.

+

The size rectangle of the bitmap source.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If SetSize is not called prior to calling WriteSource, the size given in prc is used if not null. Otherwise, the size of the given in pIBitmapSource is used.

If SetPixelFormat is not called prior to calling WriteSource, the pixel format of the given in pIBitmapSource is used.

If SetResolution is not called prior to calling WriteSource, the pixel format of pIBitmapSource is used.

If SetPalette is not called prior to calling WriteSource, the target pixel format is indexed, and the pixel format of pIBitmapSource matches the encoder frame's pixel format, then the pIBitmapSource pixel format is used.

When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, WriteSource will use the global palette to encode the frame even when pIBitmapSource has a frame level palette.

Windows Vista:The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

+
+ + ee690159 + HRESULT IWICBitmapFrameEncode::WriteSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In] void* prc) + IWICBitmapFrameEncode::WriteSource +
+ + +

Commits the frame to the image.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To finalize the image, both the frame Commit and the encoder Commit must be called. However, only call the encoder Commit method after all frames have been committed.

+
+ + ee690142 + HRESULT IWICBitmapFrameEncode::Commit() + IWICBitmapFrameEncode::Commit +
+ + +

Gets the metadata query writer for the encoder frame.

+
+

When this method returns, contains a reference to metadata query writer for the encoder frame.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690144 + HRESULT IWICBitmapFrameEncode::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) + IWICBitmapFrameEncode::GetMetadataQueryWriter +
+ + + Initializes a new instance of the class. + + The encoder. + HRESULT IWICBitmapEncoder::CreateNewFrame([Out] IWICBitmapFrameEncode** ppIFrameEncode,[Out] IPropertyBag2** ppIEncoderOptions) + + + + Initializes this instance. + + HRESULT IWICBitmapFrameEncode::Initialize([In, Optional] IPropertyBag2* pIEncoderOptions) + + + + Sets the objects for this frame encoder. + + The color contexts to set for the encoder. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + + + +

Encodes the frame scanlines.

+
+

The number of lines to encode.

+ A data buffer containing the pixels to copy from. + Total size in bytes of pixels to write. If == 0, size is calculated with lineCount * rowStride. + +

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

+
+ ee690158 + HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) + IWICBitmapFrameEncode::WritePixels +
+ + +

Encodes the frame scanlines.

+
+

The number of lines to encode.

+ A data buffer containing the pixels to copy from. + The stride of one row. + Total size in bytes of pixels to write. If == 0, size is calculated with lineCount * rowStride. + +

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

+
+ ee690158 + HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) + IWICBitmapFrameEncode::WritePixels +
+ + +

Encodes the frame scanlines.

+
+

The number of lines to encode.

+

The stride of the image pixels.

+

A reference to the pixel buffer.

+ +

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

+
+ ee690158 + HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) + IWICBitmapFrameEncode::WritePixels +
+ + +

Encodes a bitmap source.

+
+

The bitmap source to encode.

+ +

If SetSize is not called prior to calling WriteSource, the size given in prc is used if not null. Otherwise, the size of the given in pIBitmapSource is used.

If SetPixelFormat is not called prior to calling WriteSource, the pixel format of the given in pIBitmapSource is used.

If SetResolution is not called prior to calling WriteSource, the pixel format of pIBitmapSource is used.

If SetPalette is not called prior to calling WriteSource, the target pixel format is indexed, and the pixel format of pIBitmapSource matches the encoder frame's pixel format, then the pIBitmapSource pixel format is used.

When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, WriteSource will use the global palette to encode the frame even when pIBitmapSource has a frame level palette.

Windows Vista:The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

+
+ + ee690159 + HRESULT IWICBitmapFrameEncode::WriteSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In, Optional] WICRect* prc) + IWICBitmapFrameEncode::WriteSource +
+ + +

Encodes a bitmap source.

+
+

The bitmap source to encode.

+

The size rectangle of the bitmap source.

+ +

If SetSize is not called prior to calling WriteSource, the size given in prc is used if not null. Otherwise, the size of the given in pIBitmapSource is used.

If SetPixelFormat is not called prior to calling WriteSource, the pixel format of the given in pIBitmapSource is used.

If SetResolution is not called prior to calling WriteSource, the pixel format of pIBitmapSource is used.

If SetPalette is not called prior to calling WriteSource, the target pixel format is indexed, and the pixel format of pIBitmapSource matches the encoder frame's pixel format, then the pIBitmapSource pixel format is used.

When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, WriteSource will use the global palette to encode the frame even when pIBitmapSource has a frame level palette.

Windows Vista:The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

+
+ + ee690159 + HRESULT IWICBitmapFrameEncode::WriteSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In, Optional] WICRect* prc) + IWICBitmapFrameEncode::WriteSource +
+ + +

Sets the for indexed pixel formats.

+
+ +

This method does not fail if called on a frame whose pixel format is set to a non-indexed pixel format. The target pixel format is a non-indexed format, the palette will be ignored.

+
+ + ee690150 + SetPalette + SetPalette + HRESULT IWICBitmapFrameEncode::SetPalette([In, Optional] IWICPalette* pIPalette) +
+ + +

Sets the frame thumbnail if supported by the codec.

+
+ +

SetThumbnail should be called before calling WritePixels or WriteSource. The thumbnail will not be added to the encoded file if SetThumbnail after a call to WritePixels or WriteSource.

+
+ + ee690156 + SetThumbnail + SetThumbnail + HRESULT IWICBitmapFrameEncode::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) +
+ + +

Gets the metadata query writer for the encoder frame.

+
+ + ee690144 + GetMetadataQueryWriter + GetMetadataQueryWriter + HRESULT IWICBitmapFrameEncode::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) +
+ + + Gets the properties to setup before . + + + + +

Exposes methods that support the Lock method.

+
+ +

The bitmap lock is simply an abstraction for a rectangular memory window into the bitmap. For the simplest case, a system memory bitmap, this is simply a reference to the top left corner of the rectangle and a stride value.

To release the exclusive lock set by Lock method and the associated object, call IUnknown::Release on the object.

+
+ + ee690161 + IWICBitmapLock + IWICBitmapLock +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the width and height, in pixels, of the locked rectangle.

+
+

A reference that receives the width of the locked rectangle.

+

A reference that receives the height of the locked rectangle.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690165 + HRESULT IWICBitmapLock::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + IWICBitmapLock::GetSize +
+ + +

Provides access to the stride value for the memory.

+
+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Note the stride value is specific to the , not the bitmap. For example, two consecutive locks on the same rectangle of a bitmap may return different references and stride values, depending on internal implementation.

+
+ + ee690166 + HRESULT IWICBitmapLock::GetStride([Out] unsigned int* pcbStride) + IWICBitmapLock::GetStride +
+ + +

Gets the reference to the top left pixel in the locked rectangle.

+
+

A reference that receives the size of the buffer.

+

A reference that receives a reference to the top left pixel in the locked rectangle.

+ +

The reference provided by this method should not be used outside of the lifetime of the lock itself.

GetDataPointer is not available in multi-threaded apartment applications.

+
+ + ee690162 + HRESULT IWICBitmapLock::GetDataPointer([Out] unsigned int* pcbBufferSize,[Out] void** ppbData) + IWICBitmapLock::GetDataPointer +
+ + +

Gets the pixel format of for the locked area of pixels. This can be used to compute the number of bytes-per-pixel in the locked area.

+
+

A reference that receives the pixel format of the locked area.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690164 + HRESULT IWICBitmapLock::GetPixelFormat([Out] GUID* pPixelFormat) + IWICBitmapLock::GetPixelFormat +
+ + +

Provides access to the stride value for the memory.

+
+ +

Note the stride value is specific to the , not the bitmap. For example, two consecutive locks on the same rectangle of a bitmap may return different references and stride values, depending on internal implementation.

+
+ + ee690166 + GetStride + GetStride + HRESULT IWICBitmapLock::GetStride([Out] unsigned int* pcbStride) +
+ + +

Gets the pixel format of for the locked area of pixels. This can be used to compute the number of bytes-per-pixel in the locked area.

+
+ + ee690164 + GetPixelFormat + GetPixelFormat + HRESULT IWICBitmapLock::GetPixelFormat([Out] GUID* pPixelFormat) +
+ + + Gets the size. + + HRESULT IWICBitmapLock::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + + + + Gets a pointer to the data. + + + + +

Represents a resized version of the input bitmap using a resampling or filtering algorithm.

+
+ +

Images can be scaled to larger sizes; however, even with sophisticated scaling algorithms, there is only so much information in the image and artifacts tend to worsen the more you scale up.

The scaler will reapply the resampling algorithm every time CopyPixels is called. If the scaled image is to be animated, the scaled image should be created once and cached in a new bitmap, after which the may be released. In this way the scaling algorithm - which may be computationally expensive relative to drawing - is performed only once and the result displayed many times.

The scaler is optimized to use the minimum amount of memory required to scale the image correctly. The scaler may be used to produce parts of the image incrementally (banding) by calling CopyPixels with different rectangles representing the output bands of the image. Resampling typically requires overlapping rectangles from the source image and thus may need to request the same pixels from the source bitmap multiple times. Requesting scanlines out-of-order from some image decoders can have a significant performance penalty. Because of this reason, the scaler is optimized to handle consecutive horizontal bands of scanlines (rectangle width equal to the bitmap width). In this case the accumulator from the previous vertically adjacent rectangle is re-used to avoid duplicate scanline requests from the source. This implies that banded output from the scaler may have better performance if the bands are requested sequentially. Of course if the scaler is simply used to produce a single rectangle output, this concern is eliminated because the scaler will internally request scanlines in the correct order.

+
+ + ee690168 + IWICBitmapScaler + IWICBitmapScaler +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the bitmap scaler with the provided parameters.

+
+

The input bitmap source.

+

The destination width.

+

The desination height.

+

The to use when scaling.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690169 + HRESULT IWICBitmapScaler::Initialize([In, Optional] IWICBitmapSource* pISource,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] WICBitmapInterpolationMode mode) + IWICBitmapScaler::Initialize +
+ + + Initializes a new instance of the class. + + The factory. + + + + No documentation. + + + ee719897 + IWICBitmapSourceTransform + IWICBitmapSourceTransform + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Copies pixel data using the supplied input parameters.

+
+

The rectangle of pixels to copy.

+

The width to scale the source bitmap. This parameter must equal the value obtainable through .

+

The height to scale the source bitmap. This parameter must equal the value obtainable through .

+

The of desired pixel format in which the pixels should be returned.

This must be a format obtained through an GetClosestPixelFormat call.

+

The desired rotation or flip to perform prior to the pixel copy.

The transform must be an operation supported by an DoesSupportTransform call.

If a dstTransform is specified, nStride is the transformed stride and is based on the pguidDstFormat pixel format, not the original source's pixel format.

+

The stride of the destination buffer.

+

The size of the destination buffer.

+

The output buffer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + Codec Developer Remarks

For codec developer implementation details for this method, see Implementing .

When multiple transform operations are requested, the result is dependent on the order in which the operations are performed. To ensure predictability and consistency across CODECs, it's important that all CODECs perform these operations in the same order. The recommended order of these operations is:

  1. Scale
  2. Crop
  3. Flip/Rotate

Pixel format conversion can be performed at any time, since it has no effect on the other transforms.

The first parameter, prc is used to specify the region of interest for clipping the image. By convention, scaling is performed before clipping so, if the image is to be scaled as well as clipped, the region of interest should be determined after the image has been scaled.

If a dstTransform is specified, the stride is the transformed stride, and is based on the pixelFormat specified in the CopyPixels call, not the original frame's pixel format.

+
+ + ee690173 + HRESULT IWICBitmapSourceTransform::CopyPixels([In] const void* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSourceTransform::CopyPixels +
+ + +

Returns the closest dimensions the implementation can natively scale to given the desired dimensions.

+
+

The desired width. A reference that receives the closest supported width.

+

The desired height.A reference that receives the closest supported height.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690176 + HRESULT IWICBitmapSourceTransform::GetClosestSize([InOut] unsigned int* puiWidth,[InOut] unsigned int* puiHeight) + IWICBitmapSourceTransform::GetClosestSize +
+ + +

Retrieves the closest pixel format to which the implementation of can natively copy pixels, given a desired format.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690175 + HRESULT IWICBitmapSourceTransform::GetClosestPixelFormat([InOut] GUID* pguidDstFormat) + IWICBitmapSourceTransform::GetClosestPixelFormat +
+ + +

Determines whether a specific transform option is supported natively by the implementation of the interface.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690174 + HRESULT IWICBitmapSourceTransform::DoesSupportTransform([In] WICBitmapTransformOptions dstTransform,[Out] BOOL* pfIsSupported) + IWICBitmapSourceTransform::DoesSupportTransform +
+ + + Copies pixel data using the supplied input parameters. + + The width. + The height. + The stride. + The output. + + HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + + + + Copies pixel data using the supplied input parameters. + + The width. + The height. + The DST transform. + The stride. + The output. + + HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + + + + Copies pixel data using the supplied input parameters. + + The width. + The height. + The GUID DST format. + The DST transform. + The stride. + The output. + + HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + + + + Copies pixel data using the supplied input parameters. + + The rectangle. + The width. + The height. + The GUID DST format. + The DST transform. + The stride. + The output. + + HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + + + + Returns the closest dimensions the implementation can natively scale to given the desired dimensions. + + The size. + + HRESULT IWICBitmapSourceTransform::GetClosestSize([InOut] unsigned int* puiWidth,[InOut] unsigned int* puiHeight) + + + +

Exposes methods for color management.

+
+ +

A Color Context is an abstraction for a color profile. The profile can be loaded from a file (ie. "sRGB Color Space Profile.icm") or from a memory buffer obtained by reading. The color profile directory can be obtained by calling the GetColorDirectory API (See http://msdn.microsoft.com/library/en-us/icm/icm_58xl.asp).

+
+ + ee690193 + IWICColorContext + IWICColorContext +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the color context from the given file.

+
+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690198 + HRESULT IWICColorContext::InitializeFromFilename([In] const wchar_t* wzFilename) + IWICColorContext::InitializeFromFilename +
+ + +

Initializes the color context from a memory block.

+
+

The buffer used to initialize the .

+

The size of the pbBuffer buffer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690199 + HRESULT IWICColorContext::InitializeFromMemory([In] const void* pbBuffer,[In] unsigned int cbBufferSize) + IWICColorContext::InitializeFromMemory +
+ + +

Initializes the color context using an Exchangeable Image File (EXIF) color space.

+
+

The value of the EXIF color space.

ValueMeaning
1

A sRGB color space.

2

An Adobe RGB color space.

?

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690197 + HRESULT IWICColorContext::InitializeFromExifColorSpace([In] unsigned int value) + IWICColorContext::InitializeFromExifColorSpace +
+ + +

Retrieves the color context type.

+
+

A reference that receives the of the color context.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690196 + HRESULT IWICColorContext::GetType([Out] WICColorContextType* pType) + IWICColorContext::GetType +
+ + +

Retrieves the color context profile.

+
+

The size of the pbBuffer buffer.

+

A reference that receives the color context profile.

+

A reference that receives the actual buffer size needed to retrieve the entire color context profile.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690195 + HRESULT IWICColorContext::GetProfileBytes([In] unsigned int cbBuffer,[In] void* pbBuffer,[Out] unsigned int* pcbActual) + IWICColorContext::GetProfileBytes +
+ + +

Retrieves the Exchangeable Image File (EXIF) color space color context.

+
+

A reference that receives the EXIF color space color context.

ValueMeaning
1

A sRGB color space.

2

An Adobe RGB color space.

3 through 65534

Unused.

?

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690194 + HRESULT IWICColorContext::GetExifColorSpace([Out] unsigned int* pValue) + IWICColorContext::GetExifColorSpace +
+ + + Initializes a new instance of the class. + + The factory. + HRESULT IWICImagingFactory::CreateColorContext([Out, Fast] IWICColorContext** ppIWICColorContext) + + + + Initializes from memory. + + The data pointer. + + HRESULT IWICColorContext::InitializeFromMemory([In] const void* pbBuffer,[In] unsigned int cbBufferSize) + + + +

Retrieves the color context type.

+
+ + ee690196 + GetType + GetType + HRESULT IWICColorContext::GetType([Out] WICColorContextType* pType) +
+ + +

Retrieves the Exchangeable Image File (EXIF) color space color context.

+
+ + ee690194 + GetExifColorSpace + GetExifColorSpace + HRESULT IWICColorContext::GetExifColorSpace([Out] unsigned int* pValue) +
+ + + Gets the color context profile. + + + + +

Exposes methods that transforms an from one color context to another.

+
+ +

A is an imaging pipeline component that knows how to pull pixels obtained from a given through a color transform. The color transform is defined by mapping colors from the source color context to the destination color context in a given output pixel format.

+
+ + ee690201 + IWICColorTransform + IWICColorTransform +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes an with a and transforms it from one to another.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690202 + HRESULT IWICColorTransform::Initialize([In, Optional] IWICBitmapSource* pIBitmapSource,[In, Optional] IWICColorContext* pIContextSource,[In, Optional] IWICColorContext* pIContextDest,[In] const GUID& pixelFmtDest) + IWICColorTransform::Initialize +
+ + + Initializes a new instance of the class. + + The factory. + HRESULT IWICImagingFactory::CreateColorTransformer([Out, Fast] IWICColorTransform** ppIWICColorTransform) + + + +

Exposes methods that provide access to the capabilites of a raw codec format.

+
+ + ee690228 + IWICDevelopRaw + IWICDevelopRaw +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves information about which capabilities are supported for a raw image.

+
+

A reference that receives that provides the capabilities supported by the raw image.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

It is recommended that a codec report that a capability is supported even if the results at the outer range limits are not of perfect quality.

+
+ + ee690248 + HRESULT IWICDevelopRaw::QueryRawCapabilitiesInfo([In] WICRawCapabilitiesInfo* pInfo) + IWICDevelopRaw::QueryRawCapabilitiesInfo +
+ + +

Sets the desired option.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690247 + HRESULT IWICDevelopRaw::LoadParameterSet([In] WICRawParameterSet ParameterSet) + IWICDevelopRaw::LoadParameterSet +
+ + +

Gets the current set of parameters.

+
+

A reference that receives a reference to the current set of parameters.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690233 + HRESULT IWICDevelopRaw::GetCurrentParameterSet([Out] IPropertyBag2** ppCurrentParameterSet) + IWICDevelopRaw::GetCurrentParameterSet +
+ + +

Sets the exposure compensation stop value.

+
+

The exposure compensation value. The value range for exposure compensation is -5.0 through +5.0, which equates to 10 full stops.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

It is recommended that a codec report that this method is supported even if the results at the outer range limits are not of perfect quality.

+
+ + ee690251 + HRESULT IWICDevelopRaw::SetExposureCompensation([In] double ev) + IWICDevelopRaw::SetExposureCompensation +
+ + +

Gets the exposure compensation stop value of the raw image.

+
+

A reference that receives the exposure compensation stop value. The default is the "as-shot" setting.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690234 + HRESULT IWICDevelopRaw::GetExposureCompensation([Out] double* pEV) + IWICDevelopRaw::GetExposureCompensation +
+ + +

Sets the white point RGB values.

+
+

The red white point value.

+

The green white point value.

+

The blue white point value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Due to other white point setting methods (e.g. SetWhitePointKelvin), care must be taken by codec implementers to ensure proper interoperability. For instance, if the caller sets via a named white point then the codec implementer may whis to disable reading back the correspoinding Kelvin temperature. In specific cases where the codec implementer wishes to deny a given action because of previous calls, should be returned.

+
+ + ee690263 + HRESULT IWICDevelopRaw::SetWhitePointRGB([In] unsigned int Red,[In] unsigned int Green,[In] unsigned int Blue) + IWICDevelopRaw::SetWhitePointRGB +
+ + +

Gets the white point RGB values.

+
+

A reference that receives the red white point value.

+

A reference that receives the green white point value.

+

A reference that receives the blue white point value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690246 + HRESULT IWICDevelopRaw::GetWhitePointRGB([Out] unsigned int* pRed,[Out] unsigned int* pGreen,[Out] unsigned int* pBlue) + IWICDevelopRaw::GetWhitePointRGB +
+ + +

Sets the named white point of the raw file.

+
+

A bitwise combination of the enumeration values.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the named white points are not supported by the raw image or the raw file contains named white points that are not supported by this API, the codec implementer should still mark this capability as supported.

If the named white points are not supported by the raw image, a best effort should be made to adjust the image to the named white point even when it isn't a pre-defined white point of the raw file.

If the raw file containes named white points not supported by this API, the codec implementer should support the named white points in the API.

Due to other white point setting methods (e.g. SetWhitePointKelvin), care must be taken by codec implementers to ensure proper interoperability. For instance, if the caller sets via a named white point then the codec implementer may whis to disable reading back the correspoinding Kelvin temperature. In specific cases where the codec implementer wishes to deny a given action because of previous calls, should be returned.

+
+ + ee690253 + HRESULT IWICDevelopRaw::SetNamedWhitePoint([In] WICNamedWhitePoint WhitePoint) + IWICDevelopRaw::SetNamedWhitePoint +
+ + +

Gets the named white point of the raw image.

+
+

A reference that receives the bitwise combination of the enumeration values.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the named white points are not supported by the raw image or the raw file contains named white points that are not supported by this API, the codec implementer should still mark this capability as supported.

If the named white points are not supported by the raw image, a best effort should be made to adjust the image to the named white point even when it isn't a pre-defined white point of the raw file.

If the raw file containes named white points not supported by this API, the codec implementer should support the named white points in .

+
+ + ee690237 + HRESULT IWICDevelopRaw::GetNamedWhitePoint([Out] WICNamedWhitePoint* pWhitePoint) + IWICDevelopRaw::GetNamedWhitePoint +
+ + +

Sets the white point Kelvin value.

+
+

The white point Kelvin value. Acceptable Kelvin values are 1,500 through 30,000.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Codec implementers should faithfully adjust the color temperature within the range supported natively by the raw image. For values outside the native support range, the codec implementer should provide a best effort representation of the image at that color temperature.

Codec implementers should return if the value is out of defined acceptable range.

Codec implementers must ensure proper interoperability with other white point setting methods such as SetWhitePointRGB. For example, if the caller sets the white point via SetNamedWhitePoint then the codec implementer may want to disable reading back the correspoinding Kelvin temperature. In specific cases where the codec implementer wants to deny a given action because of previous calls, should be returned.

+
+ + ee690262 + HRESULT IWICDevelopRaw::SetWhitePointKelvin([In] unsigned int WhitePointKelvin) + IWICDevelopRaw::SetWhitePointKelvin +
+ + +

Gets the white point Kelvin temperature of the raw image.

+
+

A reference that receives the white point Kelvin temperature of the raw image. The default is the "as-shot" setting value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690245 + HRESULT IWICDevelopRaw::GetWhitePointKelvin([Out] unsigned int* pWhitePointKelvin) + IWICDevelopRaw::GetWhitePointKelvin +
+ + +

Gets the information about the current Kelvin range of the raw image.

+
+

A reference that receives the minimum Kelvin temperature.

+

A reference that receives the maximum Kelvin temperature.

+

A reference that receives the Kelvin step value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690236 + HRESULT IWICDevelopRaw::GetKelvinRangeInfo([Out] unsigned int* pMinKelvinTemp,[Out] unsigned int* pMaxKelvinTemp,[Out] unsigned int* pKelvinTempStepValue) + IWICDevelopRaw::GetKelvinRangeInfo +
+ + +

Sets the contrast value of the raw image.

+
+

The contrast value of the raw image. The default value is the "as-shot" setting. The value range for contrast is 0.0 through 1.0. The 0.0 lower limit represents no contrast applied to the image, while the 1.0 upper limit represents the highest amount of contrast that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

+
+ + ee690249 + HRESULT IWICDevelopRaw::SetContrast([In] double Contrast) + IWICDevelopRaw::SetContrast +
+ + +

Gets the contrast value of the raw image.

+
+

A reference that receives the contrast value of the raw image. The default value is the "as-shot" setting. The value range for contrast is 0.0 through 1.0. The 0.0 lower limit represents no contrast applied to the image, while the 1.0 upper limit represents the highest amount of contrast that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690232 + HRESULT IWICDevelopRaw::GetContrast([Out] double* pContrast) + IWICDevelopRaw::GetContrast +
+ + +

Sets the desired gamma value.

+
+

The desired gamma value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690252 + HRESULT IWICDevelopRaw::SetGamma([In] double Gamma) + IWICDevelopRaw::SetGamma +
+ + +

Gets the current gamma setting of the raw image.

+
+

A reference that receives the current gamma setting.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690235 + HRESULT IWICDevelopRaw::GetGamma([Out] double* pGamma) + IWICDevelopRaw::GetGamma +
+ + +

Sets the sharpness value of the raw image.

+
+

The sharpness value of the raw image. The default value is the "as-shot" setting. The value range for sharpness is 0.0 through 1.0. The 0.0 lower limit represents no sharpening applied to the image, while the 1.0 upper limit represents the highest amount of sharpness that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

+
+ + ee690259 + HRESULT IWICDevelopRaw::SetSharpness([In] double Sharpness) + IWICDevelopRaw::SetSharpness +
+ + +

Gets the sharpness value of the raw image.

+
+

A reference that receives the sharpness value of the raw image. The default value is the "as-shot" setting. The value range for sharpness is 0.0 through 1.0. The 0.0 lower limit represents no sharpening applied to the image, while the 1.0 upper limit represents the highest amount of sharpness that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690242 + HRESULT IWICDevelopRaw::GetSharpness([Out] double* pSharpness) + IWICDevelopRaw::GetSharpness +
+ + +

Sets the saturation value of the raw image.

+
+

The saturation value of the raw image. The value range for saturation is 0.0 through 1.0. A value of 0.0 represents an image with a fully de-saturated image, while a value of 1.0 represents the highest amount of saturation that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

+
+ + ee690258 + HRESULT IWICDevelopRaw::SetSaturation([In] double Saturation) + IWICDevelopRaw::SetSaturation +
+ + +

Gets the saturation value of the raw image.

+
+

A reference that receives the saturation value of the raw image. The default value is the "as-shot" setting. The value range for saturation is 0.0 through 1.0. A value of 0.0 represents an image with a fully de-saturated image, while a value of 1.0 represents the highest amount of saturation that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690241 + HRESULT IWICDevelopRaw::GetSaturation([Out] double* pSaturation) + IWICDevelopRaw::GetSaturation +
+ + +

Sets the tint value of the raw image.

+
+

The tint value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for sharpness is -1.0 through +1.0. The -1.0 lower limit represents a full green bias to the image, while the 1.0 upper limit represents a full magenta bias.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the outer range values represent and must determine how to map the values to their image processing routines.

+
+ + ee690260 + HRESULT IWICDevelopRaw::SetTint([In] double Tint) + IWICDevelopRaw::SetTint +
+ + +

Gets the tint value of the raw image.

+
+

A reference that receives the tint value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for sharpness is -1.0 through +1.0. The -1.0 lower limit represents a full green bias to the image, while the 1.0 upper limit represents a full magenta bias.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690243 + HRESULT IWICDevelopRaw::GetTint([Out] double* pTint) + IWICDevelopRaw::GetTint +
+ + +

Sets the noise reduction value of the raw image.

+
+

The noise reduction value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for noise reduction is 0.0 through 1.0. The 0.0 lower limit represents no noise reduction applied to the image, while the 1.0 upper limit represents highest noise reduction amount that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

+
+ + ee690254 + HRESULT IWICDevelopRaw::SetNoiseReduction([In] double NoiseReduction) + IWICDevelopRaw::SetNoiseReduction +
+ + +

Gets the noise reduction value of the raw image.

+
+

A reference that receives the noise reduction value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for noise reduction is 0.0 through 1.0. The 0.0 lower limit represents no noise reduction applied to the image, while the 1.0 upper limit represents full highest noise reduction amount that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690238 + HRESULT IWICDevelopRaw::GetNoiseReduction([Out] double* pNoiseReduction) + IWICDevelopRaw::GetNoiseReduction +
+ + +

Sets the destination color context.

+
+

The destination color context.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690250 + HRESULT IWICDevelopRaw::SetDestinationColorContext([In, Optional] IWICColorContext* pColorContext) + IWICDevelopRaw::SetDestinationColorContext +
+ + +

Sets the tone curve for the raw image.

+
+

The size of the pToneCurve structure.

+

The desired tone curve.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690261 + HRESULT IWICDevelopRaw::SetToneCurve([In] unsigned int cbToneCurveSize,[In, Buffer] const WICRawToneCurve* pToneCurve) + IWICDevelopRaw::SetToneCurve +
+ + +

Gets the tone curve of the raw image.

+
+

The size of the pToneCurve buffer.

+

A reference that receives the of the raw image.

+

A reference that receives the size needed to obtain the tone curve structure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690244 + HRESULT IWICDevelopRaw::GetToneCurve([In] unsigned int cbToneCurveBufferSize,[Out, Buffer, Optional] WICRawToneCurve* pToneCurve,[InOut, Optional] unsigned int* pcbActualToneCurveBufferSize) + IWICDevelopRaw::GetToneCurve +
+ + +

Sets the desired rotation angle.

+
+

The desired rotation angle.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690257 + HRESULT IWICDevelopRaw::SetRotation([In] double Rotation) + IWICDevelopRaw::SetRotation +
+ + +

Gets the current rotation angle.

+
+

A reference that receives the current rotation angle.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690240 + HRESULT IWICDevelopRaw::GetRotation([Out] double* pRotation) + IWICDevelopRaw::GetRotation +
+ + +

Sets the current .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690256 + HRESULT IWICDevelopRaw::SetRenderMode([In] WICRawRenderMode RenderMode) + IWICDevelopRaw::SetRenderMode +
+ + +

Gets the current .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690239 + HRESULT IWICDevelopRaw::GetRenderMode([Out] WICRawRenderMode* pRenderMode) + IWICDevelopRaw::GetRenderMode +
+ + +

Sets the notification callback method.

+
+

Pointer to the notification callback method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690255 + HRESULT IWICDevelopRaw::SetNotificationCallback([In, Optional] IWICDevelopRawNotificationCallback* pCallback) + IWICDevelopRaw::SetNotificationCallback +
+ + +

Gets the current set of parameters.

+
+ + ee690233 + GetCurrentParameterSet + GetCurrentParameterSet + HRESULT IWICDevelopRaw::GetCurrentParameterSet([Out] IPropertyBag2** ppCurrentParameterSet) +
+ + +

Gets or sets the exposure compensation stop value of the raw image.

+
+ + ee690234 + GetExposureCompensation / SetExposureCompensation + GetExposureCompensation + HRESULT IWICDevelopRaw::GetExposureCompensation([Out] double* pEV) +
+ + +

Gets or sets the named white point of the raw image.

+
+ +

If the named white points are not supported by the raw image or the raw file contains named white points that are not supported by this API, the codec implementer should still mark this capability as supported.

If the named white points are not supported by the raw image, a best effort should be made to adjust the image to the named white point even when it isn't a pre-defined white point of the raw file.

If the raw file containes named white points not supported by this API, the codec implementer should support the named white points in .

+
+ + ee690237 + GetNamedWhitePoint / SetNamedWhitePoint + GetNamedWhitePoint + HRESULT IWICDevelopRaw::GetNamedWhitePoint([Out] WICNamedWhitePoint* pWhitePoint) +
+ + +

Gets or sets the white point Kelvin temperature of the raw image.

+
+ + ee690245 + GetWhitePointKelvin / SetWhitePointKelvin + GetWhitePointKelvin + HRESULT IWICDevelopRaw::GetWhitePointKelvin([Out] unsigned int* pWhitePointKelvin) +
+ + +

Gets or sets the contrast value of the raw image.

+
+ + ee690232 + GetContrast / SetContrast + GetContrast + HRESULT IWICDevelopRaw::GetContrast([Out] double* pContrast) +
+ + +

Gets or sets the current gamma setting of the raw image.

+
+ + ee690235 + GetGamma / SetGamma + GetGamma + HRESULT IWICDevelopRaw::GetGamma([Out] double* pGamma) +
+ + +

Gets or sets the sharpness value of the raw image.

+
+ + ee690242 + GetSharpness / SetSharpness + GetSharpness + HRESULT IWICDevelopRaw::GetSharpness([Out] double* pSharpness) +
+ + +

Gets or sets the saturation value of the raw image.

+
+ + ee690241 + GetSaturation / SetSaturation + GetSaturation + HRESULT IWICDevelopRaw::GetSaturation([Out] double* pSaturation) +
+ + +

Gets or sets the tint value of the raw image.

+
+ + ee690243 + GetTint / SetTint + GetTint + HRESULT IWICDevelopRaw::GetTint([Out] double* pTint) +
+ + +

Gets or sets the noise reduction value of the raw image.

+
+ + ee690238 + GetNoiseReduction / SetNoiseReduction + GetNoiseReduction + HRESULT IWICDevelopRaw::GetNoiseReduction([Out] double* pNoiseReduction) +
+ + +

Sets the destination color context.

+
+ + ee690250 + SetDestinationColorContext + SetDestinationColorContext + HRESULT IWICDevelopRaw::SetDestinationColorContext([In, Optional] IWICColorContext* pColorContext) +
+ + +

Gets or sets the current rotation angle.

+
+ + ee690240 + GetRotation / SetRotation + GetRotation + HRESULT IWICDevelopRaw::GetRotation([Out] double* pRotation) +
+ + +

Gets or sets the current .

+
+ + ee690239 + GetRenderMode / SetRenderMode + GetRenderMode + HRESULT IWICDevelopRaw::GetRenderMode([Out] WICRawRenderMode* pRenderMode) +
+ + +

Sets the notification callback method.

+
+ + ee690255 + SetNotificationCallback + SetNotificationCallback + HRESULT IWICDevelopRaw::SetNotificationCallback([In, Optional] IWICDevelopRawNotificationCallback* pCallback) +
+ + +

Flags used to by to indicate which members have changed.

+
+ + ee690231 + IWICDevelopRawNotificationCallback + IWICDevelopRawNotificationCallback +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

An application-defined callback method used for raw image parameter change notifications.

+
+

A set of Constants parameter notification flags.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690230 + HRESULT IWICDevelopRawNotificationCallback::Notify([In] unsigned int NotificationMask) + IWICDevelopRawNotificationCallback::Notify +
+ + +

Exposes methods that provide enumeration services for individual metadata items.

+
+ + ee690264 + IWICEnumMetadataItem + IWICEnumMetadataItem +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Skips to given number of objects.

+
+

The number of objects to skip.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690268 + HRESULT IWICEnumMetadataItem::Skip([In] unsigned int celt) + IWICEnumMetadataItem::Skip +
+ + +

Resets the current position to the beginning of the enumeration.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690267 + HRESULT IWICEnumMetadataItem::Reset() + IWICEnumMetadataItem::Reset +
+ + +

Creates a copy of the current .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690265 + HRESULT IWICEnumMetadataItem::Clone([Out] IWICEnumMetadataItem** ppIEnumMetadataItem) + IWICEnumMetadataItem::Clone +
+ + +

Exposes methods used for in-place metadata editing. A fast metadata encoder enables you to add and remove metadata to an image without having to fully re-encode the image.

+
+ +

A decoder must be created using the value to perform in-place metadata updates. Using the option causes the decoder to release the file stream necessary to perform the metadata updates.

Not all metadata formats support fast metadata encoding. The native metadata handlers that support metadata are IFD, Exif, XMP, and GPS.

If a fast metadata encoder fails, the image will need to be fully re-encoded to add the metadata.

+
+ + ee690269 + IWICFastMetadataEncoder + IWICFastMetadataEncoder +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Finalizes metadata changes to the image stream.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the commit fails and returns , ensure that the image decoder was loaded using the option. A fast metadata encoder is not supported when the decoder is created using the option.

If the commit fails for any reason, you will need to re-encode the image to ensure the new metadata is added to the image.

+
+ + ee690270 + HRESULT IWICFastMetadataEncoder::Commit() + IWICFastMetadataEncoder::Commit +
+ + +

Retrieves a metadata query writer for fast metadata encoding.

+
+

When this method returns, contains a reference to the fast metadata encoder's metadata query writer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690272 + HRESULT IWICFastMetadataEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) + IWICFastMetadataEncoder::GetMetadataQueryWriter +
+ + + Initializes a new instance of the class from a + + The factory. + The decoder. + + + + Initializes a new instance of the class from a + + The factory. + The frame decoder. + + + +

Retrieves a metadata query writer for fast metadata encoding.

+
+ + ee690272 + GetMetadataQueryWriter + GetMetadataQueryWriter + HRESULT IWICFastMetadataEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) +
+ + +

Represents an that provides converts the image data from one pixel format to another, handling dithering and halftoning to indexed formats, palette translation and alpha thresholding.

+
+ + ee690274 + IWICFormatConverter + IWICFormatConverter +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the format converter.

+
+

The input bitmap to convert

+

The destination pixel format .

+

The used for conversion.

+

The palette to use for conversion.

+

The alpha threshold to use for conversion.

+

The palette translation type to use for conversion.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If you do not have a predefined palette, you must first create one. Use InitializeFromBitmap to create the palette object, then pass it in along with your other parameters.

dither, pIPalette, alphaThresholdPercent, and paletteTranslate are used to mitigate color loss when converting to a reduced bit-depth format. For conversions that do not need these settings, the following parameters values should be used: dither set to , pIPalette set to null, alphaThresholdPercent set to 0.0f, and paletteTranslate set to .

The basic algorithm involved when using an ordered dither requires a fixed palette, found in the enumeration, in a specific order. Often, the actual palette provided for the output may have a different ordering or some slight variation in the actual colors. This is the case when using the Microsoft?Windows palette which has slight differences among versions of Windows. To provide for this, a palette and a palette translation are given to the format converter. The pIPalette is the actual destination palette to be used and the paletteTranslate is a fixed palette. Once the conversion is complete, the colors are mapped from the fixed palette to the actual colors in pIPalette using a nearest color matching algorithm.

If colors in pIPalette do not closely match those in paletteTranslate, the mapping may produce undesireable results.

can be useful in format conversions from 8-bit formats to 5- or 6-bit formats as there is no way to accurately convert color data.

selects the error diffusion algorithm and may be used with any palette. If an arbitrary palette is provided, WICBitmapPaletteCustom should be passed in as the paletteTranslate. Error diffusion often provides superior results compared to the ordered dithering algorithms especially when combined with the optimized palette generation functionality on the .

When converting a bitmap which has an alpha channel, such as a Portable Network Graphics (PNG), to 8bpp, the alpha channel is normally ignored. Any pixels which were transparent in the original bitmap show up as black in the final output because both transparent and black have pixel values of zero in the respective formats.

Some 8bpp content can contains an alpha color; for instance, the Graphics Interchange Format (GIF) format allows for a single palette entry to be used as a transparent color. For this type of content, alphaThresholdPercent specifies what percentage of transparency should map to the transparent color. Because the alpha value is directly proportional to the opacity (not transparency) of a pixel, the alphaThresholdPercent indicates what level of opacity is mapped to the fully transparent color. For instance, 9.8% implies that any pixel with an alpha value of less than 25 will be mapped to the transparent color. A value of 100% maps all pixels which are not fully opaque to the transparent color. Note that the palette should provide a transparent color. If it does not, the 'transparent' color will be the one closest to zero - often black.

+
+ + ee690279 + HRESULT IWICFormatConverter::Initialize([In, Optional] IWICBitmapSource* pISource,[In] const GUID& dstFormat,[In] WICBitmapDitherType dither,[In, Optional] IWICPalette* pIPalette,[In] double alphaThresholdPercent,[In] WICBitmapPaletteType paletteTranslate) + IWICFormatConverter::Initialize +
+ + +

Determines if the source pixel format can be converted to the destination pixel format.

+
+

The source pixel format.

+

The destionation pixel format.

+

A reference that receives a value indicating whether the source pixel format can be converted to the destination pixel format.

+ + ee690278 + HRESULT IWICFormatConverter::CanConvert([In] const GUID& srcPixelFormat,[In] const GUID& dstPixelFormat,[Out] BOOL* pfCanConvert) + IWICFormatConverter::CanConvert +
+ + + Initializes a new instance of the class. + + The converter info. + + + + Initializes this instance with the specified bitmap source and format + + The source ref. + The destination format. + + + + + Initializes a new instance of the class. + + The factory. + + + +

Exposes methods that provide information about a pixel format converter.

+
+ + ee690275 + IWICFormatConverterInfo + IWICFormatConverterInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves a list of GUIDs that signify which pixel formats the converter supports.

+
+

The size of the pPixelFormatGUIDs array.

+

Pointer to a array that receives the pixel formats the converter supports.

+

The actual array size needed to retrieve all pixel formats supported by the converter.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The format converter does not necessarily guarantee symmetricality with respect to conversion; that is, a converter may be able to convert FROM a particular format without actually being able to convert TO a particular format. In order to test symmetricality, use CanConvert.

To determine the number of pixel formats a coverter can handle, set cFormats to 0 and pPixelFormatGUIDs to null. The converter will fill pcActual with the number of formats supported by that converter.

+
+ + ee690277 + HRESULT IWICFormatConverterInfo::GetPixelFormats([In] unsigned int cFormats,[In] void* pPixelFormatGUIDs,[Out] unsigned int* pcActual) + IWICFormatConverterInfo::GetPixelFormats +
+ + +

Creates a new instance.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690276 + HRESULT IWICFormatConverterInfo::CreateInstance([Out, Fast] IWICFormatConverter** ppIConverter) + IWICFormatConverterInfo::CreateInstance +
+ + + Gets the supported pixel formats. + + + + +

Exposes methods used to create components for the Windows Imaging Component (WIC) such as decoders, encoders and pixel format converters.

+
+ + ee690281 + IWICImagingFactory + IWICImagingFactory +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + Constant WICImagingFactoryClsid. + CLSID_WICImagingFactory + + + +

Creates a new instance of the class based on the given file.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690307 + HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + IWICImagingFactory::CreateDecoderFromFilename +
+ + +

Creates a new instance of the class based on the given .

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690309 + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + IWICImagingFactory::CreateDecoderFromStream +
+ + +

Creates a new instance of the based on the given file handle.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

When a decoder is created using this method, the file handle must remain alive during the lifetime of the decoder.

+
+ + ee690305 + HRESULT IWICImagingFactory::CreateDecoderFromFileHandle([In] ULONG_PTR hFile,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + IWICImagingFactory::CreateDecoderFromFileHandle +
+ + +

Creates a new instance of the class for the given component class identifier (CLSID).

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690302 + HRESULT IWICImagingFactory::CreateComponentInfo([In] const GUID& clsidComponent,[Out, Fast] IWICComponentInfo** ppIInfo) + IWICImagingFactory::CreateComponentInfo +
+ + +

Creates a new instance of the interface.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690304 + HRESULT IWICImagingFactory::CreateDecoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + IWICImagingFactory::CreateDecoder +
+ + +

Creates a new instance of the class.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Other values may be available for both guidContainerFormat and pguidVendor depending on the installed WIC-enabled encoders. The values listed are those that are natively supported by the operating system.

+
+ + ee690311 + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapEncoder** ppIEncoder) + IWICImagingFactory::CreateEncoder +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690319 + HRESULT IWICImagingFactory::CreatePalette([Out, Fast] IWICPalette** ppIPalette) + IWICImagingFactory::CreatePalette +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690317 + HRESULT IWICImagingFactory::CreateFormatConverter([Out, Fast] IWICFormatConverter** ppIFormatConverter) + IWICImagingFactory::CreateFormatConverter +
+ + +

Creates a new instance of an .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690296 + HRESULT IWICImagingFactory::CreateBitmapScaler([Out, Fast] IWICBitmapScaler** ppIBitmapScaler) + IWICImagingFactory::CreateBitmapScaler +
+ + +

Creates a new instance of an object.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690283 + HRESULT IWICImagingFactory::CreateBitmapClipper([Out, Fast] IWICBitmapClipper** ppIBitmapClipper) + IWICImagingFactory::CreateBitmapClipper +
+ + +

Creates a new instance of an object.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690285 + HRESULT IWICImagingFactory::CreateBitmapFlipRotator([Out, Fast] IWICBitmapFlipRotator** ppIBitmapFlipRotator) + IWICImagingFactory::CreateBitmapFlipRotator +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690325 + HRESULT IWICImagingFactory::CreateStream([Out, Fast] IWICStream** ppIWICStream) + IWICImagingFactory::CreateStream +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690299 + HRESULT IWICImagingFactory::CreateColorContext([Out, Fast] IWICColorContext** ppIWICColorContext) + IWICImagingFactory::CreateColorContext +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690300 + HRESULT IWICImagingFactory::CreateColorTransformer([Out, Fast] IWICColorTransform** ppIWICColorTransform) + IWICImagingFactory::CreateColorTransformer +
+ + +

Creates an object.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690282 + HRESULT IWICImagingFactory::CreateBitmap([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmap +
+ + +

Creates a from a .

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690293 + HRESULT IWICImagingFactory::CreateBitmapFromSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromSource +
+ + +

Creates an from a specified rectangle of an .

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690294 + HRESULT IWICImagingFactory::CreateBitmapFromSourceRect([In, Optional] IWICBitmapSource* pIBitmapSource,[In] unsigned int x,[In] unsigned int y,[In] unsigned int width,[In] unsigned int height,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromSourceRect +
+ + +

Creates an from a memory block.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690291 + HRESULT IWICImagingFactory::CreateBitmapFromMemory([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromMemory +
+ + +

Creates an from a bitmap handle.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690287 + HRESULT IWICImagingFactory::CreateBitmapFromHBITMAP([In] HBITMAP hBitmap,[In, Optional] HPALETTE hPalette,[In] WICBitmapAlphaChannelOption options,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromHBITMAP +
+ + +

Creates an from an icon handle.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690289 + HRESULT IWICImagingFactory::CreateBitmapFromHICON([In] HICON hIcon,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromHICON +
+ + +

Creates an object of the specified component types.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Component types must be enumerated seperately. Combinations of component types and are unsupported.

+
+ + ee690301 + HRESULT IWICImagingFactory::CreateComponentEnumerator([In] unsigned int componentTypes,[In] unsigned int options,[Out, Fast] IEnumUnknown** ppIEnumUnknown) + IWICImagingFactory::CreateComponentEnumerator +
+ + +

Creates a new instance of the fast metadata encoder based on the given .

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The native image formats provided by Windows Imaging Component (WIC) do not support metadata at the decoder level. WIC codecs only support metadata on image frames. To create a fast metadata encoder from an image frame, see the image factory's CreateFastMetadataEncoderFromFrameDecode method.

+
+ + ee690313 + HRESULT IWICImagingFactory::CreateFastMetadataEncoderFromDecoder([In, Optional] IWICBitmapDecoder* pIDecoder,[Out, Fast] IWICFastMetadataEncoder** ppIFastEncoder) + IWICImagingFactory::CreateFastMetadataEncoderFromDecoder +
+ + +

Creates a new instance of the fast metadata encoder based on the given image frame.

+
+

The to create the from.

+

When this method returns, contains a reference to a new fast metadata encoder.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690315 + HRESULT IWICImagingFactory::CreateFastMetadataEncoderFromFrameDecode([In, Optional] IWICBitmapFrameDecode* pIFrameDecoder,[Out, Fast] IWICFastMetadataEncoder** ppIFastEncoder) + IWICImagingFactory::CreateFastMetadataEncoderFromFrameDecode +
+ + +

Creates a new instance of a query writer.

+
+

The for the desired metadata format.

+

The for the preferred metadata writer vendor. Use null if no preferred vendor.

+

When this method returns, contains a reference to a new .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690321 + HRESULT IWICImagingFactory::CreateQueryWriter([In] const GUID& guidMetadataFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) + IWICImagingFactory::CreateQueryWriter +
+ + +

Creates a new instance of a query writer based on the given query reader. The query writer will be pre-populated with metadata from the query reader.

+
+

The to create the from.

+

The for the preferred metadata writer vendor. Use null if no preferred vendor.

+

When this method returns, contains a reference to a new metadata writer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690322 + HRESULT IWICImagingFactory::CreateQueryWriterFromReader([In, Optional] IWICMetadataQueryReader* pIQueryReader,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) + IWICImagingFactory::CreateQueryWriterFromReader +
+ + + Initializes a new instance of the class. + + + + +

Exposes methods for retrieving metadata blocks and items from a decoder or its image frames using a metadata query expression.

+
+ +

A metadata query reader uses metadata query expressions to access embedded metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

+
+ + ee719708 + IWICMetadataQueryReader + IWICMetadataQueryReader +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the metadata query readers container format.

+
+

Pointer that receives the cointainer format .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719709 + HRESULT IWICMetadataQueryReader::GetContainerFormat([Out] GUID* pguidContainerFormat) + IWICMetadataQueryReader::GetContainerFormat +
+ + +

Retrieves the current path relative to the root metadata block.

+
+

The length of the wzNamespace buffer.

+

Pointer that receives the current namespace location.

+

The actual buffer length that was needed to retrieve the current namespace location.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the query reader is relative to the top of the metadata hierarchy it will return an empty string.

If the query reader is relative to a nested metadata block this method will return the path to the current query reader.

+
+ + ee719713 + HRESULT IWICMetadataQueryReader::GetLocation([In] unsigned int cchMaxLength,[In] void* wzNamespace,[Out] unsigned int* pcchActualLength) + IWICMetadataQueryReader::GetLocation +
+ + +

Retrieves the metadata block or item identified by a metadata query expression.

+
+

The query expression to the requested metadata block or item.

+

When this method returns, contains the metadata block or item requested.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

GetMetadataByName uses metadata query expressions to access embedded metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

If multiple blocks or items exist that are expressed by the same query expression, the first metadata block or item found will be returned.

+
+ + ee719715 + HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[In] void* pvarValue) + IWICMetadataQueryReader::GetMetadataByName +
+ + +

Gets an enumerator of all metadata items at the current relative location within the metadata hierachy.

+
+

When this method returns, contais a reference to an enumerator that contains the metadata items.

+ +

If a metadata item is a nested metadata block it will be passed back as a VT_UNKNOWN; otherwise, the "name" of the property will be passed back as a VT_LPWSTR. The enumerator does not enumerate content within nested metadata blocks.

+
+ + ee719711 + HRESULT IWICMetadataQueryReader::GetEnumerator([Out] void** ppIEnumString) + IWICMetadataQueryReader::GetEnumerator +
+ + + Try to get the metadata value by name. + + The name. + The metadata value, or null if the metadata was not found or an error occurred + The WIC error code + HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[InOut, Optional] PROPVARIANT* pvarValue) + + + + Try to get the metadata value by name. + + The name. + the metadata value, or null if the metadata was not found + HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[InOut, Optional] PROPVARIANT* pvarValue) + + + + Gets the metadata value by name. + + The name. + Value of the metadata + HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[InOut, Optional] PROPVARIANT* pvarValue) + + + + Dumps all metadata. + + The text writer output. + The level of tabulations. + + This is a simple helper method to dump metadata stored in this instance. + + + + +

Gets the metadata query readers container format.

+
+ + ee719709 + GetContainerFormat + GetContainerFormat + HRESULT IWICMetadataQueryReader::GetContainerFormat([Out] GUID* pguidContainerFormat) +
+ + + Gets the enumerator on the metadata names. + + + + + Gets the enumerator on all the metadata query paths. + http://msdn.microsoft.com/en-us/library/windows/desktop/ee719796(v=vs.85).aspx#expressionanatomy + + + + + Gets the location. + + HRESULT IWICMetadataQueryReader::GetLocation([In] unsigned int cchMaxLength,[InOut, Buffer, Optional] wchar_t* wzNamespace,[Out] unsigned int* pcchActualLength) + + + +

Exposes methods for setting or removing metadata blocks and items to an encoder or its image frames using a metadata query expression.

+
+ +

A metadata query writer uses metadata query expressions to set or remove metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

+
+ + ee719717 + IWICMetadataQueryWriter + IWICMetadataQueryWriter +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets a metadata item to a specific location.

+
+

The name of the metadata item.

+

The metadata to set.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

SetMetadataByName uses metadata query expressions to remove metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

If the value set is a nested metadata block then use variant type VT_UNKNOWN and pvarValue pointing to the of the new metadata block. The ordering of metadata items is at the discretion of the query writer since relative locations are not specified.

+
+ + ee719720 + HRESULT IWICMetadataQueryWriter::SetMetadataByName([In] const wchar_t* wzName,[In] const void* pvarValue) + IWICMetadataQueryWriter::SetMetadataByName +
+ + +

Removes a metadata item from a specific location using a metadata query expression.

+
+

The name of the metadata item to remove.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

RemoveMetadataByName uses metadata query expressions to remove metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

If the metadata item is a metadata block, it is removed from the metadata hierarchy.

+
+ + ee719718 + HRESULT IWICMetadataQueryWriter::RemoveMetadataByName([In] const wchar_t* wzName) + IWICMetadataQueryWriter::RemoveMetadataByName +
+ + + Initializes a new instance of the class. + + The factory. + The GUID metadata format. + + + + Initializes a new instance of the class. + + The factory. + The GUID metadata format. + The GUID vendor ref. + HRESULT IWICImagingFactory::CreateQueryWriter([In] const GUID& guidMetadataFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) + + + + Initializes a new instance of the class from a . + + The factory. + The metadata query reader. + + + + Initializes a new instance of the class from a . + + The factory. + The metadata query reader. + The GUID vendor ref. + + + + Sets the value for a metadata name + + The name of the metadata. + The value. + + + + +

Exposes methods for accessing and building a color table, primarily for indexed pixel formats.

+
+ +

If the is not WICBitmapPaletteCustom, then the colors are automatically generated based on the table above. If the user subsequently changes a color palette entry the WICBitmapPalette is set to Custom by that action.

InitializeFromBitmap's fAddTransparentColor parameter will add a transparent color to the end of the color collection if its size if less than 256, otherwise index 255 will be replaced with the transparent color. If a pre-defined palette type is used, it will change to BitmapPaletteTypeCustom since it no longer matches the predefined palette.

The palette interface is an auxiliary imaging interface in that it does not directly concern bitmaps and pixels; rather it provides indexed color translation for indexed bitmaps. For an indexed pixel format with M bits per pixels: (The number of colors in the palette) greater than 2^M.

Traditionally the basic operation of the palette is to provide a translation from a byte (or smaller) index into a 32bpp color value. This is often accomplished by a 256 entry table of color values.

+
+ + ee719741 + IWICPalette + IWICPalette +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the palette to one of the pre-defined palettes specified by and optionally adds a transparent color.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719756 + HRESULT IWICPalette::InitializePredefined([In] WICBitmapPaletteType ePaletteType,[In] BOOL fAddTransparentColor) + IWICPalette::InitializePredefined +
+ + +

Initializes a palette to the custom color entries provided.

+
+

Pointer to the color array.

+

The number of colors in pColors.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If a transparent color is required, it should be provided as part of the custom entries.

The entry count is limited to 256.

+
+ + ee719750 + HRESULT IWICPalette::InitializeCustom([In, Buffer] void* pColors,[In] unsigned int cCount) + IWICPalette::InitializeCustom +
+ + +

Initializes a palette using a computed optimized values based on the reference bitmap.

+
+

Pointer to the source bitmap.

+

The number of colors to initialize the palette with.

+

A value to indicate whether to add a transparent color.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The resulting palette contains the specified number of colors which best represent the colors present in the bitmap. The algorithm operates on the opaque RGB color value of each pixel in the reference bitmap and hence ignores any alpha values. If a transparent color is required, set the fAddTransparentColor parameter to TRUE and one fewer optimized color will be computed, reducing the colorCount, and a fully transparent color entry will be added.

+
+ + ee719752 + HRESULT IWICPalette::InitializeFromBitmap([In, Optional] IWICBitmapSource* pISurface,[In] unsigned int cCount,[In] BOOL fAddTransparentColor) + IWICPalette::InitializeFromBitmap +
+ + +

Initialize the palette based on a given palette.

+
+

Pointer to the source palette.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719754 + HRESULT IWICPalette::InitializeFromPalette([In, Optional] IWICPalette* pIPalette) + IWICPalette::InitializeFromPalette +
+ + +

Retrieves the that describes the palette.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

WICBitmapPaletteCustom is used for palettes initialized from both InitializeCustom and InitializeFromBitmap. There is no distinction is made between optimized and custom palettes.

+
+ + ee719746 + HRESULT IWICPalette::GetType([Out] WICBitmapPaletteType* pePaletteType) + IWICPalette::GetType +
+ + +

Retrieves the number of colors in the color table.

+
+

Pointer that receives the number of colors in the color table.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719742 + HRESULT IWICPalette::GetColorCount([Out] unsigned int* pcCount) + IWICPalette::GetColorCount +
+ + +

Fills out the supplied color array with the colors from the internal color table. The color array should be sized according to the return results from GetColorCount.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719744 + HRESULT IWICPalette::GetColors([In] unsigned int cCount,[Out, Buffer] void* pColors,[Out] unsigned int* pcActualColors) + IWICPalette::GetColors +
+ + +

Retrieves a value that describes whether the palette is black and white.

+
+

Pointer that receives TRUE if the palette is black and white; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719758 + HRESULT IWICPalette::IsBlackWhite([Out] BOOL* pfIsBlackWhite) + IWICPalette::IsBlackWhite +
+ + +

Retrieves a value that describes whether a palette is grayscale.

+
+

Pointer that receives TRUE if the palette is grayscale; otherwise .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719759 + HRESULT IWICPalette::IsGrayscale([Out] BOOL* pfIsGrayscale) + IWICPalette::IsGrayscale +
+ + +

Retrieves a value that describes whether the palette contains an alpha transparent color.

+
+

Pointer that receives TRUE if the palette contains a transparent color; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719748 + HRESULT IWICPalette::HasAlpha([Out] BOOL* pfHasAlpha) + IWICPalette::HasAlpha +
+ + + Initializes a new instance of the class. + + The factory. + ee690319 + HRESULT IWICImagingFactory::CreatePalette([Out, Fast] IWICPalette** ppIPalette) + IWICImagingFactory::CreatePalette + + + + Initializes with the specified colors. + + The colors. + ee719750 + HRESULT IWICPalette::InitializeCustom([In, Buffer] void* pColors,[In] unsigned int cCount) + IWICPalette::InitializeCustom + + + + Initializes with the specified colors. + + The colors. + ee719750 + HRESULT IWICPalette::InitializeCustom([In, Buffer] void* pColors,[In] unsigned int cCount) + IWICPalette::InitializeCustom + + + +

Retrieves the that describes the palette.

+
+ +

WICBitmapPaletteCustom is used for palettes initialized from both InitializeCustom and InitializeFromBitmap. There is no distinction is made between optimized and custom palettes.

+
+ + ee719746 + GetType + GetType + HRESULT IWICPalette::GetType([Out] WICBitmapPaletteType* pePaletteType) +
+ + +

Retrieves the number of colors in the color table.

+
+ + ee719742 + GetColorCount + GetColorCount + HRESULT IWICPalette::GetColorCount([Out] unsigned int* pcCount) +
+ + +

Retrieves a value that describes whether the palette is black and white.

+
+ + ee719758 + IsBlackWhite + IsBlackWhite + HRESULT IWICPalette::IsBlackWhite([Out] BOOL* pfIsBlackWhite) +
+ + +

Retrieves a value that describes whether a palette is grayscale.

+
+ + ee719759 + IsGrayscale + IsGrayscale + HRESULT IWICPalette::IsGrayscale([Out] BOOL* pfIsGrayscale) +
+ + + Gets the colors. + + ee719744 + HRESULT IWICPalette::GetColors([In] unsigned int cCount,[Out, Buffer] void* pColors,[Out] unsigned int* pcActualColors) + IWICPalette::GetColors + + + +

Exposes methods that provide information about a pixel format.

+
+ + ee719763 + IWICPixelFormatInfo + IWICPixelFormatInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the pixel format .

+
+

Pointer that receives the pixel format .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719774 + HRESULT IWICPixelFormatInfo::GetFormatGUID([Out] GUID* pFormat) + IWICPixelFormatInfo::GetFormatGUID +
+ + +

Gets the pixel format's .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719773 + HRESULT IWICPixelFormatInfo::GetColorContext([Out] IWICColorContext** ppIColorContext) + IWICPixelFormatInfo::GetColorContext +
+ + +

Gets the bits per pixel (BPP) of the pixel format.

+
+

Pointer that receives the BPP of the pixel format.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719767 + HRESULT IWICPixelFormatInfo::GetBitsPerPixel([Out] unsigned int* puiBitsPerPixel) + IWICPixelFormatInfo::GetBitsPerPixel +
+ + +

Gets the number of channels the pixel format contains.

+
+

Pointer that receives the channel count.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719769 + HRESULT IWICPixelFormatInfo::GetChannelCount([Out] unsigned int* puiChannelCount) + IWICPixelFormatInfo::GetChannelCount +
+ + +

Gets the pixel format's channel mask.

+
+

The index to the channel mask to retrieve.

+

The size of the pbMaskBuffer buffer.

+

Pointer to the mask buffer.

+

The actual buffer size needed to obtain the channel mask.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719771 + HRESULT IWICPixelFormatInfo::GetChannelMask([In] unsigned int uiChannelIndex,[In] unsigned int cbMaskBuffer,[In] void* pbMaskBuffer,[Out] unsigned int* pcbActual) + IWICPixelFormatInfo::GetChannelMask +
+ + + Gets the channel mask. + + Index of the channel. + + HRESULT IWICPixelFormatInfo::GetChannelMask([In] unsigned int uiChannelIndex,[In] unsigned int cbMaskBuffer,[In] void* pbMaskBuffer,[Out] unsigned int* pcbActual) + + + +

Gets the pixel format .

+
+ + ee719774 + GetFormatGUID + GetFormatGUID + HRESULT IWICPixelFormatInfo::GetFormatGUID([Out] GUID* pFormat) +
+ + +

Gets the pixel format's .

+
+ + ee719773 + GetColorContext + GetColorContext + HRESULT IWICPixelFormatInfo::GetColorContext([Out] IWICColorContext** ppIColorContext) +
+ + +

Gets the bits per pixel (BPP) of the pixel format.

+
+ + ee719767 + GetBitsPerPixel + GetBitsPerPixel + HRESULT IWICPixelFormatInfo::GetBitsPerPixel([Out] unsigned int* puiBitsPerPixel) +
+ + +

Gets the number of channels the pixel format contains.

+
+ + ee719769 + GetChannelCount + GetChannelCount + HRESULT IWICPixelFormatInfo::GetChannelCount([Out] unsigned int* puiChannelCount) +
+ + +

Extends by providing additional information about a pixel format.

+
+ + ee719764 + IWICPixelFormatInfo2 + IWICPixelFormatInfo2 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Returns whether the format supports transparent pixels.

+
+

Returns TRUE if the pixel format supports transparency; otherwise, false.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719766 + HRESULT IWICPixelFormatInfo2::SupportsTransparency([Out] BOOL* pfSupportsTransparency) + IWICPixelFormatInfo2::SupportsTransparency +
+ + + No documentation. + +

Returns the of the pixel format.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719765 + HRESULT IWICPixelFormatInfo2::GetNumericRepresentation([Out] WICPixelFormatNumericRepresentation* pNumericRepresentation) + IWICPixelFormatInfo2::GetNumericRepresentation +
+ + +

Returns whether the format supports transparent pixels.

+
+ + ee719766 + SupportsTransparency + SupportsTransparency + HRESULT IWICPixelFormatInfo2::SupportsTransparency([Out] BOOL* pfSupportsTransparency) +
+ + + No documentation. + + + ee719765 + GetNumericRepresentation + GetNumericRepresentation + HRESULT IWICPixelFormatInfo2::GetNumericRepresentation([Out] WICPixelFormatNumericRepresentation* pNumericRepresentation) + + + +

interface is documented only for compliance; its use is not recommended and may be altered or unavailable in the future. Instead, and use RegisterProgressNotification. +

+
+ + ee719775 + IWICProgressCallback + IWICProgressCallback +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Notify method is documented only for compliance; its use is not recommended and may be altered or unavailable in the future. Instead, and use RegisterProgressNotification. +

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719776 + HRESULT IWICProgressCallback::Notify([In] unsigned int uFrameNum,[In] WICProgressOperation operation,[In] double dblProgress) + IWICProgressCallback::Notify +
+ + +

Exposes methods for obtaining information about and controlling progressive decoding.

+
+ +

Images can only be progressively decoded if they were progressively encoded. The native encoders supplied by Windows Imaging Component (WIC) do not

E_NOTIMPL is returned if the codec does not support progressive level decoding.

+
+ + ee719778 + IWICProgressiveLevelControl + IWICProgressiveLevelControl +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the number of levels of progressive decoding supported by the CODEC.

+
+

Indicates the number of levels supported by the CODEC.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Users should not use this function to iterate through the progressive levels of a progressive JPEG image. JPEG progressive levels are determined by the image and do not have a fixed level count. Using this method will force the application to wait for all progressive levels to be downloaded before it can return. Instead, applications should use the following code to iterate through the progressive levels of a progressive JPEG image.

+
+ + ee719780 + HRESULT IWICProgressiveLevelControl::GetLevelCount([Out] unsigned int* pcLevels) + IWICProgressiveLevelControl::GetLevelCount +
+ + +

Gets the last level set by the SetCurrentLevel call.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719779 + HRESULT IWICProgressiveLevelControl::GetCurrentLevel([Out] unsigned int* pnLevel) + IWICProgressiveLevelControl::GetCurrentLevel +
+ + +

Specifies the level to retrieve on the next call to CopyPixels.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

A call does not have to request every level supported. If a caller requests level 1, without having previously requested level 0, the bits returned by the next call to CopyPixels will include both levels.

+
+ + ee719781 + HRESULT IWICProgressiveLevelControl::SetCurrentLevel([In] unsigned int nLevel) + IWICProgressiveLevelControl::SetCurrentLevel +
+ + +

Gets the number of levels of progressive decoding supported by the CODEC.

+
+ +

Users should not use this function to iterate through the progressive levels of a progressive JPEG image. JPEG progressive levels are determined by the image and do not have a fixed level count. Using this method will force the application to wait for all progressive levels to be downloaded before it can return. Instead, applications should use the following code to iterate through the progressive levels of a progressive JPEG image.

+
+ + ee719780 + GetLevelCount + GetLevelCount + HRESULT IWICProgressiveLevelControl::GetLevelCount([Out] unsigned int* pcLevels) +
+ + +

Gets or sets the last level set by the SetCurrentLevel call.

+
+ + ee719779 + GetCurrentLevel / SetCurrentLevel + GetCurrentLevel + HRESULT IWICProgressiveLevelControl::GetCurrentLevel([Out] unsigned int* pnLevel) +
+ + +

Represents a Windows Imaging Component (WIC) stream for referencing imaging and metadata content.

+
+ +

Decoders and metadata handlers are expected to create sub streams of whatever stream they hold when handing off control for embedded metadata to another metadata handler. If the stream is not restricted then use MAXLONGLONG as the max size and offset 0.

The interface methods do not enable you to provide a file sharing option. To create a file stream for an image, use the SHCreateStreamOnFileEx function. This stream can then be used to create an using the CreateDecoderFromStream method.

+
+ + ee719782 + IWICStream + IWICStream +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes a stream from another stream. Access rights are inherited from the underlying stream.

+
+

The initialize stream.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719789 + HRESULT IWICStream::InitializeFromIStream([In, Optional] IStream* pIStream) + IWICStream::InitializeFromIStream +
+ + +

Initializes a stream from a particular file.

+
+

The file used to initialize the stream.

+

The desired file access mode.

ValueMeaning
GENERIC_READ

Read access.

GENERIC_WRITE

Write access.

?

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The interface methods do not enable you to provide a file sharing option. To create a shared file stream for an image, use the SHCreateStreamOnFileEx function. This stream can then be used to create an using the CreateDecoderFromStream method.

+
+ + ee719788 + HRESULT IWICStream::InitializeFromFilename([In] const wchar_t* wzFileName,[In] unsigned int dwDesiredAccess) + IWICStream::InitializeFromFilename +
+ + +

Initializes a stream to treat a block of memory as a stream. The stream cannot grow beyond the buffer size.

+
+

Pointer to the buffer used to initialize the stream.

+

The size of buffer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method should be avoided whenever possible. The caller is responsible for ensuring the memory block is valid for the lifetime of the stream when using InitializeFromMemory. A workaround for this behavior is to create an and use InitializeFromIStream to create the .

If you require a growable memory stream, use CreateStreamOnHGlobal.

+
+ + ee719792 + HRESULT IWICStream::InitializeFromMemory([In] void* pbBuffer,[In] unsigned int cbBufferSize) + IWICStream::InitializeFromMemory +
+ + +

Initializes the stream as a substream of another stream.

+
+

Pointer to the input stream.

+

The stream offset used to create the new stream.

+

The maximum size of the stream.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The stream functions with its own stream position, independent of the underlying stream but restricted to a region. All seek positions are relative to the sub region. It is allowed, though not recommended, to have multiple writable sub streams overlapping the same range.

+
+ + ee719790 + HRESULT IWICStream::InitializeFromIStreamRegion([In, Optional] IStream* pIStream,[In] ULARGE_INTEGER ulOffset,[In] ULARGE_INTEGER ulMaxSize) + IWICStream::InitializeFromIStreamRegion +
+ + + Initializes a new instance of the class from a file. + + The factory. + Name of the file. + The file access. + ee690325 + HRESULT IWICImagingFactory::CreateStream([Out, Fast] IWICStream** ppIWICStream) + + + + Initializes a new instance of the class from a . + + The factory. + The stream. + ee719789 + HRESULT IWICStream::InitializeFromIStream([In, Optional] IStream* pIStream) + IWICStream::InitializeFromIStream + + + + Initializes a new instance of the class from an unmanaged memory through a . + + The factory. + The unmanaged memory stream. + ee719792 + HRESULT IWICStream::InitializeFromMemory([In] void* pbBuffer,[In] unsigned int cbBufferSize) + IWICStream::InitializeFromMemory + + + +

Contains members that identify a pattern within an image file which can be used to identify a particular format.

+
+ + ee719813 + WICBitmapPattern + WICBitmapPattern +
+ + +

The offset the pattern is located in the file.

+
+ + ee719813 + ULARGE_INTEGER Position + ULARGE_INTEGER Position +
+ + +

The pattern length.

+
+ + ee719813 + unsigned int Length + unsigned int Length +
+ + +

The actual pattern.

+
+ + ee719813 + unsigned char* Pattern + unsigned char Pattern +
+ + +

The pattern mask.

+
+ + ee719813 + unsigned char* Mask + unsigned char Mask +
+ + +

The end of the stream.

+
+ + ee719813 + BOOL EndOfStream + BOOL EndOfStream +
+ + +

Defines raw codec capabilites.

+
+ + ee719857 + WICRawCapabilitiesInfo + WICRawCapabilitiesInfo +
+ + +

Size of the structure.

+
+ + ee719857 + unsigned int cbSize + unsigned int cbSize +
+ + +

The codec's major version.

+
+ + ee719857 + unsigned int CodecMajorVersion + unsigned int CodecMajorVersion +
+ + +

The codec's minor version.

+
+ + ee719857 + unsigned int CodecMinorVersion + unsigned int CodecMinorVersion +
+ + +

The of exposure compensation support.

+
+ + ee719857 + WICRawCapabilities ExposureCompensationSupport + WICRawCapabilities ExposureCompensationSupport +
+ + +

The of contrast support.

+
+ + ee719857 + WICRawCapabilities ContrastSupport + WICRawCapabilities ContrastSupport +
+ + +

The of RGB white point support.

+
+ + ee719857 + WICRawCapabilities RGBWhitePointSupport + WICRawCapabilities RGBWhitePointSupport +
+ + +

The of support.

+
+ + ee719857 + WICRawCapabilities NamedWhitePointSupport + WICRawCapabilities NamedWhitePointSupport +
+ + +

The mask.

+
+ + ee719857 + unsigned int NamedWhitePointSupportMask + unsigned int NamedWhitePointSupportMask +
+ + +

The of kelvin white point support.

+
+ + ee719857 + WICRawCapabilities KelvinWhitePointSupport + WICRawCapabilities KelvinWhitePointSupport +
+ + +

The of gamma support.

+
+ + ee719857 + WICRawCapabilities GammaSupport + WICRawCapabilities GammaSupport +
+ + +

The of tint support.

+
+ + ee719857 + WICRawCapabilities TintSupport + WICRawCapabilities TintSupport +
+ + +

The of saturation support.

+
+ + ee719857 + WICRawCapabilities SaturationSupport + WICRawCapabilities SaturationSupport +
+ + +

The of sharpness support.

+
+ + ee719857 + WICRawCapabilities SharpnessSupport + WICRawCapabilities SharpnessSupport +
+ + +

The of noise reduction support.

+
+ + ee719857 + WICRawCapabilities NoiseReductionSupport + WICRawCapabilities NoiseReductionSupport +
+ + +

The of destination color profile support.

+
+ + ee719857 + WICRawCapabilities DestinationColorProfileSupport + WICRawCapabilities DestinationColorProfileSupport +
+ + +

The of tone curve support.

+
+ + ee719857 + WICRawCapabilities ToneCurveSupport + WICRawCapabilities ToneCurveSupport +
+ + +

The of rotation support.

+
+ + ee719857 + WICRawRotationCapabilities RotationSupport + WICRawRotationCapabilities RotationSupport +
+ + +

The of support.

+
+ + ee719857 + WICRawCapabilities RenderModeSupport + WICRawCapabilities RenderModeSupport +
+ + +

Represents a raw image tone curve.

+
+ + ee719861 + WICRawToneCurve + WICRawToneCurve +
+ + +

The number of tone curve points.

+
+ + ee719861 + unsigned int cPoints + unsigned int cPoints +
+ + +

The array of tone curve points.

+
+ + ee719861 + WICRawToneCurvePoint aPoints[1] + WICRawToneCurvePoint aPoints +
+ + +

Represents a raw image tone curve point.

+
+ + ee719862 + WICRawToneCurvePoint + WICRawToneCurvePoint +
+ + +

The tone curve input.

+
+ + ee719862 + double Input + double Input +
+ + +

The tone curve output.

+
+ + ee719862 + double Output + double Output +
+ + + Internal class used to initialize this assembly. + + + + + Initializes this assembly. + + + This method is called when the assembly is loaded. + + + + + A WIC RenderTarget. + + + + +

Represents an object that can receive drawing commands. Interfaces that inherit from render the drawing commands they receive in different ways.

+
+ +

Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371766 + ID2D1RenderTarget + ID2D1RenderTarget +
+ + +

Represents a Direct2D drawing resource.

+
+ + dd316908 + ID2D1Resource + ID2D1Resource +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the factory associated with this resource.

+
+

When this method returns, contains a reference to a reference to the factory that created this resource. This parameter is passed uninitialized.

+ + dd316911 + void ID2D1Resource::GetFactory([Out] ID2D1Factory** factory) + ID2D1Resource::GetFactory +
+ + +

Retrieves the factory associated with this resource.

+
+ + dd316911 + GetFactory + GetFactory + void ID2D1Resource::GetFactory([Out] ID2D1Factory** factory) +
+ + + Default stroke width used for all methods that are not explicitly using it. Default is set to 1.0f. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a Direct2D bitmap from a reference to in-memory source data.

+
+

The dimension of the bitmap to create in pixels.

+

A reference to the memory location of the image data, or null to create an uninitialized bitmap.

+

The byte count of each scanline, which is equal to (the image width in pixels ? the number of bytes per pixel) + memory padding. If srcData is null, this value is ignored. (Note that pitch is also sometimes called stride.)

+

The pixel format and dots per inch (DPI) of the bitmap to create.

+

When this method returns, contains a reference to a reference to the new bitmap. This parameter is passed uninitialized.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap +
+ + +

Creates an by copying the specified Microsoft Windows Imaging Component (WIC) bitmap.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Before Direct2D can load a WIC bitmap, that bitmap must be converted to a supported pixel format and alpha mode. For a list of supported pixel formats and alpha modes, see Supported Pixel Formats and Alpha Modes.

+
+ + dd371797 + HRESULT ID2D1RenderTarget::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmapFromWicBitmap +
+ + +

Creates an whose data is shared with another resource.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The CreateSharedBitmap method is useful for efficiently reusing bitmap data and can also be used to provide interoperability with Direct3D.

Sharing an

By passing an created by a render target that is resource-compatible, you can share a bitmap with that render target; both the original and the new created by this method will point to the same bitmap data. For more information about when render target resources can be shared, see the Sharing Render Target Resources section of the Resources Overview.

You may also use this method to reinterpret the data of an existing bitmap and specify a new DPI or alpha mode. For example, in the case of a bitmap atlas, an may contain multiple sub-images, each of which should be rendered with a different ( or ). You could use the CreateSharedBitmap method to reinterpret the bitmap using the desired alpha mode without having to load a separate copy of the bitmap into memory.

Sharing an

When using a DXGI surface render target (an object created by the CreateDxgiSurfaceRenderTarget method), you can pass an surface to the CreateSharedBitmap method to share video memory with Direct3D and manipulate Direct3D content as an . As described in the Resources Overview, the render target and the must be using the same Direct3D device.

Note also that the must use one of the supported pixel formats and alpha modes described in Supported Pixel Formats and Alpha Modes.

For more information about interoperability with Direct3D, see the Direct2D and Direct3D Interoperability Overview.

Sharing an

An stores the content of a WIC bitmap and shields it from simultaneous accesses. By passing an to the CreateSharedBitmap method, you can create an that points to the bitmap data already stored in the .

To use an with the CreateSharedBitmap method, the render target must use software rendering. To force a render target to use software rendering, set to the type field of the structure that you use to create the render target. To check whether an existing render target uses software rendering, use the IsSupported method.

+
+ + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap +
+ + + Creates an from the specified bitmap.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742778 + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + ID2D1RenderTarget::CreateBitmapBrush + + + + Creates a new that can be used to paint areas with a solid color.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + + dd742843 + HRESULT ID2D1RenderTarget::CreateSolidColorBrush([In] const D2D_COLOR_F* color,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1SolidColorBrush** solidColorBrush) + ID2D1RenderTarget::CreateSolidColorBrush + + + +

Creates an from the specified gradient stops, color interpolation gamma, and extend mode.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371830 + HRESULT ID2D1RenderTarget::CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[In] unsigned int gradientStopsCount,[In] D2D1_GAMMA colorInterpolationGamma,[In] D2D1_EXTEND_MODE extendMode,[Out, Fast] ID2D1GradientStopCollection** gradientStopCollection) + ID2D1RenderTarget::CreateGradientStopCollection +
+ + +

Creates an that contains the specified gradient stops and has the specified transform and base opacity.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371842 + HRESULT ID2D1RenderTarget::CreateLinearGradientBrush([In] const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out, Fast] ID2D1LinearGradientBrush** linearGradientBrush) + ID2D1RenderTarget::CreateLinearGradientBrush +
+ + +

Creates an that contains the specified gradient stops, has no transform, and has a base opacity of 1.0.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371859 + HRESULT ID2D1RenderTarget::CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out, Fast] ID2D1RadialGradientBrush** radialGradientBrush) + ID2D1RenderTarget::CreateRadialGradientBrush +
+ + + Creates a new bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target .Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742780 + HRESULT ID2D1RenderTarget::CreateCompatibleRenderTarget([In, Optional] const D2D_SIZE_F* desiredSize,[In, Optional] const D2D_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[In] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out, Fast] ID2D1BitmapRenderTarget** bitmapRenderTarget) + ID2D1RenderTarget::CreateCompatibleRenderTarget + + + +

Creates a layer resource that can be used with this render target and its compatible render targets.

+
+

When the method returns, contains a reference to a reference to the new layer. This parameter is passed uninitialized.

+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The layer automatically resizes itself, as needed.

+
+ + dd371839 + HRESULT ID2D1RenderTarget::CreateLayer([In, Optional] const D2D_SIZE_F* size,[Out, Fast] ID2D1Layer** layer) + ID2D1RenderTarget::CreateLayer +
+ + +

Create a mesh that uses triangles to describe a shape.

+
+

When this method returns, contains a reference to a reference to the new mesh.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To populate a mesh, use its Open method to obtain an . To draw the mesh, use the render target's FillMesh method.

+
+ + dd371851 + HRESULT ID2D1RenderTarget::CreateMesh([Out, Fast] ID2D1Mesh** mesh) + ID2D1RenderTarget::CreateMesh +
+ + +

Draws a line between the specified points using the specified stroke style.

+
+

The start point of the line, in device-independent pixels.

+

The end point of the line, in device-independent pixels.

+

The brush used to paint the line's stroke.

+

A value greater than or equal to 0.0f that specifies the width of the stroke. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.

+

The style of stroke to paint, or null to paint a solid line.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawLine) failed, check the result returned by the or methods.

+
+ + dd371895 + void ID2D1RenderTarget::DrawLine([In] D2D_POINT_2F point0,[In] D2D_POINT_2F point1,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawLine +
+ + +

Draws the outline of a rectangle that has the specified dimensions and stroke style.

+
+

The dimensions of the rectangle to draw, in device-independent pixels.

+

The brush used to paint the rectangle's stroke.

+

A value greater than or equal to 0.0f that specifies the width of the rectangle's stroke. The stroke is centered on the rectangle's outline.

+

The style of stroke to paint, or null to paint a solid stroke.

+ +

When this method fails, it does not return an error code. To determine whether a drawing method (such as DrawRectangle) failed, check the result returned by the or method.

+
+ + dd371902 + void ID2D1RenderTarget::DrawRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawRectangle +
+ + +

Paints the interior of the specified rectangle.

+
+

The dimension of the rectangle to paint, in device-independent pixels.

+

The brush used to paint the rectangle's interior.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillRectangle) failed, check the result returned by the or methods.

+
+ + dd371954 + void ID2D1RenderTarget::FillRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush) + ID2D1RenderTarget::FillRectangle +
+ + +

Draws the outline of the specified rounded rectangle using the specified stroke style.

+
+

The dimensions of the rounded rectangle to draw, in device-independent pixels.

+

The brush used to paint the rounded rectangle's outline.

+

The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f.

+

The style of the rounded rectangle's stroke, or null to paint a solid stroke. The default value is null.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawRoundedRectangle) failed, check the result returned by the or methods.

+
+ + dd371908 + void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawRoundedRectangle +
+ + +

Paints the interior of the specified rounded rectangle.

+
+

The dimensions of the rounded rectangle to paint, in device independent pixels.

+

The brush used to paint the interior of the rounded rectangle.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillRoundedRectangle) failed, check the result returned by the or methods.

+
+ + dd316795 + void ID2D1RenderTarget::FillRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush) + ID2D1RenderTarget::FillRoundedRectangle +
+ + +

Draws the outline of the specified ellipse using the specified stroke style.

+
+

The position and radius of the ellipse to draw, in device-independent pixels.

+

The brush used to paint the ellipse's outline.

+

The thickness of the ellipse's stroke. The stroke is centered on the ellipse's outline.

+

The style of stroke to apply to the ellipse's outline, or null to paint a solid stroke.

+ +

The DrawEllipse method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawEllipse) failed, check the result returned by the or methods.

+
+ + dd371886 + void ID2D1RenderTarget::DrawEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawEllipse +
+ + +

Paints the interior of the specified ellipse.

+
+

The position and radius, in device-independent pixels, of the ellipse to paint.

+

The brush used to paint the interior of the ellipse.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillEllipse) failed, check the result returned by the or methods.

+
+ + dd371928 + void ID2D1RenderTarget::FillEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush) + ID2D1RenderTarget::FillEllipse +
+ + +

Draws the outline of the specified geometry using the specified stroke style.

+
+

The geometry to draw.

+

The brush used to paint the geometry's stroke.

+

The thickness of the geometry's stroke. The stroke is centered on the geometry's outline.

+

The style of stroke to apply to the geometry's outline, or null to paint a solid stroke.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGeometry) failed, check the result returned by the or methods.

+
+ + dd371890 + void ID2D1RenderTarget::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawGeometry +
+ + +

Paints the interior of the specified geometry.

+
+

The geometry to paint.

+

The brush used to paint the geometry's interior.

+

The opacity mask to apply to the geometry, or null for no opacity mask. If an opacity mask (the opacityBrush parameter) is specified, brush must be an that has its x- and y-extend modes set to . For more information, see the Remarks section.

+ +

If the opacityBrush parameter is not null, the alpha value of each pixel of the mapped opacityBrush is used to determine the resulting opacity of each corresponding pixel of the geometry. Only the alpha value of each color in the brush is used for this processing; all other color information is ignored. The alpha value specified by the brush is multiplied by the alpha value of the geometry after the geometry has been painted by brush. +

When this method fails, it does not return an error code. To determine whether a drawing operation (such as FillGeometry) failed, check the result returned by the or method.

+
+ + dd371933 + void ID2D1RenderTarget::FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) + ID2D1RenderTarget::FillGeometry +
+ + +

Paints the interior of the specified mesh.

+
+

The mesh to paint.

+

The brush used to paint the mesh.

+ +

The current antialias mode of the render target must be when FillMesh is called. To change the render target's antialias mode, use the SetAntialiasMode method.

FillMesh does not expect a particular winding order for the triangles in the ; both clockwise and counter-clockwise will work.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillMesh) failed, check the result returned by the or methods.

+
+ + dd371939 + void ID2D1RenderTarget::FillMesh([In] ID2D1Mesh* mesh,[In] ID2D1Brush* brush) + ID2D1RenderTarget::FillMesh +
+ + + Applies the opacity mask described by the specified bitmap to a brush and uses that brush to paint a region of the render target.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + +

For this method to work properly, the render target must be using the antialiasing mode. You can set the antialiasing mode by calling the method.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillOpacityMask) failed, check the result returned by the or methods.

+
+ + dd742850 + void ID2D1RenderTarget::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In] D2D1_OPACITY_MASK_CONTENT content,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) + ID2D1RenderTarget::FillOpacityMask +
+ + +

Draws the specified bitmap after scaling it to the size of the specified rectangle.

+
+

The bitmap to render.

+

The size and position, in device-independent pixels in the render target's coordinate space, of the area to which the bitmap is drawn. If the rectangle is not well-ordered, nothing is drawn, but the render target does not enter an error state.

+

A value between 0.0f and 1.0f, inclusive, that specifies the opacity value to be applied to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. Default is 1.0f.

+

The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is .

+

The size and position, in device-independent pixels in the bitmap's coordinate space, of the area within the bitmap to draw; null to draw the entire bitmap.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawBitmap) failed, check the result returned by the or methods.

+
+ + dd371878 + void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle) + ID2D1RenderTarget::DrawBitmap +
+ + + Draws the specified text using the format information provided by an object.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + +

To draw text with Direct2D, use the method for text that has a single format, or the method when you need multiple formats, advanced OpenType features, or hit testing. These methods use the DirectWrite API to provide high-quality text display.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawText) failed, check the result returned by the or methods.

+
+ + dd742848 + void ID2D1RenderTarget::DrawTextW([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[In] D2D1_DRAW_TEXT_OPTIONS options,[In] DWRITE_MEASURING_MODE measuringMode) + ID2D1RenderTarget::DrawTextW +
+ + +

Draws the formatted text described by the specified object.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + +

When drawing the same text repeatedly, using the DrawTextLayout method is more efficient than using the DrawText method because the text doesn't need to be formatted and the layout processed with each call.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawTextLayout) failed, check the result returned by the or methods.

+
+ + dd371913 + void ID2D1RenderTarget::DrawTextLayout([In] D2D_POINT_2F origin,[In] IDWriteTextLayout* textLayout,[In] ID2D1Brush* defaultForegroundBrush,[In] D2D1_DRAW_TEXT_OPTIONS options) + ID2D1RenderTarget::DrawTextLayout +
+ + +

Draws the specified glyphs.

+
+

The origin, in device-independent pixels, of the glyphs' baseline.

+

The glyphs to render.

+

The brush used to paint the specified glyphs.

+

A value that indicates how glyph metrics are used to measure text when it is formatted. The default value is .

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGlyphRun) failed, check the result returned by the or methods.

+
+ + dd371893 + void ID2D1RenderTarget::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) + ID2D1RenderTarget::DrawGlyphRun +
+ + + Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space.Overload list + + No documentation. + + dd742857 + void ID2D1RenderTarget::SetTransform([In] const D2D_MATRIX_3X2_F* transform) + ID2D1RenderTarget::SetTransform + + + +

Gets the current transform of the render target.

+
+

When this returns, contains the current transform of the render target. This parameter is passed uninitialized.

+ + dd316845 + void ID2D1RenderTarget::GetTransform([Out] D2D_MATRIX_3X2_F* transform) + ID2D1RenderTarget::GetTransform +
+ + +

Sets the antialiasing mode of the render target. The antialiasing mode applies to all subsequent drawing operations, excluding text and glyph drawing operations.

+
+

The antialiasing mode for future drawing operations.

+ +

To specify the antialiasing mode for text and glyph operations, use the SetTextAntialiasMode method.

+
+ + dd316881 + void ID2D1RenderTarget::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) + ID2D1RenderTarget::SetAntialiasMode +
+ + +

Retrieves the current antialiasing mode for nontext drawing operations.

+
+

The current antialiasing mode for nontext drawing operations.

+ + dd316805 + D2D1_ANTIALIAS_MODE ID2D1RenderTarget::GetAntialiasMode() + ID2D1RenderTarget::GetAntialiasMode +
+ + +

Specifies the antialiasing mode to use for subsequent text and glyph drawing operations.

+
+

The antialiasing mode to use for subsequent text and glyph drawing operations.

+ + dd316897 + void ID2D1RenderTarget::SetTextAntialiasMode([In] D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) + ID2D1RenderTarget::SetTextAntialiasMode +
+ + +

Gets the current antialiasing mode for text and glyph drawing operations.

+
+

The current antialiasing mode for text and glyph drawing operations.

+ + dd316835 + D2D1_TEXT_ANTIALIAS_MODE ID2D1RenderTarget::GetTextAntialiasMode() + ID2D1RenderTarget::GetTextAntialiasMode +
+ + +

Specifies text rendering options to be applied to all subsequent text and glyph drawing operations.

+
+

The text rendering options to be applied to all subsequent text and glyph drawing operations; null to clear current text rendering options.

+ +

If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

+
+ + dd316898 + void ID2D1RenderTarget::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) + ID2D1RenderTarget::SetTextRenderingParams +
+ + +

Retrieves the render target's current text rendering options.

+
+

When this method returns, textRenderingParamscontains the address of a reference to the render target's current text rendering options.

+ +

If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

+
+ + dd316841 + void ID2D1RenderTarget::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) + ID2D1RenderTarget::GetTextRenderingParams +
+ + +

Specifies a label for subsequent drawing operations.

+
+

A label to apply to subsequent drawing operations.

+

A label to apply to subsequent drawing operations.

+ +

The labels specified by this method are printed by debug error messages. If no tag is set, the default value for each tag is 0.

+
+ + dd316892 + void ID2D1RenderTarget::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) + ID2D1RenderTarget::SetTags +
+ + +

Gets the label for subsequent drawing operations.

+
+

When this method returns, contains the first label for subsequent drawing operations. This parameter is passed uninitialized. If null is specified, no value is retrieved for this parameter.

+

When this method returns, contains the second label for subsequent drawing operations. This parameter is passed uninitialized. If null is specified, no value is retrieved for this parameter.

+ +

If the same address is passed for both parameters, both parameters receive the value of the second tag.

+
+ + dd316830 + void ID2D1RenderTarget::GetTags([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) + ID2D1RenderTarget::GetTags +
+ + +

Adds the specified layer to the render target so that it receives all subsequent drawing operations until PopLayer is called.

+
+ No documentation. + No documentation. + +

The PushLayer method allows a caller to begin redirecting rendering to a layer. All rendering operations are valid in a layer. The location of the layer is affected by the world transform set on the render target.

Each PushLayer must have a matching PopLayer call. If there are more PopLayer calls than PushLayer calls, the render target is placed into an error state. If Flush is called before all outstanding layers are popped, the render target is placed into an error state, and an error is returned. The error state can be cleared by a call to EndDraw.

A particular resource can be active only at one time. In other words, you cannot call a PushLayer method, and then immediately follow with another PushLayer method with the same layer resource. Instead, you must call the second PushLayer method with different layer resources. +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PushLayer) failed, check the result returned by the or methods.

+
+ + dd316869 + void ID2D1RenderTarget::PushLayer([In] const D2D1_LAYER_PARAMETERS* layerParameters,[In] ID2D1Layer* layer) + ID2D1RenderTarget::PushLayer +
+ + +

Stops redirecting drawing operations to the layer that is specified by the last PushLayer call.

+
+ +

A PopLayer must match a previous PushLayer call.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PopLayer) failed, check the result returned by the or methods.

+
+ + dd316852 + void ID2D1RenderTarget::PopLayer() + ID2D1RenderTarget::PopLayer +
+ + +

Executes all pending drawing commands.

+
+

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

+

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

+

If the method succeeds, it returns . Otherwise, it returns an error code and sets tag1 and tag2 to the tags that were active when the error occurred. If no error occurred, this method sets the error tag state to be (0,0).

+ +

This command does not flush the device that is associated with the render target.

Calling this method resets the error state of the render target.

+
+ + dd316801 + HRESULT ID2D1RenderTarget::Flush([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) + ID2D1RenderTarget::Flush +
+ + +

Saves the current drawing state to the specified .

+
+ No documentation. + + dd316876 + void ID2D1RenderTarget::SaveDrawingState([InOut] ID2D1DrawingStateBlock* drawingStateBlock) + ID2D1RenderTarget::SaveDrawingState +
+ + +

Sets the render target's drawing state to that of the specified .

+
+ No documentation. + + dd316872 + void ID2D1RenderTarget::RestoreDrawingState([In] ID2D1DrawingStateBlock* drawingStateBlock) + ID2D1RenderTarget::RestoreDrawingState +
+ + +

Specifies a rectangle to which all subsequent drawing operations are clipped.

+
+

The size and position of the clipping area, in device-independent pixels.

+

The antialiasing mode that is used to draw the edges of clip rects that have subpixel boundaries, and to blend the clip with the scene contents. The blending is performed once when the PopAxisAlignedClip method is called, and does not apply to each primitive within the layer.

+ +

The clipRect is transformed by the current world transform set on the render target. After the transform is applied to the clipRect that is passed in, the axis-aligned bounding box for the clipRect is computed. For efficiency, the contents are clipped to this axis-aligned bounding box and not to the original clipRect that is passed in.

The following diagrams show how a rotation transform is applied to the render target, the resulting clipRect, and a calculated axis-aligned bounding box.

  1. Assume the rectangle in the following illustration is a render target that is aligned to the screen pixels.

  2. Apply a rotation transform to the render target. In the following illustration, the black rectangle represents the original render target and the red dashed rectangle represents the transformed render target.

  3. After calling PushAxisAlignedClip, the rotation transform is applied to the clipRect. In the following illustration, the blue rectangle represents the transformed clipRect.

  4. The axis-aligned bounding box is calculated. The green dashed rectangle represents the bounding box in the following illustration. All contents are clipped to this axis-aligned bounding box.

Note??If rendering operations fail or if PopAxisAlignedClip is not called, clip rects may cause some artifacts on the render target. PopAxisAlignedClip can be considered a drawing operation that is designed to fix the borders of a clipping region. Without this call, the borders of a clipped area may be not antialiased or otherwise corrected.

The PushAxisAlignedClip and PopAxisAlignedClip must match. Otherwise, the error state is set. For the render target to continue receiving new commands, you can call Flush to clear the error.

A PushAxisAlignedClip and PopAxisAlignedClip pair can occur around or within a PushLayer and PopLayer, but cannot overlap. For example, the sequence of PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip is valid, but the sequence of PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer is invalid.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PushAxisAlignedClip) failed, check the result returned by the or methods.

+
+ + dd316860 + void ID2D1RenderTarget::PushAxisAlignedClip([In] const D2D_RECT_F* clipRect,[In] D2D1_ANTIALIAS_MODE antialiasMode) + ID2D1RenderTarget::PushAxisAlignedClip +
+ + +

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.

+
+ +

A PushAxisAlignedClip/PopAxisAlignedClip pair can occur around or within a PushLayer/PopLayer pair, but may not overlap. For example, a PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip sequence is valid, but a PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer sequence is not.

PopAxisAlignedClip must be called once for every call to PushAxisAlignedClip.

For an example, see How to Clip with an Axis-Aligned Clip Rectangle.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PopAxisAlignedClip) failed, check the result returned by the or methods.

+
+ + dd316850 + void ID2D1RenderTarget::PopAxisAlignedClip() + ID2D1RenderTarget::PopAxisAlignedClip +
+ + +

Clears the drawing area to the specified color.

+
+

The color to which the drawing area is cleared.

+ +

Direct2D interprets the clearColor as straight alpha (not premultiplied). If the render target's alpha mode is , the alpha channel of clearColor is ignored and replaced with 1.0f (fully opaque).

If the render target has an active clip (specified by PushAxisAlignedClip), the clear command is applied only to the area within the clip region.

+
+ + dd371772 + void ID2D1RenderTarget::Clear([In, Optional] const D2D_COLOR_F* clearColor) + ID2D1RenderTarget::Clear +
+ + +

Initiates drawing on this render target.

+
+ +

Drawing operations can only be issued between a BeginDraw and EndDraw call.

BeginDraw and EndDraw are used to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when BeginDraw is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example.

The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of BeginDraw/EndDraw.

After BeginDraw is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the Flush method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing .

If EndDraw is called without a matched call to BeginDraw, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate and error information when EndDraw is called. +

+
+ + dd371768 + void ID2D1RenderTarget::BeginDraw() + ID2D1RenderTarget::BeginDraw +
+ + +

Ends drawing operations on the render target and indicates the current error state and associated tags.

+
+

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

+

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

+

If the method succeeds, it returns . Otherwise, it returns an error code and sets tag1 and tag2 to the tags that were active when the error occurred.

+ +

Drawing operations can only be issued between a BeginDraw and EndDraw call.

BeginDraw and EndDraw are use to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when BeginDraw is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example.

The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of BeginDraw/EndDraw.

After BeginDraw is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the Flush method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing .

If EndDraw is called without a matched call to BeginDraw, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate and error information when EndDraw is called. +

+
+ + dd371924 + HRESULT ID2D1RenderTarget::EndDraw([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) + ID2D1RenderTarget::EndDraw +
+ + +

Retrieves the pixel format and alpha mode of the render target.

+
+

The pixel format and alpha mode of the render target.

+ + dd316814 + D2D1_PIXEL_FORMAT ID2D1RenderTarget::GetPixelFormat() + ID2D1RenderTarget::GetPixelFormat +
+ + +

Sets the dots per inch (DPI) of the render target.

+
+

A value greater than or equal to zero that specifies the horizontal DPI of the render target.

+

A value greater than or equal to zero that specifies the vertical DPI of the render target.

+ +

This method specifies the mapping from pixel space to device-independent space for the render target. If both dpiX and dpiY are 0, the factory-read system DPI is chosen. If one parameter is zero and the other unspecified, the DPI is not changed.

For , the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI.

+
+ + dd316887 + void ID2D1RenderTarget::SetDpi([In] float dpiX,[In] float dpiY) + ID2D1RenderTarget::SetDpi +
+ + +

Return the render target's dots per inch (DPI).

+
+

When this method returns, contains the horizontal DPI of the render target. This parameter is passed uninitialized.

+

When this method returns, contains the vertical DPI of the render target. This parameter is passed uninitialized.

+ +

This method indicates the mapping from pixel space to device-independent space for the render target.

For , the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI.

+
+ + dd316809 + void ID2D1RenderTarget::GetDpi([Out] float* dpiX,[Out] float* dpiY) + ID2D1RenderTarget::GetDpi +
+ + +

Returns the size of the render target in device-independent pixels.

+
+

The current size of the render target in device-independent pixels.

+ + dd316823 + D2D_SIZE_F ID2D1RenderTarget::GetSize() + ID2D1RenderTarget::GetSize +
+ + +

Returns the size of the render target in device pixels.

+
+

The size of the render target in device pixels.

+ + dd316820 + D2D_SIZE_U ID2D1RenderTarget::GetPixelSize() + ID2D1RenderTarget::GetPixelSize +
+ + +

Gets the maximum size, in device-dependent units (pixels), of any one bitmap dimension supported by the render target.

+
+

The maximum size, in pixels, of any one bitmap dimension supported by the render target.

+ + dd742853 + unsigned int ID2D1RenderTarget::GetMaximumBitmapSize() + ID2D1RenderTarget::GetMaximumBitmapSize +
+ + +

Indicates whether the render target supports the specified properties.

+
+

The render target properties to test.

+

TRUE if the specified render target properties are supported by this render target; otherwise, .

+ +

This method does not evaluate the DPI settings specified by the renderTargetProperties parameter.

+
+ + dd742854 + BOOL ID2D1RenderTarget::IsSupported([In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties) + ID2D1RenderTarget::IsSupported +
+ + + Creates a render target that draws to a DirectX Graphics Infrastructure (DXGI) surface. + + + To write to a Direct3D surface, you obtain an and pass it to the {{CreateDxgiSurfaceRenderTarget}} method to create a DXGI surface render target; you can then use the DXGI surface render target to draw 2-D content to the DXGI surface. A DXGI surface render target is a type of . Like other Direct2D render targets, you can use it to create resources and issue drawing commands. The DXGI surface render target and the DXGI surface must use the same DXGI format. If you specify the {{DXGI_FORMAT_UNKOWN}} format when you create the render target, it will automatically use the surface's format.The DXGI surface render target does not perform DXGI surface synchronization. To work with Direct2D, the Direct3D device that provides the must be created with the D3D10_CREATE_DEVICE_BGRA_SUPPORT flag.For more information about creating and using DXGI surface render targets, see the {{Direct2D and Direct3D Interoperability Overview}}.When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the render target's {{EndDraw}} method returns the {{D2DERR_RECREATE_TARGET}} error. When you receive this error, you need to recreate the render target (and any resources it created). + + an instance of + The DXGI surface to bind this render target to + The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + + + + Draws the specified bitmap after scaling it to the size of the specified rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawBitmap}}) failed, check the result returned by the or methods. + + The bitmap to render. + A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The default value is 1.0f. + The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is . + void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_RECT_F* destinationRectangle,[None] float opacity,[None] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D1_RECT_F* sourceRectangle) + + + + Draws the specified bitmap after scaling it to the size of the specified rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawBitmap}}) failed, check the result returned by the or methods. + + The bitmap to render. + The size and position, in device-independent pixels in the render target's coordinate space, of the area to which the bitmap is drawn; NULL to draw the selected portion of the bitmap at the origin of the render target. If the rectangle is specified but not well-ordered, nothing is drawn, but the render target does not enter an error state. + A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The default value is 1.0f. + The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is . + void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_RECT_F* destinationRectangle,[None] float opacity,[None] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D1_RECT_F* sourceRectangle) + + + + Draws the specified bitmap after scaling it to the size of the specified rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawBitmap}}) failed, check the result returned by the or methods. + + The bitmap to render. + A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The default value is 1.0f. + The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is . + The size and position, in device-independent pixels in the bitmap's coordinate space, of the area within the bitmap to be drawn; NULL to draw the entire bitmap. + void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_RECT_F* destinationRectangle,[None] float opacity,[None] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D1_RECT_F* sourceRectangle) + + + + Draws the outline of the specified ellipse using the specified stroke style. + + + The {{DrawEllipse}} method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawEllipse) failed, check the result returned by the or methods. + + The position and radius of the ellipse to draw, in device-independent pixels. + The brush used to paint the ellipse's outline. + void ID2D1RenderTarget::DrawEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified ellipse using the specified stroke style. + + + The {{DrawEllipse}} method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawEllipse) failed, check the result returned by the or methods. + + The position and radius of the ellipse to draw, in device-independent pixels. + The brush used to paint the ellipse's outline. + The thickness of the ellipse's stroke. The stroke is centered on the ellipse's outline. + void ID2D1RenderTarget::DrawEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified geometry. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGeometry) failed, check the result returned by the or methods. + + The geometry to draw. + The brush used to paint the geometry's stroke. + void ID2D1RenderTarget::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified geometry. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGeometry) failed, check the result returned by the or methods. + + The geometry to draw. + The brush used to paint the geometry's stroke. + The thickness of the geometry's stroke. The stroke is centered on the geometry's outline. + void ID2D1RenderTarget::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws a line between the specified points. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawLine) failed, check the result returned by the or methods. + + The start point of the line, in device-independent pixels. + The end point of the line, in device-independent pixels. + The brush used to paint the line's stroke. + void ID2D1RenderTarget::DrawLine([None] D2D1_POINT_2F point0,[None] D2D1_POINT_2F point1,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws a line between the specified points. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawLine) failed, check the result returned by the or methods. + + The start point of the line, in device-independent pixels. + The end point of the line, in device-independent pixels. + The brush used to paint the line's stroke. + A value greater than or equal to 0.0f that specifies the width of the stroke. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line. + void ID2D1RenderTarget::DrawLine([None] D2D1_POINT_2F point0,[None] D2D1_POINT_2F point1,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of a rectangle that has the specified dimensions. + + + When this method fails, it does not return an error code. To determine whether a drawing method (such as {{DrawRectangle}}) failed, check the result returned by the or method. + + The dimensions of the rectangle to draw, in device-independent pixels. + The brush used to paint the rectangle's stroke. + void ID2D1RenderTarget::DrawRectangle([In] const D2D1_RECT_F* rect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of a rectangle that has the specified dimensions and stroke style. + + + When this method fails, it does not return an error code. To determine whether a drawing method (such as {{DrawRectangle}}) failed, check the result returned by the or method. + + The dimensions of the rectangle to draw, in device-independent pixels. + The brush used to paint the rectangle's stroke. + A value greater than or equal to 0.0f that specifies the width of the rectangle's stroke. The stroke is centered on the rectangle's outline. + void ID2D1RenderTarget::DrawRectangle([In] const D2D1_RECT_F* rect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified rounded rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawRoundedRectangle}}) failed, check the result returned by the or methods. + + The dimensions of the rounded rectangle to draw, in device-independent pixels. + The brush used to paint the rounded rectangle's outline. + void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified rounded rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawRoundedRectangle}}) failed, check the result returned by the or methods. + + The dimensions of the rounded rectangle to draw, in device-independent pixels. + The brush used to paint the rounded rectangle's outline. + The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f. + void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified rounded rectangle using the specified stroke style. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawRoundedRectangle}}) failed, check the result returned by the or methods. + + The dimensions of the rounded rectangle to draw, in device-independent pixels. + The brush used to paint the rounded rectangle's outline. + The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f. + The style of the rounded rectangle's stroke, or NULL to paint a solid stroke. The default value is NULL. + void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the specified text using the format information provided by an object. + + + To create an object, create an and call its {{CreateTextFormat}} method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawText}}) failed, check the result returned by the or methods. + + A reference to an array of Unicode characters to draw. + An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. + The size and position of the area in which the text is drawn. + The brush used to paint the text. + void ID2D1RenderTarget::DrawTextA([In, Buffer] const wchar_t* string,[None] int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D1_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options,[None] DWRITE_MEASURING_MODE measuringMode) + + + + Draws the specified text using the format information provided by an object. + + + To create an object, create an and call its {{CreateTextFormat}} method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawText}}) failed, check the result returned by the or methods. + + A reference to an array of Unicode characters to draw. + An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. + The size and position of the area in which the text is drawn. + The brush used to paint the text. + A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is , which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle. + void ID2D1RenderTarget::DrawTextA([In, Buffer] const wchar_t* string,[None] int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D1_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options,[None] DWRITE_MEASURING_MODE measuringMode) + + + + Draws the specified text using the format information provided by an object. + + + To create an object, create an and call its {{CreateTextFormat}} method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawText}}) failed, check the result returned by the or methods. + + A reference to an array of Unicode characters to draw. + An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. + The size and position of the area in which the text is drawn. + The brush used to paint the text. + A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is , which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle. + A value that indicates how glyph metrics are used to measure text when it is formatted. The default value is DWRITE_MEASURING_MODE_NATURAL. + void ID2D1RenderTarget::DrawTextA([In, Buffer] const wchar_t* string,[None] int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D1_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options,[None] DWRITE_MEASURING_MODE measuringMode) + + + + Draws the formatted text described by the specified object. + + + When drawing the same text repeatedly, using the DrawTextLayout method is more efficient than using the {{DrawText}} method because the text doesn't need to be formatted and the layout processed with each call. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawTextLayout) failed, check the result returned by the or methods. + + The point, described in device-independent pixels, at which the upper-left corner of the text described by textLayout is drawn. + The formatted text to draw. Any drawing effects that do not inherit from are ignored. If there are drawing effects that inherit from ID2D1Resource that are not brushes, this method fails and the render target is put in an error state. + The brush used to paint any text in textLayout that does not already have a brush associated with it as a drawing effect (specified by the method). + void ID2D1RenderTarget::DrawTextLayout([None] D2D1_POINT_2F origin,[In] IDWriteTextLayout* textLayout,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options) + + + + Ends drawing operations on the render target and indicates the current error state and associated tags. + + + Drawing operations can only be issued between a {{BeginDraw}} and EndDraw call.BeginDraw and EndDraw are use to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when {{BeginDraw}} is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example. The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of {{BeginDraw}}/EndDraw. After {{BeginDraw}} is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the {{Flush}} method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an HRESULT indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing HRESULT. If EndDraw is called without a matched call to {{BeginDraw}}, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate HRESULT and error information when EndDraw is called. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code and sets tag1 and tag2 to the tags that were active when the error occurred. + + + + Paints the interior of the specified geometry. + + + If the opacityBrush parameter is not NULL, the alpha value of each pixel of the mapped opacityBrush is used to determine the resulting opacity of each corresponding pixel of the geometry. Only the alpha value of each color in the brush is used for this processing; all other color information is ignored. The alpha value specified by the brush is multiplied by the alpha value of the geometry after the geometry has been painted by brush. + When this method fails, it does not return an error code. To determine whether a drawing operation (such as FillGeometry) failed, check the result returned by the or method. + + The geometry to paint. + The brush used to paint the geometry's interior. + void FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) + + + + Applies the opacity mask described by the specified bitmap to a brush and uses that brush to paint a region of the render target. + + + For this method to work properly, the render target must be using the antialiasing mode. You can set the antialiasing mode by calling the method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{FillOpacityMask}}) failed, check the result returned by the or methods. + + The opacity mask to apply to the brush. The alpha value of each pixel in the region specified by sourceRectangle is multiplied with the alpha value of the brush after the brush has been mapped to the area defined by destinationRectangle. + The brush used to paint the region of the render target specified by destinationRectangle. + The type of content the opacity mask contains. The value is used to determine the color space in which the opacity mask is blended. + void ID2D1RenderTarget::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[None] D2D1_OPACITY_MASK_CONTENT content,[In, Optional] const D2D1_RECT_F* destinationRectangle,[In, Optional] const D2D1_RECT_F* sourceRectangle) + + + + Paints the interior of the specified rounded rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{FillRoundedRectangle}}) failed, check the result returned by the or methods. + + The dimensions of the rounded rectangle to paint, in device-independent pixels. + The brush used to paint the interior of the rounded rectangle. + void ID2D1RenderTarget::FillRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush) + + + + Executes all pending drawing commands. + + + This command does not flush the device that is associated with the render target. Calling this method resets the error state of the render target. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code and sets tag1 and tag2 to the tags that were active when the error occurred. If no error occurred, this method sets the error tag state to be (0,0). + HRESULT ID2D1RenderTarget::Flush([Out, Optional] D2D1_TAG* tag1,[Out, Optional] D2D1_TAG* tag2) + + + +

Gets or sets the current transform of the render target.

+
+ + dd316845 + GetTransform / SetTransform + GetTransform + void ID2D1RenderTarget::GetTransform([Out] D2D_MATRIX_3X2_F* transform) +
+ + +

Retrieves or sets the current antialiasing mode for nontext drawing operations.

+
+ + dd316805 + GetAntialiasMode / SetAntialiasMode + GetAntialiasMode + D2D1_ANTIALIAS_MODE ID2D1RenderTarget::GetAntialiasMode() +
+ + +

Gets or sets the current antialiasing mode for text and glyph drawing operations.

+
+ + dd316835 + GetTextAntialiasMode / SetTextAntialiasMode + GetTextAntialiasMode + D2D1_TEXT_ANTIALIAS_MODE ID2D1RenderTarget::GetTextAntialiasMode() +
+ + +

Retrieves or sets the render target's current text rendering options.

+
+ +

If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

+
+ + dd316841 + GetTextRenderingParams / SetTextRenderingParams + GetTextRenderingParams + void ID2D1RenderTarget::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) +
+ + +

Retrieves the pixel format and alpha mode of the render target.

+
+ + dd316814 + GetPixelFormat + GetPixelFormat + D2D1_PIXEL_FORMAT ID2D1RenderTarget::GetPixelFormat() +
+ + +

Returns the size of the render target in device-independent pixels.

+
+ + dd316823 + GetSize + GetSize + D2D_SIZE_F ID2D1RenderTarget::GetSize() +
+ + +

Returns the size of the render target in device pixels.

+
+ + dd316820 + GetPixelSize + GetPixelSize + D2D_SIZE_U ID2D1RenderTarget::GetPixelSize() +
+ + +

Gets the maximum size, in device-dependent units (pixels), of any one bitmap dimension supported by the render target.

+
+ + dd742853 + GetMaximumBitmapSize + GetMaximumBitmapSize + unsigned int ID2D1RenderTarget::GetMaximumBitmapSize() +
+ + + Get or set the default stroke width used for all methods that are not explicitly using it. Default is set to 1.0f. + + + + + Get or sets the dots per inch (DPI) of the render target. + + + This method specifies the mapping from pixel space to device-independent space for the render target. If both dpiX and dpiY are 0, the factory-read system DPI is chosen. If one parameter is zero and the other unspecified, the DPI is not changed. For , the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI. + + void ID2D1RenderTarget::SetDpi([None] float dpiX,[None] float dpiY) + + + + Initializes a new instance of the class from a . + + The factory. + The WIC bitmap. + The render target properties. + + + +

Encapsulates a 32-bit device independent bitmap and device context, which can be used for rendering glyphs.

+
+ +

You create an by using the method, as shown in the following code.

if (SUCCEEDED(hr))	
+            { hr = g_pGdiInterop->CreateBitmapRenderTarget(hdc, r.right, r.bottom, &g_pBitmapRenderTarget);	
+            }	
+            

takes a handle to a DC and the desired width and height. In the above example, the width and height given are the size of the window rect.

Rendering

One way to use a , for rendering to a bitmap, is to implement a custom renderer interface derived from the interface. In your implementation of the DrawGlyphRun method of your custom renderer, call the method to draw the glyphs as shown in the following code.

STDMETHODIMP GdiTextRenderer::DrawGlyphRun( __maybenull void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY,  measuringMode, __in  const* glyphRun, __in  const* glyphRunDescription, * clientDrawingEffect )	
+            {  hr = ; // Pass on the drawing call to the render target to do the real work.  dirtyRect = {0}; hr = pRenderTarget_->DrawGlyphRun( baselineOriginX, baselineOriginY, measuringMode, glyphRun, pRenderingParams_, RGB(0,200,255), &dirtyRect ); return hr;	
+            }	
+            

The encapsulates and renders to a bitmap in memory. The GetMemoryDC function returns a handle to the device context of this bitmap.

+
+ + dd368165 + IDWriteBitmapRenderTarget + IDWriteBitmapRenderTarget +
+ + + Draws a run of glyphs to a bitmap target at the specified position. + + + You can use the IDWriteBitmapRenderTarget::DrawGlyphRun to render to a bitmap from a custom text renderer that you implement. The custom text renderer should call this method from within the callback method as shown in the following code. + STDMETHODIMP GdiTextRenderer::DrawGlyphRun( __maybenull void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE measuringMode, __in DWRITE_GLYPH_RUN const* glyphRun, __in DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription, IUnknown* clientDrawingEffect ) + { HRESULT hr = S_OK; // Pass on the drawing call to the render target to do the real work. RECT dirtyRect = {0}; hr = pRenderTarget_->DrawGlyphRun( baselineOriginX, baselineOriginY, measuringMode, glyphRun, pRenderingParams_, RGB(0,200,255), &dirtyRect ); return hr; + } + + The baselineOriginX, baslineOriginY, measuringMethod, and glyphRun parameters are provided (as arguments) when the callback method is invoked. The renderingParams, textColor and blackBoxRect are not. Default rendering params can be retrieved by using the method. + + The horizontal position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB. + The vertical position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB. + The measuring method for glyphs in the run, used with the other properties to determine the rendering mode. + The structure containing the properties of the glyph run. + The object that controls rendering behavior. + The foreground color of the text. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteBitmapRenderTarget::DrawGlyphRun([None] float baselineOriginX,[None] float baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[None] IDWriteRenderingParams* renderingParams,[None] COLORREF textColor,[Out, Optional] RECT* blackBoxRect) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Draws a run of glyphs to a bitmap target at the specified position.

+
+

The horizontal position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

+

The vertical position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

+

The measuring method for glyphs in the run, used with the other properties to determine the rendering mode.

+

The structure containing the properties of the glyph run.

+

The object that controls rendering behavior.

+

The foreground color of the text.

+

The optional rectangle that receives the bounding box (in pixels not DIPs) of all the pixels affected by drawing the glyph run. The black box rectangle may extend beyond the dimensions of the bitmap.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

You can use the to render to a bitmap from a custom text renderer that you implement. The custom text renderer should call this method from within the callback method as shown in the following code.

STDMETHODIMP GdiTextRenderer::DrawGlyphRun( __maybenull void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY,  measuringMode, __in  const* glyphRun, __in  const* glyphRunDescription, * clientDrawingEffect )	
+            {  hr = ; // Pass on the drawing call to the render target to do the real work.  dirtyRect = {0}; hr = pRenderTarget_->DrawGlyphRun( baselineOriginX, baselineOriginY, measuringMode, glyphRun, pRenderingParams_, RGB(0,200,255), &dirtyRect ); return hr;	
+            }	
+            

The baselineOriginX, baslineOriginY, measuringMethod, and glyphRun parameters are provided (as arguments) when the callback method is invoked. The renderingParams, textColor and blackBoxRect are not.

Default rendering params can be retrieved by using the method.

+
+ + dd368167 + HRESULT IDWriteBitmapRenderTarget::DrawGlyphRun([In] float baselineOriginX,[In] float baselineOriginY,[In] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] IDWriteRenderingParams* renderingParams,[In] COLORREF textColor,[Out, Optional] RECT* blackBoxRect) + IDWriteBitmapRenderTarget::DrawGlyphRun +
+ + +

Gets a handle to the memory device context.

+
+

Returns a device context handle to the memory device context.

+ +

An application can use the device context to draw using GDI functions. An application can obtain the bitmap handle () by calling GetCurrentObject. An application that wants information about the underlying bitmap, including a reference to the pixel data, can call GetObject to fill in a DIBSECTION structure. The bitmap is always a 32-bit top-down DIB.

Note that this method takes no parameters and returns an variable, not an .

memoryHdc = g_pBitmapRenderTarget->GetMemoryDC();	
+            

The returned here is still owned by the bitmap render targer object and should not be released or deleted by the client.

+
+ + dd368171 + HDC IDWriteBitmapRenderTarget::GetMemoryDC() + IDWriteBitmapRenderTarget::GetMemoryDC +
+ + +

Gets the number of bitmap pixels per DIP.

+
+

The number of bitmap pixels per DIP.

+ +

A DIP (device-independent pixel) is 1/96 inch. Therefore, this value is the number if pixels per inch divided by 96.

+
+ + dd368173 + float IDWriteBitmapRenderTarget::GetPixelsPerDip() + IDWriteBitmapRenderTarget::GetPixelsPerDip +
+ + +

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.

+
+

A value that specifies the number of pixels per DIP.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368182 + HRESULT IDWriteBitmapRenderTarget::SetPixelsPerDip([In] float pixelsPerDip) + IDWriteBitmapRenderTarget::SetPixelsPerDip +
+ + +

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.

+
+

When this method returns, contains a transform matrix.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368169 + HRESULT IDWriteBitmapRenderTarget::GetCurrentTransform([Out] DWRITE_MATRIX* transform) + IDWriteBitmapRenderTarget::GetCurrentTransform +
+ + +

Sets the transform that maps abstract coordinate to DIPs (device-independent pixel). This does not affect the world transform of the underlying device context.

+
+

Specifies the new transform. This parameter can be null, in which case the identity transform is implied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368179 + HRESULT IDWriteBitmapRenderTarget::SetCurrentTransform([In, Optional] const DWRITE_MATRIX* transform) + IDWriteBitmapRenderTarget::SetCurrentTransform +
+ + +

Gets the dimensions of the target bitmap.

+
+

Returns the width and height of the bitmap in pixels.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368176 + HRESULT IDWriteBitmapRenderTarget::GetSize([Out] SIZE* size) + IDWriteBitmapRenderTarget::GetSize +
+ + +

Resizes the bitmap.

+
+

The new bitmap width, in pixels.

+

The new bitmap height, in pixels.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368177 + HRESULT IDWriteBitmapRenderTarget::Resize([In] unsigned int width,[In] unsigned int height) + IDWriteBitmapRenderTarget::Resize +
+ + +

Gets a handle to the memory device context.

+
+ +

An application can use the device context to draw using GDI functions. An application can obtain the bitmap handle () by calling GetCurrentObject. An application that wants information about the underlying bitmap, including a reference to the pixel data, can call GetObject to fill in a DIBSECTION structure. The bitmap is always a 32-bit top-down DIB.

Note that this method takes no parameters and returns an variable, not an .

memoryHdc = g_pBitmapRenderTarget->GetMemoryDC();	
+            

The returned here is still owned by the bitmap render targer object and should not be released or deleted by the client.

+
+ + dd368171 + GetMemoryDC + GetMemoryDC + HDC IDWriteBitmapRenderTarget::GetMemoryDC() +
+ + +

Gets or sets the number of bitmap pixels per DIP.

+
+ +

A DIP (device-independent pixel) is 1/96 inch. Therefore, this value is the number if pixels per inch divided by 96.

+
+ + dd368173 + GetPixelsPerDip / SetPixelsPerDip + GetPixelsPerDip + float IDWriteBitmapRenderTarget::GetPixelsPerDip() +
+ + +

Gets or sets 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.

+
+ + dd368169 + GetCurrentTransform / SetCurrentTransform + GetCurrentTransform + HRESULT IDWriteBitmapRenderTarget::GetCurrentTransform([Out] DWRITE_MATRIX* transform) +
+ + +

Gets the dimensions of the target bitmap.

+
+ + dd368176 + GetSize + GetSize + HRESULT IDWriteBitmapRenderTarget::GetSize([Out] SIZE* size) +
+ + + An inline object for trimming, using an ellipsis as the omission sign. + + + + +

Wraps an application-defined inline graphic, allowing DWrite to query metrics as if the graphic were a glyph inline with the text.

+
+ + dd371221 + IDWriteInlineObject + IDWriteInlineObject +
+ + +

Wraps an application-defined inline graphic, allowing DWrite to query metrics as if the graphic were a glyph inline with the text.

+
+ + dd371221 + IDWriteInlineObject + IDWriteInlineObject +
+ + + The application implemented rendering callback () 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. + + The drawing context passed to . This parameter may be NULL. + The same renderer passed to as the object's containing parent. This is useful if the inline object is recursive such as a nested layout. + The x-coordinate at the upper-left corner of the inline object. + The y-coordinate at the upper-left corner of the inline object. + A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. + A Boolean flag that indicates whether the object is in a right-to-left context and should be drawn flipped. + The drawing effect set in . Usually this effect is a foreground brush that is used in glyph drawing. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteInlineObject::Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] float originX,[None] float originY,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + + Layout uses this to determine the line-breaking behavior of the inline object among the text. + + When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately preceding it. + When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately following it. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) + + + + calls this callback function to get the measurement of the inline object. + + A structure describing the geometric measurement of an application-defined inline object. These metrics are in relation to the baseline of the adjacent text. + HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) + + + + TextLayout 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. + + Overshoot of visible extents (in DIPs) outside the object. + HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + + + + The application implemented rendering callback () 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. + + The drawing context passed to . This parameter may be NULL. + The same renderer passed to as the object's containing parent. This is useful if the inline object is recursive such as a nested layout. + The x-coordinate at the upper-left corner of the inline object. + The y-coordinate at the upper-left corner of the inline object. + A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. + A Boolean flag that indicates whether the object is in a right-to-left context and should be drawn flipped. + The drawing effect set in . Usually this effect is a foreground brush that is used in glyph drawing. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteInlineObject::Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] float originX,[None] float originY,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + + Layout uses this to determine the line-breaking behavior of the inline object among the text. + + When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately preceding it. + When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately following it. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

The application implemented rendering callback () 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.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371225 + HRESULT IDWriteInlineObject::Draw([In, Optional] void* clientDrawingContext,[In] IDWriteTextRenderer* renderer,[In] float originX,[In] float originY,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In, Optional] void* clientDrawingEffect) + IDWriteInlineObject::Draw +
+ + +

calls this callback function to get the measurement of the inline object.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371232 + HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) + IDWriteInlineObject::GetMetrics +
+ + +

TextLayout 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.

The overhangs should be returned relative to the reported size of the object (see ), and should not be baseline adjusted.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371235 + HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + IDWriteInlineObject::GetOverhangMetrics +
+ + +

Layout uses this to determine the line-breaking behavior of the inline object among the text.

+
+

When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately preceding it.

+

When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately following it.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371229 + HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) + IDWriteInlineObject::GetBreakConditions +
+ + + calls this callback function to get the measurement of the inline object. + + A structure describing the geometric measurement of an application-defined inline object. These metrics are in relation to the baseline of the adjacent text. + HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) + + + + TextLayout 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. + + Overshoot of visible extents (in DIPs) outside the object. + HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + + + + Initializes a new instance of the class. + + The native PTR. + + + + Creates an inline object for trimming, using an ellipsis as the omission sign. + + + The ellipsis will be created using the current settings of the format, including base font, style, and any effects. Alternate omission signs can be created by the application by implementing . + + a + A text format object, created with {{CreateTextFormat}}, used for text layout. + HRESULT IDWriteFactory::CreateEllipsisTrimmingSign([None] IDWriteTextFormat* textFormat,[Out] IDWriteInlineObject** trimmingSign) + + + +

Used to create all subsequent DirectWrite objects. This interface is the root factory interface for all DirectWrite objects.

+
+ +

Create an object by using the function.

 if (SUCCEEDED(hr))	
+            { hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory_) );	
+            } 

An object holds state information, such as font loader registration and cached font data. This state can be shared or isolated. Shared is recommended for most applications because it saves memory. However, isolated can be useful in situations where you want to have a separate state for some objects.

+
+ + dd368183 + IDWriteFactory + IDWriteFactory +
+ + + Default Constructor for a . + + + + + Default Constructor for a . + + + + + Registers a custom font collection loader with the factory object. + + + This function registers a font collection loader with DirectWrite. The font collection loader interface, which should be implemented by a singleton object, handles enumerating font files in a font collection given a particular type of key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistration operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation. + + Reference to a object to be registered. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFactory::RegisterFontCollectionLoader([None] IDWriteFontCollectionLoader* fontCollectionLoader) + + + + Unregisters a custom font collection loader that was previously registered using {{RegisterFontCollectionLoader}}. + + Pointer to a object to be unregistered. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFactory::UnregisterFontCollectionLoader([None] IDWriteFontCollectionLoader* fontCollectionLoader) + + + + Registers a font file loader with DirectWrite. + + + This function registers a font file loader with DirectWrite. The font file loader interface, which should be implemented by a singleton object, handles loading font file resources of a particular type from a key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistration operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation. + + Pointer to a object for a particular file resource type. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFactory::RegisterFontFileLoader([None] IDWriteFontFileLoader* fontFileLoader) + + + + Unregisters a font file loader that was previously registered with the DirectWrite font system using {{RegisterFontFileLoader}}. + + + This function unregisters font file loader callbacks with the DirectWrite font system. You should implement the font file loader interface by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors and must not unregister themselves in their destructors, because registration and unregistration operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite should be performed outside of the font file loader implementation. + + Pointer to the file loader that was previously registered with the DirectWrite font system using {{RegisterFontFileLoader}}. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFactory::UnregisterFontFileLoader([None] IDWriteFontFileLoader* fontFileLoader) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets an object which represents the set of installed fonts.

+
+

If this parameter is nonzero, the function performs an immediate check for changes to the set of installed fonts. If this parameter is , the function will still detect changes if the font cache service is running, but there may be some latency. For example, an application might specify TRUE if it has itself just installed a font and wants to be sure the font collection contains that font.

+

When this method returns, contains the address of a reference to the system font collection object, or null in case of failure.

+ + dd368208 + HRESULT IDWriteFactory::GetSystemFontCollection([Out] IDWriteFontCollection** fontCollection,[In] BOOL checkForUpdates) + IDWriteFactory::GetSystemFontCollection +
+ + +

Creates a font collection using a custom font collection loader.

+
+

An application-defined font collection loader, which must have been previously registered using RegisterFontCollectionLoader.

+

The key used by the loader to identify a collection of font files. The buffer allocated for this key should at least be the size of collectionKeySize.

+

The size, in bytes, of the collection key.

+

Contains an address of a reference to the system font collection object if the method succeeds, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368186 + HRESULT IDWriteFactory::CreateCustomFontCollection([In] IDWriteFontCollectionLoader* collectionLoader,[In, Buffer] const void* collectionKey,[In] unsigned int collectionKeySize,[Out, Fast] IDWriteFontCollection** fontCollection) + IDWriteFactory::CreateCustomFontCollection +
+ + +

Registers a custom font collection loader with the factory object.

+
+

Pointer to a object to be registered.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function registers a font collection loader with DirectWrite. The font collection loader interface, which should be implemented by a singleton object, handles enumerating font files in a font collection given a particular type of key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation.

+
+ + dd368209 + HRESULT IDWriteFactory::RegisterFontCollectionLoader([In] IDWriteFontCollectionLoader* fontCollectionLoader) + IDWriteFactory::RegisterFontCollectionLoader +
+ + +

Unregisters a custom font collection loader that was previously registered using RegisterFontCollectionLoader.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368211 + HRESULT IDWriteFactory::UnregisterFontCollectionLoader([In] IDWriteFontCollectionLoader* fontCollectionLoader) + IDWriteFactory::UnregisterFontCollectionLoader +
+ + +

Creates a font file reference object from a local font file.

+
+

An array of characters that contains the absolute file path for the font file. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk.

+

The last modified time of the input file path. If the parameter is omitted, the function will access the font file to obtain its last write time. You should specify this value to avoid extra disk access. Subsequent operations on the constructed object may fail if the user provided lastWriteTime doesn't match the file on the disk.

+

When this method returns, contains an address of a reference to the newly created font file reference object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368197 + HRESULT IDWriteFactory::CreateFontFileReference([In, Buffer] const wchar_t* filePath,[In, Optional] const FILETIME* lastWriteTime,[Out, Fast] IDWriteFontFile** fontFile) + IDWriteFactory::CreateFontFileReference +
+ + +

Creates a reference to an application-specific font file resource.

+
+

A font file reference key that uniquely identifies the font file resource during the lifetime of fontFileLoader.

+

The size of the font file reference key in bytes.

+

The font file loader that will be used by the font system to load data from the file identified by fontFileReferenceKey.

+

Contains an address of a reference to the newly created font file object when this method succeeds, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function is provided for cases when an application or a document needs to use a private font without having to install it on the system. fontFileReferenceKey has to be unique only in the scope of the fontFileLoader used in this call.

+
+ + dd368188 + HRESULT IDWriteFactory::CreateCustomFontFileReference([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[In] IDWriteFontFileLoader* fontFileLoader,[Out, Fast] IDWriteFontFile** fontFile) + IDWriteFactory::CreateCustomFontFileReference +
+ + +

Creates an object that represents a font face.

+
+

A value that indicates the type of file format of the font face.

+

The number of font files, in element count, required to represent the font face.

+

A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call.

+

The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero.

+

A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face.

+

When this method returns, contains an address of a reference to the newly created font face object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368196 + HRESULT IDWriteFactory::CreateFontFace([In] DWRITE_FONT_FACE_TYPE fontFaceType,[In] unsigned int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out, Fast] IDWriteFontFace** fontFace) + IDWriteFactory::CreateFontFace +
+ + +

Creates an object that represents a font face.

+
+

A value that indicates the type of file format of the font face.

+

The number of font files, in element count, required to represent the font face.

+

A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call.

+

The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero.

+

A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face.

+

When this method returns, contains an address of a reference to the newly created font face object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368196 + HRESULT IDWriteFactory::CreateFontFace([In] DWRITE_FONT_FACE_TYPE fontFaceType,[In] unsigned int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out, Fast] IDWriteFontFace** fontFace) + IDWriteFactory::CreateFontFace +
+ + +

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.

+
+ No documentation. +

Standard error code.

+ + dd368201 + HRESULT IDWriteFactory::CreateRenderingParams([Out, Fast] IDWriteRenderingParams** renderingParams) + IDWriteFactory::CreateRenderingParams +
+ + +

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.

+
+

A handle for the specified monitor.

+

When this method returns, contains an address of a reference to the rendering parameters object created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368199 + HRESULT IDWriteFactory::CreateMonitorRenderingParams([In] HMONITOR monitor,[Out, Fast] IDWriteRenderingParams** renderingParams) + IDWriteFactory::CreateMonitorRenderingParams +
+ + +

Creates a rendering parameters object with the specified properties.

+
+

The gamma level to be set for the new rendering parameters object.

+

The enhanced contrast level to be set for the new rendering parameters object.

+

The ClearType level to be set for the new rendering parameters object.

+

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.

+

A value that represents the method (for example, ClearType natural quality) for rendering glyphs.

+

When this method returns, contains an address of a reference to the newly created rendering parameters object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368190 + HRESULT IDWriteFactory::CreateCustomRenderingParams([In] float gamma,[In] float enhancedContrast,[In] float clearTypeLevel,[In] DWRITE_PIXEL_GEOMETRY pixelGeometry,[In] DWRITE_RENDERING_MODE renderingMode,[Out, Fast] IDWriteRenderingParams** renderingParams) + IDWriteFactory::CreateCustomRenderingParams +
+ + +

Registers a font file loader with DirectWrite.

+
+

Pointer to a object for a particular file resource type.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function registers a font file loader with DirectWrite. The font file loader interface, which should be implemented by a singleton object, handles loading font file resources of a particular type from a key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation.

+
+ + dd368210 + HRESULT IDWriteFactory::RegisterFontFileLoader([In] IDWriteFontFileLoader* fontFileLoader) + IDWriteFactory::RegisterFontFileLoader +
+ + +

Unregisters a font file loader that was previously registered with the DirectWrite font system using RegisterFontFileLoader.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function unregisters font file loader callbacks with the DirectWrite font system. You should implement the font file loader interface by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite should be performed outside of the font file loader implementation.

+
+ + dd368212 + HRESULT IDWriteFactory::UnregisterFontFileLoader([In] IDWriteFontFileLoader* fontFileLoader) + IDWriteFactory::UnregisterFontFileLoader +
+ + +

Creates a text format object used for text layout.

+
+

An array of characters that contains the name of the font family

+

A reference to a font collection object. When this is null, indicates the system font collection.

+

A value that indicates the font weight for the text object created by this method.

+

A value that indicates the font style for the text object created by this method.

+

A value that indicates the font stretch for the text object created by this method.

+

The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch.

+

An array of characters that contains the locale name.

+

When this method returns, contains an address of a reference to a newly created text format object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368203 + HRESULT IDWriteFactory::CreateTextFormat([In, Buffer] const wchar_t* fontFamilyName,[In, Optional] IDWriteFontCollection* fontCollection,[In] DWRITE_FONT_WEIGHT fontWeight,[In] DWRITE_FONT_STYLE fontStyle,[In] DWRITE_FONT_STRETCH fontStretch,[In] float fontSize,[In, Buffer] const wchar_t* localeName,[Out, Fast] IDWriteTextFormat** textFormat) + IDWriteFactory::CreateTextFormat +
+ + +

Creates a typography object for use in a text layout.

+
+

When this method returns, contains the address of a reference to a newly created typography object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368206 + HRESULT IDWriteFactory::CreateTypography([Out, Fast] IDWriteTypography** typography) + IDWriteFactory::CreateTypography +
+ + +

Creates an object that is used for interoperability with GDI.

+
+

When this method returns, contains an address of a reference to a GDI interop object if successful, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368207 + HRESULT IDWriteFactory::GetGdiInterop([Out] IDWriteGdiInterop** gdiInterop) + IDWriteFactory::GetGdiInterop +
+ + +

Takes a string, text format, and associated constraints, and produces an object that represents the fully analyzed and formatted result.

+
+

An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded null characters.

+

The number of characters in the string.

+

A reference to an object that indicates the format to apply to the string.

+

The width of the layout box.

+

The height of the layout box.

+

When this method returns, contains an address of a reference to the resultant text layout object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368205 + HRESULT IDWriteFactory::CreateTextLayout([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] float maxWidth,[In] float maxHeight,[Out, Fast] IDWriteTextLayout** textLayout) + IDWriteFactory::CreateTextLayout +
+ + +

Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode.

+
+

An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded null characters.

+

The length of the string, in character count.

+

The text formatting object to apply to the string.

+

The width of the layout box.

+

The height of the layout box.

+

The number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI device pixelsPerDip is 1. If rendering onto a 120 DPI device pixelsPerDip is 1.25 (120/96).

+

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specifies the font size and pixels per DIP.

+

Instructs the text layout to use the same metrics as GDI bi-level text when set to . When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.

+

When this method returns, contains an address to the reference of the resultant text layout object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The resulting text layout should only be used for the intended resolution, and for cases where text scalability is desired CreateTextLayout should be used instead.

+
+ + dd368192 + HRESULT IDWriteFactory::CreateGdiCompatibleTextLayout([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] float layoutWidth,[In] float layoutHeight,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[Out, Fast] IDWriteTextLayout** textLayout) + IDWriteFactory::CreateGdiCompatibleTextLayout +
+ + +

Creates an inline object for trimming, using an ellipsis as the omission sign.

+
+

A text format object, created with CreateTextFormat, used for text layout.

+

When this method returns, contains an address of a reference to the omission (that is, ellipsis trimming) sign created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The ellipsis will be created using the current settings of the format, including base font, style, and any effects. Alternate omission signs can be created by the application by implementing .

+
+ + dd368194 + HRESULT IDWriteFactory::CreateEllipsisTrimmingSign([In] IDWriteTextFormat* textFormat,[Out, Fast] IDWriteInlineObject** trimmingSign) + IDWriteFactory::CreateEllipsisTrimmingSign +
+ + +

Returns an interface for performing text analysis.

+
+

When this method returns, contains an address of a reference to the newly created text analyzer object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368202 + HRESULT IDWriteFactory::CreateTextAnalyzer([Out, Fast] IDWriteTextAnalyzer** textAnalyzer) + IDWriteFactory::CreateTextAnalyzer +
+ + +

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).

+
+

A value that specifies how to apply number substitution on digits and related punctuation.

+

The name of the locale to be used in the numberSubstitution object.

+

A Boolean flag that indicates whether to ignore user overrides.

+

When this method returns, contains an address to a reference to the number substitution object created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368200 + HRESULT IDWriteFactory::CreateNumberSubstitution([In] DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod,[In, Buffer] const wchar_t* localeName,[In] BOOL ignoreUserOverride,[Out, Fast] IDWriteNumberSubstitution** numberSubstitution) + IDWriteFactory::CreateNumberSubstitution +
+ + +

Creates a glyph run analysis object, which encapsulates information used to render a glyph run.

+
+

A structure that contains the properties of the glyph run (font face, advances, and so on).

+

Number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI bitmap then pixelsPerDip is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 1.25.

+

Optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified the emSize and pixelsPerDip.

+

A value that specifies the rendering mode, which must be one of the raster rendering modes (that is, not default and not outline).

+

Specifies the measuring mode to use with glyphs.

+

The horizontal position (X-coordinate) of the baseline origin, in DIPs.

+

Vertical position (Y-coordinate) of the baseline origin, in DIPs.

+

When this method returns, contains an address of a reference to the newly created glyph run analysis object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The glyph run analysis object contains the results of analyzing the glyph run, including the positions of all the glyphs and references to all of the rasterized glyphs in the font cache.

+
+ + dd368198 + HRESULT IDWriteFactory::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] DWRITE_RENDERING_MODE renderingMode,[In] DWRITE_MEASURING_MODE measuringMode,[In] float baselineOriginX,[In] float baselineOriginY,[Out, Fast] IDWriteGlyphRunAnalysis** glyphRunAnalysis) + IDWriteFactory::CreateGlyphRunAnalysis +
+ + +

Creates an object that is used for interoperability with GDI.

+
+ + dd368207 + GetGdiInterop + GetGdiInterop + HRESULT IDWriteFactory::GetGdiInterop([Out] IDWriteGdiInterop** gdiInterop) +
+ + +

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. The font collection API can be used to discover what font families and fonts are available, and to obtain some metadata about the fonts.

+
+ +

The method will give you an object, which encapsulates the set of fonts installed on the system, as shown in the following code example.

* pFontCollection = null; // Get the system font collection.	
+            if (SUCCEEDED(hr))	
+            { hr = pDWriteFactory->GetSystemFontCollection(&pFontCollection);	
+            }	
+            

and both have a GetFontCollection method that returns the font collection being used by the object. These interfaces use the system font collection by default, but can use a custom font collection instead.

To determine what fonts are available on the system, get a reference to the system font collection. You can then use the method to determine the number of fonts and loop through the list. The following example enumerates the fonts in the system font collection, and prints the font family names to the console.

 #include <dwrite.h>	
+            #include <string.h>	
+            #include <stdio.h>	
+            #include <new> // SafeRelease inline function.	
+            template <class T> inline void SafeRelease(T **ppT)	
+            { if (*ppT) { (*ppT)->Release(); *ppT = null; }	
+            } void wmain()	
+            { * pDWriteFactory = null;  hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory) ); * pFontCollection = null; // Get the system font collection. if (SUCCEEDED(hr)) { hr = pDWriteFactory->GetSystemFontCollection(&pFontCollection); } UINT32 familyCount = 0; // Get the number of font families in the collection. if (SUCCEEDED(hr)) { familyCount = pFontCollection->GetFontFamilyCount(); } for (UINT32 i = 0; i < familyCount; ++i) { * pFontFamily = null; // Get the font family. if (SUCCEEDED(hr)) { hr = pFontCollection->GetFontFamily(i, &pFontFamily); } * pFamilyNames = null; // Get a list of localized strings for the family name. if (SUCCEEDED(hr)) { hr = pFontFamily->GetFamilyNames(&pFamilyNames); } UINT32 index = 0;  exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr)) { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); } } // If the specified locale doesn't exist, select the first on the list. if (!exists) index = 0; UINT32 length = 0; // Get the string length. if (SUCCEEDED(hr)) { hr = pFamilyNames->GetStringLength(index, &length); } // Allocate a string big enough to hold the name. wchar_t* name = new (std::nothrow) wchar_t[length+1]; if (name == null) { hr = E_OUTOFMEMORY; } // Get the family name. if (SUCCEEDED(hr)) { hr = pFamilyNames->GetString(index, name, length+1); } if (SUCCEEDED(hr)) { // Print out the family name. wprintf(L"%s\n", name); } SafeRelease(&pFontFamily); SafeRelease(&pFamilyNames); delete [] name; } SafeRelease(&pFontCollection); SafeRelease(&pDWriteFactory);	
+            } 
+
+ + dd368214 + IDWriteFontCollection + IDWriteFontCollection +
+ + + Creates a font collection using a custom font collection loader. + + A reference to a DirectWrite factory + An application-defined font collection loader, which must have been previously registered using . + The key used by the loader to identify a collection of font files. The buffer allocated for this key should at least be the size of collectionKeySize. + HRESULT IDWriteFactory::CreateCustomFontCollection([None] IDWriteFontCollectionLoader* collectionLoader,[In, Buffer] const void* collectionKey,[None] int collectionKeySize,[Out] IDWriteFontCollection** fontCollection) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the number of font families in the collection.

+
+

The number of font families in the collection.

+ + dd370974 + unsigned int IDWriteFontCollection::GetFontFamilyCount() + IDWriteFontCollection::GetFontFamilyCount +
+ + +

Creates a font family object given a zero-based font family index.

+
+

Zero-based index of the font family.

+

When this method returns, contains the address of a reference to the newly created font family object.

+ + dd370970 + HRESULT IDWriteFontCollection::GetFontFamily([In] unsigned int index,[Out] IDWriteFontFamily** fontFamily) + IDWriteFontCollection::GetFontFamily +
+ + +

Finds the font family with the specified family name.

+
+

An array of characters, which is null-terminated, containing the name of the font family. The name is not case-sensitive but must otherwise exactly match a family name in the collection.

+

When this method returns, contains the zero-based index of the matching font family if the family name was found; otherwise, UINT_MAX.

+

When this method returns, TRUE if the family name exists; otherwise, .

+ + dd368217 + HRESULT IDWriteFontCollection::FindFamilyName([In, Buffer] const wchar_t* familyName,[Out] unsigned int* index,[Out] BOOL* exists) + IDWriteFontCollection::FindFamilyName +
+ + +

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.

+
+

A font face object that specifies the physical font.

+

When this method returns, contains the address of a reference to the newly created font object if successful; otherwise, null.

+ + dd370978 + HRESULT IDWriteFontCollection::GetFontFromFontFace([In] IDWriteFontFace* fontFace,[Out] IDWriteFont** font) + IDWriteFontCollection::GetFontFromFontFace +
+ + +

Gets the number of font families in the collection.

+
+ + dd370974 + GetFontFamilyCount + GetFontFamilyCount + unsigned int IDWriteFontCollection::GetFontFamilyCount() +
+ + +

Used to construct a collection of fonts given a particular type of key.

+
+ +

The font collection loader interface is recommended to be implemented by a singleton object. Note that font collection loader implementations must not register themselves with DirectWrite factory inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed outside of the font file loader implementation as a separate step.

+
+ + dd368215 + IDWriteFontCollectionLoader + IDWriteFontCollectionLoader +
+ + + 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. + + Pointer to the object that was used to create the current font collection. + A font collection key that uniquely identifies the collection of font files within the scope of the font collection loader being used. The buffer allocated for this key must be at least the size, in bytes, specified by collectionKeySize. + a reference to the newly created font file enumerator. + HRESULT IDWriteFontCollectionLoader::CreateEnumeratorFromKey([None] IDWriteFactory* factory,[In, Buffer] const void* collectionKey,[None] int collectionKeySize,[Out] IDWriteFontFileEnumerator** fontFileEnumerator) + + + + Internal FontCollectionLoader Callback + + + + HRESULT IDWriteFontCollectionLoader::CreateEnumeratorFromKey([None] IDWriteFactory* factory,[In, Buffer] const void* collectionKey,[None] int collectionKeySize,[Out] IDWriteFontFileEnumerator** fontFileEnumerator) + + + +

Represents an absolute reference to a font face which contains font face type, appropriate file references, face identification data and various font data such as metrics, names and glyph outlines.

+
+ + dd370983 + IDWriteFontFace + IDWriteFontFace +
+ + + Creates an object that represents a font face. + + A reference to a DirectWrite factory + A value that indicates the type of file format of the font face. + A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call. + The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero. + A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face. + HRESULT IDWriteFactory::CreateFontFace([None] DWRITE_FONT_FACE_TYPE fontFaceType,[None] int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[None] int faceIndex,[None] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out] IDWriteFontFace** fontFace) + + + + Creates a font face object for the font. + + the to create the FontFace from. + HRESULT IDWriteFont::CreateFontFace([Out] IDWriteFontFace** fontFace) + + + + Obtains ideal (resolution-independent) glyph metrics in font design units. + + + Design glyph metrics are used for glyph positioning. + + An array of glyph indices for which to compute metrics. The array must contain at least as many elements as specified by glyphCount. + Indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation + an array of structures. + HRESULT IDWriteFontFace::GetDesignGlyphMetrics([In, Buffer] const short* glyphIndices,[None] int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[None] BOOL isSideways) + + + + Obtains glyph metrics in font design units with the return values compatible with what GDI would produce. + + The logical size of the font in DIP units. + The number of physical pixels per DIP. + An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip. + When set to FALSE, the metrics are the same as the metrics of GDI aliased text. When set to TRUE, the metrics are the same as the metrics of text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY. + An array of glyph indices for which to compute the metrics. + A BOOL value that indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation. + An array of structures filled by this function. The metrics are in font design units. + HRESULT IDWriteFontFace::GetGdiCompatibleGlyphMetrics([None] float emSize,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] BOOL useGdiNatural,[In, Buffer] const short* glyphIndices,[None] int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[None] BOOL isSideways) + + + + Returns the nominal mapping of UCS4 Unicode code points to glyph indices as defined by the font 'CMAP' table. + + + Note that this mapping is primarily provided for line layout engines built on top of the physical font API. Because of OpenType glyph substitution and line layout character substitution, the nominal conversion does not always correspond to how a Unicode string will map to glyph indices when rendering using a particular font face. Also, note that Unicode variant selectors provide for alternate mappings for character to glyph. This call will always return the default variant. + + An array of USC4 code points from which to obtain nominal glyph indices. The array must be allocated and be able to contain the number of elements specified by codePointCount. + a reference to an array of nominal glyph indices filled by this function. + HRESULT IDWriteFontFace::GetGlyphIndices([In, Buffer] const int* codePoints,[None] int codePointCount,[Out, Buffer] short* glyphIndices) + + + + Obtains the font files representing a font face. + + + The IDWriteFontFace::GetFiles method should be called twice. The first time you call GetFilesfontFiles should be NULL. When the method returns, numberOfFiles receives the number of font files that represent the font face. Then, call the method a second time, passing the numberOfFiles value that was output the first call, and a non-null buffer of the correct size to store the references. + + An array that stores references to font files representing the font face. This parameter can be NULL if the user wants only the number of files representing the font face. This API increments reference count of the font file references returned according to COM conventions, and the client should release them when finished. + HRESULT IDWriteFontFace::GetFiles([InOut] int* numberOfFiles,[Out, Buffer, Optional] IDWriteFontFile** fontFiles) + + + + Finds the specified OpenType font table if it exists and returns a reference to it. The function accesses the underlying font data through the interface implemented by the font file loader. + + + The context for the same tag may be different for each call, so each one must be held and released separately. + + The four-character tag of a OpenType font table to find. Use the DWRITE_MAKE_OPENTYPE_TAG macro to create it as an UINT32. Unlike GDI, it does not support the special TTCF and null tags to access the whole font. + When this method returns, contains the address of a reference to the base of the table in memory. The reference is valid only as long as the font face used to get the font table still exists; (not any other font face, even if it actually refers to the same physical font). + When this method returns, the address of a reference to the opaque context, which must be freed by calling {{ReleaseFontTable}}. The context actually comes from the lower-level , which may be implemented by the application or DWrite itself. It is possible for a NULL tableContext to be returned, especially if the implementation performs direct memory mapping on the whole file. Nevertheless, always release it later, and do not use it as a test for function success. The same table can be queried multiple times, but because each returned context can be different, you must release each context separately. + TRUE if the font table exists; otherwise, FALSE. + HRESULT IDWriteFontFace::TryGetFontTable([In] int openTypeTableTag,[Out, Buffer] const void** tableData,[Out] int* tableSize,[Out] void** tableContext,[Out] BOOL* exists) + + + + Computes the outline of a run of glyphs by calling back to the outline sink interface. + + The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch. + An array of glyph indices. The glyphs are in logical order and the advance direction depends on the isRightToLeft parameter. The array must be allocated and be able to contain the number of elements specified by glyphCount. + An optional array of glyph advances in DIPs. The advance of a glyph is the amount to advance the position (in the direction of the baseline) after drawing the glyph. glyphAdvances contains the number of elements specified by glyphIndices.Length. + An optional array of glyph offsets, each of which specifies the offset along the baseline and offset perpendicular to the baseline of a glyph relative to the current pen position. glyphOffsets contains the number of elements specified by glyphIndices.Length. + If TRUE, the ascender of the glyph runs alongside the baseline. If FALSE, the glyph ascender runs perpendicular to the baseline. For example, an English alphabet on a vertical baseline would have isSideways set to FALSE. A client can render a vertical run by setting isSideways to TRUE and rotating the resulting geometry 90 degrees to the right using a transform. The isSideways and isRightToLeft parameters cannot both be true. + The visual order of the glyphs. If this parameter is FALSE, then glyph advances are from left to right. If TRUE, the advance direction is right to left. By default, the advance direction is left to right. + A reference to the interface that is called back to perform outline drawing operations. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFontFace::GetGlyphRunOutline([None] float emSize,[In, Buffer] const short* glyphIndices,[In, Buffer, Optional] const float* glyphAdvances,[In, Buffer, Optional] const DWRITE_GLYPH_OFFSET* glyphOffsets,[None] int glyphCount,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IDWriteGeometrySink* geometrySink) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Obtains the file format type of a font face.

+
+

A value that indicates the type of format for the font face (such as Type 1, TrueType, vector, or bitmap).

+ + dd371031 + DWRITE_FONT_FACE_TYPE IDWriteFontFace::GetType() + IDWriteFontFace::GetType +
+ + +

Obtains the font files representing a font face.

+
+

If fontFiles is null, receives the number of files representing the font face. Otherwise, the number of font files being requested should be passed. See the Remarks section below for more information.

+

When this method returns, contains a reference to a user-provided array that stores references to font files representing the font face. This parameter can be null if the user wants only the number of files representing the font face. This API increments reference count of the font file references returned according to COM conventions, and the client should release them when finished.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The method should be called twice. The first time you call GetFilesfontFiles should be null. When the method returns, numberOfFiles receives the number of font files that represent the font face.

Then, call the method a second time, passing the numberOfFiles value that was output the first call, and a non-null buffer of the correct size to store the references.

+
+ + dd370989 + HRESULT IDWriteFontFace::GetFiles([InOut] unsigned int* numberOfFiles,[Out, Buffer, Optional] IDWriteFontFile** fontFiles) + IDWriteFontFace::GetFiles +
+ + +

Obtains the index of a font face in the context of its font files.

+
+

The zero-based index of a font face in cases when the font files contain a collection of font faces. If the font files contain a single face, this value is zero.

+ + dd371007 + unsigned int IDWriteFontFace::GetIndex() + IDWriteFontFace::GetIndex +
+ + +

Obtains the algorithmic style simulation flags of a font face.

+
+

Font face simulation flags for algorithmic means of making text bold or italic.

+ + dd371018 + DWRITE_FONT_SIMULATIONS IDWriteFontFace::GetSimulations() + IDWriteFontFace::GetSimulations +
+ + +

Determines whether the font is a symbol font.

+
+

Returns TRUE if the font is a symbol font, otherwise .

+ + dd371034 + BOOL IDWriteFontFace::IsSymbolFont() + IDWriteFontFace::IsSymbolFont +
+ + +

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.

+
+

When this method returns, a? structure that holds metrics (such as ascent, descent, or cap height) for the current font face element. The metrics returned by this function are in font design units.

+ + dd371011 + void IDWriteFontFace::GetMetrics([Out] DWRITE_FONT_METRICS* fontFaceMetrics) + IDWriteFontFace::GetMetrics +
+ + +

Obtains the number of glyphs in the font face.

+
+

The number of glyphs in the font face.

+ + dd370993 + unsigned short IDWriteFontFace::GetGlyphCount() + IDWriteFontFace::GetGlyphCount +
+ + +

Obtains ideal (resolution-independent) glyph metrics in font design units.

+
+

An array of glyph indices for which to compute metrics. The array must contain at least as many elements as specified by glyphCount.

+

The number of elements in the glyphIndices array.

+

When this method returns, contains an array of structures. glyphMetrics must be initialized with an empty buffer that contains at least as many elements as glyphCount. The metrics returned by this function are in font design units.

+

Indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Design glyph metrics are used for glyph positioning.

+
+ + dd370986 + HRESULT IDWriteFontFace::GetDesignGlyphMetrics([In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[In] BOOL isSideways) + IDWriteFontFace::GetDesignGlyphMetrics +
+ + +

Returns the nominal mapping of UCS4 Unicode code points to glyph indices as defined by the font 'CMAP' table.

+
+

An array of USC4 code points from which to obtain nominal glyph indices. The array must be allocated and be able to contain the number of elements specified by codePointCount.

+

The number of elements in the codePoints array.

+

When this method returns, contains a reference to an array of nominal glyph indices filled by this function.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Note that this mapping is primarily provided for line layout engines built on top of the physical font API. Because of OpenType glyph substitution and line layout character substitution, the nominal conversion does not always correspond to how a Unicode string will map to glyph indices when rendering using a particular font face. Also, note that Unicode variant selectors provide for alternate mappings for character to glyph. This call will always return the default variant.

+
+ + dd370998 + HRESULT IDWriteFontFace::GetGlyphIndicesW([In, Buffer] const unsigned int* codePoints,[In] unsigned int codePointCount,[Out, Buffer] unsigned short* glyphIndices) + IDWriteFontFace::GetGlyphIndicesW +
+ + +

Finds the specified OpenType font table if it exists and returns a reference to it. The function accesses the underlying font data through the interface implemented by the font file loader.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The context for the same tag may be different for each call, so each one must be held and released separately.

+
+ + dd371039 + HRESULT IDWriteFontFace::TryGetFontTable([In] unsigned int openTypeTableTag,[Out, Buffer] const void** tableData,[Out] unsigned int* tableSize,[Out] void** tableContext,[Out] BOOL* exists) + IDWriteFontFace::TryGetFontTable +
+ + +

Releases the table obtained earlier from TryGetFontTable.

+
+ No documentation. + + dd371036 + void IDWriteFontFace::ReleaseFontTable([In] void* tableContext) + IDWriteFontFace::ReleaseFontTable +
+ + +

Computes the outline of a run of glyphs by calling back to the outline sink interface.

+
+

The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch.

+

An array of glyph indices. The glyphs are in logical order and the advance direction depends on the isRightToLeft parameter. The array must be allocated and be able to contain the number of elements specified by glyphCount.

+

An optional array of glyph advances in DIPs. The advance of a glyph is the amount to advance the position (in the direction of the baseline) after drawing the glyph. glyphAdvances contains the number of elements specified by glyphCount.

+

An optional array of glyph offsets, each of which specifies the offset along the baseline and offset perpendicular to the baseline of a glyph relative to the current pen position. glyphOffsets contains the number of elements specified by glyphCount.

+

The number of glyphs in the run.

+

If TRUE, the ascender of the glyph runs alongside the baseline. If , the glyph ascender runs perpendicular to the baseline. For example, an English alphabet on a vertical baseline would have isSideways set to .

A client can render a vertical run by setting isSideways to TRUE and rotating the resulting geometry 90 degrees to the right using a transform. The isSideways and isRightToLeft parameters cannot both be true.

+

The visual order of the glyphs. If this parameter is , then glyph advances are from left to right. If TRUE, the advance direction is right to left. By default, the advance direction is left to right.

+

A reference to the interface that is called back to perform outline drawing operations.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371003 + HRESULT IDWriteFontFace::GetGlyphRunOutline([In] float emSize,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer, Optional] const float* glyphAdvances,[In, Buffer, Optional] const DWRITE_GLYPH_OFFSET* glyphOffsets,[In] unsigned int glyphCount,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] ID2D1SimplifiedGeometrySink* geometrySink) + IDWriteFontFace::GetGlyphRunOutline +
+ + +

Determines the recommended rendering mode for the font, using the specified size and rendering parameters.

+
+

The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch.

+

The number of physical pixels per DIP. For example, if the DPI of the rendering surface is 96, this value is 1.0f. If the DPI is 120, this value is 120.0f/96.

+

The measuring method that will be used for glyphs in the font. Renderer implementations may choose different rendering modes for different measuring methods, for example:

  • for
  • for
  • for
+

A reference to an object that contains rendering settings such as gamma level, enhanced contrast, and ClearType level. This parameter is necessary in case the rendering parameters object overrides the rendering mode.

+

When this method returns, contains a value that indicates the recommended rendering mode to use.

+ + dd371015 + HRESULT IDWriteFontFace::GetRecommendedRenderingMode([In] float emSize,[In] float pixelsPerDip,[In] DWRITE_MEASURING_MODE measuringMode,[In] IDWriteRenderingParams* renderingParams,[Out] DWRITE_RENDERING_MODE* renderingMode) + IDWriteFontFace::GetRecommendedRenderingMode +
+ + +

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.

+
+

The logical size of the font in DIP units.

+

The number of physical pixels per DIP.

+

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip.

+

A reference to a DWRITE_FONT_METRICS structure to fill in. The metrics returned by this function are in font design units.

+ + dd941789 + HRESULT IDWriteFontFace::GetGdiCompatibleMetrics([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[Out] DWRITE_FONT_METRICS* fontFaceMetrics) + IDWriteFontFace::GetGdiCompatibleMetrics +
+ + +

Obtains glyph metrics in font design units with the return values compatible with what GDI would produce.

+
+

The ogical size of the font in DIP units.

+

The number of physical pixels per DIP.

+

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip.

+

When set to , the metrics are the same as the metrics of GDI aliased text. When set to TRUE, the metrics are the same as the metrics of text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.

+

An array of glyph indices for which to compute the metrics.

+

The number of elements in the glyphIndices array.

+

An array of structures filled by this function. The metrics are in font design units.

+

A value that indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation.

+

Standard error code. If any of the input glyph indices are outside of the valid glyph index range for the current font face, E_INVALIDARG will be returned.

+ + dd941788 + HRESULT IDWriteFontFace::GetGdiCompatibleGlyphMetrics([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[In] BOOL isSideways) + IDWriteFontFace::GetGdiCompatibleGlyphMetrics +
+ + +

Obtains the file format type of a font face.

+
+ + dd371031 + GetType + GetType + DWRITE_FONT_FACE_TYPE IDWriteFontFace::GetType() +
+ + +

Obtains the index of a font face in the context of its font files.

+
+ + dd371007 + GetIndex + GetIndex + unsigned int IDWriteFontFace::GetIndex() +
+ + +

Obtains the algorithmic style simulation flags of a font face.

+
+ + dd371018 + GetSimulations + GetSimulations + DWRITE_FONT_SIMULATIONS IDWriteFontFace::GetSimulations() +
+ + +

Determines whether the font is a symbol font.

+
+ + dd371034 + IsSymbolFont + IsSymbolFont + BOOL IDWriteFontFace::IsSymbolFont() +
+ + +

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.

+
+ + dd371011 + GetMetrics + GetMetrics + void IDWriteFontFace::GetMetrics([Out] DWRITE_FONT_METRICS* fontFaceMetrics) +
+ + +

Obtains the number of glyphs in the font face.

+
+ + dd370993 + GetGlyphCount + GetGlyphCount + unsigned short IDWriteFontFace::GetGlyphCount() +
+ + +

Specifies properties used to identify and execute typographic features in the current font face.

+
+ +

A non-zero value generally enables the feature execution, while the zero value disables it. A feature requiring a selector uses this value to indicate the selector index.

The OpenType standard provides access to typographic features available in the font by means of a feature tag with the associated parameters. The OpenType feature tag is a 4-byte identifier of the registered name of a feature. For example, the 'kern' feature name tag is used to identify the 'Kerning' feature in OpenType font. Similarly, the OpenType feature tag for 'Standard Ligatures' and 'Fractions' is 'liga' and 'frac' respectively. Since a single run can be associated with more than one typographic features, the Text String API accepts typographic settings for a run as a list of features and are executed in the order they are specified.

The value of the tag member represents the OpenType name tag of the feature, while the param value represents additional parameter for the execution of the feature referred by the tag member. Both nameTag and parameter are stored as little endian, the same convention followed by GDI. Most features treat the Param value as a binary value that indicates whether to turn the execution of the feature on or off, with it being off by default in the majority of cases. Some features, however, treat this value as an integral value representing the integer index to the list of alternate results it may produce during the execution; for instance, the feature 'Stylistic Alternates' or 'salt' uses the parameter value as an index to the list of alternate substituting glyphs it could produce for a specified glyph.

+
+ + dd368066 + DWRITE_FONT_FEATURE + DWRITE_FONT_FEATURE +
+ + + Initializes a new instance of the struct. + + The name tag. + The parameter. + + + +

The feature OpenType name identifier.

+
+ + dd368066 + DWRITE_FONT_FEATURE_TAG nameTag + DWRITE_FONT_FEATURE_TAG nameTag +
+ + +

The execution parameter of the feature.

+
+ + dd368066 + unsigned int parameter + unsigned int parameter +
+ + +

Represents a font file. Applications such as font managers or font viewers can call 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.

+
+ + dd371060 + IDWriteFontFile + IDWriteFontFile +
+ + + Creates a font file reference object from a local font file. + + A reference to a DirectWrite factory + An array of characters that contains the absolute file path for the font file. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk. + HRESULT IDWriteFactory::CreateFontFileReference([In] const wchar_t* filePath,[In, Optional] const __int64* lastWriteTime,[Out] IDWriteFontFile** fontFile) + + + + Creates a font file reference object from a local font file. + + A reference to a DirectWrite factory + An array of characters that contains the absolute file path for the font file. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk. + The last modified time of the input file path. If the parameter is omitted, the function will access the font file to obtain its last write time. You should specify this value to avoid extra disk access. Subsequent operations on the constructed object may fail if the user provided lastWriteTime doesn't match the file on the disk. + HRESULT IDWriteFactory::CreateFontFileReference([In] const wchar_t* filePath,[In, Optional] const __int64* lastWriteTime,[Out] IDWriteFontFile** fontFile) + + + + Creates a reference to an application-specific font file resource. + + A reference to a DirectWrite factory + A font file reference key that uniquely identifies the font file resource during the lifetime of fontFileLoader. + The size of the font file reference key in bytes. + The font file loader that will be used by the font system to load data from the file identified by fontFileReferenceKey. + + This function is provided for cases when an application or a document needs to use a private font without having to install it on the system. fontFileReferenceKey has to be unique only in the scope of the fontFileLoader used in this call. + + HRESULT IDWriteFactory::CreateCustomFontFileReference([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[None] IDWriteFontFileLoader* fontFileLoader,[Out] IDWriteFontFile** fontFile) + + + + Obtains the reference to the reference key of a font file. The returned reference is valid until the font file object is released. + + the reference to the reference key of a font file. + HRESULT IDWriteFontFile::GetReferenceKey([Out, Buffer] const void** fontFileReferenceKey,[Out] int* fontFileReferenceKeySize) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Obtains the reference to the reference key of a font file. The returned reference is valid until the font file object is released.

+
+

When this method returns, contains an address of a reference to the font file reference key. Note that the reference value is only valid until the font file object it is obtained from is released. This parameter is passed uninitialized.

+

When this method returns, contains the size of the font file reference key in bytes. This parameter is passed uninitialized.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371108 + HRESULT IDWriteFontFile::GetReferenceKey([Out, Buffer] const void** fontFileReferenceKey,[Out] unsigned int* fontFileReferenceKeySize) + IDWriteFontFile::GetReferenceKey +
+ + +

Obtains the file loader associated with a font file object.

+
+

When this method returns, contains the address of a reference to the font file loader associated with the font file object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371104 + HRESULT IDWriteFontFile::GetLoader([Out] IDWriteFontFileLoader** fontFileLoader) + IDWriteFontFile::GetLoader +
+ + +

Analyzes a file and returns whether it represents a font, and whether the font type is supported by the font system.

+
+

TRUE if the font type is supported by the font system; otherwise, .

+

When this method returns, contains a value that indicates the type of the font file. Note that even if isSupportedFontType is , the fontFileType value may be different from .

+

When this method returns, contains a value that indicates the type of the font face. If fontFileType is not equal to , then that can be constructed from the font file.

+

When this method returns, contains the number of font faces contained in the font file.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Important??Certain font file types are recognized, but not supported by the font system. For example, the font system will recognize a file as a Type 1 font file but will not be able to construct a font face object from it. In such situations, Analyze will set isSupportedFontType output parameter to .

+
+ + dd371099 + HRESULT IDWriteFontFile::Analyze([Out] BOOL* isSupportedFontType,[Out] DWRITE_FONT_FILE_TYPE* fontFileType,[Out, Optional] DWRITE_FONT_FACE_TYPE* fontFaceType,[Out] unsigned int* numberOfFaces) + IDWriteFontFile::Analyze +
+ + + Obtains the file loader associated with a font file object. + + HRESULT IDWriteFontFile::GetLoader([Out] IDWriteFontFileLoader** fontFileLoader) + + + +

Encapsulates a collection of font files. The font system uses this interface to enumerate font files when building a font collection.

+
+ + dd371063 + IDWriteFontFileEnumerator + IDWriteFontFileEnumerator +
+ + + 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. + + the value TRUE if the enumerator advances to a file; otherwise, FALSE if the enumerator advances past the last file in the collection. + HRESULT IDWriteFontFileEnumerator::MoveNext([Out] BOOL* hasCurrentFile) + + + + Gets a reference to the current font file. + + a reference to the newly created object. + HRESULT IDWriteFontFileEnumerator::GetCurrentFontFile([Out] IDWriteFontFile** fontFile) + + + + Internal FontFileEnumerator Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + + 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. + + the value TRUE if the enumerator advances to a file; otherwise, FALSE if the enumerator advances past the last file in the collection. + HRESULT IDWriteFontFileEnumerator::MoveNext([Out] BOOL* hasCurrentFile) + + + + Gets a reference to the current font file. + + a reference to the newly created object. + HRESULT IDWriteFontFileEnumerator::GetCurrentFontFile([Out] IDWriteFontFile** fontFile) + + + +

Handles loading font file resources of a particular type from a font file reference key into a font file stream object.

+
+ +

The font file loader interface is recommended to be implemented by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite factory inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed outside of the font file loader implementation as a separate step.

+
+ + dd371075 + IDWriteFontFileLoader + IDWriteFontFileLoader +
+ + + Creates a font file stream object that encapsulates an open file resource. + + + The resource is closed when the last reference to fontFileStream is released. + + A reference to a font file reference key that uniquely identifies the font file resource within the scope of the font loader being used. The buffer allocated for this key must at least be the size, in bytes, specified by fontFileReferenceKeySize. + a reference to the newly created object. + HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) + + + + Internal FontFileLoader Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) + + + +

Handles loading font file resources of a particular type from a font file reference key into a font file stream object.

+
+ +

The font file loader interface is recommended to be implemented by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite factory inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed outside of the font file loader implementation as a separate step.

+
+ + dd371075 + IDWriteFontFileLoader + IDWriteFontFileLoader +
+ + + Creates a font file stream object that encapsulates an open file resource. + + + The resource is closed when the last reference to fontFileStream is released. + + A reference to a font file reference key that uniquely identifies the font file resource within the scope of the font loader being used. The buffer allocated for this key must at least be the size, in bytes, specified by fontFileReferenceKeySize. + a reference to the newly created object. + HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a font file stream object that encapsulates an open file resource.

+
+

A reference to a font file reference key that uniquely identifies the font file resource within the scope of the font loader being used. The buffer allocated for this key must at least be the size, in bytes, specified by fontFileReferenceKeySize.

+

The size of font file reference key, in bytes.

+

When this method returns, contains the address of a reference to the newly created object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The resource is closed when the last reference to fontFileStream is released.

+
+ + dd371077 + HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) + IDWriteFontFileLoader::CreateStreamFromKey +
+ + +

Loads font file data from a custom font file loader.

+
+ + dd371081 + IDWriteFontFileStream + IDWriteFontFileStream +
+ + + Reads a fragment from a font file. + + + Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment. {{DirectWrite}} may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section. + + When this method returns, contains an address of a reference to the start of the font file fragment. This parameter is passed uninitialized. + The offset of the fragment, in bytes, from the beginning of the font file. + The size of the file fragment, in bytes. + When this method returns, contains the address of + a reference to a reference to the client-defined context to be passed to {{ReleaseFileFragment}}. + HRESULT IDWriteFontFileStream::ReadFileFragment([Out, Buffer] const void** fragmentStart,[None] __int64 fileOffset,[None] __int64 fragmentSize,[Out] void** fragmentContext) + + + + Releases a fragment from a file. + + A reference to the client-defined context of a font fragment returned from {{ReadFileFragment}}. + void IDWriteFontFileStream::ReleaseFileFragment([None] void* fragmentContext) + + + + Obtains the total size of a file. + + + Implementing GetFileSize() for asynchronously loaded font files may require downloading the complete file contents. Therefore, this method should be used only for operations that either require a complete font file to be loaded (for example, copying a font file) or that need to make decisions based on the value of the file size (for example, validation against a persisted file size). + + the total size of the file. + HRESULT IDWriteFontFileStream::GetFileSize([Out] __int64* fileSize) + + + + Obtains the last modified time of the file. + + + The "last modified time" is used by DirectWrite font selection algorithms to determine whether one font resource is more up to date than another one. + + the last modified time of the file in the format that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC). + HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] __int64* lastWriteTime) + + + + Internal FontFileStream Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteFontFileStream::ReadFileFragment([Out, Buffer] const void** fragmentStart,[None] __int64 fileOffset,[None] __int64 fragmentSize,[Out] void** fragmentContext) + + + void IDWriteFontFileStream::ReleaseFileFragment([None] void* fragmentContext) + + + HRESULT IDWriteFontFileStream::GetFileSize([Out] __int64* fileSize) + + + HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] __int64* lastWriteTime) + + + +

Loads font file data from a custom font file loader.

+
+ + dd371081 + IDWriteFontFileStream + IDWriteFontFileStream +
+ + + Reads a fragment from a font file. + + + Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment. {{DirectWrite}} may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section. + + When this method returns, contains an address of a reference to the start of the font file fragment. This parameter is passed uninitialized. + The offset of the fragment, in bytes, from the beginning of the font file. + The size of the file fragment, in bytes. + When this method returns, contains the address of + a reference to a reference to the client-defined context to be passed to {{ReleaseFileFragment}}. + HRESULT IDWriteFontFileStream::ReadFileFragment([Out, Buffer] const void** fragmentStart,[None] __int64 fileOffset,[None] __int64 fragmentSize,[Out] void** fragmentContext) + + + + Releases a fragment from a file. + + A reference to the client-defined context of a font fragment returned from {{ReadFileFragment}}. + void IDWriteFontFileStream::ReleaseFileFragment([None] void* fragmentContext) + + + + Obtains the total size of a file. + + + Implementing GetFileSize() for asynchronously loaded font files may require downloading the complete file contents. Therefore, this method should be used only for operations that either require a complete font file to be loaded (for example, copying a font file) or that need to make decisions based on the value of the file size (for example, validation against a persisted file size). + + the total size of the file. + HRESULT IDWriteFontFileStream::GetFileSize([Out] __int64* fileSize) + + + + Obtains the last modified time of the file. + + + The "last modified time" is used by DirectWrite font selection algorithms to determine whether one font resource is more up to date than another one. + + the last modified time of the file in the format that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC). + HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] __int64* lastWriteTime) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Reads a fragment from a font file.

+
+

When this method returns, contains an address of a reference to the start of the font file fragment. This parameter is passed uninitialized.

+

The offset of the fragment, in bytes, from the beginning of the font file.

+

The size of the file fragment, in bytes.

+

When this method returns, contains the address of a reference to a reference to the client-defined context to be passed to ReleaseFileFragment.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment.

DirectWrite may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section.

+
+ + dd371091 + HRESULT IDWriteFontFileStream::ReadFileFragment([Out] const void** fragmentStart,[In] unsigned longlong fileOffset,[In] unsigned longlong fragmentSize,[Out] void** fragmentContext) + IDWriteFontFileStream::ReadFileFragment +
+ + +

Releases a fragment from a file.

+
+

A reference to the client-defined context of a font fragment returned from ReadFileFragment.

+ + dd371095 + void IDWriteFontFileStream::ReleaseFileFragment([In] void* fragmentContext) + IDWriteFontFileStream::ReleaseFileFragment +
+ + +

Obtains the total size of a file.

+
+

When this method returns, contains the total size of the file.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Implementing GetFileSize() for asynchronously loaded font files may require downloading the complete file contents. Therefore, this method should be used only for operations that either require a complete font file to be loaded (for example, copying a font file) or that need to make decisions based on the value of the file size (for example, validation against a persisted file size).

+
+ + dd371084 + HRESULT IDWriteFontFileStream::GetFileSize([Out] unsigned longlong* fileSize) + IDWriteFontFileStream::GetFileSize +
+ + +

Obtains the last modified time of the file.

+
+

When this method returns, contains the last modified time of the file in the format that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC).

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The "last modified time" is used by DirectWrite font selection algorithms to determine whether one font resource is more up to date than another one.

+
+ + dd371089 + HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] unsigned longlong* lastWriteTime) + IDWriteFontFileStream::GetLastWriteTime +
+ + +

Provides interoperability with GDI, such as methods to convert a font face to a structure, or to convert a GDI font description into a font face. It is also used to create bitmap render target objects.

+
+ + dd371172 + IDWriteGdiInterop + IDWriteGdiInterop +
+ + + Creates a font object that matches the properties specified by the LOGFONT structure. + + A structure containing a GDI-compatible font description. + a reference to a newly created . + HRESULT IDWriteGdiInterop::CreateFontFromLOGFONT([In] const LOGFONTW* logFont,[Out] IDWriteFont** font) + + + + Initializes a LOGFONT structure based on the GDI-compatible properties of the specified font. + + + The conversion to a LOGFONT by using ConvertFontToLOGFONT operates at the logical font level and does not guarantee that it will map to a specific physical font. It is not guaranteed that GDI will select the same physical font for displaying text formatted by a LOGFONT as the object that was converted. + + An object to be converted into a GDI-compatible LOGFONT structure. + When this method returns, contains a structure that receives a GDI-compatible font description. + TRUE if the specified font object is part of the system font collection; otherwise, FALSE. + HRESULT IDWriteGdiInterop::ConvertFontToLOGFONT([None] IDWriteFont* font,[In] LOGFONTW* logFont,[Out] BOOL* isSystemFont) + + + + Creates a font object that matches the properties specified by the LOGFONT structure. + + A description. + a reference to a newly created . + HRESULT IDWriteGdiInterop::CreateFontFromLOGFONT([In] const LOGFONTW* logFont,[Out] IDWriteFont** font) + + + + Convert a Direct2D to a . + + a Direct2D Font + a + true if the specified font object is part of the system font collection; otherwise, false. + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a font object that matches the properties specified by the structure.

+
+

A structure containing a GDI-compatible font description.

+

When this method returns, contains an address of a reference to a newly created object if successful; otherwise, null.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371187 + HRESULT IDWriteGdiInterop::CreateFontFromLOGFONT([In] const void* logFont,[Out] IDWriteFont** font) + IDWriteGdiInterop::CreateFontFromLOGFONT +
+ + +

Initializes a structure based on the GDI-compatible properties of the specified font.

+
+

An object to be converted into a GDI-compatible structure.

+

When this method returns, contains a structure that receives a GDI-compatible font description.

+

When this method returns, contains TRUE if the specified font object is part of the system font collection; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The conversion to a by using ConvertFontToLOGFONT operates at the logical font level and does not guarantee that it will map to a specific physical font. It is not guaranteed that GDI will select the same physical font for displaying text formatted by a as the object that was converted.

+
+ + dd371177 + HRESULT IDWriteGdiInterop::ConvertFontToLOGFONT([In] IDWriteFont* font,[In] void* logFont,[Out] BOOL* isSystemFont) + IDWriteGdiInterop::ConvertFontToLOGFONT +
+ + +

Initializes a structure based on the GDI-compatible properties of the specified font.

+
+

An object to be converted into a GDI-compatible structure.

+

When this method returns, contains a reference to a structure that receives a GDI-compatible font description.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The conversion to a by using ConvertFontFaceToLOGFONT operates at the logical font level and does not guarantee that it will map to a specific physical font. It is not guaranteed that GDI will select the same physical font for displaying text formatted by a as the object that was converted.

+
+ + dd371175 + HRESULT IDWriteGdiInterop::ConvertFontFaceToLOGFONT([In] IDWriteFontFace* font,[In] void* logFont) + IDWriteGdiInterop::ConvertFontFaceToLOGFONT +
+ + +

Creates an object that corresponds to the currently selected HFONT of the specified .

+
+

A handle to a device context into which a font has been selected. It is assumed that the client has already performed font mapping and that the font selected into the device context is the actual font to be used for rendering glyphs.

+

Contains an address of a reference to the newly created font face object, or null in case of failure. The font face returned is guaranteed to reference the same physical typeface that would be used for drawing glyphs (but not necessarily characters) using ExtTextOut.

+ +

This function is intended for scenarios in which an application wants to use GDI and Uniscribe 1.x for text layout and shaping, but DirectWrite for final rendering. This function assumes the client is performing text output using glyph indexes.

+
+ + dd371185 + HRESULT IDWriteGdiInterop::CreateFontFaceFromHdc([In] HDC hdc,[Out] IDWriteFontFace** fontFace) + IDWriteGdiInterop::CreateFontFaceFromHdc +
+ + +

Creates an object that encapsulates a bitmap and memory DC (device context) which can be used for rendering glyphs.

+
+

A handle to the optional device context used to create a compatible memory DC (device context).

+

The width of the bitmap render target.

+

The height of the bitmap render target.

+

When this method returns, contains an address of a reference to the newly created object.

+ + dd371182 + HRESULT IDWriteGdiInterop::CreateBitmapRenderTarget([In, Optional] HDC hdc,[In] unsigned int width,[In] unsigned int height,[Out] IDWriteBitmapRenderTarget** renderTarget) + IDWriteGdiInterop::CreateBitmapRenderTarget +
+ + +

Contains the information needed by renderers to draw glyph runs. All coordinates are in device independent pixels (DIPs).

+
+ + dd368089 + DWRITE_GLYPH_RUN + DWRITE_GLYPH_RUN +
+ + +

The physical font face object to draw with.

+
+ + dd368089 + IDWriteFontFace* fontFace + IDWriteFontFace fontFace +
+ + +

The logical size of the font in DIPs (equals 1/96 inch), not points.

+
+ + dd368089 + float fontEmSize + float fontEmSize +
+ + +

The number of glyphs in the glyph run.

+
+ + dd368089 + unsigned int glyphCount + unsigned int glyphCount +
+ + +

A reference to an array of indices to render for the glyph run.

+
+ + dd368089 + const unsigned short* glyphIndices + unsigned short glyphIndices +
+ + +

A reference to an array containing glyph advance widths for the glyph run.

+
+ + dd368089 + const float* glyphAdvances + float glyphAdvances +
+ + +

A reference to an array containing glyph offsets for the glyph run.

+
+ + dd368089 + const DWRITE_GLYPH_OFFSET* glyphOffsets + DWRITE_GLYPH_OFFSET glyphOffsets +
+ + +

If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used. Vertical writing is achieved by specifying isSideways = true and rotating the entire run 90 degrees to the right via a rotate transform.

+
+ + dd368089 + BOOL isSideways + BOOL isSideways +
+ + +

The implicit resolved bidi level of the run. Odd levels indicate right-to-left languages like Hebrew and Arabic, while even levels indicate left-to-right languages like English and Japanese (when written horizontally). For right-to-left languages, the text origin is on the right, and text should be drawn to the left.

+
+ + dd368089 + unsigned int bidiLevel + unsigned int bidiLevel +
+ + + Gets or sets the associated with this GlypRun. + + The font face. + + + + An array of glyph indices. This array contains elements. + + + + + An optional array of glyph advances. This array could be null or contains elements. + + + + + An optional array of glyph offsets. This array could be null or contains elements. + + + + +

Contains low-level information used to render a glyph run.

+
+ +

The alpha texture can be a bi-level alpha texture or a ClearType alpha texture.

A bi-level alpha texture contains one byte per pixel, therefore the size of the buffer for a bi-level texture will be the area of the texture bounds, in bytes. Each byte in a bi-level alpha texture created by CreateAlphaTexture is either set to DWRITE_ALPHA_MAX (that is, 255) or zero.

A ClearType alpha texture contains three bytes per pixel, therefore the size of the buffer for a ClearType alpha texture is three times the area of the texture bounds, in bytes.

+
+ + dd371188 + IDWriteGlyphRunAnalysis + IDWriteGlyphRunAnalysis +
+ + + Creates a glyph run analysis object, which encapsulates information used to render a glyph run. + + The factory. + A structure that contains the properties of the glyph run (font face, advances, and so on). + Number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI bitmap then pixelsPerDip is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 1.25. + A value that specifies the rendering mode, which must be one of the raster rendering modes (that is, not default and not outline). + Specifies the measuring mode to use with glyphs. + The horizontal position (X-coordinate) of the baseline origin, in DIPs. + Vertical position (Y-coordinate) of the baseline origin, in DIPs. + + The glyph run analysis object contains the results of analyzing the glyph run, including the positions of all the glyphs and references to all of the rasterized glyphs in the font cache. + + HRESULT IDWriteFactory::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] DWRITE_RENDERING_MODE renderingMode,[None] DWRITE_MEASURING_MODE measuringMode,[None] float baselineOriginX,[None] float baselineOriginY,[Out] IDWriteGlyphRunAnalysis** glyphRunAnalysis) + + + + Creates a glyph run analysis object, which encapsulates information used to render a glyph run. + + The factory. + A structure that contains the properties of the glyph run (font face, advances, and so on). + Number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI bitmap then pixelsPerDip is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 1.25. + Optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified the emSize and pixelsPerDip. + A value that specifies the rendering mode, which must be one of the raster rendering modes (that is, not default and not outline). + Specifies the measuring mode to use with glyphs. + The horizontal position (X-coordinate) of the baseline origin, in DIPs. + Vertical position (Y-coordinate) of the baseline origin, in DIPs. + + The glyph run analysis object contains the results of analyzing the glyph run, including the positions of all the glyphs and references to all of the rasterized glyphs in the font cache. + + HRESULT IDWriteFactory::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] DWRITE_RENDERING_MODE renderingMode,[None] DWRITE_MEASURING_MODE measuringMode,[None] float baselineOriginX,[None] float baselineOriginY,[Out] IDWriteGlyphRunAnalysis** glyphRunAnalysis) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the bounding rectangle of the physical pixels affected by the glyph run.

+
+

Specifies the type of texture requested. If a bi-level texture is requested, the bounding rectangle includes only bi-level glyphs. Otherwise, the bounding rectangle includes only antialiased glyphs.

+

When this method returns, contains the bounding rectangle of the physical pixels affected by the glyph run, or an empty rectangle if there are no glyphs of the specified texture type.

+ + dd371215 + HRESULT IDWriteGlyphRunAnalysis::GetAlphaTextureBounds([In] DWRITE_TEXTURE_TYPE textureType,[Out] RECT* textureBounds) + IDWriteGlyphRunAnalysis::GetAlphaTextureBounds +
+ + +

Creates an alpha texture of the specified type for glyphs within a specified bounding rectangle.

+
+

A value that specifies the type of texture requested. This can be DWRITE_TEXTURE_BILEVEL_1x1 or . If a bi-level texture is requested, the texture contains only bi-level glyphs. Otherwise, the texture contains only antialiased glyphs.

+

The bounding rectangle of the texture, which can be different than the bounding rectangle returned by GetAlphaTextureBounds.

+

When this method returns, contains the array of alpha values from the texture. The buffer allocated for this array must be at least the size of bufferSize.

+

The size of the alphaValues array, in bytes. The minimum size depends on the dimensions of the rectangle and the type of texture requested.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371189 + HRESULT IDWriteGlyphRunAnalysis::CreateAlphaTexture([In] DWRITE_TEXTURE_TYPE textureType,[In] const RECT* textureBounds,[Out, Buffer] unsigned char* alphaValues,[In] unsigned int bufferSize) + IDWriteGlyphRunAnalysis::CreateAlphaTexture +
+ + +

Gets alpha blending properties required for ClearType blending.

+
+

An object that specifies the ClearType level and enhanced contrast, gamma, pixel geometry, and rendering mode. In most cases, the values returned by the output parameters of this method are based on the properties of this object, unless a GDI-compatible rendering mode was specified.

+

When this method returns, contains the gamma value to use for gamma correction.

+

When this method returns, contains the enhanced contrast value to be used for blending.

+

When this method returns, contains the ClearType level used in the alpha blending.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371190 + HRESULT IDWriteGlyphRunAnalysis::GetAlphaBlendParams([In] IDWriteRenderingParams* renderingParams,[Out] float* blendGamma,[Out] float* blendEnhancedContrast,[Out] float* blendClearTypeLevel) + IDWriteGlyphRunAnalysis::GetAlphaBlendParams +
+ + +

Contains additional properties related to those in .

+
+ + dd368091 + DWRITE_GLYPH_RUN_DESCRIPTION + DWRITE_GLYPH_RUN_DESCRIPTION +
+ + +

An array of characters containing the locale name associated with this run.

+
+ + dd368091 + const wchar_t* localeName + wchar_t localeName +
+ + +

An array of characters containing the text associated with the glyphs.

+
+ + dd368091 + const wchar_t* string + wchar_t string +
+ + +

The number of characters in UTF16 code-units. Note that this may be different than the number of glyphs.

+
+ + dd368091 + unsigned int stringLength + unsigned int stringLength +
+ + +

An array of indices to the glyph indices array, of the first glyphs of all the glyph clusters of the glyphs to render.

+
+ + dd368091 + const unsigned short* clusterMap + unsigned short clusterMap +
+ + +

Corresponding text position in the string this glyph run came from. This is relative to the beginning of the string represented by the object.

+
+ + dd368091 + unsigned int textPosition + unsigned int textPosition +
+ + + A Item. + + + + + A glyph index + + + + + A glyph advance + + + + + A glyph offset + + + + + Internal InlineObject Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteInlineObject::Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] float originX,[None] float originY,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) + + + HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + + + HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) + + + +

Line breakpoint characteristics of a character.

+
+ + dd368098 + DWRITE_LINE_BREAKPOINT + DWRITE_LINE_BREAKPOINT +
+ + + Indicates a breaking condition before the character. + + byte breakConditionBefore + + + + Indicates a breaking condition after the character. + + byte breakConditionAfter + + + +

Indicates a breaking condition before the character.

+
+ + dd368098 + unsigned char breakConditionBefore + unsigned char breakConditionBefore +
+ + +

Indicates a breaking condition after the character.

+
+ + dd368098 + unsigned char breakConditionAfter + unsigned char breakConditionAfter +
+ + +

Indicates that the character is some form of whitespace, which may be meaningful for justification.

+
+ + dd368098 + unsigned char isWhitespace + unsigned char isWhitespace +
+ + +

Indicates that the character is a soft hyphen, often used to indicate hyphenation points inside words.

+
+ + dd368098 + unsigned char isSoftHyphen + unsigned char isSoftHyphen +
+ + +

Reserved for future use.

+
+ + dd368098 + unsigned char padding + unsigned char padding +
+ + +

Represents a collection of strings indexed by locale name.

+
+ +

The set of strings represented by an are indexed by a zero based UINT32 number that maps to a locale. The numeric index for a specific locale is retreived by using the FindLocaleName method.

A common use for the interface is to hold a list of localized font family names created by using the method. The following example shows how to get the family name for the "en-us" locale.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
+            } UINT32 index = 0;	
+             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
+            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
+            } // If the specified locale doesn't exist, select the first on the list.	
+            if (!exists) index = 0; UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371250 + IDWriteLocalizedStrings + IDWriteLocalizedStrings +
+ + + Get the locale name from the language. + + Zero-based index of the locale name to be retrieved. + The locale name from the language + HRESULT IDWriteLocalizedStrings::GetLocaleName([None] int index,[Out, Buffer] wchar_t* localeName,[None] int size) + + + + Get the string from the language/string pair. + + Zero-based index of the string from the language/string pair to be retrieved. + The locale name from the language + HRESULT IDWriteLocalizedStrings::GetLocaleName([None] int index,[Out, Buffer] wchar_t* localeName,[None] int size) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the number of language/string pairs.

+
+

The number of language/string pairs.

+ + dd371256 + unsigned int IDWriteLocalizedStrings::GetCount() + IDWriteLocalizedStrings::GetCount +
+ + +

Gets the zero-based index of the locale name/string pair with the specified locale name.

+
+

A null-terminated array of characters containing the locale name to look for.

+

The zero-based index of the locale name/string pair. This method initializes index to UINT_MAX.

+

When this method returns, contains TRUE if the locale name exists; otherwise, . This method initializes exists to .

+ +

Note that if the locale name does not exist, the return value is a success and the exists parameter is . If you are getting the font family name for a font and the specified locale name does not exist, one option is to set the index to 0 as shown below. There is always at least one locale for a font family.

UINT32 index = 0;	
+             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
+            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
+            } // If the specified locale doesn't exist, select the first on the list.	
+            if (!exists) index = 0;	
+            
+
+ + dd371254 + HRESULT IDWriteLocalizedStrings::FindLocaleName([In, Buffer] const wchar_t* localeName,[Out] unsigned int* index,[Out] BOOL* exists) + IDWriteLocalizedStrings::FindLocaleName +
+ + +

Gets the length in characters (not including the null terminator) of the locale name with the specified index.

+
+

Zero-based index of the locale name to be retrieved.

+

When this method returns, contains the length in characters of the locale name, not including the null terminator.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371262 + HRESULT IDWriteLocalizedStrings::GetLocaleNameLength([In] unsigned int index,[Out] unsigned int* length) + IDWriteLocalizedStrings::GetLocaleNameLength +
+ + +

Copies the locale name with the specified index to the specified array.

+
+

Zero-based index of the locale name to be retrieved.

+

When this method returns, contains a character array, which is null-terminated, that receives the locale name from the language/string pair. The buffer allocated for this array must be at least the size of size, in element count.

+

The size of the array in characters. The size must include space for the terminating null character.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371259 + HRESULT IDWriteLocalizedStrings::GetLocaleName([In] unsigned int index,[Out, Buffer] wchar_t* localeName,[In] unsigned int size) + IDWriteLocalizedStrings::GetLocaleName +
+ + +

Gets the length in characters (not including the null terminator) of the string with the specified index.

+
+

A zero-based index of the language/string pair.

+

The length in characters of the string, not including the null terminator, from the language/string pair.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Use GetStringLength to get the string length before calling the method, as shown in the following code.

UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371269 + HRESULT IDWriteLocalizedStrings::GetStringLength([In] unsigned int index,[Out] unsigned int* length) + IDWriteLocalizedStrings::GetStringLength +
+ + +

Copies the string with the specified index to the specified array.

+
+

The zero-based index of the language/string pair to be examined.

+

The null terminated array of characters that receives the string from the language/string pair. The buffer allocated for this array should be at least the size of size. GetStringLength can be used to get the size of the array before using this method.

+

The size of the array in characters. The size must include space for the terminating null character. GetStringLength can be used to get the size of the array before using this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The string returned must be allocated by the caller. You can get the size of the string by using the GetStringLength method prior to calling GetString, as shown in the following example.

UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371267 + HRESULT IDWriteLocalizedStrings::GetString([In] unsigned int index,[Out, Buffer] wchar_t* stringBuffer,[In] unsigned int size) + IDWriteLocalizedStrings::GetString +
+ + +

Gets the number of language/string pairs.

+
+ + dd371256 + GetCount + GetCount + unsigned int IDWriteLocalizedStrings::GetCount() +
+ + +

Holds the appropriate digits and numeric punctuation for a specified locale.

+
+ + dd371271 + IDWriteNumberSubstitution + IDWriteNumberSubstitution +
+ + + 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). + + A reference to a DirectWrite factory + A value that specifies how to apply number substitution on digits and related punctuation. + The name of the locale to be used in the numberSubstitution object. + A Boolean flag that indicates whether to ignore user overrides. + HRESULT IDWriteFactory::CreateNumberSubstitution([In] DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod,[In] const wchar_t* localeName,[In] BOOL ignoreUserOverride,[Out] IDWriteNumberSubstitution** numberSubstitution) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Defines the pixel snapping properties such as pixels per DIP(device-independent pixel) and the current transform matrix of a text renderer.

+
+ + dd371274 + IDWritePixelSnapping + IDWritePixelSnapping +
+ + + Determines whether pixel snapping is disabled. The recommended default is FALSE, + unless doing animation that requires subpixel vertical placement. + + The context passed to IDWriteTextLayout::Draw. + Receives TRUE if pixel snapping is disabled or FALSE if it not. + HRESULT IsPixelSnappingDisabled([None] void* clientDrawingContext,[Out] BOOL* isDisabled) + + + + Gets a transform that maps abstract coordinates to DIPs. + + The drawing context passed to . + a structure which has transform information for pixel snapping. + HRESULT GetCurrentTransform([None] void* clientDrawingContext,[Out] DWRITE_MATRIX* transform) + + + + Gets the number of physical pixels per DIP. + + + Because a DIP (device-independent pixel) is 1/96 inch, the pixelsPerDip value is the number of logical pixels per inch divided by 96. + + The drawing context passed to . + the number of physical pixels per DIP + HRESULT GetPixelsPerDip([None] void* clientDrawingContext,[Out] FLOAT* pixelsPerDip) + + + + Internal TessellationSink Callback + + + + + Determines whether pixel snapping is disabled. The recommended default is FALSE, + unless doing animation that requires subpixel vertical placement. + + This pointer + The context passed to IDWriteTextLayout::Draw. + Output disabled + Receives TRUE if pixel snapping is disabled or FALSE if it not. + HRESULT IsPixelSnappingDisabled([None] void* clientDrawingContext,[Out] BOOL* isDisabled) + + + + Gets a transform that maps abstract coordinates to DIPs. + + This pointer + The drawing context passed to . + Matrix transform + a structure which has transform information for pixel snapping. + HRESULT GetCurrentTransform([None] void* clientDrawingContext,[Out] DWRITE_MATRIX* transform) + + + + Gets the number of physical pixels per DIP. + + + Because a DIP (device-independent pixel) is 1/96 inch, the pixelsPerDip value is the number of logical pixels per inch divided by 96. + + This pointer + The drawing context passed to . + Dip + the number of physical pixels per DIP + HRESULT GetPixelsPerDip([None] void* clientDrawingContext,[Out] FLOAT* pixelsPerDip) + + + +

Represents text rendering settings such as ClearType level, enhanced contrast, and gamma correction for glyph rasterization and filtering.

An application typically obtains a rendering parameters object by calling the method.

+
+ + dd371285 + IDWriteRenderingParams + IDWriteRenderingParams +
+ + + 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. + + A reference to a DirectWrite factory + HRESULT IDWriteFactory::CreateRenderingParams([Out] IDWriteRenderingParams** renderingParams) + + + + 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. + + A reference to a DirectWrite factory + A handle for the specified monitor. + HRESULT IDWriteFactory::CreateMonitorRenderingParams([None] void* monitor,[Out] IDWriteRenderingParams** renderingParams) + + + + Creates a rendering parameters object with the specified properties. + + A reference to a DirectWrite factory + The gamma level to be set for the new rendering parameters object. + The enhanced contrast level to be set for the new rendering parameters object. + The ClearType level to be set for the new rendering parameters object. + 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. + A value that represents the method (for example, ClearType natural quality) for rendering glyphs. + HRESULT IDWriteFactory::CreateCustomRenderingParams([None] float gamma,[None] float enhancedContrast,[None] float clearTypeLevel,[None] DWRITE_PIXEL_GEOMETRY pixelGeometry,[None] DWRITE_RENDERING_MODE renderingMode,[Out] IDWriteRenderingParams** renderingParams) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.

+
+

Returns the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.

+ +

The gamma value is used for gamma correction, which compensates for the non-linear luminosity response of most monitors.

+
+ + dd371295 + float IDWriteRenderingParams::GetGamma() + IDWriteRenderingParams::GetGamma +
+ + +

Gets the enhanced contrast property of the rendering parameters object. Valid values are greater than or equal to zero.

+
+

Returns the amount of contrast enhancement. Valid values are greater than or equal to zero.

+ +

Enhanced contrast is the amount to increase the darkness of text, and typically ranges from 0 to 1. Zero means no contrast enhancement.

+
+ + dd371290 + float IDWriteRenderingParams::GetEnhancedContrast() + IDWriteRenderingParams::GetEnhancedContrast +
+ + +

Gets the ClearType level of the rendering parameters object.

+
+

The ClearType level of the rendering parameters object.

+ +

The ClearType level represents the amount of ClearType ? that is, the degree to which the red, green, and blue subpixels of each pixel are treated differently. Valid values range from zero (meaning no ClearType, which is equivalent to grayscale anti-aliasing) to one (meaning full ClearType)

+
+ + dd371288 + float IDWriteRenderingParams::GetClearTypeLevel() + IDWriteRenderingParams::GetClearTypeLevel +
+ + +

Gets the pixel geometry of the rendering parameters object.

+
+

A value that indicates the type of pixel geometry used in the rendering parameters object.

+ + dd371297 + DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams::GetPixelGeometry() + IDWriteRenderingParams::GetPixelGeometry +
+ + +

Gets the rendering mode of the rendering parameters object.

+
+

A value that indicates the rendering mode of the rendering parameters object.

+ +

By default, the rendering mode is initialized to , which means the rendering mode is determined automatically based on the font and size. To determine the recommended rendering mode to use for a given font and size and rendering parameters object, use the method.

+
+ + dd371300 + DWRITE_RENDERING_MODE IDWriteRenderingParams::GetRenderingMode() + IDWriteRenderingParams::GetRenderingMode +
+ + +

Gets the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.

+
+ +

The gamma value is used for gamma correction, which compensates for the non-linear luminosity response of most monitors.

+
+ + dd371295 + GetGamma + GetGamma + float IDWriteRenderingParams::GetGamma() +
+ + +

Gets the enhanced contrast property of the rendering parameters object. Valid values are greater than or equal to zero.

+
+ +

Enhanced contrast is the amount to increase the darkness of text, and typically ranges from 0 to 1. Zero means no contrast enhancement.

+
+ + dd371290 + GetEnhancedContrast + GetEnhancedContrast + float IDWriteRenderingParams::GetEnhancedContrast() +
+ + +

Gets the ClearType level of the rendering parameters object.

+
+ +

The ClearType level represents the amount of ClearType ? that is, the degree to which the red, green, and blue subpixels of each pixel are treated differently. Valid values range from zero (meaning no ClearType, which is equivalent to grayscale anti-aliasing) to one (meaning full ClearType)

+
+ + dd371288 + GetClearTypeLevel + GetClearTypeLevel + float IDWriteRenderingParams::GetClearTypeLevel() +
+ + +

Gets the pixel geometry of the rendering parameters object.

+
+ + dd371297 + GetPixelGeometry + GetPixelGeometry + DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams::GetPixelGeometry() +
+ + +

Gets the rendering mode of the rendering parameters object.

+
+ +

By default, the rendering mode is initialized to , which means the rendering mode is determined automatically based on the font and size. To determine the recommended rendering mode to use for a given font and size and rendering parameters object, use the method.

+
+ + dd371300 + GetRenderingMode + GetRenderingMode + DWRITE_RENDERING_MODE IDWriteRenderingParams::GetRenderingMode() +
+ + + Defines glyph characteristic information that an application needs to implement justification. + + + + + Justification cannot be applied at the glyph. + + + + + The glyph represents a blank in an Arabic run. + + + + + An inter-character justification point follows the glyph. + + + + + The glyph represents a blank outside an Arabic run. + + + + + Normal middle-of-word glyph that connects to the right (begin). + + + + + Kashida (U+0640) in the middle of the word. + + + + + Final form of an alef-like (U+0627, U+0625, U+0623, U+0622). + + + + + Final form of Ha (U+0647). + + + + + Final form of Ra (U+0631). + + + + + Final form of Ba (U+0628). + + + + + Ligature of alike (U+0628,U+0631). + + + + + Highest priority: initial shape of Seen class (U+0633). + + + + + Highest priority: medial shape of Seen class (U+0633). + + + + +

Contains shaping output properties for an output glyph.

+
+ + dd368123 + DWRITE_SHAPING_GLYPH_PROPERTIES + DWRITE_SHAPING_GLYPH_PROPERTIES +
+ + + Indicates that the glyph has justification applied. + + short justification + + + +

Indicates that the glyph has justification applied.

+
+ + dd368123 + unsigned short justification + unsigned short justification +
+ + +

Indicates that the glyph is the start of a cluster.

+
+ + dd368123 + unsigned short isClusterStart + unsigned short isClusterStart +
+ + +

Indicates that the glyph is a diacritic mark.

+
+ + dd368123 + unsigned short isDiacritic + unsigned short isDiacritic +
+ + +

Indicates that the glyph is a word boundary with no visible space.

+
+ + dd368123 + unsigned short isZeroWidthSpace + unsigned short isZeroWidthSpace +
+ + +

Reserved for future use.

+
+ + dd368123 + unsigned short reserved + unsigned short reserved +
+ + +

This interface is implemented by the text analyzer's client to receive the output of a given text analysis.

+
+ +

The text analyzer disregards any current state of the analysis sink, therefore, a Set method call on a range overwrites the previously set analysis result of the same range.

+
+ + dd371303 + IDWriteTextAnalysisSink + IDWriteTextAnalysisSink +
+ + + Reports script analysis for the specified text range. + + The starting position from which to report. + The number of UTF16 units of the reported range. + A reference to a structure that contains a zero-based index representation of a writing system script and a value indicating whether additional shaping of text is required. + A successful code or error code to stop analysis. + HRESULT IDWriteTextAnalysisSink::SetScriptAnalysis([None] int textPosition,[None] int textLength,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis) + + + + Sets line-break opportunities for each character, starting from the specified position. + + The starting text position from which to report. + The number of UTF16 units of the reported range. + A reference to a structure that contains breaking conditions set for each character from the starting position to the end of the specified range. + A successful code or error code to stop analysis. + HRESULT IDWriteTextAnalysisSink::SetLineBreakpoints([None] int textPosition,[None] int textLength,[In, Buffer] const DWRITE_LINE_BREAKPOINT* lineBreakpoints) + + + + Sets a bidirectional level on the range, which is called once per run change (either explicit or resolved implicit). + + The starting position from which to report. + The number of UTF16 units of the reported range. + The explicit level from the paragraph reading direction and any embedded control codes RLE/RLO/LRE/LRO/PDF, which is determined before any additional rules. + The final implicit level considering the explicit level and characters' natural directionality, after all Bidi rules have been applied. + A successful code or error code to stop analysis. + HRESULT IDWriteTextAnalysisSink::SetBidiLevel([None] int textPosition,[None] int textLength,[None] int explicitLevel,[None] int resolvedLevel) + + + + Sets the number substitution on the text range affected by the text analysis. + + The starting position from which to report. + The number of UTF16 units of the reported range. + An object that holds the appropriate digits and numeric punctuation for a given locale. Use to create this object. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteTextAnalysisSink::SetNumberSubstitution([None] int textPosition,[None] int textLength,[None] IDWriteNumberSubstitution* numberSubstitution) + + + + Internal TextAnalysisSink Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteTextAnalysisSink::SetScriptAnalysis([None] int textPosition,[None] int textLength,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis) + + + HRESULT IDWriteTextAnalysisSink::SetLineBreakpoints([None] int textPosition,[None] int textLength,[In, Buffer] const DWRITE_LINE_BREAKPOINT* lineBreakpoints) + + + HRESULT IDWriteTextAnalysisSink::SetBidiLevel([None] int textPosition,[None] int textLength,[None] int explicitLevel,[None] int resolvedLevel) + + + HRESULT IDWriteTextAnalysisSink::SetNumberSubstitution([None] int textPosition,[None] int textLength,[None] IDWriteNumberSubstitution* numberSubstitution) + + + +

Implemented by the text analyzer's client to provide text to the analyzer. It allows the separation between the logical view of text as a continuous stream of characters identifiable by unique text positions, and the actual memory layout of potentially discrete blocks of text in the client's backing store.

+
+ +

If any of these callbacks returns an error, then the analysis functions will stop prematurely and return a callback error. Note that rather than return E_NOTIMPL, an application should stub the method and return a constant/null and .

+
+ + dd371318 + IDWriteTextAnalysisSource + IDWriteTextAnalysisSource +
+ + + Gets a block of text starting at the specified text position. + + + Returning NULL indicates the end of text, which is the position after the last character. This function is called iteratively for each consecutive block, tying together several fragmented blocks in the backing store into a virtual contiguous string. Although applications can implement sparse textual content that maps only part of the backing store, the application must map any text that is in the range passed to any analysis functions. + + The first position of the piece to obtain. All positions are in UTF16 code units, not whole characters, which matters when supplementary characters are used. + a block of text + HRESULT IDWriteTextAnalysisSource::GetTextAtPosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) + + + + Gets a block of text immediately preceding the specified position. + + + NULL indicates no chunk available at the specified position, either because textPosition equals 0, textPosition is greater than the entire text content length, or the queried position is not mapped into the application's backing store. Although applications can implement sparse textual content that maps only part of the backing store, the application must map any text that is in the range passed to any analysis functions. + + The position immediately after the last position of the block of text to obtain. + text immediately preceding the specified position + HRESULT IDWriteTextAnalysisSource::GetTextBeforePosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) + + + + Gets the locale name on the range affected by the text analysis. + + The text position to examine. + Contains the length of the text being affected by the text analysis up to the next differing locale. + + the locale name on the range affected by the text analysis + + HRESULT IDWriteTextAnalysisSource::GetLocaleName([None] int textPosition,[Out] int* textLength,[Out] const wchar_t** localeName) + + The localeName reference must remain valid until the next call or until the analysis returns. + + + + + Gets the number substitution from the text range affected by the text analysis. + + + Any implementation should return the number substitution with an incremented reference count, and the analysis will release when finished with it (either before the next call or before it returns). However, the sink callback may hold onto it after that. + + The starting position from which to report. + Contains the length of the text, in characters, remaining in the text range up to the next differing number substitution. + the number substitution from the text range affected by the text analysis. + HRESULT IDWriteTextAnalysisSource::GetNumberSubstitution([None] int textPosition,[Out] int* textLength,[Out] IDWriteNumberSubstitution** numberSubstitution) + + + + Gets the paragraph reading direction. + + The reading direction of the current paragraph. + DWRITE_READING_DIRECTION IDWriteTextAnalysisSource::GetParagraphReadingDirection() + + + + Internal TextAnalysisSource Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteTextAnalysisSource::GetTextAtPosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) + + + HRESULT IDWriteTextAnalysisSource::GetTextBeforePosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) + + + DWRITE_READING_DIRECTION IDWriteTextAnalysisSource::GetParagraphReadingDirection() + + + HRESULT IDWriteTextAnalysisSource::GetLocaleName([None] int textPosition,[Out] int* textLength,[Out] const wchar_t** localeName) + + + HRESULT IDWriteTextAnalysisSource::GetNumberSubstitution([None] int textPosition,[Out] int* textLength,[Out] IDWriteNumberSubstitution** numberSubstitution) + + + +

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.

+
+ + dd316607 + IDWriteTextAnalyzer + IDWriteTextAnalyzer +
+ + + Returns an interface for performing text analysis. + + A reference to a DirectWrite factory + HRESULT IDWriteFactory::CreateTextAnalyzer([Out] IDWriteTextAnalyzer** textAnalyzer) + + + + Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink callback {{SetScript}}. + + A reference to the source object to analyze. + The starting text position within the source object. + The text length to analyze. + A reference to the sink callback object that receives the text analysis. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + + HRESULT IDWriteTextAnalyzer::AnalyzeScript([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) + + + + Analyzes a text range for script directionality, reading attributes from the source and reporting levels to the sink callback {{SetBidiLevel}}. + + A reference to a source object to analyze. + The starting text position within the source object. + The text length to analyze. + A reference to the sink callback object that receives the text analysis. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + + HRESULT IDWriteTextAnalyzer::AnalyzeBidi([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) + + While the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs. Otherwise, the returned levels may be wrong, because the Bidi algorithm is meant to apply to the paragraph as a whole. + + + + + 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}}. + + The source object to analyze. + The starting position within the source object. + The length to analyze. + A reference to the sink callback object that receives the text analysis. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + + HRESULT IDWriteTextAnalyzer::AnalyzeNumberSubstitution([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) + + Although the function can handle multiple ranges of differing number substitutions, the text ranges should not arbitrarily split the middle of numbers. Otherwise, it will treat the numbers separately and will not translate any intervening punctuation. + + + + + Analyzes a text range for potential breakpoint opportunities, reading attributes from the source and reporting breakpoint opportunities to the sink callback {{SetLineBreakpoints}}. + + A reference to the source object to analyze. + The starting text position within the source object. + The text length to analyze. + A reference to the sink callback object that receives the text analysis. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + + HRESULT IDWriteTextAnalyzer::AnalyzeLineBreakpoints([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) + + Although the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs, unless the specified text span is considered a whole unit. Otherwise, the returned properties for the first and last characters will inappropriately allow breaks. + + + + + Gets the glyphs (TODO doc) + + The text string. + Length of the text. + The font face. + if set to true [is sideways]. + if set to true [is right to left]. + The script analysis. + Name of the locale. + The number substitution. + The features. + The feature range lengths. + The max glyph count. + The cluster map. + The text props. + The glyph indices. + The glyph props. + The actual glyph count. + + If the method succeeds, it returns . + + HRESULT IDWriteTextAnalyzer::GetGlyphs([In, Buffer] const wchar_t* textString,[In] unsigned int textLength,[In] IDWriteFontFace* fontFace,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] IDWriteNumberSubstitution* numberSubstitution,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[In] unsigned int maxGlyphCount,[Out, Buffer] unsigned short* clusterMap,[Out, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[Out, Buffer] unsigned short* glyphIndices,[Out, Buffer] DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[Out] unsigned int* actualGlyphCount) + + + + Gets the glyph placements. + + The text string. + The cluster map. + The text props. + Length of the text. + The glyph indices. + The glyph props. + The glyph count. + The font face. + Size of the font in ems. + if set to true [is sideways]. + if set to true [is right to left]. + The script analysis. + Name of the locale. + The features. + The feature range lengths. + The glyph advances. + The glyph offsets. + + If the method succeeds, it returns . + + HRESULT IDWriteTextAnalyzer::GetGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) + + + + Gets the GDI compatible glyph placements. + + The text string. + The cluster map. + The text props. + Length of the text. + The glyph indices. + The glyph props. + The glyph count. + The font face. + Size of the font em. + The pixels per dip. + The transform. + if set to true [use GDI natural]. + if set to true [is sideways]. + if set to true [is right to left]. + The script analysis. + Name of the locale. + The features. + The feature range lengths. + The glyph advances. + The glyph offsets. + + If the method succeeds, it returns . + + HRESULT IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) + + + + Allocates the features from the jagged array.. + + The features. + A pointer to the allocated native features or 0 if features is null or empty. + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink callback SetScript.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316620 + HRESULT IDWriteTextAnalyzer::AnalyzeScript([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) + IDWriteTextAnalyzer::AnalyzeScript +
+ + +

Analyzes a text range for script directionality, reading attributes from the source and reporting levels to the sink callback SetBidiLevel.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

While the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs. Otherwise, the returned levels may be wrong, because the Bidi algorithm is meant to apply to the paragraph as a whole.

+
+ + dd316610 + HRESULT IDWriteTextAnalyzer::AnalyzeBidi([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) + IDWriteTextAnalyzer::AnalyzeBidi +
+ + +

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.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Although the function can handle multiple ranges of differing number substitutions, the text ranges should not arbitrarily split the middle of numbers. Otherwise, it will treat the numbers separately and will not translate any intervening punctuation.

+
+ + dd316616 + HRESULT IDWriteTextAnalyzer::AnalyzeNumberSubstitution([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) + IDWriteTextAnalyzer::AnalyzeNumberSubstitution +
+ + +

Analyzes a text range for potential breakpoint opportunities, reading attributes from the source and reporting breakpoint opportunities to the sink callback SetLineBreakpoints.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Although the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs, unless the specified text span is considered a whole unit. Otherwise, the returned properties for the first and last characters will inappropriately allow breaks.

+
+ + dd316613 + HRESULT IDWriteTextAnalyzer::AnalyzeLineBreakpoints([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) + IDWriteTextAnalyzer::AnalyzeLineBreakpoints +
+ + +

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.

+
+

An array of characters to convert to glyphs.

+

The length of textString.

+

The font face that is the source of the output glyphs.

+

A Boolean flag set to TRUE if the text is intended to be drawn vertically.

+

A Boolean flag set to TRUE for right-to-left text.

+

A reference to a Script analysis result from an AnalyzeScript call.

+

The locale to use when selecting glyphs. For example the same character may map to different glyphs for ja-jp versus zh-chs. If this is null, then the default mapping based on the script is used.

+

A reference to an optional number substitution which selects the appropriate glyphs for digits and related numeric characters, depending on the results obtained from AnalyzeNumberSubstitution. Passing null indicates that no substitution is needed and that the digits should receive nominal glyphs.

+

An array of references to the sets of typographic features to use in each feature range.

+

The length of each feature range, in characters. The sum of all lengths should be equal to textLength.

+

The number of feature ranges.

+

The maximum number of glyphs that can be returned.

+

When this method returns, contains the mapping from character ranges to glyph ranges.

+

When this method returns, contains a reference to an array of structures that contains shaping properties for each character.

+

The output glyph indices.

+

When this method returns, contains a reference to an array of structures that contain shaping properties for each output glyph.

+

When this method returns, contains the actual number of glyphs returned if the call succeeds.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Note that the mapping from characters to glyphs is, in general, many-to-many. The recommended estimate for the per-glyph output buffers is (3 * textLength / 2 + 16). This is not guaranteed to be sufficient. The value of the actualGlyphCount parameter is only valid if the call succeeds. In the event that maxGlyphCount is not big enough, HRESULT_FROM_WIN32() will be returned. The application should allocate a larger buffer and try again.

+
+ + dd316625 + HRESULT IDWriteTextAnalyzer::GetGlyphs([In, Buffer] const wchar_t* textString,[In] unsigned int textLength,[In] IDWriteFontFace* fontFace,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] IDWriteNumberSubstitution* numberSubstitution,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[In] unsigned int maxGlyphCount,[Out, Buffer] unsigned short* clusterMap,[Out, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[Out, Buffer] unsigned short* glyphIndices,[Out, Buffer] DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[Out] unsigned int* actualGlyphCount) + IDWriteTextAnalyzer::GetGlyphs +
+ + +

Places glyphs output from the GetGlyphs method according to the font and the writing system's rendering rules.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316622 + HRESULT IDWriteTextAnalyzer::GetGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) + IDWriteTextAnalyzer::GetGlyphPlacements +
+ + +

Place glyphs output from the GetGlyphs method according to the font and the writing system's rendering rules.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd941790 + HRESULT IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) + IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements +
+ + +

The interface describes the font and paragraph properties used to format text, and it describes locale information.

+
+ +

To get a reference to the interface, the application must call the method as shown in the following code.

 if (SUCCEEDED(hr))	
+            { hr = pDWriteFactory_->CreateTextFormat( L"Gabriola", null, , , , 72.0f, L"en-us", &pTextFormat_ );	
+            } 

When creating an object using the CreateTextFormat function, the application specifies the font family, font collection, font weight, font size, and locale name for the text format.

These properties cannot be changed after the object is created. To change these properties, a new object must be created with the desired properties.

The interface is used to draw text with a single format

To draw text with multiple formats, or to use a custom text renderer, use the interface. enables the application to change the format for ranges of text within the string. The takes an object as a parameter and initially applies the format information to the entire string.

This object may not be thread-safe, and it may carry the state of text format change.

DirectWrite and Direct2D

To draw simple text with a single format, Direct2D provides the method, which draws a string using the format information provided by an object.

+
+ + dd316628 + IDWriteTextFormat + IDWriteTextFormat +
+ + + Creates a text format object used for text layout with normal weight, style and stretch. + + an instance of + An array of characters that contains the name of the font family + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + + Creates a text format object used for text layout with normal stretch. + + an instance of + An array of characters that contains the name of the font family + A value that indicates the font weight for the text object created by this method. + A value that indicates the font style for the text object created by this method. + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + + Creates a text format object used for text layout. + + an instance of + An array of characters that contains the name of the font family + A value that indicates the font weight for the text object created by this method. + A value that indicates the font style for the text object created by this method. + A value that indicates the font stretch for the text object created by this method. + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + + Creates a text format object used for text layout. + + an instance of + An array of characters that contains the name of the font family + A pointer to a font collection object. When this is NULL, indicates the system font collection. + A value that indicates the font weight for the text object created by this method. + A value that indicates the font style for the text object created by this method. + A value that indicates the font stretch for the text object created by this method. + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + + Creates a text format object used for text layout. + + an instance of + An array of characters that contains the name of the font family + A pointer to a font collection object. When this is NULL, indicates the system font collection. + A value that indicates the font weight for the text object created by this method. + A value that indicates the font style for the text object created by this method. + A value that indicates the font stretch for the text object created by this method. + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + An array of characters that contains the locale name. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + +

Sets trimming options for text overflowing the layout width.

+
+

Text trimming options.

+

Application-defined omission sign. This parameter may be null. See for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ dd316712 + HRESULT IDWriteTextFormat::SetTrimming([In] const DWRITE_TRIMMING* trimmingOptions,[In] IDWriteInlineObject* trimmingSign) + IDWriteTextFormat::SetTrimming +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the alignment of text in a paragraph, relative to the leading and trailing edge of a layout box for a interface.

+
+ No documentation. +

This method can return one of the following values.

Return codeDescription

The method succeeded.

E_INVALIDARG

The textAlignment argument is invalid.

?

+ +

The text can be aligned to the leading or trailing edge of the layout box, or it can be centered. The following illustration shows text with the alignment set to , , and , respectively.

Note??The alignment is dependent on reading direction, the above is for left-to-right reading direction. For right-to-left reading direction it would be the opposite.

See for more information.

+
+ + dd316709 + HRESULT IDWriteTextFormat::SetTextAlignment([In] DWRITE_TEXT_ALIGNMENT textAlignment) + IDWriteTextFormat::SetTextAlignment +
+ + +

Sets the alignment option of a paragraph relative to the layout box's top and bottom edge.

+
+

The paragraph alignment option being set for a paragraph; see for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316702 + HRESULT IDWriteTextFormat::SetParagraphAlignment([In] DWRITE_PARAGRAPH_ALIGNMENT paragraphAlignment) + IDWriteTextFormat::SetParagraphAlignment +
+ + +

Sets the word wrapping option.

+
+

The word wrapping option being set for a paragraph; see for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316715 + HRESULT IDWriteTextFormat::SetWordWrapping([In] DWRITE_WORD_WRAPPING wordWrapping) + IDWriteTextFormat::SetWordWrapping +
+ + +

Sets the paragraph reading direction.

+
+

The text reading direction (for example, for languages, such as Arabic, that read from right to left) for a paragraph.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316705 + HRESULT IDWriteTextFormat::SetReadingDirection([In] DWRITE_READING_DIRECTION readingDirection) + IDWriteTextFormat::SetReadingDirection +
+ + +

Sets the paragraph flow direction.

+
+

The paragraph flow direction; see for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316691 + HRESULT IDWriteTextFormat::SetFlowDirection([In] DWRITE_FLOW_DIRECTION flowDirection) + IDWriteTextFormat::SetFlowDirection +
+ + +

Sets a fixed distance between two adjacent tab stops.

+
+

The fixed distance between two adjacent tab stops.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316695 + HRESULT IDWriteTextFormat::SetIncrementalTabStop([In] float incrementalTabStop) + IDWriteTextFormat::SetIncrementalTabStop +
+ + +

Sets trimming options for text overflowing the layout width.

+
+

Text trimming options.

+

Application-defined omission sign. This parameter may be null. See for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316712 + HRESULT IDWriteTextFormat::SetTrimming([In] const DWRITE_TRIMMING* trimmingOptions,[In] IDWriteInlineObject* trimmingSign) + IDWriteTextFormat::SetTrimming +
+ + +

Sets the line spacing.

+
+

Specifies how line height is being determined; see for more information.

+

The line height, or distance between one baseline to another.

+

The distance from top of line to baseline. A reasonable ratio to lineSpacing is 80 percent.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

For the default method, spacing depends solely on the content. For uniform spacing, the specified line height overrides the content.

+
+ + dd316698 + HRESULT IDWriteTextFormat::SetLineSpacing([In] DWRITE_LINE_SPACING_METHOD lineSpacingMethod,[In] float lineSpacing,[In] float baseline) + IDWriteTextFormat::SetLineSpacing +
+ + +

Gets the alignment option of text relative to the layout box's leading and trailing edge.

+
+

Returns the text alignment option of the current paragraph.

+ + dd316681 + DWRITE_TEXT_ALIGNMENT IDWriteTextFormat::GetTextAlignment() + IDWriteTextFormat::GetTextAlignment +
+ + +

Gets the alignment option of a paragraph which is relative to the top and bottom edges of a layout box.

+
+

A value that indicates the current paragraph alignment option.

+ + dd316675 + DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat::GetParagraphAlignment() + IDWriteTextFormat::GetParagraphAlignment +
+ + +

Gets the word wrapping option.

+
+

Returns the word wrapping option; see for more information.

+ + dd316688 + DWRITE_WORD_WRAPPING IDWriteTextFormat::GetWordWrapping() + IDWriteTextFormat::GetWordWrapping +
+ + +

Gets the current reading direction for text in a paragraph.

+
+

A value that indicates the current reading direction for text in a paragraph.

+ + dd316678 + DWRITE_READING_DIRECTION IDWriteTextFormat::GetReadingDirection() + IDWriteTextFormat::GetReadingDirection +
+ + +

Gets the direction that text lines flow.

+
+

The direction that text lines flow within their parent container. For example, indicates that text lines are placed from top to bottom.

+ + dd316631 + DWRITE_FLOW_DIRECTION IDWriteTextFormat::GetFlowDirection() + IDWriteTextFormat::GetFlowDirection +
+ + +

Gets the incremental tab stop position.

+
+

The incremental tab stop value.

+ + dd316655 + float IDWriteTextFormat::GetIncrementalTabStop() + IDWriteTextFormat::GetIncrementalTabStop +
+ + +

Gets the trimming options for text that overflows the layout box.

+
+

When this method returns, it contains a reference to a structure that holds the text trimming options for the overflowing text.

+

When this method returns, contains an address of a reference to a trimming omission sign. This parameter may be null.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316684 + HRESULT IDWriteTextFormat::GetTrimming([Out] DWRITE_TRIMMING* trimmingOptions,[Out] IDWriteInlineObject** trimmingSign) + IDWriteTextFormat::GetTrimming +
+ + +

Gets the line spacing adjustment set for a multiline text paragraph.

+
+

A value that indicates how line height is determined.

+

When this method returns, contains the line height, or distance between one baseline to another.

+

When this method returns, contains the distance from top of line to baseline. A reasonable ratio to lineSpacing is 80 percent.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316657 + HRESULT IDWriteTextFormat::GetLineSpacing([Out] DWRITE_LINE_SPACING_METHOD* lineSpacingMethod,[Out] float* lineSpacing,[Out] float* baseline) + IDWriteTextFormat::GetLineSpacing +
+ + +

Gets the current font collection.

+
+

When this method returns, contains an address of a reference to the font collection being used for the current text.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316633 + HRESULT IDWriteTextFormat::GetFontCollection([Out] IDWriteFontCollection** fontCollection) + IDWriteTextFormat::GetFontCollection +
+ + +

Gets the length of the font family name.

+
+

The size of the character array, in character count, not including the terminated null character.

+ + dd316640 + unsigned int IDWriteTextFormat::GetFontFamilyNameLength() + IDWriteTextFormat::GetFontFamilyNameLength +
+ + +

Gets a copy of the font family name.

+
+

When this method returns, contains a reference to a character array, which is null-terminated, that receives the current font family name. The buffer allocated for this array should be at least the size, in elements, of nameSize.

+

The size of the fontFamilyName character array, in character count, including the terminated null character. To find the size of fontFamilyName, use GetFontFamilyNameLength.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316636 + HRESULT IDWriteTextFormat::GetFontFamilyName([Out, Buffer] wchar_t* fontFamilyName,[In] unsigned int nameSize) + IDWriteTextFormat::GetFontFamilyName +
+ + +

Gets the font weight of the text.

+
+

A value that indicates the type of weight (such as normal, bold, or black).

+ + dd316652 + DWRITE_FONT_WEIGHT IDWriteTextFormat::GetFontWeight() + IDWriteTextFormat::GetFontWeight +
+ + +

Gets the font style of the text.

+
+

A value which indicates the type of font style (such as slope or incline).

+ + dd316649 + DWRITE_FONT_STYLE IDWriteTextFormat::GetFontStyle() + IDWriteTextFormat::GetFontStyle +
+ + +

Gets the font stretch of the text.

+
+

A value which indicates the type of font stretch (such as normal or condensed).

+ + dd316646 + DWRITE_FONT_STRETCH IDWriteTextFormat::GetFontStretch() + IDWriteTextFormat::GetFontStretch +
+ + +

Gets the font size in DIP unites.

+
+

The current font size in DIP units.

+ + dd316643 + float IDWriteTextFormat::GetFontSize() + IDWriteTextFormat::GetFontSize +
+ + +

Gets the length of the locale name.

+
+

The size of the character array in character count, not including the terminated null character.

+ + dd316674 + unsigned int IDWriteTextFormat::GetLocaleNameLength() + IDWriteTextFormat::GetLocaleNameLength +
+ + +

Gets a copy of the locale name.

+
+

Contains a character array that receives the current locale name.

+

The size of the character array, in character count, including the terminated null character. Use GetLocaleNameLength to get the size of the locale name character array.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316659 + HRESULT IDWriteTextFormat::GetLocaleName([Out, Buffer] wchar_t* localeName,[In] unsigned int nameSize) + IDWriteTextFormat::GetLocaleName +
+ + + Gets a copy of the font family name. + + the current font family name. + HRESULT IDWriteTextFormat::GetFontFamilyName([Out, Buffer] wchar_t* fontFamilyName,[None] int nameSize) + + + + Gets a copy of the locale name. + + the current locale name. + HRESULT IDWriteTextFormat::GetLocaleName([Out, Buffer] wchar_t* localeName,[None] int nameSize) + + + +

Gets or sets the alignment option of text relative to the layout box's leading and trailing edge.

+
+ + dd316681 + GetTextAlignment / SetTextAlignment + GetTextAlignment + DWRITE_TEXT_ALIGNMENT IDWriteTextFormat::GetTextAlignment() +
+ + +

Gets or sets the alignment option of a paragraph which is relative to the top and bottom edges of a layout box.

+
+ + dd316675 + GetParagraphAlignment / SetParagraphAlignment + GetParagraphAlignment + DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat::GetParagraphAlignment() +
+ + +

Gets or sets the word wrapping option.

+
+ + dd316688 + GetWordWrapping / SetWordWrapping + GetWordWrapping + DWRITE_WORD_WRAPPING IDWriteTextFormat::GetWordWrapping() +
+ + +

Gets or sets the current reading direction for text in a paragraph.

+
+ + dd316678 + GetReadingDirection / SetReadingDirection + GetReadingDirection + DWRITE_READING_DIRECTION IDWriteTextFormat::GetReadingDirection() +
+ + +

Gets or sets the direction that text lines flow.

+
+ + dd316631 + GetFlowDirection / SetFlowDirection + GetFlowDirection + DWRITE_FLOW_DIRECTION IDWriteTextFormat::GetFlowDirection() +
+ + +

Gets or sets the incremental tab stop position.

+
+ + dd316655 + GetIncrementalTabStop / SetIncrementalTabStop + GetIncrementalTabStop + float IDWriteTextFormat::GetIncrementalTabStop() +
+ + +

Gets the current font collection.

+
+ + dd316633 + GetFontCollection + GetFontCollection + HRESULT IDWriteTextFormat::GetFontCollection([Out] IDWriteFontCollection** fontCollection) +
+ + +

Gets the font weight of the text.

+
+ + dd316652 + GetFontWeight + GetFontWeight + DWRITE_FONT_WEIGHT IDWriteTextFormat::GetFontWeight() +
+ + +

Gets the font style of the text.

+
+ + dd316649 + GetFontStyle + GetFontStyle + DWRITE_FONT_STYLE IDWriteTextFormat::GetFontStyle() +
+ + +

Gets the font stretch of the text.

+
+ + dd316646 + GetFontStretch + GetFontStretch + DWRITE_FONT_STRETCH IDWriteTextFormat::GetFontStretch() +
+ + +

Gets the font size in DIP unites.

+
+ + dd316643 + GetFontSize + GetFontSize + float IDWriteTextFormat::GetFontSize() +
+ + +

The interface represents a block of text after it has been fully analyzed and formatted.

+
+ +

To get a reference to the interface, the application must call the method, as shown in the following code.

 // Create a text layout using the text format.	
+            if (SUCCEEDED(hr))	
+            {  rect; GetClientRect(hwnd_, &rect);  float width  = rect.right  / dpiScaleX_; float height = rect.bottom / dpiScaleY_; hr = pDWriteFactory_->CreateTextLayout( wszText_,      // The string to be laid out and formatted. cTextLength_,  // The length of the string. pTextFormat_,  // The text format to apply to the string (contains font information, etc). width,         // The width of the layout box. height,        // The height of the layout box. &pTextLayout_  // The  interface reference. );	
+            } 

The interface allows the application to change the format for ranges of the text it represents, specified by a structure. The following example shows how to set the font weight for a text range.

 // Set the font weight to bold for the first 5 letters.	
+             textRange = {0, 4}; if (SUCCEEDED(hr))	
+            { hr = pTextLayout_->SetFontWeight(, textRange);	
+            } 

also provides methods for adding strikethrough, underline, and inline objects to the text.

To draw the block of text represented by an object, Direct2D provides the method. To draw using a custom renderer implement an interface and call the method

DirectWrite and Direct2D

To draw a formatted string represented by an object, Direct2D provides the method.

Other Rendering Options

To render using a custom renderer, use the method, which takes a callback interface derived from as an argument, as shown in the following code.

 // Draw the text layout using DirectWrite and the CustomTextRenderer class.	
+            hr = pTextLayout_->Draw( null, pTextRenderer_,  // Custom text renderer. origin.x, origin.y ); 

declares methods for drawing a glyph run, underline, strikethrough and inline objects. It is up to the application to implement these methods. Creating a custom text renderer allows the application to apply additional effects when rendering text, such as a custom fill or outline.

Using a custom text renderer also enables you to render using another technology, such as GDI.

+
+ + dd316718 + IDWriteTextLayout + IDWriteTextLayout +
+ + + Takes a string, text format, and associated constraints, and produces an object that represents the fully analyzed and formatted result. + + an instance of + An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded NULL characters. + A pointer to an object that indicates the format to apply to the string. + The width of the layout box. + The height of the layout box. + HRESULT CreateTextLayout([In, Buffer] const wchar* string,[None] UINT32 stringLength,[None] IDWriteTextFormat* textFormat,[None] FLOAT maxWidth,[None] FLOAT maxHeight,[Out] IDWriteTextLayout** textLayout) + + + + Create a Gdi Compatible TextLayout. Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode. + + + The resulting text layout should only be used for the intended resolution, and for cases where text scalability is desired {{CreateTextLayout}} should be used instead. + + an instance of + An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded NULL characters. + The text formatting object to apply to the string. + The width of the layout box. + The height of the layout box. + The number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI device pixelsPerDip is 1. If rendering onto a 120 DPI device pixelsPerDip is 1.25 (120/96). + Instructs the text layout to use the same metrics as GDI bi-level text when set to FALSE. When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY. + HRESULT IDWriteFactory::CreateGdiCompatibleTextLayout([In, Buffer] const wchar_t* string,[None] int stringLength,[None] IDWriteTextFormat* textFormat,[None] float layoutWidth,[None] float layoutHeight,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] BOOL useGdiNatural,[Out] IDWriteTextLayout** textLayout) + + + + Create a GDI Compatible TextLayout. Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode. + + + The resulting text layout should only be used for the intended resolution, and for cases where text scalability is desired {{CreateTextLayout}} should be used instead. + + an instance of + An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded NULL characters. + The text formatting object to apply to the string. + The width of the layout box. + The height of the layout box. + The number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI device pixelsPerDip is 1. If rendering onto a 120 DPI device pixelsPerDip is 1.25 (120/96). + An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specifies the font size and pixels per DIP. + Instructs the text layout to use the same metrics as GDI bi-level text when set to FALSE. When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY. + HRESULT IDWriteFactory::CreateGdiCompatibleTextLayout([In, Buffer] const wchar_t* string,[None] int stringLength,[None] IDWriteTextFormat* textFormat,[None] float layoutWidth,[None] float layoutHeight,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] BOOL useGdiNatural,[Out] IDWriteTextLayout** textLayout) + + + + Draws text using the specified client drawing context. + + + To draw text with this method, a textLayout object needs to be created by the application using . After the textLayout object is obtained, the application calls the IDWriteTextLayout::Draw method to draw the text, decorations, and inline objects. The actual drawing is done through the callback interface passed in as the textRenderer argument; there, the corresponding DrawGlyphRun API is called. + + Pointer to the set of callback functions used to draw parts of a text string. + The x-coordinate of the layout's left side. + The y-coordinate of the layout's top side. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] FLOAT originX,[None] FLOAT originY) + + + + Draws text using the specified client drawing context. + + + To draw text with this method, a textLayout object needs to be created by the application using . After the textLayout object is obtained, the application calls the IDWriteTextLayout::Draw method to draw the text, decorations, and inline objects. The actual drawing is done through the callback interface passed in as the textRenderer argument; there, the corresponding DrawGlyphRun API is called. + + An application-defined drawing context. + Pointer to the set of callback functions used to draw parts of a text string. + The x-coordinate of the layout's left side. + The y-coordinate of the layout's top side. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] FLOAT originX,[None] FLOAT originY) + + + + Retrieves logical properties and measurements of each glyph cluster. + + + If maxClusterCount is not large enough, then E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), is returned and actualClusterCount is set to the number of clusters needed. + + Returns metrics, such as line-break or total advance width, for a glyph cluster. + HRESULT IDWriteTextLayout::GetClusterMetrics([Out, Buffer, Optional] DWRITE_CLUSTER_METRICS* clusterMetrics,[None] int maxClusterCount,[Out] int* actualClusterCount) + + + + Sets the application-defined drawing effect. + + + An , such as a color or gradient brush, can be set as a drawing effect if you are using the to draw text and that brush will be used to draw the specified range of text. This drawing effect is associated with the specified range and will be passed back to the application by way of the callback when the range is drawn at drawing time. + + Application-defined drawing effects that apply to the range. This data object will be passed back to the application's drawing callbacks for final rendering. + The text range to which this change applies. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteTextLayout::SetDrawingEffect([None] IUnknown* drawingEffect,[None] DWRITE_TEXT_RANGE textRange) + + + + Gets the application-defined drawing effect at the specified text position. + + The position of the text whose drawing effect is to be retrieved. + a reference to the current application-defined drawing effect. Usually this effect is a foreground brush that is used in glyph drawing. + HRESULT IDWriteTextLayout::GetDrawingEffect([None] int currentPosition,[Out] IUnknown** drawingEffect,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the application-defined drawing effect at the specified text position. + + The position of the text whose drawing effect is to be retrieved. + Contains the range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the drawing effect. + a reference to the current application-defined drawing effect. Usually this effect is a foreground brush that is used in glyph drawing. + HRESULT IDWriteTextLayout::GetDrawingEffect([None] int currentPosition,[Out] IUnknown** drawingEffect,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font collection associated with the text at the specified position. + + The position of the text to inspect. + a reference to the current font collection. + HRESULT IDWriteTextLayout::GetFontCollection([None] int currentPosition,[Out] IDWriteFontCollection** fontCollection,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font family name of the text at the specified position. + + The position of the text to examine. + the font family name + HRESULT IDWriteTextLayout::GetFontFamilyName([None] int currentPosition,[Out, Buffer] wchar_t* fontFamilyName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font family name of the text at the specified position. + + The position of the text to examine. + The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family name. + the font family name + HRESULT IDWriteTextLayout::GetFontFamilyName([None] int currentPosition,[Out, Buffer] wchar_t* fontFamilyName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font em height of the text at the specified position. + + The position of the text to inspect. + The size of the font in ems of the text at the specified position. + HRESULT IDWriteTextLayout::GetFontSize([None] int currentPosition,[Out] float* fontSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font stretch of the text at the specified position. + + The position of the text to inspect. + a value which indicates the type of font stretch (also known as width) being applied at the specified position. + HRESULT IDWriteTextLayout::GetFontStretch([None] int currentPosition,[Out] DWRITE_FONT_STRETCH* fontStretch,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font style (also known as slope) of the text at the specified position. + + The position of the text to inspect. + a value which indicates the type of font style (also known as slope or incline) being applied at the specified position. + HRESULT IDWriteTextLayout::GetFontStyle([None] int currentPosition,[Out] DWRITE_FONT_STYLE* fontStyle,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font weight of the text at the specified position. + + The position of the text to inspect. + a value which indicates the type of font weight being applied at the specified position. + HRESULT IDWriteTextLayout::GetFontWeight([None] int currentPosition,[Out] DWRITE_FONT_WEIGHT* fontWeight,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the inline object at the specified position. + + The specified text position. + an application-defined inline object. + HRESULT IDWriteTextLayout::GetInlineObject([None] int currentPosition,[Out] IDWriteInlineObject** inlineObject,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Retrieves the information about each individual text line of the text string. + + + If maxLineCount is not large enough E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), is returned and *actualLineCount is set to the number of lines needed. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteTextLayout::GetLineMetrics([Out, Buffer, Optional] DWRITE_LINE_METRICS* lineMetrics,[None] int maxLineCount,[Out] int* actualLineCount) + + + + Gets the locale name of the text at the specified position. + + The position of the text to inspect. + the locale name of the text at the specified position. + HRESULT IDWriteTextLayout::GetLocaleName([None] int currentPosition,[Out, Buffer] wchar_t* localeName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the locale name of the text at the specified position. + + The position of the text to inspect. + The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name. + the locale name of the text at the specified position. + HRESULT IDWriteTextLayout::GetLocaleName([None] int currentPosition,[Out, Buffer] wchar_t* localeName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Get the strikethrough presence of the text at the specified position. + + The position of the text to inspect. + A Boolean flag that indicates whether strikethrough is present at the position indicated by currentPosition. + HRESULT IDWriteTextLayout::GetStrikethrough([None] int currentPosition,[Out] BOOL* hasStrikethrough,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the typography setting of the text at the specified position. + + The position of the text to inspect. + a reference to the current typography setting. + HRESULT IDWriteTextLayout::GetTypography([None] int currentPosition,[Out] IDWriteTypography** typography,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the underline presence of the text at the specified position. + + The current text position. + A Boolean flag that indicates whether underline is present at the position indicated by currentPosition. + HRESULT IDWriteTextLayout::GetUnderline([None] int currentPosition,[Out] BOOL* hasUnderline,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + 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. + The function returns E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), + when the buffer size of hitTestMetrics is too small to hold all the regions calculated by the function. + In this situation, the function sets the output value *actualHitTestMetricsCount to the number of geometries calculated. + The application is responsible for allocating a new buffer of greater size and calling the function again. + A good value to use as an initial value for maxHitTestMetricsCount may be calculated from the following equation: + maxHitTestMetricsCount = lineCount * maxBidiReorderingDepth where lineCount is obtained from the value of the output argument *actualLineCount (from the function IDWriteTextLayout::GetLineLengths), and the maxBidiReorderingDepth value from the DWRITE_TEXT_METRICS structure of the output argument *textMetrics (from the function IDWriteFactory::CreateTextLayout). + + The first text position of the specified range. + The number of positions of the specified range. + The origin pixel location X at the left of the layout box. This offset is added to the hit-test metrics returned. + The origin pixel location Y at the top of the layout box. This offset is added to the hit-test metrics returned. + a reference to a buffer of the output geometry fully enclosing the specified position range. The buffer must be at least as large as maxHitTestMetricsCount. + HRESULT IDWriteTextLayout::HitTestTextRange([None] int textPosition,[None] int textLength,[None] float originX,[None] float originY,[Out, Buffer, Optional] DWRITE_HIT_TEST_METRICS* hitTestMetrics,[None] int maxHitTestMetricsCount,[Out] int* actualHitTestMetricsCount) + + + + Sets the inline object. + + + The application may call this function to specify the set of properties describing an application-defined inline object for specific range. This inline object applies to the specified range and will be passed back to the application by way of the DrawInlineObject callback when the range is drawn. Any text in that range will be suppressed. + + An application-defined inline object. + Text range to which this change applies. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteTextLayout::SetInlineObject([None] IDWriteInlineObject* inlineObject,[None] DWRITE_TEXT_RANGE textRange) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the layout maximum width.

+
+

A value that indicates the maximum width of the layout box.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371511 + HRESULT IDWriteTextLayout::SetMaxWidth([In] float maxWidth) + IDWriteTextLayout::SetMaxWidth +
+ + +

Sets the layout maximum height.

+
+

A value that indicates the maximum height of the layout box.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371507 + HRESULT IDWriteTextLayout::SetMaxHeight([In] float maxHeight) + IDWriteTextLayout::SetMaxHeight +
+ + +

Sets the font collection.

+
+

The font collection to set.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371481 + HRESULT IDWriteTextLayout::SetFontCollection([In] IDWriteFontCollection* fontCollection,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontCollection +
+ + +

Sets null-terminated font family name for text within a specified text range.

+
+

The font family name that applies to the entire text string within the range specified by textRange.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371487 + HRESULT IDWriteTextLayout::SetFontFamilyName([In, Buffer] const wchar_t* fontFamilyName,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontFamilyName +
+ + +

Sets the font weight for text within a text range specified by a structure.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The font weight can be set to one of the predefined font weight values provided in the enumeration or an integer from 1 to 999. Values outside this range will cause the method to fail with an E_INVALIDARG return value.

The following illustration shows an example of Normal and UltraBold weights for the Palatino Linotype typeface.

+
+ + dd371498 + HRESULT IDWriteTextLayout::SetFontWeight([In] DWRITE_FONT_WEIGHT fontWeight,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontWeight +
+ + +

Sets the font style for text within a text range specified by a structure.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The font style can be set to Normal, Italic or Oblique. The following illustration shows three styles for the Palatino font. For more information, see .

+
+ + dd371495 + HRESULT IDWriteTextLayout::SetFontStyle([In] DWRITE_FONT_STYLE fontStyle,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontStyle +
+ + +

Sets the font stretch for text within a specified text range.

+
+

A value which indicates the type of font stretch for text within the range specified by textRange.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371493 + HRESULT IDWriteTextLayout::SetFontStretch([In] DWRITE_FONT_STRETCH fontStretch,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontStretch +
+ + +

Sets the font size in DIP units for text within a specified text range.

+
+

The font size in DIP units to be set for text in the range specified by textRange.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371490 + HRESULT IDWriteTextLayout::SetFontSize([In] float fontSize,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontSize +
+ + +

Sets underlining for text within a specified text range.

+
+

A Boolean flag that indicates whether underline takes place within a specified text range.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371518 + HRESULT IDWriteTextLayout::SetUnderline([In] BOOL hasUnderline,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetUnderline +
+ + +

Sets strikethrough for text within a specified text range.

+
+

A Boolean flag that indicates whether strikethrough takes place in the range specified by textRange.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371514 + HRESULT IDWriteTextLayout::SetStrikethrough([In] BOOL hasStrikethrough,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetStrikethrough +
+ + +

Sets the application-defined drawing effect.

+
+

Application-defined drawing effects that apply to the range. This data object will be passed back to the application's drawing callbacks for final rendering.

+

The text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

An , such as a color or gradient brush, can be set as a drawing effect if you are using the to draw text and that brush will be used to draw the specified range of text.

This drawing effect is associated with the specified range and will be passed back to the application by way of the callback when the range is drawn at drawing time.

+
+ + dd371477 + HRESULT IDWriteTextLayout::SetDrawingEffect([In] void* drawingEffect,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetDrawingEffect +
+ + +

Sets the inline object.

+
+

An application-defined inline object.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The application may call this function to specify the set of properties describing an application-defined inline object for specific range.

This inline object applies to the specified range and will be passed back to the application by way of the DrawInlineObject callback when the range is drawn. Any text in that range will be suppressed.

+
+ + dd371500 + HRESULT IDWriteTextLayout::SetInlineObject([In] IDWriteInlineObject* inlineObject,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetInlineObject +
+ + +

Sets font typography features for text within a specified text range.

+
+

Pointer to font typography settings.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371517 + HRESULT IDWriteTextLayout::SetTypography([In] IDWriteTypography* typography,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetTypography +
+ + +

Sets the locale name for text within a specified text range.

+
+

A null-terminated locale name string.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371503 + HRESULT IDWriteTextLayout::SetLocaleName([In, Buffer] const wchar_t* localeName,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetLocaleName +
+ + +

Gets the layout maximum width.

+
+

Returns the layout maximum width.

+ + dd316781 + float IDWriteTextLayout::GetMaxWidth() + IDWriteTextLayout::GetMaxWidth +
+ + +

Gets the layout maximum height.

+
+

The layout maximum height.

+ + dd316776 + float IDWriteTextLayout::GetMaxHeight() + IDWriteTextLayout::GetMaxHeight +
+ + +

Gets the font collection associated with the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the underline.

+

Contains an address of a reference to the current font collection.

+ + dd316735 + HRESULT IDWriteTextLayout::GetFontCollection([In] unsigned int currentPosition,[Out] IDWriteFontCollection** fontCollection,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontCollection +
+ + +

Get the length of the font family name at the current position.

+
+

The current text position.

+

When this method returns, contains the size of the character array containing the font family name, in character count, not including the terminated null character.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316741 + HRESULT IDWriteTextLayout::GetFontFamilyNameLength([In] unsigned int currentPosition,[Out] unsigned int* nameLength,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontFamilyNameLength +
+ + +

Copies the font family name of the text at the specified position.

+
+

The position of the text to examine.

+

When this method returns, contains an array of characters that receives the current font family name. You must allocate storage for this parameter.

+

The size of the character array in character count including the terminated null character.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316738 + HRESULT IDWriteTextLayout::GetFontFamilyName([In] unsigned int currentPosition,[Out, Buffer] wchar_t* fontFamilyName,[In] unsigned int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontFamilyName +
+ + +

Gets the font weight of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font weight.

+

When this method returns, contains a value which indicates the type of font weight being applied at the specified position.

+ + dd316753 + HRESULT IDWriteTextLayout::GetFontWeight([In] unsigned int currentPosition,[Out] DWRITE_FONT_WEIGHT* fontWeight,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontWeight +
+ + +

Gets the font style (also known as slope) of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font style.

+

When this method returns, contains a value which indicates the type of font style (also known as slope or incline) being applied at the specified position.

+ + dd316750 + HRESULT IDWriteTextLayout::GetFontStyle([In] unsigned int currentPosition,[Out] DWRITE_FONT_STYLE* fontStyle,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontStyle +
+ + +

Gets the font stretch of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font stretch.

+

When this method returns, contains a value which indicates the type of font stretch (also known as width) being applied at the specified position.

+ + dd316747 + HRESULT IDWriteTextLayout::GetFontStretch([In] unsigned int currentPosition,[Out] DWRITE_FONT_STRETCH* fontStretch,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontStretch +
+ + +

Gets the font em height of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font size.

+

When this method returns, contains the size of the font in ems of the text at the specified position.

+ + dd316745 + HRESULT IDWriteTextLayout::GetFontSize([In] unsigned int currentPosition,[Out] float* fontSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontSize +
+ + +

Gets the underline presence of the text at the specified position.

+
+

The current text position.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the underline.

+

A Boolean flag that indicates whether underline is present at the position indicated by currentPosition.

+ + dd371463 + HRESULT IDWriteTextLayout::GetUnderline([In] unsigned int currentPosition,[Out] BOOL* hasUnderline,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetUnderline +
+ + +

Get the strikethrough presence of the text at the specified position.

+
+

The position of the text to inspect.

+

Contains the range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to strikethrough.

+

A Boolean flag that indicates whether strikethrough is present at the position indicated by currentPosition.

+ + dd316793 + HRESULT IDWriteTextLayout::GetStrikethrough([In] unsigned int currentPosition,[Out] BOOL* hasStrikethrough,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetStrikethrough +
+ + +

Gets the application-defined drawing effect at the specified text position.

+
+

The position of the text whose drawing effect is to be retrieved.

+

Contains the range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the drawing effect.

+

When this method returns, contains an address of a reference to the current application-defined drawing effect. Usually this effect is a foreground brush that is used in glyph drawing.

+ + dd316732 + HRESULT IDWriteTextLayout::GetDrawingEffect([In] unsigned int currentPosition,[Out] void** drawingEffect,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetDrawingEffect +
+ + +

Gets the inline object at the specified position.

+
+

The specified text position.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the inline object.

+

Contains the application-defined inline object.

+ + dd316758 + HRESULT IDWriteTextLayout::GetInlineObject([In] unsigned int currentPosition,[Out] IDWriteInlineObject** inlineObject,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetInlineObject +
+ + +

Gets the typography setting of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the typography.

+

When this method returns, contains an address of a reference to the current typography setting.

+ + dd371459 + HRESULT IDWriteTextLayout::GetTypography([In] unsigned int currentPosition,[Out] IDWriteTypography** typography,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetTypography +
+ + +

Gets the length of the locale name of the text at the specified position.

+
+

The position of the text to inspect.

+

Size of the character array, in character count, not including the terminated null character.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316771 + HRESULT IDWriteTextLayout::GetLocaleNameLength([In] unsigned int currentPosition,[Out] unsigned int* nameLength,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetLocaleNameLength +
+ + +

Gets the locale name of the text at the specified position.

+
+

The position of the text to inspect.

+

When this method returns, contains the character array receiving the current locale name.

+

Size of the character array, in character count, including the terminated null character.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316767 + HRESULT IDWriteTextLayout::GetLocaleName([In] unsigned int currentPosition,[Out, Buffer] wchar_t* localeName,[In] unsigned int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetLocaleName +
+ + +

Draws text using the specified client drawing context.

+
+

An application-defined drawing context.

+

Pointer to the set of callback functions used to draw parts of a text string.

+

The x-coordinate of the layout's left side.

+

The y-coordinate of the layout's top side.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To draw text with this method, a textLayout object needs to be created by the application using .

After the textLayout object is obtained, the application calls the method to draw the text, decorations, and inline objects. The actual drawing is done through the callback interface passed in as the textRenderer argument; there, the corresponding DrawGlyphRun API is called.

+
+ + dd316726 + HRESULT IDWriteTextLayout::Draw([In, Optional] void* clientDrawingContext,[In] IDWriteTextRenderer* renderer,[In] float originX,[In] float originY) + IDWriteTextLayout::Draw +
+ + +

Retrieves the information about each individual text line of the text string.

+
+

When this method returns, contains a reference to an array of structures containing various calculated length values of individual text lines.

+

The maximum size of the lineMetrics array.

+

When this method returns, contains the actual size of the lineMetrics array that is needed.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If maxLineCount is not large enough E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), is returned and *actualLineCount is set to the number of lines needed.

+
+ + dd316763 + HRESULT IDWriteTextLayout::GetLineMetrics([Out, Buffer, Optional] DWRITE_LINE_METRICS* lineMetrics,[In] unsigned int maxLineCount,[Out] unsigned int* actualLineCount) + IDWriteTextLayout::GetLineMetrics +
+ + +

Retrieves overall metrics for the formatted string.

+
+

When this method returns, contains the measured distances of text and associated content after being formatted.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316785 + HRESULT IDWriteTextLayout::GetMetrics([Out] DWRITE_TEXT_METRICS* textMetrics) + IDWriteTextLayout::GetMetrics +
+ + +

Returns the overhangs (in DIPs) of the layout and all objects contained in it, including text glyphs and inline objects.

+
+

Overshoots of visible extents (in DIPs) outside the layout.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Underlines and strikethroughs do not contribute to the black box determination, since these are actually drawn by the renderer, which is allowed to draw them in any variety of styles.

+
+ + dd316790 + HRESULT IDWriteTextLayout::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + IDWriteTextLayout::GetOverhangMetrics +
+ + +

Retrieves logical properties and measurements of each glyph cluster.

+
+

When this method returns, contains metrics, such as line-break or total advance width, for a glyph cluster.

+

The maximum size of the clusterMetrics array.

+

When this method returns, contains the actual size of the clusterMetrics array that is needed.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If maxClusterCount is not large enough, then E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), is returned and actualClusterCount is set to the number of clusters needed.

+
+ + dd316729 + HRESULT IDWriteTextLayout::GetClusterMetrics([Out, Buffer, Optional] DWRITE_CLUSTER_METRICS* clusterMetrics,[In] unsigned int maxClusterCount,[Out] unsigned int* actualClusterCount) + IDWriteTextLayout::GetClusterMetrics +
+ + +

Determines the minimum possible width the layout can be set to without emergency breaking between the characters of whole words occurring.

+
+

Minimum width.

+ + dd316723 + HRESULT IDWriteTextLayout::DetermineMinWidth([Out] float* minWidth) + IDWriteTextLayout::DetermineMinWidth +
+ + +

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. When the specified pixel location is outside the text string, the function sets the output value *isInside to .

+
+

The pixel location X to hit-test, relative to the top-left location of the layout box.

+

The pixel location Y to hit-test, relative to the top-left location of the layout box.

+

An output flag that indicates whether the hit-test location is at the leading or the trailing side of the character. When the output *isInside value is set to , this value is set according to the output hitTestMetrics->textPosition value to represent the edge closest to the hit-test location.

+

An output flag that indicates whether the hit-test location is inside the text string. When , the position nearest the text's edge is returned.

+

The output geometry fully enclosing the hit-test location. When the output *isInside value is set to , this structure represents the geometry enclosing the edge closest to the hit-test location.

+ + dd371464 + HRESULT IDWriteTextLayout::HitTestPoint([In] float pointX,[In] float pointY,[Out] BOOL* isTrailingHit,[Out] BOOL* isInside,[Out] DWRITE_HIT_TEST_METRICS* hitTestMetrics) + IDWriteTextLayout::HitTestPoint +
+ + +

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. This function is normally used as part of caret positioning of text where the caret is drawn at the location corresponding to the current text editing position. It may also be used as a way to programmatically obtain the geometry of a particular text position in UI automation.

+
+

The text position used to get the pixel location.

+

A Boolean flag that indicates whether the pixel location is of the leading or the trailing side of the specified text position.

+

When this method returns, contains the output pixel location X, relative to the top-left location of the layout box.

+

When this method returns, contains the output pixel location Y, relative to the top-left location of the layout box.

+

When this method returns, contains the output geometry fully enclosing the specified text position.

+ + dd371469 + HRESULT IDWriteTextLayout::HitTestTextPosition([In] unsigned int textPosition,[In] BOOL isTrailingHit,[Out] float* pointX,[Out] float* pointY,[Out] DWRITE_HIT_TEST_METRICS* hitTestMetrics) + IDWriteTextLayout::HitTestTextPosition +
+ + +

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. The function returns E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), when the buffer size of hitTestMetrics is too small to hold all the regions calculated by the function. In this situation, the function sets the output value *actualHitTestMetricsCount to the number of geometries calculated. The application is responsible for allocating a new buffer of greater size and calling the function again. A good value to use as an initial value for maxHitTestMetricsCount may be calculated from the following equation: maxHitTestMetricsCount = lineCount * maxBidiReorderingDepth where lineCount is obtained from the value of the output argument *actualLineCount (from the function IDWriteTextLayout::GetLineLengths), and the maxBidiReorderingDepth value from the structure of the output argument *textMetrics (from the function ).

+
+

The first text position of the specified range.

+

The number of positions of the specified range.

+

The origin pixel location X at the left of the layout box. This offset is added to the hit-test metrics returned.

+

The origin pixel location Y at the top of the layout box. This offset is added to the hit-test metrics returned.

+

When this method returns, contains a reference to a buffer of the output geometry fully enclosing the specified position range. The buffer must be at least as large as maxHitTestMetricsCount.

+

Maximum number of boxes hitTestMetrics could hold in its buffer memory.

+

Actual number of geometries hitTestMetrics holds in its buffer memory.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371473 + HRESULT IDWriteTextLayout::HitTestTextRange([In] unsigned int textPosition,[In] unsigned int textLength,[In] float originX,[In] float originY,[Out, Buffer, Optional] DWRITE_HIT_TEST_METRICS* hitTestMetrics,[In] unsigned int maxHitTestMetricsCount,[Out] unsigned int* actualHitTestMetricsCount) + IDWriteTextLayout::HitTestTextRange +
+ + +

Gets or sets the layout maximum width.

+
+ + dd316781 + GetMaxWidth / SetMaxWidth + GetMaxWidth + float IDWriteTextLayout::GetMaxWidth() +
+ + +

Gets or sets the layout maximum height.

+
+ + dd316776 + GetMaxHeight / SetMaxHeight + GetMaxHeight + float IDWriteTextLayout::GetMaxHeight() +
+ + +

Retrieves overall metrics for the formatted string.

+
+ + dd316785 + GetMetrics + GetMetrics + HRESULT IDWriteTextLayout::GetMetrics([Out] DWRITE_TEXT_METRICS* textMetrics) +
+ + +

Returns the overhangs (in DIPs) of the layout and all objects contained in it, including text glyphs and inline objects.

+
+ +

Underlines and strikethroughs do not contribute to the black box determination, since these are actually drawn by the renderer, which is allowed to draw them in any variety of styles.

+
+ + dd316790 + GetOverhangMetrics + GetOverhangMetrics + HRESULT IDWriteTextLayout::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) +
+ + +

Specifies a range of text positions where format is applied in the text represented by an object.

+
+ + dd368137 + DWRITE_TEXT_RANGE + DWRITE_TEXT_RANGE +
+ + + Initializes a new instance of the struct. + + The start position. + The length. + + + + No documentation. + + + unsigned int startPosition + unsigned int startPosition + + + + No documentation. + + + unsigned int length + unsigned int length + + + +

Represents a set of application-defined callbacks that perform rendering of text, inline objects, and decorations such as underlines.

+
+ + dd371523 + IDWriteTextRenderer + IDWriteTextRenderer +
+ + + IDWriteTextLayout::Draw calls this function to instruct the client to render a run of glyphs. + + + The function calls this callback function with all the information about glyphs to render. The application implements this callback by mostly delegating the call to the underlying platform's graphics API such as {{Direct2D}} to draw glyphs on the drawing context. An application that uses GDI can implement this callback in terms of the method. + + The application-defined drawing context passed to . + The pixel location (X-coordinate) at the baseline origin of the glyph run. + The pixel location (Y-coordinate) at the baseline origin of the glyph run. + The measuring method for glyphs in the run, used with the other properties to determine the rendering mode. + Pointer to the glyph run instance to render. + A pointer to the optional glyph run description instance which contains properties of the characters associated with this run. + Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of text. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawGlyphRun([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to draw an underline. + + + A single underline can be broken into multiple calls, depending on how the formatting changes attributes. If font sizes/styles change within an underline, the thickness and offset will be averaged weighted according to characters. To get an appropriate starting pixel position, add underline::offset to the baseline. Otherwise there will be no spacing between the text. The x coordinate will always be passed as the left side, regardless of text directionality. This simplifies drawing and reduces the problem of round-off that could potentially cause gaps or a double stamped alpha blend. To avoid alpha overlap, round the end points to the nearest device pixel. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + The pixel location (X-coordinate) at the baseline origin of the run where underline applies. + The pixel location (Y-coordinate) at the baseline origin of the run where underline applies. + Pointer to a structure containing underline logical information. + Application-defined effect to apply to the underline. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawUnderline([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_UNDERLINE* underline,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to draw a strikethrough. + + + A single strikethrough can be broken into multiple calls, depending on how the formatting changes attributes. Strikethrough is not averaged across font sizes/styles changes. To get an appropriate starting pixel position, add strikethrough::offset to the baseline. Like underlines, the x coordinate will always be passed as the left side, regardless of text directionality. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + The pixel location (X-coordinate) at the baseline origin of the run where strikethrough applies. + The pixel location (Y-coordinate) at the baseline origin of the run where strikethrough applies. + Pointer to a structure containing strikethrough logical information. + Application-defined effect to apply to the strikethrough. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawStrikethrough([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_STRIKETHROUGH* strikethrough,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this application callback when it needs to draw an inline object. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + X-coordinate at the top-left corner of the inline object. + Y-coordinate at the top-left corner of the inline object. + The application-defined inline object set using IDWriteTextFormat::SetInlineObject. + A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. + A Boolean flag that indicates whether the object is in a right-to-left context, hinting that the drawing may want to mirror the normal image. + Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawInlineObject([None] void* clientDrawingContext,[None] FLOAT originX,[None] FLOAT originY,[None] IDWriteInlineObject* inlineObject,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + +

Represents a bitmap that has been bound to an .

+
+ + Creating Objects

To create a bitmap, use one of the following methods of the render target on which the bitmap will be drawn:

For information about the pixel formats supported by Direct2D bitmaps, see Supported Pixel Formats and Alpha Modes.

An is a device-dependent resource: your application should create bitmaps after it initializes the render target with which the bitmap will be used, and recreate the bitmap whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371109 + ID2D1Bitmap + ID2D1Bitmap +
+ + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + The pixel format and dots per inch (DPI) of the bitmap to create. + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + A pointer to the memory location of the image data, or NULL to create an uninitialized bitmap. + The byte count of each scanline, which is equal to (the image width in pixels * the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.) + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + A pointer to the memory location of the image data, or NULL to create an uninitialized bitmap. + The byte count of each scanline, which is equal to (the image width in pixels * the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.) + The pixel format and dots per inch (DPI) of the bitmap to create. + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + The pixel format and DPI of the bitmap to create . The portion of the pixel format must match the of data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass NULL or the value obtained from the {{D2D1::PixelFormat}} helper function. The DPI settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the default DPI, 96, is used. + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + The pixel format and DPI of the bitmap to create . The portion of the pixel format must match the of data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass NULL or the value obtained from the {{D2D1::PixelFormat}} helper function. The DPI settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the default DPI, 96, is used. + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + A pointer to an array of pixel data. The size of the array must be equal to sizeof(pixel) * Size.Width * Height. + The pixel format and dots per inch (DPI) of the bitmap to create. + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates a Bitmap from a WIC bitmap. + + The render target. + A reference to a WIC bitmap. + + dd371797 + HRESULT ID2D1RenderTarget::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmapFromWicBitmap + + + + Creates a Bitmap from a WIC bitmap. + + The render target. + The WIC bitmap. + The bitmap properties. + + dd371797 + HRESULT ID2D1RenderTarget::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmapFromWicBitmap + + + + Copies the specified region from the specified bitmap into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The bitmap to copy from. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371152 + HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromBitmap + + + + Copies the specified region from the specified bitmap into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The bitmap to copy from. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371152 + HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromBitmap + + + + Copies the specified region from the specified bitmap into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The bitmap to copy from. + The area of bitmap to copy. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371152 + HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromBitmap + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from the specified render target into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. All clips and layers must be popped off of the render target before calling this method. The method returns {{D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT}} if any clips or layers are currently applied to the render target. + + The render target that contains the region to copy. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371158 + HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromRenderTarget + + + + Copies the specified region from the specified render target into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. All clips and layers must be popped off of the render target before calling this method. The method returns {{D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT}} if any clips or layers are currently applied to the render target. + + The render target that contains the region to copy. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371158 + HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromRenderTarget + + + + Copies the specified region from the specified render target into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. All clips and layers must be popped off of the render target before calling this method. The method returns {{D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT}} if any clips or layers are currently applied to the render target. + + The render target that contains the region to copy. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + The area of renderTarget to copy. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371158 + HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromRenderTarget + + + + Copies the specified region from a stream into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The stream to copy the data from. + Length in bytes of the data to copy from the stream. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from a stream into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The stream to copy the data from. + Length in bytes of the data to copy from the stream. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Returns the size, in device-independent pixels (DIPs), of the bitmap.

+
+

The size, in DIPs, of the bitmap.

+ +

A DIP is 1/96?of an inch. To retrieve the size in device pixels, use the method.

+
+ + dd371170 + D2D_SIZE_F ID2D1Bitmap::GetSize() + ID2D1Bitmap::GetSize +
+ + +

Returns the size, in device-dependent units (pixels), of the bitmap.

+
+

The size, in pixels, of the bitmap.

+ + dd371167 + D2D_SIZE_U ID2D1Bitmap::GetPixelSize() + ID2D1Bitmap::GetPixelSize +
+ + +

Retrieves the pixel format and alpha mode of the bitmap.

+
+

The pixel format and alpha mode of the bitmap.

+ + dd371164 + D2D1_PIXEL_FORMAT ID2D1Bitmap::GetPixelFormat() + ID2D1Bitmap::GetPixelFormat +
+ + +

Return the dots per inch (DPI) of the bitmap.

+
+

The horizontal DPI of the image. You must allocate storage for this parameter.

+

The vertical DPI of the image. You must allocate storage for this parameter.

+ + dd371161 + void ID2D1Bitmap::GetDpi([Out] float* dpiX,[Out] float* dpiY) + ID2D1Bitmap::GetDpi +
+ + +

Copies the specified region from the specified bitmap into the current bitmap.

+
+

In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied.

+

The bitmap to copy from.

+

The area of bitmap to copy.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to EndDraw or Flush.

+
+ + dd371152 + HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromBitmap +
+ + +

Copies the specified region from the specified render target into the current bitmap.

+
+

In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied.

+

The render target that contains the region to copy.

+

The area of renderTarget to copy.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to EndDraw or Flush.

All clips and layers must be popped off of the render target before calling this method. The method returns if any clips or layers are currently applied to the render target.

+
+ + dd371158 + HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromRenderTarget +
+ + +

Copies the specified region from memory into the current bitmap.

+
+

In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied.

+

The data to copy.

+

The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match.

If this method is passed invalid input (such as an invalid destination rectangle), can produce unpredictable results, such as a distorted image or device failure.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to EndDraw or Flush.

+
+ + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory +
+ + + Return the dots per inch (DPI) of the bitmap. + + The dots per inch (DPI) of the bitmap. + + + +

Returns the size, in device-independent pixels (DIPs), of the bitmap.

+
+ +

A DIP is 1/96?of an inch. To retrieve the size in device pixels, use the method.

+
+ + dd371170 + GetSize + GetSize + D2D_SIZE_F ID2D1Bitmap::GetSize() +
+ + +

Returns the size, in device-dependent units (pixels), of the bitmap.

+
+ + dd371167 + GetPixelSize + GetPixelSize + D2D_SIZE_U ID2D1Bitmap::GetPixelSize() +
+ + +

Retrieves the pixel format and alpha mode of the bitmap.

+
+ + dd371164 + GetPixelFormat + GetPixelFormat + D2D1_PIXEL_FORMAT ID2D1Bitmap::GetPixelFormat() +
+ + +

Paints an area with a bitmap.

+
+ +

A bitmap brush is used to fill a geometry with a bitmap. Like all brushes, it defines an infinite plane of content. Because bitmaps are finite, the brush relies on an "extend mode" to determine how the plane is filled horizontally and vertically.

Creating Objects

To create a bitmap brush, use the method.

An is a device-dependent resource: your application should create bitmap brushes after it initializes the render target with which the bitmap brush will be used, and recreate the bitmap brush whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371122 + ID2D1BitmapBrush + ID2D1BitmapBrush +
+ + +

Defines an object that paints an area. Interfaces that derive from describe how the area is painted.

+
+ +

An is a device-dependent resource: your application should create bitmap brushes after it initializes the render target with which the bitmap brush will be used, and recreate the bitmap brush whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

Brush space in Direct2D is specified differently than in XPS and Windows Presentation Foundation (WPF). In Direct2D, brush space is not relative to the object being drawn, but rather is the current coordinate system of the render target, transformed by the brush transform, if present. To paint an object as it would be painted by a WPF brush, you must translate the brush space origin to the upper-left corner of the object's bounding box, and then scale the brush space so that the base tile fills the bounding box of the object.

For more information about brushes, see the Brushes Overview.

+
+ + dd371173 + ID2D1Brush + ID2D1Brush +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the degree of opacity of this brush.

+
+

A value between zero and 1 that indicates the opacity of the brush. This value is a constant multiplier that linearly scales the alpha value of all pixels filled by the brush. The opacity values are clamped in the range 0?1 before they are multipled together.

+ + dd371181 + void ID2D1Brush::SetOpacity([In] float opacity) + ID2D1Brush::SetOpacity +
+ + +

Sets the transformation applied to the brush.

+
+

The transformation to apply to this brush.

+ +

When you paint with a brush, it paints in the coordinate space of the render target. Brushes do not automatically position themselves to align with the object being painted; by default, they begin painting at the origin (0, 0) of the render target.

You can "move" the gradient defined by an to a target area by setting its start point and end point. Likewise, you can move the gradient defined by an by changing its center and radii.

To align the content of an to the area being painted, you can use the SetTransform method to translate the bitmap to the desired location. This transform only affects the brush; it does not affect any other content drawn by the render target.

The following illustrations show the effect of using an to fill a rectangle located at (100, 100). The illustration on the left illustration shows the result of filling the rectangle without transforming the brush: the bitmap is drawn at the render target's origin. As a result, only a portion of the bitmap appears in the rectangle.

The illustration on the right shows the result of transforming the so that its content is shifted 50 pixels to the right and 50 pixels down. The bitmap now fills the rectangle.

+
+ + dd371186 + void ID2D1Brush::SetTransform([In] const D2D_MATRIX_3X2_F* transform) + ID2D1Brush::SetTransform +
+ + +

Gets the degree of opacity of this brush.

+
+

A value between zero and 1 that indicates the opacity of the brush. This value is a constant multiplier that linearly scales the alpha value of all pixels filled by the brush. The opacity values are clamped in the range 0?1 before they are multipled together.

+ + dd371176 + float ID2D1Brush::GetOpacity() + ID2D1Brush::GetOpacity +
+ + +

Gets the transform applied to this brush.

+
+

The transform applied to this brush.

+ +

When the brush transform is the identity matrix, the brush appears in the same coordinate space as the render target in which it is drawn.

+
+ + dd371179 + void ID2D1Brush::GetTransform([Out] D2D_MATRIX_3X2_F* transform) + ID2D1Brush::GetTransform +
+ + +

Gets or sets the degree of opacity of this brush.

+
+ + dd371176 + GetOpacity / SetOpacity + GetOpacity + float ID2D1Brush::GetOpacity() +
+ + +

Gets or sets the transform applied to this brush.

+
+ +

When the brush transform is the identity matrix, the brush appears in the same coordinate space as the render target in which it is drawn.

+
+ + dd371179 + GetTransform / SetTransform + GetTransform + void ID2D1Brush::GetTransform([Out] D2D_MATRIX_3X2_F* transform) +
+ + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + + + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + The extend modes and interpolation mode of the new brush, or NULL. If this parameter is NULL, the brush defaults to the horizontal and vertical extend modes and the interpolation mode. + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + + + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + The opacity and transform of the new brush, or NULL. If this parameter is NULL, the brush defaults to an opacity of 1.0f and its transform is the identity matrix. + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + + + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + The extend modes and interpolation mode of the new brush, or NULL. If this parameter is NULL, the brush defaults to the horizontal and vertical extend modes and the interpolation mode. + The opacity and transform of the new brush, or NULL. If this parameter is NULL, the brush defaults to an opacity of 1.0f and its transform is the identity matrix. + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Specifies how the brush horizontally tiles those areas that extend past its bitmap.

+
+

A value that specifies how the brush horizontally tiles those areas that extend past its bitmap.

+ +

Sometimes, the bitmap for a bitmap brush doesn't completely fill the area being painted. When this happens, Direct2D uses the brush's horizontal (SetExtendModeX) and vertical (SetExtendModeY) extend mode settings to determine how to fill the remaining area.

The following illustration shows the results from every possible combination of the extend modes for an : (CLAMP), (WRAP), and D2D1_EXTEND_MIRROR (MIRROR).

+
+ + dd371139 + void ID2D1BitmapBrush::SetExtendModeX([In] D2D1_EXTEND_MODE extendModeX) + ID2D1BitmapBrush::SetExtendModeX +
+ + +

Specifies how the brush vertically tiles those areas that extend past its bitmap.

+
+

A value that specifies how the brush vertically tiles those areas that extend past its bitmap.

+ +

Sometimes, the bitmap for a bitmap brush doesn't completely fill the area being painted. When this happens, Direct2D uses the brush's horizontal (SetExtendModeX) and vertical (SetExtendModeY) extend mode settings to determine how to fill the remaining area.

The following illustration shows the results from every possible combination of the extend modes for an : (CLAMP), (WRAP), and D2D1_EXTEND_MIRROR (MIRROR).

+
+ + dd371142 + void ID2D1BitmapBrush::SetExtendModeY([In] D2D1_EXTEND_MODE extendModeY) + ID2D1BitmapBrush::SetExtendModeY +
+ + +

Specifies the interpolation mode used when the brush bitmap is scaled or rotated.

+
+

The interpolation mode used when the brush bitmap is scaled or rotated.

+ +

This method sets the interpolation mode for a bitmap, which is an enum value that is specified in the enumeration type. represents nearest neighbor filtering. It looks up the nearest bitmap pixel to the current rendering pixel and chooses its exact color. represents linear filtering, and interpolates a color from the four nearest bitmap pixels.

The interpolation mode of a bitmap also affects subpixel translations. In a subpixel translation, bilinear interpolation positions the bitmap more precisely to the application requests, but blurs the bitmap in the process.

+
+ + dd371145 + void ID2D1BitmapBrush::SetInterpolationMode([In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode) + ID2D1BitmapBrush::SetInterpolationMode +
+ + +

Specifies the bitmap source that this brush uses to paint.

+
+

The bitmap source used by the brush.

+ +

This method specifies the bitmap source that this brush uses to paint. The bitmap is not resized or rescaled automatically to fit the geometry that it fills. The bitmap stays at its native size. To resize or translate the bitmap, use the SetTransform method to apply a transform to the brush.

The native size of a bitmap is the width and height in bitmap pixels, divided by the bitmap DPI. This native size forms the base tile of the brush. To tile a subregion of the bitmap, you must generate a new bitmap containing this subregion and use SetBitmap to apply it to the brush. +

+
+ + dd371136 + void ID2D1BitmapBrush::SetBitmap([In] ID2D1Bitmap* bitmap) + ID2D1BitmapBrush::SetBitmap +
+ + +

Gets the method by which the brush horizontally tiles those areas that extend past its bitmap.

+
+

A value that specifies how the brush horizontally tiles those areas that extend past its bitmap.

+ +

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

+
+ + dd371128 + D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeX() + ID2D1BitmapBrush::GetExtendModeX +
+ + +

Gets the method by which the brush vertically tiles those areas that extend past its bitmap.

+
+

A value that specifies how the brush vertically tiles those areas that extend past its bitmap.

+ +

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

+
+ + dd371132 + D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeY() + ID2D1BitmapBrush::GetExtendModeY +
+ + +

Gets the interpolation method used when the brush bitmap is scaled or rotated.

+
+

The interpolation method used when the brush bitmap is scaled or rotated.

+ +

This method gets the interpolation mode of a bitmap, which is specified by the enumeration type. represents nearest neighbor filtering. It looks up the bitmap pixel nearest to the current rendering pixel and chooses its exact color. represents linear filtering, and interpolates a color from the four nearest bitmap pixels.

The interpolation mode of a bitmap also affects subpixel translations. In a subpixel translation, linear interpolation positions the bitmap more precisely to the application request, but blurs the bitmap in the process.

+
+ + dd371134 + D2D1_BITMAP_INTERPOLATION_MODE ID2D1BitmapBrush::GetInterpolationMode() + ID2D1BitmapBrush::GetInterpolationMode +
+ + +

Gets the bitmap source that this brush uses to paint.

+
+

When this method returns, contains the address to a reference to the bitmap with which this brush paints.

+ + dd371124 + void ID2D1BitmapBrush::GetBitmap([Out] ID2D1Bitmap** bitmap) + ID2D1BitmapBrush::GetBitmap +
+ + +

Gets or sets the method by which the brush horizontally tiles those areas that extend past its bitmap.

+
+ +

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

+
+ + dd371128 + GetExtendModeX / SetExtendModeX + GetExtendModeX + D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeX() +
+ + +

Gets or sets the method by which the brush vertically tiles those areas that extend past its bitmap.

+
+ +

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

+
+ + dd371132 + GetExtendModeY / SetExtendModeY + GetExtendModeY + D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeY() +
+ + +

Gets or sets the interpolation method used when the brush bitmap is scaled or rotated.

+
+ +

This method gets the interpolation mode of a bitmap, which is specified by the enumeration type. represents nearest neighbor filtering. It looks up the bitmap pixel nearest to the current rendering pixel and chooses its exact color. represents linear filtering, and interpolates a color from the four nearest bitmap pixels.

The interpolation mode of a bitmap also affects subpixel translations. In a subpixel translation, linear interpolation positions the bitmap more precisely to the application request, but blurs the bitmap in the process.

+
+ + dd371134 + GetInterpolationMode / SetInterpolationMode + GetInterpolationMode + D2D1_BITMAP_INTERPOLATION_MODE ID2D1BitmapBrush::GetInterpolationMode() +
+ + +

Gets or sets the bitmap source that this brush uses to paint.

+
+ + dd371124 + GetBitmap / SetBitmap + GetBitmap + void ID2D1BitmapBrush::GetBitmap([Out] ID2D1Bitmap** bitmap) +
+ + +

Describes the pixel format and dpi of a bitmap.

+
+ + dd368075 + D2D1_BITMAP_PROPERTIES + D2D1_BITMAP_PROPERTIES +
+ + + Initializes a new instance of the struct. + + The pixel format. + + + + Initializes a new instance of the struct. + + The pixel format. + The dpi X. + The dpi Y. + + + +

The bitmap's pixel format and alpha mode.

+
+ + dd368075 + D2D1_PIXEL_FORMAT pixelFormat + D2D1_PIXEL_FORMAT pixelFormat +
+ + +

The horizontal dpi of the bitmap.

+
+ + dd368075 + float dpiX + float dpiX +
+ + +

The vertical dpi of the bitmap.

+
+ + dd368075 + float dpiY + float dpiY +
+ + +

Renders to an intermediate texture created by the CreateCompatibleRenderTarget method.

+
+ +

An writes to an intermediate texture. It's useful for creating patterns for use with an or caching drawing data that will be used repeatedly.

To write directly to a WIC bitmap instead, use the method. This method returns an that writes to the specified WIC bitmap. For an example, see the Save as Image File Sample.

Creating Objects

To create a bitmap render target, call the method.

Like other render targets, an is a device-dependent resource and must be recreated when the associated device becomes unavailable. For more information, see the Resources Overview.

+
+ + dd371146 + ID2D1BitmapRenderTarget + ID2D1BitmapRenderTarget +
+ + + Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target with same size, pixel size and pixel format. + + an instance of + A value that specifies whether the new render target must be compatible with GDI. + HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) + + + + Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target with same pixel size and pixel format. + + an instance of + A value that specifies whether the new render target must be compatible with GDI. + The desired size of the new render target in device-independent pixels if it should be different from the original render target. For more information, see the Remarks section. + HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) + + + + Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target with same size and pixel size. + + an instance of + The desired pixel format and alpha mode of the new render target. If the pixel format is set to DXGI_FORMAT_UNKNOWN, the new render target uses the same pixel format as the original render target. If the alpha mode is , the alpha mode of the new render target defaults to D2D1_ALPHA_MODE_PREMULTIPLIED. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + A value that specifies whether the new render target must be compatible with GDI. + HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) + + + + Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target. + + + The pixel size and DPI of the new render target can be altered by specifying values for desiredSize or desiredPixelSize: If desiredSize is specified but desiredPixelSize is not, the pixel size is computed from the desired size using the parent target DPI. If the desiredSize maps to a integer-pixel size, the DPI of the compatible render target is the same as the DPI of the parent target. If desiredSize maps to a fractional-pixel size, the pixel size is rounded up to the nearest integer and the DPI for the compatible render target is slightly higher than the DPI of the parent render target. In all cases, the coordinate (desiredSize.width, desiredSize.height) maps to the lower-right corner of the compatible render target.If the desiredPixelSize is specified and desiredSize is not, the DPI of the new render target is the same as the original render target.If both desiredSize and desiredPixelSize are specified, the DPI of the new render target is computed to account for the difference in scale.If neither desiredSize nor desiredPixelSize is specified, the new render target size and DPI match the original render target. + + an instance of + The desired size of the new render target in device-independent pixels if it should be different from the original render target. For more information, see the Remarks section. + The desired size of the new render target in pixels if it should be different from the original render target. For more information, see the Remarks section. + The desired pixel format and alpha mode of the new render target. If the pixel format is set to DXGI_FORMAT_UNKNOWN, the new render target uses the same pixel format as the original render target. If the alpha mode is , the alpha mode of the new render target defaults to D2D1_ALPHA_MODE_PREMULTIPLIED. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + A value that specifies whether the new render target must be compatible with GDI. + HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the bitmap for this render target. The returned bitmap can be used for drawing operations.

+
+

When this method returns, contains the address of a reference to the bitmap for this render target. This bitmap can be used for drawing operations.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The DPI for the obtained from GetBitmap will be the DPI of the when the render target was created. Changing the DPI of the by calling SetDpi doesn't affect the DPI of the bitmap, even if SetDpi is called before GetBitmap. Using SetDpi to change the DPI of the does affect how contents are rendered into the bitmap: it just doesn't affect the DPI of the bitmap retrieved by GetBitmap.

+
+ + dd371150 + HRESULT ID2D1BitmapRenderTarget::GetBitmap([Out] ID2D1Bitmap** bitmap) + ID2D1BitmapRenderTarget::GetBitmap +
+ + +

Retrieves the bitmap for this render target. The returned bitmap can be used for drawing operations.

+
+ +

The DPI for the obtained from GetBitmap will be the DPI of the when the render target was created. Changing the DPI of the by calling SetDpi doesn't affect the DPI of the bitmap, even if SetDpi is called before GetBitmap. Using SetDpi to change the DPI of the does affect how contents are rendered into the bitmap: it just doesn't affect the DPI of the bitmap retrieved by GetBitmap.

+
+ + dd371150 + GetBitmap + GetBitmap + HRESULT ID2D1BitmapRenderTarget::GetBitmap([Out] ID2D1Bitmap** bitmap) +
+ + + Default abstract implementation of TextRenderer. Need to implement a least a DrawXXX method to use it. + + + + + Determines whether pixel snapping is disabled. The recommended default is FALSE, + unless doing animation that requires subpixel vertical placement. + + The context passed to IDWriteTextLayout::Draw. + Receives TRUE if pixel snapping is disabled or FALSE if it not. + HRESULT IsPixelSnappingDisabled([None] void* clientDrawingContext,[Out] BOOL* isDisabled) + + + + Gets a transform that maps abstract coordinates to DIPs. + + The drawing context passed to . + a structure which has transform information for pixel snapping. + HRESULT GetCurrentTransform([None] void* clientDrawingContext,[Out] DWRITE_MATRIX* transform) + + + + Gets the number of physical pixels per DIP. + + + Because a DIP (device-independent pixel) is 1/96 inch, the pixelsPerDip value is the number of logical pixels per inch divided by 96. + + The drawing context passed to . + the number of physical pixels per DIP + HRESULT GetPixelsPerDip([None] void* clientDrawingContext,[Out] FLOAT* pixelsPerDip) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to render a run of glyphs. + + + The function calls this callback function with all the information about glyphs to render. The application implements this callback by mostly delegating the call to the underlying platform's graphics API such as {{Direct2D}} to draw glyphs on the drawing context. An application that uses GDI can implement this callback in terms of the method. + + The application-defined drawing context passed to . + The pixel location (X-coordinate) at the baseline origin of the glyph run. + The pixel location (Y-coordinate) at the baseline origin of the glyph run. + The measuring method for glyphs in the run, used with the other properties to determine the rendering mode. + Pointer to the glyph run instance to render. + A pointer to the optional glyph run description instance which contains properties of the characters associated with this run. + Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of text. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawGlyphRun([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to draw an underline. + + + A single underline can be broken into multiple calls, depending on how the formatting changes attributes. If font sizes/styles change within an underline, the thickness and offset will be averaged weighted according to characters. To get an appropriate starting pixel position, add underline::offset to the baseline. Otherwise there will be no spacing between the text. The x coordinate will always be passed as the left side, regardless of text directionality. This simplifies drawing and reduces the problem of round-off that could potentially cause gaps or a double stamped alpha blend. To avoid alpha overlap, round the end points to the nearest device pixel. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + The pixel location (X-coordinate) at the baseline origin of the run where underline applies. + The pixel location (Y-coordinate) at the baseline origin of the run where underline applies. + Pointer to a structure containing underline logical information. + Application-defined effect to apply to the underline. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawUnderline([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_UNDERLINE* underline,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to draw a strikethrough. + + + A single strikethrough can be broken into multiple calls, depending on how the formatting changes attributes. Strikethrough is not averaged across font sizes/styles changes. To get an appropriate starting pixel position, add strikethrough::offset to the baseline. Like underlines, the x coordinate will always be passed as the left side, regardless of text directionality. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + The pixel location (X-coordinate) at the baseline origin of the run where strikethrough applies. + The pixel location (Y-coordinate) at the baseline origin of the run where strikethrough applies. + Pointer to a structure containing strikethrough logical information. + Application-defined effect to apply to the strikethrough. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawStrikethrough([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_STRIKETHROUGH* strikethrough,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this application callback when it needs to draw an inline object. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + X-coordinate at the top-left corner of the inline object. + Y-coordinate at the top-left corner of the inline object. + The application-defined inline object set using IDWriteTextFormat::SetInlineObject. + A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. + A Boolean flag that indicates whether the object is in a right-to-left context, hinting that the drawing may want to mirror the normal image. + Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawInlineObject([None] void* clientDrawingContext,[None] FLOAT originX,[None] FLOAT originY,[None] IDWriteInlineObject* inlineObject,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + + Internal TextRenderer Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT DrawGlyphRun([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[None] IUnknown* clientDrawingEffect) + + + HRESULT DrawUnderline([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_UNDERLINE* underline,[None] IUnknown* clientDrawingEffect) + + + HRESULT DrawStrikethrough([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_STRIKETHROUGH* strikethrough,[None] IUnknown* clientDrawingEffect) + + + HRESULT DrawInlineObject([None] void* clientDrawingContext,[None] FLOAT originX,[None] FLOAT originY,[None] IDWriteInlineObject* inlineObject,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + +

Gets the number of OpenType font features for the current font.

+
+ +

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

+
+ + dd371549 + IDWriteTypography + IDWriteTypography +
+ + + Creates a typography object for use in a text layout. + + an instance of + HRESULT IDWriteFactory::CreateTypography([Out] IDWriteTypography** typography) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Adds an OpenType font feature.

+
+

A structure that contains the OpenType name identifier and the execution parameter for the font feature being added.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371545 + HRESULT IDWriteTypography::AddFontFeature([In] DWRITE_FONT_FEATURE fontFeature) + IDWriteTypography::AddFontFeature +
+ + +

Gets the number of OpenType font features for the current font.

+
+

The number of font features for the current text format.

+ +

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

+
+ + dd371549 + unsigned int IDWriteTypography::GetFontFeatureCount() + IDWriteTypography::GetFontFeatureCount +
+ + +

Gets the font feature at the specified index.

+
+

The zero-based index of the font feature to retrieve.

+

When this method returns, contains the font feature which is at the specified index.

+ +

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

+
+ + dd371546 + HRESULT IDWriteTypography::GetFontFeature([In] unsigned int fontFeatureIndex,[Out] DWRITE_FONT_FEATURE* fontFeature) + IDWriteTypography::GetFontFeature +
+ + +

Gets the number of OpenType font features for the current font.

+
+ +

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

+
+ + dd371549 + GetFontFeatureCount + GetFontFeatureCount + unsigned int IDWriteTypography::GetFontFeatureCount() +
+ + +

Contains the center point, x-radius, and y-radius of an ellipse.

+
+ + dd368097 + D2D1_ELLIPSE + D2D1_ELLIPSE +
+ + + Initializes a new instance of the struct. + + The center. + The radius X. + The radius Y. + + + +

The center point of the ellipse.

+
+ + dd368097 + D2D_POINT_2F point + D2D_POINT_2F point +
+ + +

The X-radius of the ellipse.

+
+ + dd368097 + float radiusX + float radiusX +
+ + +

The Y-radius of the ellipse.

+
+ + dd368097 + float radiusY + float radiusY +
+ + +

Provides access to an device context that can accept GDI drawing commands.

+
+ +

You don't create an object directly; instead, you use the QueryInterface method of an existing render target instance to provide an version of that render target.

Not all render targets support the interface. The render target must be GDI-compatible (the flag was specified when creating the render target), use the pixel format, and use the or alpha mode.

Note that the QueryInterface method always succeeds; if the render target doesn't support the interface, calling GetDC will fail. (For render targets created through the CreateCompatibleRenderTarget method, the render target that created it must have these settings.)

To test whether a given render target supports the interface, create a that specifies GDI compatibility and the appropriate pixel format, then call the render target's IsSupported method to see whether the render target is GDI-compatible.

+
+ + dd371321 + ID2D1GdiInteropRenderTarget + ID2D1GdiInteropRenderTarget +
+ + + Indicates that drawing with the device context retrieved using the {{GetDC}} method is finished. + + + ReleaseDC must be called once for each call to {{GetDC}}. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT ID2D1GdiInteropRenderTarget::ReleaseDC([In, Optional] const RECT* update) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the device context associated with this render target.

+
+

A value that specifies whether the device context should be cleared.

+

When this method returns, contains the device context associated with this render target. You must allocate storage for this parameter.

+ +

Calling this method flushes the render target.

This command can be called only after BeginDraw and before EndDraw. It should not be called between PushAxisAlignedClip/PopAxisAlignedClip commands or between PushLayer/PopLayer.

ReleaseDC must be called once for each call to GetDC.

+
+ + dd371323 + HRESULT ID2D1GdiInteropRenderTarget::GetDC([In] D2D1_DC_INITIALIZE_MODE mode,[Out] HDC* hdc) + ID2D1GdiInteropRenderTarget::GetDC +
+ + +

Indicates that drawing with the device context retrieved using the GetDC method is finished.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

ReleaseDC must be called once for each call to GetDC.

+
+ + dd371327 + HRESULT ID2D1GdiInteropRenderTarget::ReleaseDC([In, Optional] const RECT* update) + ID2D1GdiInteropRenderTarget::ReleaseDC +
+ + +

Indicates the condition at the edges of inline object or text used to determine line-breaking behavior.

+
+ + dd368051 + DWRITE_BREAK_CONDITION + DWRITE_BREAK_CONDITION +
+ + +

Indicates whether a break is allowed by determining the condition of the neighboring text span or inline object.

+
+ + dd368051 + DWRITE_BREAK_CONDITION_NEUTRAL + DWRITE_BREAK_CONDITION_NEUTRAL +
+ + +

Indicates that a line break is allowed, unless overruled by the condition of the neighboring text span or inline object, either prohibited by a "may not break" condition or forced by a "must break" condition.

+
+ + dd368051 + DWRITE_BREAK_CONDITION_CAN_BREAK + DWRITE_BREAK_CONDITION_CAN_BREAK +
+ + +

Indicates that there should be no line break, unless overruled by a "must break" condition from the neighboring text span or inline object.

+
+ + dd368051 + DWRITE_BREAK_CONDITION_MAY_NOT_BREAK + DWRITE_BREAK_CONDITION_MAY_NOT_BREAK +
+ + +

Indicates that the line break must happen, regardless of the condition of the adjacent text span or inline object.

+
+ + dd368051 + DWRITE_BREAK_CONDITION_MUST_BREAK + DWRITE_BREAK_CONDITION_MUST_BREAK +
+ + +

Specifies the type of DirectWrite factory object.

+
+ +

A DirectWrite factory object contains information about its internal state, such as font loader registration and cached font data. In most cases you should use the shared factory object, because it allows multiple components that use DirectWrite to share internal DirectWrite state information, thereby reducing memory usage. However, there are cases when it is desirable to reduce the impact of a component on the rest of the process, such as a plug-in from an untrusted source, by sandboxing and isolating it from the rest of the process components. In such cases, you should use an isolated factory for the sandboxed component.

+
+ + dd368057 + DWRITE_FACTORY_TYPE + DWRITE_FACTORY_TYPE +
+ + +

Indicates that the DirectWrite factory is a shared factory and that it allows for the reuse of cached font data across multiple in-process components. Such factories also take advantage of cross process font caching components for better performance.

+
+ + dd368057 + DWRITE_FACTORY_TYPE_SHARED + DWRITE_FACTORY_TYPE_SHARED +
+ + +

Indicates that the DirectWrite factory object is isolated. Objects created from the isolated factory do not interact with internal DirectWrite state from other components.

+
+ + dd368057 + DWRITE_FACTORY_TYPE_ISOLATED + DWRITE_FACTORY_TYPE_ISOLATED +
+ + +

Indicates the direction of flow for placing lines of text in a paragraph.

+
+ + dd368060 + DWRITE_FLOW_DIRECTION + DWRITE_FLOW_DIRECTION +
+ + +

Specifies that text lines are placed from top to bottom.

+
+ + dd368060 + DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM + DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM +
+ + +

Indicates the file format of a complete font face.

+
+ +

Font formats that consist of multiple files, such as Type 1 .PFM and .PFB, have a single enum entry.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE + DWRITE_FONT_FACE_TYPE +
+ + +

OpenType font face with CFF outlines.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_CFF + DWRITE_FONT_FACE_TYPE_CFF +
+ + +

OpenType font face with TrueType outlines.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_TRUETYPE + DWRITE_FONT_FACE_TYPE_TRUETYPE +
+ + +

OpenType font face that is a part of a TrueType collection.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION + DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION +
+ + +

A Type 1 font face.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_TYPE1 + DWRITE_FONT_FACE_TYPE_TYPE1 +
+ + +

A vector .FON format font face.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_VECTOR + DWRITE_FONT_FACE_TYPE_VECTOR +
+ + +

A bitmap .FON format font face.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_BITMAP + DWRITE_FONT_FACE_TYPE_BITMAP +
+ + +

Font face type is not recognized by the DirectWrite font system.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_UNKNOWN + DWRITE_FONT_FACE_TYPE_UNKNOWN +
+ + +

A value that indicates the typographic feature of text supplied by the font.

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG + DWRITE_FONT_FEATURE_TAG +
+ + +

Replaces figures separated by a slash with an alternative form.

Equivalent OpenType tag: 'afrc'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS + DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS +
+ + +

Turns capital characters into petite capitals. It is generally used for words which would otherwise be set in all caps, such as acronyms, but which are desired in petite-cap form to avoid disrupting the flow of text. See the pcap feature description for notes on the relationship of caps, smallcaps and petite caps.

Equivalent OpenType tag: 'c2pc'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS +
+ + +

Turns capital characters into small capitals. It is generally used for words which would otherwise be set in all caps, such as acronyms, but which are desired in small-cap form to avoid disrupting the flow of text.

Equivalent OpenType tag: 'c2sc'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS +
+ + +

In specified situations, replaces default glyphs with alternate forms which provide better joining behavior. Used in script typefaces which are designed to have some or all of their glyphs join.

Equivalent OpenType tag: 'calt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES +
+ + +

Shifts various punctuation marks up to a position that works better with all-capital sequences or sets of lining figures; also changes oldstyle figures to lining figures. By default, glyphs in a text face are designed to work with lowercase characters. Some characters should be shifted vertically to fit the higher visual center of all-capital or lining text. Also, lining figures are the same height (or close to it) as capitals, and fit much better with all-capital text.

Equivalent OpenType tag: 'case'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS + DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS +
+ + +

To minimize the number of glyph alternates, it is sometimes desired to decompose a character into two glyphs. Additionally, it may be preferable to compose two characters into a single glyph for better glyph processing. This feature permits such composition/decomposition. The feature should be processed as the first feature processed, and should be processed only when it is called.

Equivalent OpenType tag: 'ccmp'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION + DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION +
+ + +

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. Unlike other ligature features, clig specifies the context in which the ligature is recommended. This capability is important in some script designs and for swash ligatures.

Equivalent OpenType tag: 'clig'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES +
+ + +

Globally adjusts inter-glyph spacing for all-capital text. Most typefaces contain capitals and lowercase characters, and the capitals are positioned to work with the lowercase. When capitals are used for words, they need more space between them for legibility and esthetics. This feature would not apply to monospaced designs. Of course the user may want to override this behavior in order to do more pronounced letterspacing for esthetic reasons.

Equivalent OpenType tag: 'cpsp'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING + DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING +
+ + +

Replaces default character glyphs with corresponding swash glyphs in a specified context. Note that there may be more than one swash alternate for a given character.

Equivalent OpenType tag: 'cswh'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH +
+ + +

In cursive scripts like Arabic, this feature cursively positions adjacent glyphs.

Equivalent OpenType tag: 'curs'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING + DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING +
+ + +

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers those ligatures which may be used for special effect, at the user's preference.

Equivalent OpenType tag: 'dlig'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_DEFAULT + DWRITE_FONT_FEATURE_TAG_DEFAULT +
+ + +

Replaces standard forms in Japanese fonts with corresponding forms preferred by typographers. For example, a user would invoke this feature to replace kanji character U+5516 with U+555E. +

Equivalent OpenType tag: 'expt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES + DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES +
+ + +

Replaces figures separated by a slash with 'common' (diagonal) fractions.

Equivalent OpenType tag: 'frac'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS + DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS +
+ + +

Replaces glyphs set on other widths with glyphs set on full (usually em) widths. In a CJKV font, this may include "lower ASCII" Latin characters and various symbols. In a European font, this feature replaces proportionally-spaced glyphs with monospaced glyphs, which are generally set on widths of 0.6 em. For example, a user may invoke this feature in a Japanese font to get full monospaced Latin glyphs instead of the corresponding proportionally-spaced versions.

Equivalent OpenType tag: 'fwid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_FRACTIONS + DWRITE_FONT_FEATURE_TAG_FRACTIONS +
+ + +

Produces the half forms of consonants in Indic scripts. For example, in Hindi (Devanagari script), the conjunct KKa, obtained by doubling the Ka, is denoted with a half form of Ka followed by the full form.

Equivalent OpenType tag: 'half'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_FULL_WIDTH + DWRITE_FONT_FEATURE_TAG_FULL_WIDTH +
+ + +

Produces the halant forms of consonants in Indic scripts. For example, in Sanskrit (Devanagari script), syllable final consonants are frequently required in their halant form.

Equivalent OpenType tag: 'haln'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HALF_FORMS + DWRITE_FONT_FEATURE_TAG_HALF_FORMS +
+ + +

Respaces glyphs designed to be set on full-em widths, fitting them onto half-em widths. This differs from hwid in that it does not substitute new glyphs.

Equivalent OpenType tag: 'halt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HALANT_FORMS + DWRITE_FONT_FEATURE_TAG_HALANT_FORMS +
+ + +

Replaces the default (current) forms with the historical alternates. While some ligatures are also used for historical effect, this feature deals only with single characters. Some fonts include the historical forms as alternates, so they can be used for a 'period' effect.

Equivalent OpenType tag: 'hist'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH + DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH +
+ + +

Replaces standard kana with forms that have been specially designed for only horizontal writing. This is a typographic optimization for improved fit and more even color.

Equivalent OpenType tag: 'hkna'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS + DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS +
+ + +

Replaces the default (current) forms with the historical alternates. Some ligatures were in common use in the past, but appear anachronistic today. Some fonts include the historical forms as alternates, so they can be used for a 'period' effect.

Equivalent OpenType tag: 'hlig'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES + DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES +
+ + +

Replaces glyphs on proportional widths, or fixed widths other than half an em, with glyphs on half-em (en) widths. Many CJKV fonts have glyphs which are set on multiple widths; this feature selects the half-em version. There are various contexts in which this is the preferred behavior, including compatibility with older desktop documents.

Equivalent OpenType tag: 'hwid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES + DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES +
+ + +

Used to access the JIS X 0212-1990 glyphs for the cases when the JIS X 0213:2004 form is encoded. The JIS X 0212-1990 (aka, "Hojo Kanji") and JIS X 0213:2004 character sets overlap significantly. In some cases their prototypical glyphs differ. When building fonts that support both JIS X 0212-1990 and JIS X 0213:2004 (such as those supporting the Adobe-Japan 1-6 character collection), it is recommended that JIS X 0213:2004 forms be the preferred encoded form.

Equivalent OpenType tag: 'hojo'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HALF_WIDTH + DWRITE_FONT_FEATURE_TAG_HALF_WIDTH +
+ + +

The National Language Council (NLC) of Japan has defined new glyph shapes for a number of JIS characters, which were incorporated into JIS X 0213:2004 as new prototypical forms. The 'jp04' feature is A subset of the 'nlck' feature, and is used to access these prototypical glyphs in a manner that maintains the integrity of JIS X 0213:2004.

Equivalent OpenType tag: 'jp04'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS + DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS +
+ + +

Replaces default (JIS90) Japanese glyphs with the corresponding forms from the JIS C 6226-1978 (JIS78) specification.

Equivalent OpenType tag: 'jp78'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_JIS04_FORMS + DWRITE_FONT_FEATURE_TAG_JIS04_FORMS +
+ + +

Replaces default (JIS90) Japanese glyphs with the corresponding forms from the JIS X 0208-1983 (JIS83) specification.

Equivalent OpenType tag: 'jp83'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_JIS78_FORMS + DWRITE_FONT_FEATURE_TAG_JIS78_FORMS +
+ + +

Replaces Japanese glyphs from the JIS78 or JIS83 specifications with the corresponding forms from the JIS X 0208-1990 (JIS90) specification.

Equivalent OpenType tag: 'jp90'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_JIS83_FORMS + DWRITE_FONT_FEATURE_TAG_JIS83_FORMS +
+ + +

Adjusts amount of space between glyphs, generally to provide optically consistent spacing between glyphs. Although a well-designed typeface has consistent inter-glyph spacing overall, some glyph combinations require adjustment for improved legibility. Besides standard adjustment in the horizontal direction, this feature can supply size-dependent kerning data via device tables, "cross-stream" kerning in the Y text direction, and adjustment of glyph placement independent of the advance adjustment. Note that this feature may apply to runs of more than two glyphs, and would not be used in monospaced fonts. Also note that this feature does not apply to text set vertically.

Equivalent OpenType tag: 'kern'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_JIS90_FORMS + DWRITE_FONT_FEATURE_TAG_JIS90_FORMS +
+ + +

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers the ligatures which the designer/manufacturer judges should be used in normal conditions.

Equivalent OpenType tag: 'liga'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_KERNING + DWRITE_FONT_FEATURE_TAG_KERNING +
+ + +

Changes selected figures from oldstyle to the default lining form. For example, a user may invoke this feature in order to get lining figures, which fit better with all-capital text. This feature overrides results of the Oldstyle Figures feature (onum).

Equivalent OpenType tag: 'lnum'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES + DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES +
+ + +

Enables localized forms of glyphs to be substituted for default forms. Many scripts used to write multiple languages over wide geographical areas have developed localized variant forms of specific letters, which are used by individual literary communities. For example, a number of letters in the Bulgarian and Serbian alphabets have forms distinct from their Russian counterparts and from each other. In some cases the localized form differs only subtly from the script 'norm', in others the forms are radically distinct.

Equivalent OpenType tag: 'locl'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_LINING_FIGURES + DWRITE_FONT_FEATURE_TAG_LINING_FIGURES +
+ + +

Positions mark glyphs with respect to base glyphs. For example, in Arabic script positioning the Hamza above the Yeh.

Equivalent OpenType tag: 'mark'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS + DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS +
+ + +

Replaces standard typographic forms of Greek glyphs with corresponding forms commonly used in mathematical notation (which are a subset of the Greek alphabet).

Equivalent OpenType tag: 'mgrk'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING + DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING +
+ + +

Positions marks with respect to other marks. Required in various non-Latin scripts like Arabic. For example, in Arabic, the ligaturised mark Ha with Hamza above it can also be obtained by positioning these marks relative to one another.

Equivalent OpenType tag: 'mkmk'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK + DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK +
+ + +

Replaces default glyphs with various notational forms (such as glyphs placed in open or solid circles, squares, parentheses, diamonds or rounded boxes). In some cases an annotation form may already be present, but the user may want a different one.

Equivalent OpenType tag: 'nalt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING + DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING +
+ + +

Used to access glyphs made from glyph shapes defined by the National Language Council (NLC) of Japan for a number of JIS characters in 2000.

Equivalent OpenType tag: 'nlck'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS + DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS +
+ + +

Changes selected figures from the default lining style to oldstyle form. For example, a user may invoke this feature to get oldstyle figures, which fit better into the flow of normal upper- and lowercase text. This feature overrides results of the Lining Figures feature (lnum).

Equivalent OpenType tag: 'onum'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS + DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS +
+ + +

Replaces default alphabetic glyphs with the corresponding ordinal forms for use after figures. One exception to the follows-a-figure rule is the numero character (U+2116), which is actually a ligature substitution, but is best accessed through this feature.

Equivalent OpenType tag: 'ordn'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES + DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES +
+ + +

Respaces glyphs designed to be set on full-em widths, fitting them onto individual (more or less proportional) horizontal widths. This differs from pwid in that it does not substitute new glyphs (GPOS, not GSUB feature). The user may prefer the monospaced form, or may simply want to ensure that the glyph is well-fit and not rotated in vertical setting (Latin forms designed for proportional spacing would be rotated).

Equivalent OpenType tag: 'palt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_ORDINALS + DWRITE_FONT_FEATURE_TAG_ORDINALS +
+ + +

Turns lowercase characters into petite capitals. Forms related to petite capitals, such as specially designed figures, may be included. Some fonts contain an additional size of capital letters, shorter than the regular smallcaps and it is referred to as petite caps. Such forms are most likely to be found in designs with a small lowercase x-height, where they better harmonise with lowercase text than the taller smallcaps (for examples of petite caps, see the Emigre type families Mrs Eaves and Filosofia).

Equivalent OpenType tag: 'pcap'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH +
+ + +

Replaces figure glyphs set on uniform (tabular) widths with corresponding glyphs set on glyph-specific (proportional) widths. Tabular widths will generally be the default, but this cannot be safely assumed. Of course this feature would not be present in monospaced designs.

Equivalent OpenType tag: 'pnum'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS +
+ + +

Replaces glyphs set on uniform widths (typically full or half-em) with proportionally spaced glyphs. The proportional variants are often used for the Latin characters in CJKV fonts, but may also be used for Kana in Japanese fonts.

Equivalent OpenType tag: 'pwid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES +
+ + +

Replaces glyphs on other widths with glyphs set on widths of one quarter of an em (half an en). The characters involved are normally figures and some forms of punctuation.

Equivalent OpenType tag: 'qwid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS +
+ + +

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers those ligatures, which the script determines as required to be used in normal conditions. This feature is important for some scripts to ensure correct glyph formation.

Equivalent OpenType tag: 'rlig'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS + DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS +
+ + +

Identifies glyphs in the font which have been designed for "ruby", from the old typesetting term for four-point-sized type. Japanese typesetting often uses smaller kana glyphs, generally in superscripted form, to clarify the meaning of kanji which may be unfamiliar to the reader.

Equivalent OpenType tag: 'ruby'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES + DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES +
+ + +

Replaces the default forms with the stylistic alternates. Many fonts contain alternate glyph designs for a purely esthetic effect; these don't always fit into a clear category like swash or historical. As in the case of swash glyphs, there may be more than one alternate form.

Equivalent OpenType tag: 'salt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS + DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS +
+ + +

Replaces lining or oldstyle figures with inferior figures (smaller glyphs which sit lower than the standard baseline, primarily for chemical or mathematical notation). May also replace lowercase characters with alphabetic inferiors.

Equivalent OpenType tag: 'sinf'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES + DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES +
+ + +

Turns lowercase characters into small capitals. This corresponds to the common SC font layout. It is generally used for display lines set in Large & small caps, such as titles. Forms related to small capitals, such as oldstyle figures, may be included.

Equivalent OpenType tag: 'smcp'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS + DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS +
+ + +

Replaces 'traditional' Chinese or Japanese forms with the corresponding 'simplified' forms.

Equivalent OpenType tag: 'smpl'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS +
+ + +

In addition to, or instead of, stylistic alternatives of individual glyphs (see 'salt' feature), some fonts may contain sets of stylistic variant glyphs corresponding to portions of the character set, such as multiple variants for lowercase letters in a Latin font. Glyphs in stylistic sets may be designed to harmonise visually, interract in particular ways, or otherwise work together. Examples of fonts including stylistic sets are Zapfino Linotype and Adobe's Poetica. Individual features numbered sequentially with the tag name convention 'ss01' 'ss02' 'ss03' . 'ss20' provide a mechanism for glyphs in these sets to be associated via GSUB lookup indexes to default forms and to each other, and for users to select from available stylistic sets

Equivalent OpenType tag: 'ss01'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS + DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS +
+ + +

See the description for .

Equivalent OpenType tag: 'ss02'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss03'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss04'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss05'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss06'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss07'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss08'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss09'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss10'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss11'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss12'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss13'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss14'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss15'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss16'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss17'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss18'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss19'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss20'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 +
+ + +

May replace a default glyph with a subscript glyph, or it may combine a glyph substitution with positioning adjustments for proper placement.

Equivalent OpenType tag: 'subs'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 +
+ + +

Replaces lining or oldstyle figures with superior figures (primarily for footnote indication), and replaces lowercase letters with superior letters (primarily for abbreviated French titles).

Equivalent OpenType tag: 'sups'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SUBSCRIPT + DWRITE_FONT_FEATURE_TAG_SUBSCRIPT +
+ + +

Replaces default character glyphs with corresponding swash glyphs. Note that there may be more than one swash alternate for a given character.

Equivalent OpenType tag: 'swsh'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT + DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT +
+ + +

Replaces the default glyphs with corresponding forms designed specifically for titling. These may be all-capital and/or larger on the body, and adjusted for viewing at larger sizes.

Equivalent OpenType tag: 'titl'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SWASH + DWRITE_FONT_FEATURE_TAG_SWASH +
+ + +

Replaces 'simplified' Japanese kanji forms with the corresponding 'traditional' forms. This is equivalent to the Traditional Forms feature, but explicitly limited to the traditional forms considered proper for use in personal names (as many as 205 glyphs in some fonts).

Equivalent OpenType tag: 'tnam'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_TITLING + DWRITE_FONT_FEATURE_TAG_TITLING +
+ + +

Replaces figure glyphs set on proportional widths with corresponding glyphs set on uniform (tabular) widths. Tabular widths will generally be the default, but this cannot be safely assumed. Of course this feature would not be present in monospaced designs.

Equivalent OpenType tag: 'tnum'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS +
+ + +

Replaces 'simplified' Chinese hanzi or Japanese kanji forms with the corresponding 'traditional' forms.

Equivalent OpenType tag: 'trad'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES + DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES +
+ + +

Replaces glyphs on other widths with glyphs set on widths of one third of an em. The characters involved are normally figures and some forms of punctuation.

Equivalent OpenType tag: 'twid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS +
+ + +

Maps upper- and lowercase letters to a mixed set of lowercase and small capital forms, resulting in a single case alphabet (for an example of unicase, see the Emigre type family Filosofia). The letters substituted may vary from font to font, as appropriate to the design. If aligning to the x-height, smallcap glyphs may be substituted, or specially designed unicase forms might be used. Substitutions might also include specially designed figures. +

Equivalent OpenType tag: 'unic'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS + DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS +
+ + +

Allows the user to change from the default 0 to a slashed form. Some fonts contain both a default form of zero, and an alternative form which uses a diagonal slash through the counter. Especially in condensed designs, it can be difficult to distinguish between 0 and O (zero and capital O) in any situation where capitals and lining figures may be arbitrarily mixed.

Equivalent OpenType tag: 'zero'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_UNICASE + DWRITE_FONT_FEATURE_TAG_UNICASE +
+ + + No documentation. + + + DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO + DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO + + + +

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.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE + DWRITE_FONT_FILE_TYPE +
+ + +

Font type is not recognized by the DirectWrite font system.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_UNKNOWN + DWRITE_FONT_FILE_TYPE_UNKNOWN +
+ + +

OpenType font with CFF outlines.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_CFF + DWRITE_FONT_FILE_TYPE_CFF +
+ + +

OpenType font with TrueType outlines.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_TRUETYPE + DWRITE_FONT_FILE_TYPE_TRUETYPE +
+ + +

OpenType font that contains a TrueType collection.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION + DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION +
+ + +

Type 1 PFM font.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_TYPE1_PFM + DWRITE_FONT_FILE_TYPE_TYPE1_PFM +
+ + +

Type 1 PFB font.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_TYPE1_PFB + DWRITE_FONT_FILE_TYPE_TYPE1_PFB +
+ + +

Vector .FON font.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_VECTOR + DWRITE_FONT_FILE_TYPE_VECTOR +
+ + +

Bitmap .FON font.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_BITMAP + DWRITE_FONT_FILE_TYPE_BITMAP +
+ + +

Specifies algorithmic style simulations to be applied to the font face. Bold and oblique simulations can be combined via bitwise OR operation.

+
+ +

Style simulations are not recommended for good typographic quality.

+
+ + dd368076 + DWRITE_FONT_SIMULATIONS + DWRITE_FONT_SIMULATIONS +
+ + +

Indicates that no simulations are applied to the font face.

+
+ + dd368076 + DWRITE_FONT_SIMULATIONS_NONE + DWRITE_FONT_SIMULATIONS_NONE +
+ + +

Indicates that algorithmic emboldening is applied to the font face. increases weight by applying a widening algorithm to the glyph outline. This may be used to simulate a bold weight where no designed bold weight is available.

+
+ + dd368076 + DWRITE_FONT_SIMULATIONS_BOLD + DWRITE_FONT_SIMULATIONS_BOLD +
+ + +

Indicates that algorithmic italicization is applied to the font face. applies obliquing (shear) to the glyph outline. This may be used to simulate an oblique/italic style where no designed oblique/italic style is available.

+
+ + dd368076 + DWRITE_FONT_SIMULATIONS_OBLIQUE + DWRITE_FONT_SIMULATIONS_OBLIQUE +
+ + +

Represents the degree to which a font has been stretched compared to a font's normal aspect ratio. The enumerated values correspond to the usWidthClass definition in the OpenType specification. The usWidthClass represents an integer value between 1 and 9?lower values indicate narrower widths; higher values indicate wider widths.

+
+ +

A font stretch describes the degree to which a font form is stretched from its normal aspect ratio, which is the original width to height ratio specified for the glyphs in the font. + The following illustration shows an example of Normal and Condensed stretches for the Rockwell Bold typeface.

Note??Values other than the ones defined in the enumeration are considered to be invalid, and are rejected by font API functions.

+
+ + dd368078 + DWRITE_FONT_STRETCH + DWRITE_FONT_STRETCH +
+ + +

Predefined font stretch : Not known (0).

+
+ + dd368078 + DWRITE_FONT_STRETCH_UNDEFINED + DWRITE_FONT_STRETCH_UNDEFINED +
+ + +

Predefined font stretch : Ultra-condensed (1).

+
+ + dd368078 + DWRITE_FONT_STRETCH_ULTRA_CONDENSED + DWRITE_FONT_STRETCH_ULTRA_CONDENSED +
+ + +

Predefined font stretch : Extra-condensed (2).

+
+ + dd368078 + DWRITE_FONT_STRETCH_EXTRA_CONDENSED + DWRITE_FONT_STRETCH_EXTRA_CONDENSED +
+ + +

Predefined font stretch : Condensed (3).

+
+ + dd368078 + DWRITE_FONT_STRETCH_CONDENSED + DWRITE_FONT_STRETCH_CONDENSED +
+ + +

Predefined font stretch : Semi-condensed (4).

+
+ + dd368078 + DWRITE_FONT_STRETCH_SEMI_CONDENSED + DWRITE_FONT_STRETCH_SEMI_CONDENSED +
+ + +

Predefined font stretch : Normal (5).

+
+ + dd368078 + DWRITE_FONT_STRETCH_NORMAL + DWRITE_FONT_STRETCH_NORMAL +
+ + +

Predefined font stretch : Medium (5).

+
+ + dd368078 + DWRITE_FONT_STRETCH_MEDIUM + DWRITE_FONT_STRETCH_MEDIUM +
+ + +

Predefined font stretch : Semi-expanded (6).

+
+ + dd368078 + DWRITE_FONT_STRETCH_SEMI_EXPANDED + DWRITE_FONT_STRETCH_SEMI_EXPANDED +
+ + +

Predefined font stretch : Expanded (7).

+
+ + dd368078 + DWRITE_FONT_STRETCH_EXPANDED + DWRITE_FONT_STRETCH_EXPANDED +
+ + +

Predefined font stretch : Extra-expanded (8).

+
+ + dd368078 + DWRITE_FONT_STRETCH_EXTRA_EXPANDED + DWRITE_FONT_STRETCH_EXTRA_EXPANDED +
+ + +

Predefined font stretch : Ultra-expanded (9).

+
+ + dd368078 + DWRITE_FONT_STRETCH_ULTRA_EXPANDED + DWRITE_FONT_STRETCH_ULTRA_EXPANDED +
+ + +

Represents the style of a font face as normal, italic, or oblique.

+
+ +

Three terms categorize the slant of a font: normal, italic, and oblique.

Font styleDescription
NormalThe characters in a normal, or roman, font are upright. +
Italic + The characters in an italic font are truly slanted and appear as they were designed. +
ObliqueThe characters in an oblique font are artificially slanted.

?

For Oblique, the slant is achieved by performing a shear transformation on the characters from a normal font. When a true italic font is not available on a computer or printer, an oblique style can be generated from the normal font and used to simulate an italic font. The following illustration shows the normal, italic, and oblique font styles for the Palatino Linotype font. Notice how the italic font style has a more flowing and visually appealing appearance than the oblique font style, which is simply created by skewing the normal font style version of the text.

Note?? Values other than the ones defined in the enumeration are considered to be invalid, and they are rejected by font API functions.

+
+ + dd368080 + DWRITE_FONT_STYLE + DWRITE_FONT_STYLE +
+ + +

Font style : Normal.

+
+ + dd368080 + DWRITE_FONT_STYLE_NORMAL + DWRITE_FONT_STYLE_NORMAL +
+ + +

Font style : Oblique.

+
+ + dd368080 + DWRITE_FONT_STYLE_OBLIQUE + DWRITE_FONT_STYLE_OBLIQUE +
+ + +

Font style : Italic.

+
+ + dd368080 + DWRITE_FONT_STYLE_ITALIC + DWRITE_FONT_STYLE_ITALIC +
+ + +

Represents the density of a typeface, in terms of the lightness or heaviness of the strokes. The enumerated values correspond to the usWeightClass definition in the OpenType specification. The usWeightClass represents an integer value between 1 and 999. Lower values indicate lighter weights; higher values indicate heavier weights.

+
+ +

Weight differences are generally differentiated by an increased stroke or thickness that is associated with a given character in a typeface, as compared to a "normal" character from that same typeface. + The following illustration shows an example of Normal and UltraBold weights for the Palatino Linotype typeface.

Note??Not all weights are available for all typefaces. When a weight is not available for a typeface, the closest matching weight is returned.

Font weight values less than 1 or greater than 999 are considered invalid, and they are rejected by font API functions.

+
+ + dd368082 + DWRITE_FONT_WEIGHT + DWRITE_FONT_WEIGHT +
+ + +

Predefined font weight : Thin (100).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_THIN + DWRITE_FONT_WEIGHT_THIN +
+ + +

Predefined font weight : Extra-light (200).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_EXTRA_LIGHT + DWRITE_FONT_WEIGHT_EXTRA_LIGHT +
+ + +

Predefined font weight : Ultra-light (200).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_ULTRA_LIGHT + DWRITE_FONT_WEIGHT_ULTRA_LIGHT +
+ + +

Predefined font weight : Light (300).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_LIGHT + DWRITE_FONT_WEIGHT_LIGHT +
+ + +

Predefined font weight : Normal (400).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_NORMAL + DWRITE_FONT_WEIGHT_NORMAL +
+ + +

Predefined font weight : Regular (400).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_REGULAR + DWRITE_FONT_WEIGHT_REGULAR +
+ + +

Predefined font weight : Medium (500).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_MEDIUM + DWRITE_FONT_WEIGHT_MEDIUM +
+ + +

Predefined font weight : Demi-bold (600).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_DEMI_BOLD + DWRITE_FONT_WEIGHT_DEMI_BOLD +
+ + +

Predefined font weight : Semi-bold (600).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_SEMI_BOLD + DWRITE_FONT_WEIGHT_SEMI_BOLD +
+ + +

Predefined font weight : Bold (700).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_BOLD + DWRITE_FONT_WEIGHT_BOLD +
+ + +

Predefined font weight : Extra-bold (800).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_EXTRA_BOLD + DWRITE_FONT_WEIGHT_EXTRA_BOLD +
+ + +

Predefined font weight : Ultra-bold (800).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_ULTRA_BOLD + DWRITE_FONT_WEIGHT_ULTRA_BOLD +
+ + +

Predefined font weight : Black (900).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_BLACK + DWRITE_FONT_WEIGHT_BLACK +
+ + +

Predefined font weight : Heavy (900).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_HEAVY + DWRITE_FONT_WEIGHT_HEAVY +
+ + +

Predefined font weight : Extra-black (950).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_EXTRA_BLACK + DWRITE_FONT_WEIGHT_EXTRA_BLACK +
+ + +

Predefined font weight : Ultra-black (950).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_ULTRA_BLACK + DWRITE_FONT_WEIGHT_ULTRA_BLACK +
+ + +

The informational string enumeration which identifies a string embedded in a font file.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_ID + DWRITE_INFORMATIONAL_STRING_ID +
+ + +

Indicates the string containing the unspecified name ID.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_NONE + DWRITE_INFORMATIONAL_STRING_NONE +
+ + +

Indicates the string containing the copyright notice provided by the font.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE + DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE +
+ + +

Indicates the string containing a version number.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS + DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS +
+ + +

Indicates the string containing the trademark information provided by the font.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_TRADEMARK + DWRITE_INFORMATIONAL_STRING_TRADEMARK +
+ + +

Indicates the string containing the name of the font manufacturer.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_MANUFACTURER + DWRITE_INFORMATIONAL_STRING_MANUFACTURER +
+ + +

Indicates the string containing the name of the font designer.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_DESIGNER + DWRITE_INFORMATIONAL_STRING_DESIGNER +
+ + +

Indicates the string containing the URL of the font designer (with protocol, e.g., http://, ftp://).

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_DESIGNER_URL + DWRITE_INFORMATIONAL_STRING_DESIGNER_URL +
+ + +

Indicates the string containing the description of the font. This may also contain revision information, usage recommendations, history, features, etc.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_DESCRIPTION + DWRITE_INFORMATIONAL_STRING_DESCRIPTION +
+ + +

Indicates the string containing the URL of the font vendor (with protocol, e.g., http://, ftp://). If a unique serial number is embedded in the URL, it can be used to register the font.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL + DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL +
+ + +

Indicates the string containing the description of how the font may be legally used, or different example scenarios for licensed use.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION + DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION +
+ + +

Indicates the string containing the URL where additional licensing information can be found.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL + DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL +
+ + +

Indicates the string containing the GDI-compatible family name. Since GDI allows a maximum of four fonts per family, fonts in the same family may have different GDI-compatible family names (e.g., "Arial", "Arial Narrow", "Arial Black").

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES +
+ + +

Indicates the string containing a GDI-compatible subfamily name.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES +
+ + +

Indicates the string containing the family name preferred by the designer. This enables font designers to group more than four fonts in a single family without losing compatibility with GDI. This name is typically only present if it differs from the GDI-compatible family name.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES +
+ + +

Indicates the string containing the subfamily name preferred by the designer. This name is typically only present if it differs from the GDI-compatible subfamily name.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES +
+ + +

Contains sample text for display in font lists. This can be the font name or any other text that the designer thinks is the best example to display the font in.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT + DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT +
+ + +

The method used for line spacing in a text layout.

+
+ +

The line spacing method is set by using the SetLineSpacing method of the or interfaces. To get the current line spacing method of a text format or text layou use the GetLineSpacing.

+
+ + dd368101 + DWRITE_LINE_SPACING_METHOD + DWRITE_LINE_SPACING_METHOD +
+ + +

Line spacing depends solely on the content, adjusting to accommodate the size of fonts and inline objects.

+
+ + dd368101 + DWRITE_LINE_SPACING_METHOD_DEFAULT + DWRITE_LINE_SPACING_METHOD_DEFAULT +
+ + +

Lines are explicitly set to uniform spacing, regardless of the size of fonts and inline objects. This can be useful to avoid the uneven appearance that can occur from font fallback.

+
+ + dd368101 + DWRITE_LINE_SPACING_METHOD_UNIFORM + DWRITE_LINE_SPACING_METHOD_UNIFORM +
+ + +

Specifies how to apply number substitution on digits and related punctuation.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD + DWRITE_NUMBER_SUBSTITUTION_METHOD +
+ + +

Specifies that the substitution method should be determined based on the LOCALE_IDIGITSUBSTITUTION value of the specified text culture.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE + DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE +
+ + +

If the culture is Arabic or Persian, specifies that the number shapes depend on the context. Either traditional or nominal number shapes are used, depending on the nearest preceding strong character or (if there is none) the reading direction of the paragraph.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL + DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL +
+ + +

Specifies that code points 0x30-0x39 are always rendered as nominal numeral shapes (ones of the European number), that is, no substitution is performed.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE + DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE +
+ + +

Specifies that numbers are rendered using the national number shapes as specified by the LOCALE_SNATIVEDIGITS value of the specified text culture.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL + DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL +
+ + +

Specifies that numbers are rendered using the traditional shapes for the specified culture. For most cultures, this is the same as NativeNational. However, NativeNational results in Latin numbers for some Arabic cultures, whereasDWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL results in arabic numbers for all Arabic cultures.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL + DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL +
+ + +

Specifies the alignment of paragraph text along the flow direction axis, relative to the top and bottom of the flow's layout box.

+
+ + dd368112 + DWRITE_PARAGRAPH_ALIGNMENT + DWRITE_PARAGRAPH_ALIGNMENT +
+ + +

The top of the text flow is aligned to the top edge of the layout box.

+
+ + dd368112 + DWRITE_PARAGRAPH_ALIGNMENT_NEAR + DWRITE_PARAGRAPH_ALIGNMENT_NEAR +
+ + +

The bottom of the text flow is aligned to the bottom edge of the layout box.

+
+ + dd368112 + DWRITE_PARAGRAPH_ALIGNMENT_FAR + DWRITE_PARAGRAPH_ALIGNMENT_FAR +
+ + +

The center of the flow is aligned to the center of the layout box.

+
+ + dd368112 + DWRITE_PARAGRAPH_ALIGNMENT_CENTER + DWRITE_PARAGRAPH_ALIGNMENT_CENTER +
+ + +

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. +

+
+ + dd368114 + DWRITE_PIXEL_GEOMETRY + DWRITE_PIXEL_GEOMETRY +
+ + +

The red, green, and blue color components of each pixel are assumed to occupy the same point.

+
+ + dd368114 + DWRITE_PIXEL_GEOMETRY_FLAT + DWRITE_PIXEL_GEOMETRY_FLAT +
+ + +

Each pixel is composed of three vertical stripes, with red on the left, green in the center, and blue on the right. This is the most common pixel geometry for LCD monitors.

+
+ + dd368114 + DWRITE_PIXEL_GEOMETRY_RGB + DWRITE_PIXEL_GEOMETRY_RGB +
+ + +

Each pixel is composed of three vertical stripes, with blue on the left, green in the center, and red on the right.

+
+ + dd368114 + DWRITE_PIXEL_GEOMETRY_BGR + DWRITE_PIXEL_GEOMETRY_BGR +
+ + +

Specifies the direction in which reading progresses.

+
+ + dd368116 + DWRITE_READING_DIRECTION + DWRITE_READING_DIRECTION +
+ + +

Indicates that reading progresses from left to right.

+
+ + dd368116 + DWRITE_READING_DIRECTION_LEFT_TO_RIGHT + DWRITE_READING_DIRECTION_LEFT_TO_RIGHT +
+ + +

Indicates that reading progresses from right to left.

+
+ + dd368116 + DWRITE_READING_DIRECTION_RIGHT_TO_LEFT + DWRITE_READING_DIRECTION_RIGHT_TO_LEFT +
+ + +

Represents a method of rendering glyphs.

+
+ + dd368118 + DWRITE_RENDERING_MODE + DWRITE_RENDERING_MODE +
+ + +

Specifies that the rendering mode is determined automatically, based on the font and size.

+
+ + dd368118 + DWRITE_RENDERING_MODE_DEFAULT + DWRITE_RENDERING_MODE_DEFAULT +
+ + +

Specifies that no anti-aliasing is performed. Each pixel is either set to the foreground color of the text or retains the color of the background.

+
+ + dd368118 + DWRITE_RENDERING_MODE_ALIASED + DWRITE_RENDERING_MODE_ALIASED +
+ + +

Specifies ClearType rendering with the same metrics as bi-level text. Glyphs can only be positioned on whole-pixel boundaries.

+
+ + dd368118 + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC +
+ + +

Specifies ClearType rendering with the same metrics as text rendering using GDI using a font created with CLEARTYPE_NATURAL_QUALITY. Glyph metrics are closer to their ideal values than with bi-level text, but glyphs are still positioned on whole-pixel boundaries.

+
+ + dd368118 + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL +
+ + +

Specifies ClearType rendering with anti-aliasing in the horizontal dimension only. This is typically used with small to medium font sizes (up to 16 ppem).

+
+ + dd368118 + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL +
+ + +

Specifies ClearType rendering with anti-aliasing in both horizontal and vertical dimensions. This is typically used at larger sizes to makes curves and diagonal lines look smoother, at the expense of some softness.

+
+ + dd368118 + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC +
+ + +

Specifies that rendering should bypass the rasterizer and use the outlines directly. This is typically used at very large sizes.

+
+ + dd368118 + DWRITE_RENDERING_MODE_OUTLINE + DWRITE_RENDERING_MODE_OUTLINE +
+ + +

Indicates additional shaping requirements for text.

+
+ + dd368121 + DWRITE_SCRIPT_SHAPES + DWRITE_SCRIPT_SHAPES +
+ + +

Indicates that there is no additional shaping requirements for text. Text is shaped with the writing system default behavior.

+
+ + dd368121 + DWRITE_SCRIPT_SHAPES_DEFAULT + DWRITE_SCRIPT_SHAPES_DEFAULT +
+ + +

Indicates that text should leave no visible control or format control characters.

+
+ + dd368121 + DWRITE_SCRIPT_SHAPES_NO_VISUAL + DWRITE_SCRIPT_SHAPES_NO_VISUAL +
+ + +

Specifies the alignment of paragraph text along the reading direction axis, relative to the leading and trailing edge of the layout box.

+
+ + dd368131 + DWRITE_TEXT_ALIGNMENT + DWRITE_TEXT_ALIGNMENT +
+ + +

The leading edge of the paragraph text is aligned to the leading edge of the layout box.

+
+ + dd368131 + DWRITE_TEXT_ALIGNMENT_LEADING + DWRITE_TEXT_ALIGNMENT_LEADING +
+ + +

The trailing edge of the paragraph text is aligned to the trailing edge of the layout box.

+
+ + dd368131 + DWRITE_TEXT_ALIGNMENT_TRAILING + DWRITE_TEXT_ALIGNMENT_TRAILING +
+ + +

The center of the paragraph text is aligned to the center of the layout box.

+
+ + dd368131 + DWRITE_TEXT_ALIGNMENT_CENTER + DWRITE_TEXT_ALIGNMENT_CENTER +
+ + +

Identifies a type of alpha texture.

+
+ +

An alpha texture is a bitmap of alpha values, each representing opacity of a pixel or subpixel.

+
+ + dd368129 + DWRITE_TEXTURE_TYPE + DWRITE_TEXTURE_TYPE +
+ + +

Specifies an alpha texture for aliased text rendering (that is, each pixel is either fully opaque or fully transparent), with one byte per pixel.

+
+ + dd368129 + DWRITE_TEXTURE_ALIASED_1x1 + DWRITE_TEXTURE_ALIASED_1x1 +
+ + +

Specifies an alpha texture for ClearType text rendering, with three bytes per pixel in the horizontal dimension and one byte per pixel in the vertical dimension.

+
+ + dd368129 + DWRITE_TEXTURE_CLEARTYPE_3x1 + DWRITE_TEXTURE_CLEARTYPE_3x1 +
+ + +

Specifies the text granularity used to trim text overflowing the layout box.

+
+ + dd368141 + DWRITE_TRIMMING_GRANULARITY + DWRITE_TRIMMING_GRANULARITY +
+ + +

No trimming occurs. Text flows beyond the layout width.

+
+ + dd368141 + DWRITE_TRIMMING_GRANULARITY_NONE + DWRITE_TRIMMING_GRANULARITY_NONE +
+ + +

Trimming occurs at a character cluster boundary.

+
+ + dd368141 + DWRITE_TRIMMING_GRANULARITY_CHARACTER + DWRITE_TRIMMING_GRANULARITY_CHARACTER +
+ + +

Trimming occurs at a word boundary.

+
+ + dd368141 + DWRITE_TRIMMING_GRANULARITY_WORD + DWRITE_TRIMMING_GRANULARITY_WORD +
+ + +

Specifies the word wrapping to be used in a particular multiline paragraph.

+
+ + dd368146 + DWRITE_WORD_WRAPPING + DWRITE_WORD_WRAPPING +
+ + +

Indicates that words are broken across lines to avoid text overflowing the layout box.

+
+ + dd368146 + DWRITE_WORD_WRAPPING_WRAP + DWRITE_WORD_WRAPPING_WRAP +
+ + +

Indicates that words are kept within the same line even when it overflows the layout box. This option is often used with scrolling to reveal overflow text.

+
+ + dd368146 + DWRITE_WORD_WRAPPING_NO_WRAP + DWRITE_WORD_WRAPPING_NO_WRAP +
+ + + Functions + + + + + +

Creates a DirectWrite factory object that is used for subsequent creation of individual DirectWrite objects.

+
+

A value that specifies whether the factory object will be shared or isolated.

+

A value that identifies the DirectWrite factory interface, such as __uuidof().

+

An address of a reference to the newly created DirectWrite factory object.

+

If this function succeeds, it returns . Otherwise, it returns an error code.

+ +

This function creates a DirectWrite factory object that is used for subsequent creation of individual DirectWrite objects. DirectWrite factory contains internal state data such as font loader registration and cached font data. In most cases it is recommended you use the shared factory object, because it allows multiple components that use DirectWrite to share internal DirectWrite state data, and thereby reduce memory usage. However, there are cases when it is desirable to reduce the impact of a component, such as a plug-in from an untrusted source, on the rest of the process, by sandboxing and isolating it from the rest of the process components. In such cases, it is recommended you use an isolated factory for the sandboxed component.

The following example shows how to create a shared DirectWrite factory.

 if (SUCCEEDED(hr))	
+            { hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory_) );	
+            } 
+
+ + dd368040 + HRESULT DWriteCreateFactory([In] DWRITE_FACTORY_TYPE factoryType,[In] const GUID& iid,[Out, Fast] IUnknown** factory) + DWriteCreateFactory +
+ + +

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.

+
+ + dd368213 + IDWriteFont + IDWriteFont +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the font family to which the specified font belongs.

+
+

When this method returns, contains an address of a reference to the font family object to which the specified font belongs.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371143 + HRESULT IDWriteFont::GetFontFamily([Out] IDWriteFontFamily** fontFamily) + IDWriteFont::GetFontFamily +
+ + +

Gets the weight, or stroke thickness, of the specified font.

+
+

A value that indicates the weight for the specified font.

+ + dd371162 + DWRITE_FONT_WEIGHT IDWriteFont::GetWeight() + IDWriteFont::GetWeight +
+ + +

Gets the stretch, or width, of the specified font.

+
+

A value that indicates the type of stretch, or width, applied to the specified font.

+ + dd371156 + DWRITE_FONT_STRETCH IDWriteFont::GetStretch() + IDWriteFont::GetStretch +
+ + +

Gets the style, or slope, of the specified font.

+
+

A value that indicates the type of style, or slope, of the specified font.

+ + dd371159 + DWRITE_FONT_STYLE IDWriteFont::GetStyle() + IDWriteFont::GetStyle +
+ + +

Determines whether the font is a symbol font.

+
+

TRUE if the font is a symbol font; otherwise, .

+ + dd371168 + BOOL IDWriteFont::IsSymbolFont() + IDWriteFont::IsSymbolFont +
+ + +

Gets a localized strings collection containing the face names for the font (such as Regular or Bold), indexed by locale name.

+
+

When this method returns, contains an address to a reference to the newly created localized strings object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371140 + HRESULT IDWriteFont::GetFaceNames([Out] IDWriteLocalizedStrings** names) + IDWriteFont::GetFaceNames +
+ + +

Gets a localized strings collection containing the specified informational strings, indexed by locale name.

+
+

A value that identifies the informational string to get. For example, specifies a string that contains a description of the font.

+

When this method returns, contains an address of a reference to the newly created localized strings object.

+

When this method returns, TRUE if the font contains the specified string ID; otherwise, .

+ +

If the font does not contain the string specified by informationalStringID, the return value is but informationalStrings receives a null reference and exists receives the value .

+
+ + dd371147 + HRESULT IDWriteFont::GetInformationalStrings([In] DWRITE_INFORMATIONAL_STRING_ID informationalStringID,[Out] IDWriteLocalizedStrings** informationalStrings,[Out] BOOL* exists) + IDWriteFont::GetInformationalStrings +
+ + +

Gets a value that indicates what simulations are applied to the specified font.

+
+

A value that indicates one or more of the types of simulations (none, bold, or oblique) applied to the specified font.

+ + dd371153 + DWRITE_FONT_SIMULATIONS IDWriteFont::GetSimulations() + IDWriteFont::GetSimulations +
+ + +

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.

+
+

When this method returns, contains a structure that has font metrics for the current font face. The metrics returned by this function are in font design units.

+ + dd371149 + void IDWriteFont::GetMetrics([Out] DWRITE_FONT_METRICS* fontMetrics) + IDWriteFont::GetMetrics +
+ + +

Determines whether the font supports a specified character.

+
+

A Unicode (UCS-4) character value for the method to inspect.

+

When this method returns, TRUE if the font supports the specified character; otherwise, .

+ + dd371165 + HRESULT IDWriteFont::HasCharacter([In] unsigned int unicodeValue,[Out] BOOL* exists) + IDWriteFont::HasCharacter +
+ + +

Creates a font face object for the font.

+
+

When this method returns, contains an address of a reference to the newly created font face object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371137 + HRESULT IDWriteFont::CreateFontFace([Out, Fast] IDWriteFontFace** fontFace) + IDWriteFont::CreateFontFace +
+ + +

Gets the font family to which the specified font belongs.

+
+ + dd371143 + GetFontFamily + GetFontFamily + HRESULT IDWriteFont::GetFontFamily([Out] IDWriteFontFamily** fontFamily) +
+ + +

Gets the weight, or stroke thickness, of the specified font.

+
+ + dd371162 + GetWeight + GetWeight + DWRITE_FONT_WEIGHT IDWriteFont::GetWeight() +
+ + +

Gets the stretch, or width, of the specified font.

+
+ + dd371156 + GetStretch + GetStretch + DWRITE_FONT_STRETCH IDWriteFont::GetStretch() +
+ + +

Gets the style, or slope, of the specified font.

+
+ + dd371159 + GetStyle + GetStyle + DWRITE_FONT_STYLE IDWriteFont::GetStyle() +
+ + +

Determines whether the font is a symbol font.

+
+ + dd371168 + IsSymbolFont + IsSymbolFont + BOOL IDWriteFont::IsSymbolFont() +
+ + +

Gets a localized strings collection containing the face names for the font (such as Regular or Bold), indexed by locale name.

+
+ + dd371140 + GetFaceNames + GetFaceNames + HRESULT IDWriteFont::GetFaceNames([Out] IDWriteLocalizedStrings** names) +
+ + +

Gets a value that indicates what simulations are applied to the specified font.

+
+ + dd371153 + GetSimulations + GetSimulations + DWRITE_FONT_SIMULATIONS IDWriteFont::GetSimulations() +
+ + +

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.

+
+ + dd371149 + GetMetrics + GetMetrics + void IDWriteFont::GetMetrics([Out] DWRITE_FONT_METRICS* fontMetrics) +
+ + +

Represents a family of related fonts.

+
+ +

A font family is a set of fonts that share the same family name, such as "Times New Roman", but that differ in features. These feature differences include style, such as italic, and weight, such as bold. The following illustration shows examples of fonts that are members of the "Times New Roman" font family.

An object can be retrieved from a font collection using the method shown in the following example. GetFontFamily takes a UINT32 index and returns the font family for the font at that index.

* pFontFamily = null; // Get the font family.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontCollection->GetFontFamily(i, &pFontFamily);	
+            }	
+            

The font family name is used to specify the font family for text layout and text format objects. You can get a list of localized font family names from an object in the form of an object by using the method, as shown in the following code.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
+            }	
+            
+
+ + dd371042 + IDWriteFontFamily + IDWriteFontFamily +
+ + +

Represents a list of fonts.

+
+ + dd371120 + IDWriteFontList + IDWriteFontList +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the font collection that contains the fonts in the font list.

+
+

When this method returns, contains the address of a reference to the current object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371129 + HRESULT IDWriteFontList::GetFontCollection([Out] IDWriteFontCollection** fontCollection) + IDWriteFontList::GetFontCollection +
+ + +

Gets the number of fonts in the font list.

+
+

The number of fonts in the font list.

+ + dd371133 + unsigned int IDWriteFontList::GetFontCount() + IDWriteFontList::GetFontCount +
+ + +

Gets a font given its zero-based index.

+
+

Zero-based index of the font in the font list.

+

When this method returns, contains the address of a reference to the newly created object.

+ + dd371125 + HRESULT IDWriteFontList::GetFont([In] unsigned int index,[Out] IDWriteFont** font) + IDWriteFontList::GetFont +
+ + +

Gets the font collection that contains the fonts in the font list.

+
+ + dd371129 + GetFontCollection + GetFontCollection + HRESULT IDWriteFontList::GetFontCollection([Out] IDWriteFontCollection** fontCollection) +
+ + +

Gets the number of fonts in the font list.

+
+ + dd371133 + GetFontCount + GetFontCount + unsigned int IDWriteFontList::GetFontCount() +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a localized strings object that contains the family names for the font family, indexed by locale name.

+
+

The address of a reference to the newly created object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The following code example shows how to get the font family name from a object.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
+            } UINT32 index = 0;	
+             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
+            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
+            } // If the specified locale doesn't exist, select the first on the list.	
+            if (!exists) index = 0; UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371047 + HRESULT IDWriteFontFamily::GetFamilyNames([Out] IDWriteLocalizedStrings** names) + IDWriteFontFamily::GetFamilyNames +
+ + +

Gets the font that best matches the specified properties.

+
+

A value that is used to match a requested font weight.

+

A value that is used to match a requested font stretch.

+

A value that is used to match a requested font style.

+

When this method returns, contains the address of a reference to the newly created object.

+ + dd371051 + HRESULT IDWriteFontFamily::GetFirstMatchingFont([In] DWRITE_FONT_WEIGHT weight,[In] DWRITE_FONT_STRETCH stretch,[In] DWRITE_FONT_STYLE style,[Out] IDWriteFont** matchingFont) + IDWriteFontFamily::GetFirstMatchingFont +
+ + +

Gets a list of fonts in the font family ranked in order of how well they match the specified properties.

+
+

A value that is used to match a requested font weight.

+

A value that is used to match a requested font stretch.

+

A value that is used to match a requested font style.

+

An address of a reference to the newly created object.

+ + dd371056 + HRESULT IDWriteFontFamily::GetMatchingFonts([In] DWRITE_FONT_WEIGHT weight,[In] DWRITE_FONT_STRETCH stretch,[In] DWRITE_FONT_STYLE style,[Out] IDWriteFontList** matchingFonts) + IDWriteFontFamily::GetMatchingFonts +
+ + +

Creates a localized strings object that contains the family names for the font family, indexed by locale name.

+
+ +

The following code example shows how to get the font family name from a object.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
+            } UINT32 index = 0;	
+             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
+            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
+            } // If the specified locale doesn't exist, select the first on the list.	
+            if (!exists) index = 0; UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371047 + GetFamilyNames + GetFamilyNames + HRESULT IDWriteFontFamily::GetFamilyNames([Out] IDWriteLocalizedStrings** names) +
+ + +

A built-in implementation of the interface, that operates on local font files + and exposes local font file information from the font file reference key. Font file references created using CreateFontFileReference use this font file loader.

+
+ + dd371238 + IDWriteLocalFontFileLoader + IDWriteLocalFontFileLoader +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Obtains the length of the absolute file path from the font file reference key.

+
+

Font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

+

Size of font file reference key in bytes.

+

Length of the file path string, not including the terminated null character.

+ + dd371244 + HRESULT IDWriteLocalFontFileLoader::GetFilePathLengthFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] unsigned int* filePathLength) + IDWriteLocalFontFileLoader::GetFilePathLengthFromKey +
+ + +

Obtains the absolute font file path from the font file reference key.

+
+

The font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

+

The size of font file reference key in bytes.

+

The character array that receives the local file path.

+

The length of the file path character array.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371241 + HRESULT IDWriteLocalFontFileLoader::GetFilePathFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out, Buffer] wchar_t* filePath,[In] unsigned int filePathSize) + IDWriteLocalFontFileLoader::GetFilePathFromKey +
+ + +

Obtains the last write time of the file from the font file reference key.

+
+

The font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

+

The size of font file reference key in bytes.

+

The time of the last font file modification.

+ + dd371247 + HRESULT IDWriteLocalFontFileLoader::GetLastWriteTimeFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] FILETIME* lastWriteTime) + IDWriteLocalFontFileLoader::GetLastWriteTimeFromKey +
+ + +

Contains information about a glyph cluster.

+
+ + dd368054 + DWRITE_CLUSTER_METRICS + DWRITE_CLUSTER_METRICS +
+ + +

The total advance width of all glyphs in the cluster.

+
+ + dd368054 + float width + float width +
+ + +

The number of text positions in the cluster.

+
+ + dd368054 + unsigned short length + unsigned short length +
+ + +

Indicates whether a line can be broken right after the cluster.

+
+ + dd368054 + unsigned short canWrapLineAfter + unsigned short canWrapLineAfter +
+ + +

Indicates whether the cluster corresponds to a whitespace character.

+
+ + dd368054 + unsigned short isWhitespace + unsigned short isWhitespace +
+ + +

Indicates whether the cluster corresponds to a newline character.

+
+ + dd368054 + unsigned short isNewline + unsigned short isNewline +
+ + +

Indicates whether the cluster corresponds to a soft hyphen character.

+
+ + dd368054 + unsigned short isSoftHyphen + unsigned short isSoftHyphen +
+ + +

Indicates whether the cluster is read from right to left.

+
+ + dd368054 + unsigned short isRightToLeft + unsigned short isRightToLeft +
+ + +

Reserved for future use.

+
+ + dd368054 + unsigned short padding + unsigned short padding +
+ + +

The structure specifies the metrics that are applicable to all glyphs within the font face.

+
+ + dd368074 + DWRITE_FONT_METRICS + DWRITE_FONT_METRICS +
+ + +

The number of font design units per em unit. Font files use their own coordinate system of font design units. A font design unit is the smallest measurable unit in the em square, an imaginary square that is used to size and align glyphs. The concept of em square is used as a reference scale factor when defining font size and device transformation semantics. The size of one em square is also commonly used to compute the paragraph identation value.

+
+ + dd368074 + unsigned short designUnitsPerEm + unsigned short designUnitsPerEm +
+ + +

The ascent value of the font face in font design units. Ascent is the distance from the top of font character alignment box to the English baseline.

+
+ + dd368074 + unsigned short ascent + unsigned short ascent +
+ + +

The descent value of the font face in font design units. Descent is the distance from the bottom of font character alignment box to the English baseline.

+
+ + dd368074 + unsigned short descent + unsigned short descent +
+ + +

The line gap in font design units. Recommended additional white space to add between lines to improve legibility. The recommended line spacing (baseline-to-baseline distance) is the sum of ascent, descent, and lineGap. The line gap is usually positive or zero but can be negative, in which case the recommended line spacing is less than the height of the character alignment box.

+
+ + dd368074 + short lineGap + short lineGap +
+ + +

The cap height value of the font face in font design units. Cap height is the distance from the English baseline to the top of a typical English capital. Capital "H" is often used as a reference character for the purpose of calculating the cap height value.

+
+ + dd368074 + unsigned short capHeight + unsigned short capHeight +
+ + +

The x-height value of the font face in font design units. x-height is the distance from the English baseline to the top of lowercase letter "x", or a similar lowercase character.

+
+ + dd368074 + unsigned short xHeight + unsigned short xHeight +
+ + +

The underline position value of the font face in font design units. Underline position is the position of underline relative to the English baseline. The value is usually made negative in order to place the underline below the baseline.

+
+ + dd368074 + short underlinePosition + short underlinePosition +
+ + +

The suggested underline thickness value of the font face in font design units.

+
+ + dd368074 + unsigned short underlineThickness + unsigned short underlineThickness +
+ + +

The strikethrough position value of the font face in font design units. Strikethrough position is the position of strikethrough relative to the English baseline. The value is usually made positive in order to place the strikethrough above the baseline.

+
+ + dd368074 + short strikethroughPosition + short strikethroughPosition +
+ + +

The suggested strikethrough thickness value of the font face in font design units.

+
+ + dd368074 + unsigned short strikethroughThickness + unsigned short strikethroughThickness +
+ + +

Specifies the metrics of an individual glyph. The units depend on how the metrics are obtained.

+
+ + dd368084 + DWRITE_GLYPH_METRICS + DWRITE_GLYPH_METRICS +
+ + +

Specifies the X offset from the glyph origin to the left edge of the black box. The glyph origin is the current horizontal writing position. A negative value means the black box extends to the left of the origin (often true for lowercase italic 'f').

+
+ + dd368084 + int leftSideBearing + int leftSideBearing +
+ + +

Specifies the X offset from the origin of the current glyph to the origin of the next glyph when writing horizontally.

+
+ + dd368084 + unsigned int advanceWidth + unsigned int advanceWidth +
+ + +

Specifies the X offset from the right edge of the black box to the origin of the next glyph when writing horizontally. The value is negative when the right edge of the black box overhangs the layout box.

+
+ + dd368084 + int rightSideBearing + int rightSideBearing +
+ + +

Specifies the vertical offset from the vertical origin to the top of the black box. Thus, a positive value adds whitespace whereas a negative value means the glyph overhangs the top of the layout box.

+
+ + dd368084 + int topSideBearing + int topSideBearing +
+ + +

Specifies the Y offset from the vertical origin of the current glyph to the vertical origin of the next glyph when writing vertically. Note that the term "origin" by itself denotes the horizontal origin. The vertical origin is different. Its Y coordinate is specified by verticalOriginY value, and its X coordinate is half the advanceWidth to the right of the horizontal origin.

+
+ + dd368084 + unsigned int advanceHeight + unsigned int advanceHeight +
+ + +

Specifies the vertical distance from the bottom edge of the black box to the advance height. This is positive when the bottom edge of the black box is within the layout box, or negative when the bottom edge of black box overhangs the layout box.

+
+ + dd368084 + int bottomSideBearing + int bottomSideBearing +
+ + +

Specifies the Y coordinate of a glyph's vertical origin, in the font's design coordinate system. The y coordinate of a glyph's vertical origin is the sum of the glyph's top side bearing and the top (that is, yMax) of the glyph's bounding box.

+
+ + dd368084 + int verticalOriginY + int verticalOriginY +
+ + +

The optional adjustment to a glyph's position.

+
+ +

An glyph offset changes the position of a glyph without affecting the pen position. Offsets are in logical, pre-transform units.

+
+ + dd368086 + DWRITE_GLYPH_OFFSET + DWRITE_GLYPH_OFFSET +
+ + +

The offset in the advance direction of the run. A positive advance offset moves the glyph to the right (in pre-transform coordinates) if the run is left-to-right or to the left if the run is right-to-left.

+
+ + dd368086 + float advanceOffset + float advanceOffset +
+ + +

The offset in the ascent direction, that is, the direction ascenders point. A positive ascender offset moves the glyph up (in pre-transform coordinates). A negative ascender offset moves the glyph down.

+
+ + dd368086 + float ascenderOffset + float ascenderOffset +
+ + +

Describes the region obtained by a hit test.

+
+ + dd368092 + DWRITE_HIT_TEST_METRICS + DWRITE_HIT_TEST_METRICS +
+ + +

The first text position within the hit region.

+
+ + dd368092 + unsigned int textPosition + unsigned int textPosition +
+ + +

The number of text positions within the hit region.

+
+ + dd368092 + unsigned int length + unsigned int length +
+ + +

The x-coordinate of the upper-left corner of the hit region.

+
+ + dd368092 + float left + float left +
+ + +

The y-coordinate of the upper-left corner of the hit region.

+
+ + dd368092 + float top + float top +
+ + +

The width of the hit region.

+
+ + dd368092 + float width + float width +
+ + +

The height of the hit region.

+
+ + dd368092 + float height + float height +
+ + +

The BIDI level of the text positions within the hit region.

+
+ + dd368092 + unsigned int bidiLevel + unsigned int bidiLevel +
+ + +

true if the hit region contains text; otherwise, false.

+
+ + dd368092 + BOOL isText + BOOL isText +
+ + + No documentation. + + + BOOL isTrimmed + BOOL isTrimmed + + + +

Contains properties describing the geometric measurement of an + application-defined inline object.

+
+ + dd368096 + DWRITE_INLINE_OBJECT_METRICS + DWRITE_INLINE_OBJECT_METRICS +
+ + +

The width of the inline object.

+
+ + dd368096 + float width + float width +
+ + +

The height of the inline object.

+
+ + dd368096 + float height + float height +
+ + +

The distance from the top of the object to the point where it is lined up with the adjacent text. If the baseline is at the bottom, then baseline simply equals height.

+
+ + dd368096 + float baseline + float baseline +
+ + +

A Boolean flag that indicates whether the object is to be placed upright or alongside the text baseline for vertical text.

+
+ + dd368096 + BOOL supportsSideways + BOOL supportsSideways +
+ + +

Contains information about a formatted line of text.

+
+ + dd368099 + DWRITE_LINE_METRICS + DWRITE_LINE_METRICS +
+ + +

The number of text positions in the text line. This includes any trailing whitespace and newline characters.

+
+ + dd368099 + unsigned int length + unsigned int length +
+ + +

The number of whitespace positions at the end of the text line. Newline sequences are considered whitespace.

+
+ + dd368099 + unsigned int trailingWhitespaceLength + unsigned int trailingWhitespaceLength +
+ + +

The number of characters in the newline sequence at the end of the text line. If the count is zero, then the text line was either wrapped or it is the end of the text.

+
+ + dd368099 + unsigned int newlineLength + unsigned int newlineLength +
+ + +

The height of the text line.

+
+ + dd368099 + float height + float height +
+ + +

The distance from the top of the text line to its baseline.

+
+ + dd368099 + float baseline + float baseline +
+ + +

The line is trimmed.

+
+ + dd368099 + BOOL isTrimmed + BOOL isTrimmed +
+ + +

Indicates how much any visible DIPs (device independent pixels) overshoot each side of the layout or inline objects.

Positive overhangs indicate that the visible area extends outside the layout box or inline object, while negative values mean there is whitespace inside. The returned values are unaffected by rendering transforms or pixel snapping. Additionally, they may not exactly match the final target's pixel bounds after applying grid fitting and hinting.

+
+ + dd368109 + DWRITE_OVERHANG_METRICS + DWRITE_OVERHANG_METRICS +
+ + +

The distance from the left-most visible DIP to its left-alignment edge.

+
+ + dd368109 + float left + float left +
+ + +

The distance from the top-most visible DIP to its top alignment edge.

+
+ + dd368109 + float top + float top +
+ + +

The distance from the right-most visible DIP to its right-alignment edge.

+
+ + dd368109 + float right + float right +
+ + +

The distance from the bottom-most visible DIP to its lower-alignment edge.

+
+ + dd368109 + float bottom + float bottom +
+ + +

Stores the association of text and its writing system script, as well as some display attributes.

+
+ + dd368120 + DWRITE_SCRIPT_ANALYSIS + DWRITE_SCRIPT_ANALYSIS +
+ + +

The zero-based index representation of writing system script.

+
+ + dd368120 + unsigned short script + unsigned short script +
+ + +

A value that indicates additional shaping requirement of text.

+
+ + dd368120 + DWRITE_SCRIPT_SHAPES shapes + DWRITE_SCRIPT_SHAPES shapes +
+ + +

Shaping output properties for an output glyph.

+
+ + dd368125 + DWRITE_SHAPING_TEXT_PROPERTIES + DWRITE_SHAPING_TEXT_PROPERTIES +
+ + +

Indicates that the glyph is shaped alone.

+
+ + dd368125 + unsigned short isShapedAlone + unsigned short isShapedAlone +
+ + +

Reserved for future use.

+
+ + dd368125 + unsigned short reserved + unsigned short reserved +
+ + +

Contains information regarding the size and placement of strikethroughs. All coordinates are in device independent pixels (DIPs).

+
+ + dd368126 + DWRITE_STRIKETHROUGH + DWRITE_STRIKETHROUGH +
+ + +

A value that indicates the width of the strikethrough, measured parallel to the baseline.

+
+ + dd368126 + float width + float width +
+ + +

A value that indicates the thickness of the strikethrough, measured perpendicular to the baseline.

+
+ + dd368126 + float thickness + float thickness +
+ + +

A value that indicates the offset of the strikethrough from the baseline. A positive offset represents a position below the baseline and a negative offset is above. Typically, the offset will be negative.

+
+ + dd368126 + float offset + float offset +
+ + +

Reading direction of the text associated with the strikethrough. This value is used to interpret whether the width value runs horizontally or vertically.

+
+ + dd368126 + DWRITE_READING_DIRECTION readingDirection + DWRITE_READING_DIRECTION readingDirection +
+ + +

Flow direction of the text associated with the strikethrough. This value is used to interpret whether the thickness value advances top to bottom, left to right, or right to left.

+
+ + dd368126 + DWRITE_FLOW_DIRECTION flowDirection + DWRITE_FLOW_DIRECTION flowDirection +
+ + +

An array of characters containing the locale of the text that is the strikethrough is being drawn over.

+
+ + dd368126 + const wchar_t* localeName + wchar_t localeName +
+ + +

The measuring mode can be useful to the renderer to determine how underlines are rendered, such as rounding the thickness to a whole pixel in GDI-compatible modes.

+
+ + dd368126 + DWRITE_MEASURING_MODE measuringMode + DWRITE_MEASURING_MODE measuringMode +
+ + +

Contains the metrics associated with text after layout. All coordinates are in device independent pixels (DIPs).

+
+ + dd368135 + DWRITE_TEXT_METRICS + DWRITE_TEXT_METRICS +
+ + +

A value that indicates the left-most point of formatted text relative to the layout box, while excluding any glyph overhang.

+
+ + dd368135 + float left + float left +
+ + +

A value that indicates the top-most point of formatted text relative to the layout box, while excluding any glyph overhang.

+
+ + dd368135 + float top + float top +
+ + +

A value that indicates the width of the formatted text, while ignoring trailing whitespace at the end of each line.

+
+ + dd368135 + float width + float width +
+ + +

The width of the formatted text, taking into account the trailing whitespace at the end of each line.

+
+ + dd368135 + float widthIncludingTrailingWhitespace + float widthIncludingTrailingWhitespace +
+ + +

The height of the formatted text. The height of an empty string is set to the same value as that of the default font.

+
+ + dd368135 + float height + float height +
+ + +

The initial width given to the layout. It can be either larger or smaller than the text content width, depending on whether the text was wrapped.

+
+ + dd368135 + float layoutWidth + float layoutWidth +
+ + +

Initial height given to the layout. Depending on the length of the text, it may be larger or smaller than the text content height.

+
+ + dd368135 + float layoutHeight + float layoutHeight +
+ + +

The maximum reordering count of any line of text, used to calculate the most number of hit-testing boxes needed. If the layout has no bidirectional text, or no text at all, the minimum level is 1.

+
+ + dd368135 + unsigned int maxBidiReorderingDepth + unsigned int maxBidiReorderingDepth +
+ + + No documentation. + + + unsigned int lineCount + unsigned int lineCount + + + +

Specifies the trimming option for text overflowing the layout box.

+
+ + dd368139 + DWRITE_TRIMMING + DWRITE_TRIMMING +
+ + +

A value that specifies the text granularity used to trim text overflowing the layout box.

+
+ + dd368139 + DWRITE_TRIMMING_GRANULARITY granularity + DWRITE_TRIMMING_GRANULARITY granularity +
+ + +

A character code used as the delimiter that signals the beginning of the portion of text to be preserved. Most useful for path ellipsis, where the delimiter would be a slash.

+
+ + dd368139 + unsigned int delimiter + unsigned int delimiter +
+ + +

A value that indicates how many occurrences of the delimiter to step back.

+
+ + dd368139 + unsigned int delimiterCount + unsigned int delimiterCount +
+ + +

Contains a set of typographic features to be applied during text shaping.

+
+ + dd368143 + DWRITE_TYPOGRAPHIC_FEATURES + DWRITE_TYPOGRAPHIC_FEATURES +
+ + +

A reference to a structure that specifies properties used to identify and execute typographic features in the font.

+
+ + dd368143 + DWRITE_FONT_FEATURE* features + DWRITE_FONT_FEATURE features +
+ + +

A value that indicates the number of features being applied to a font face.

+
+ + dd368143 + unsigned int featureCount + unsigned int featureCount +
+ + +

Contains information about the width, thickness, offset, run height, reading direction, and flow direction of an underline.

+
+ +

All coordinates are in device independent pixels (DIPs).

+
+ + dd368145 + DWRITE_UNDERLINE + DWRITE_UNDERLINE +
+ + +

A value that indicates the width of the underline, measured parallel to the baseline.

+
+ + dd368145 + float width + float width +
+ + +

A value that indicates the thickness of the underline, measured perpendicular to the baseline.

+
+ + dd368145 + float thickness + float thickness +
+ + +

A value that indicates the offset of the underline from the baseline. A positive offset represents a position below the baseline (away from the text) and a negative offset is above (toward the text).

+
+ + dd368145 + float offset + float offset +
+ + +

A value that indicates the height of the tallest run where the underline is applied.

+
+ + dd368145 + float runHeight + float runHeight +
+ + +

A value that indicates the reading direction of the text associated with the underline. This value is used to interpret whether the width value runs horizontally or vertically.

+
+ + dd368145 + DWRITE_READING_DIRECTION readingDirection + DWRITE_READING_DIRECTION readingDirection +
+ + +

A value that indicates the flow direction of the text associated with the underline. This value is used to interpret whether the thickness value advances top to bottom, left to right, or right to left.

+
+ + dd368145 + DWRITE_FLOW_DIRECTION flowDirection + DWRITE_FLOW_DIRECTION flowDirection +
+ + +

An array of characters which contains the locale of the text that the underline is being drawn under. For example, in vertical text, the underline belongs on the left for Chinese but on the right for Japanese.

+
+ + dd368145 + const wchar_t* localeName + wchar_t localeName +
+ + +

The measuring mode can be useful to the renderer to determine how underlines are rendered, such as rounding the thickness to a whole pixel in GDI-compatible modes.

+
+ + dd368145 + DWRITE_MEASURING_MODE measuringMode + DWRITE_MEASURING_MODE measuringMode +
+ + +

Specifies how the alpha value of a bitmap or render target should be treated.

+
+ +

The enumeration is used with the enumeration to specify the alpha mode of a render target or bitmap. Different render targets and bitmaps support different alpha modes. For a list, see Supported Pixel Formats and Alpha Modes.

The Differences Between Straight and Premultiplied Alpha

When describing an RGBA color using straight alpha, the alpha value of the color is stored in the alpha channel. For example, to describe a red color that is 60% opaque, you'd use the following values: (255, 0, 0, 255 * 0.6) = (255, 0, 0, 153). The 255 value indicates full red, and 153 (which is 60 percent of 255) indicates that the color should have an opacity of 60 percent.

When describing an RGBA color using premultiplied alpha, each color is multiplied by the alpha value: (255 * 0.6, 0 * 0.6, 0 * 0.6, 255 * 0.6) = (153, 0, 0, 153).

Regardless of the alpha mode of the render target, D2D1_COLOR_F values are always interpreted as straight alpha. For example, when specifying the color of an for use with a bitmap that uses the premultiplied alpha mode, you'd specify the color just as you would if the bitmap used straight alpha. When you paint with the brush, Direct2D translates the color to the destination format for you.

Alpha Mode for Render Targets

Regardless of the alpha mode setting, a render target's contents support transparency. For example, if you draw a partially transparent red rectangle with a render target with an alpha mode of , the rectangle will appear pink (if the background is white), as you might expect.

If you draw a partially transparent red rectangle when the alpha mode is , the rectangle will appear pink (assuming the background is white) and you can see through it to whatever is behind the render target. This is useful when using a to render to a transparent window or when using an compatible render target (a render targeted created by the CreateCompatibleRenderTarget method) to create a bitmap that supports transparency.

ClearType and Alpha Modes

If you specify an alpha mode other than for a render target, the text antialiasing mode automatically changes from CLEARTYPE to GRAYSCALE. (When you specify an alpha mode of , Direct2D sets the alpha for you depending on the type of render target. For a list of what the setting resolves to for each render target, see the Supported Pixel Formats and Alpha Modes overview.)

You can use the SetTextAntialiasMode method to change the text antialias mode back to CLEARTYPE, but rendering ClearType text to a transparent surface can create unpredictable results. If you want to render ClearType text to an transparent render target, we recommend that you use one of the following two techniques.

  • Use the PushAxisAlignedClip method to clip the render target to the area where the text will be rendered, then call the Clear method and specify an opaque color, then render your text.
  • Use DrawRectangle to draw an opaque rectangle behind the area where the text will be rendered.
+
+ + dd368058 + D2D1_ALPHA_MODE + D2D1_ALPHA_MODE +
+ + +

The alpha value might not be meaningful.

+
+ + dd368058 + D2D1_ALPHA_MODE_UNKNOWN + D2D1_ALPHA_MODE_UNKNOWN +
+ + +

The alpha value has been premultiplied. Each color is first scaled by the alpha value. The alpha value itself is the same in both straight and premultiplied alpha. Typically, no color channel value is greater than the alpha channel value. If a color channel value in a premultiplied format is greater than the alpha channel, the standard source-over blending math results in an additive blend.

+
+ + dd368058 + D2D1_ALPHA_MODE_PREMULTIPLIED + D2D1_ALPHA_MODE_PREMULTIPLIED +
+ + +

The alpha value has not been premultiplied. The alpha channel indicates the transparency of the color.

+
+ + dd368058 + D2D1_ALPHA_MODE_STRAIGHT + D2D1_ALPHA_MODE_STRAIGHT +
+ + +

The alpha value is ignored.

+
+ + dd368058 + D2D1_ALPHA_MODE_IGNORE + D2D1_ALPHA_MODE_IGNORE +
+ + +

Specifies how the edges of nontext primitives are rendered.

+
+ + dd368061 + D2D1_ANTIALIAS_MODE + D2D1_ANTIALIAS_MODE +
+ + +

Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.

+
+ + dd368061 + D2D1_ANTIALIAS_MODE_PER_PRIMITIVE + D2D1_ANTIALIAS_MODE_PER_PRIMITIVE +
+ + +

Objects are aliased in most cases. Objects are antialiased only when they are drawn to a render target created by the CreateDxgiSurfaceRenderTarget method and Direct3D multisampling has been enabled on the backing DirectX Graphics Infrastructure (DXGI) surface.

+
+ + dd368061 + D2D1_ANTIALIAS_MODE_ALIASED + D2D1_ANTIALIAS_MODE_ALIASED +
+ + +

Specifies whether an arc should be greater than 180 degrees.

+
+ + dd368068 + D2D1_ARC_SIZE + D2D1_ARC_SIZE +
+ + +

An arc's sweep should be 180 degrees or less.

+
+ + dd368068 + D2D1_ARC_SIZE_SMALL + D2D1_ARC_SIZE_SMALL +
+ + +

An arc's sweep should be 180 degrees or greater.

+
+ + dd368068 + D2D1_ARC_SIZE_LARGE + D2D1_ARC_SIZE_LARGE +
+ + +

Specifies the algorithm that is used when images are scaled or rotated.

+
+ +

To stretch an image, each pixel in the original image must be mapped to a group of pixels in the larger image. To shrink an image, groups of pixels in the original image must be mapped to single pixels in the smaller image. The effectiveness of the algorithms that perform these mappings determines the quality of a scaled image. Algorithms that produce higher-quality scaled images tend to require more processing time. provides faster but lower-quality interpolation, while provides higher-quality interpolation.

+
+ + dd368073 + D2D1_BITMAP_INTERPOLATION_MODE + D2D1_BITMAP_INTERPOLATION_MODE +
+ + +

Use the exact color of the nearest bitmap pixel to the current rendering pixel.

+
+ + dd368073 + D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR + D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR +
+ + +

Interpolate a color from the four bitmap pixels that are the nearest to the rendering pixel.

+
+ + dd368073 + D2D1_BITMAP_INTERPOLATION_MODE_LINEAR + D2D1_BITMAP_INTERPOLATION_MODE_LINEAR +
+ + +

Describes the shape at the end of a line or segment.

+
+ +

The following illustration shows the available cap styles for lines or segments. The red portion of the line shows the extra area added by the line cap setting.

+
+ + dd368079 + D2D1_CAP_STYLE + D2D1_CAP_STYLE +
+ + +

A cap that does not extend past the last point of the line. Comparable to cap used for objects other than lines.

+
+ + dd368079 + D2D1_CAP_STYLE_FLAT + D2D1_CAP_STYLE_FLAT +
+ + +

Half of a square that has a length equal to the line thickness.

+
+ + dd368079 + D2D1_CAP_STYLE_SQUARE + D2D1_CAP_STYLE_SQUARE +
+ + +

A semicircle that has a diameter equal to the line thickness.

+
+ + dd368079 + D2D1_CAP_STYLE_ROUND + D2D1_CAP_STYLE_ROUND +
+ + +

An isosceles right triangle whose hypotenuse is equal in length to the thickness of the line.

+
+ + dd368079 + D2D1_CAP_STYLE_TRIANGLE + D2D1_CAP_STYLE_TRIANGLE +
+ + +

Specifies the different methods by which two geometries can be combined.

+
+ +

The following illustration shows the different geometry combine modes. +

+
+ + dd368083 + D2D1_COMBINE_MODE + D2D1_COMBINE_MODE +
+ + +

The two regions are combined by taking the union of both. Given two geometries, A and B, the resulting geometry is geometry A + geometry B.

+
+ + dd368083 + D2D1_COMBINE_MODE_UNION + D2D1_COMBINE_MODE_UNION +
+ + +

The two regions are combined by taking their intersection. The new area consists of the overlapping region between the two geometries.

+
+ + dd368083 + D2D1_COMBINE_MODE_INTERSECT + D2D1_COMBINE_MODE_INTERSECT +
+ + +

The two regions are combined by taking the area that exists in the first region but not the second and the area that exists in the second region but not the first. Given two geometries, A and B, the new region consists of (A-B) + (B-A).

+
+ + dd368083 + D2D1_COMBINE_MODE_XOR + D2D1_COMBINE_MODE_XOR +
+ + +

The second region is excluded from the first. Given two geometries, A and B, the area of geometry B is removed from the area of geometry A, producing a region that is A-B.

+
+ + dd368083 + D2D1_COMBINE_MODE_EXCLUDE + D2D1_COMBINE_MODE_EXCLUDE +
+ + +

Specifies additional features supportable by a compatible render target when it is created. This enumeration allows a bitwise combination of its member values.

+
+ +

Use this enumeration when creating a compatible render target with the CreateCompatibleRenderTarget method. For more information about compatible render targets, see the Render Targets Overview.

The option may only be requested if the parent render target was created with (for most render targets) or (for render targets created by the CreateCompatibleRenderTarget method).

+
+ + dd368085 + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS +
+ + +

The render target supports no additional features.

+
+ + dd368085 + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE +
+ + +

The render target supports interoperability with the Windows Graphics Device Interface (GDI).

+
+ + dd368085 + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE +
+ + +

Describes the sequence of dashes and gaps in a stroke.

+
+ +

The following illustration shows several available dash styles. For more information, see the Stroke Style Example.

+
+ + dd368087 + D2D1_DASH_STYLE + D2D1_DASH_STYLE +
+ + +

A solid line with no breaks.

+
+ + dd368087 + D2D1_DASH_STYLE_SOLID + D2D1_DASH_STYLE_SOLID +
+ + +

A dash followed by a gap of equal length. The dash and the gap are each twice as long as the stroke thickness.

The equivalent dash array for is {2, 2}.

+
+ + dd368087 + D2D1_DASH_STYLE_DASH + D2D1_DASH_STYLE_DASH +
+ + +

A dot followed by a longer gap.

The equivalent dash array for is {0, 2}.

+
+ + dd368087 + D2D1_DASH_STYLE_DOT + D2D1_DASH_STYLE_DOT +
+ + +

A dash, followed by a gap, followed by a dot, followed by another gap.

The equivalent dash array for is {2, 2, 0, 2}.

+
+ + dd368087 + D2D1_DASH_STYLE_DASH_DOT + D2D1_DASH_STYLE_DASH_DOT +
+ + +

A dash, followed by a gap, followed by a dot, followed by another gap, followed by another dot, followed by another gap.

The equivalent dash array for is {2, 2, 0, 2, 0, 2}.

+
+ + dd368087 + D2D1_DASH_STYLE_DASH_DOT_DOT + D2D1_DASH_STYLE_DASH_DOT_DOT +
+ + +

The dash pattern is specified by an array of floating-point values.

+
+ + dd368087 + D2D1_DASH_STYLE_CUSTOM + D2D1_DASH_STYLE_CUSTOM +
+ + +

Indicates the type of information provided by the Direct2D Debug Layer.

+
+ +

To receive debugging messages, you must install the Direct2D Debug Layer.

+
+ + dd368090 + D2D1_DEBUG_LEVEL + D2D1_DEBUG_LEVEL +
+ + + No documentation. + + + D2D1_DEBUG_LEVEL_NONE + D2D1_DEBUG_LEVEL_NONE + + + + No documentation. + + + D2D1_DEBUG_LEVEL_ERROR + D2D1_DEBUG_LEVEL_ERROR + + + + No documentation. + + + D2D1_DEBUG_LEVEL_WARNING + D2D1_DEBUG_LEVEL_WARNING + + + + No documentation. + + + D2D1_DEBUG_LEVEL_INFORMATION + D2D1_DEBUG_LEVEL_INFORMATION + + + +

Specifies how a device context is initialized for GDI rendering when it is retrieved from the render target.

+
+ +

Use this enumeration with the method to specify how the device context is initialized for GDI rendering.

+
+ + dd368088 + D2D1_DC_INITIALIZE_MODE + D2D1_DC_INITIALIZE_MODE +
+ + +

The current contents of the render target are copied to the device context when it is initialized.

+
+ + dd368088 + D2D1_DC_INITIALIZE_MODE_COPY + D2D1_DC_INITIALIZE_MODE_COPY +
+ + +

The device context is cleared to transparent black when it is initialized.

+
+ + dd368088 + D2D1_DC_INITIALIZE_MODE_CLEAR + D2D1_DC_INITIALIZE_MODE_CLEAR +
+ + +

Specifies whether text snapping is suppressed or clipping to the layout rectangle is enabled. This enumeration allows a bitwise combination of its member values.

+
+ + dd368095 + D2D1_DRAW_TEXT_OPTIONS + D2D1_DRAW_TEXT_OPTIONS +
+ + +

Text is not vertically snapped to pixel boundaries. This setting is recommended for text that is being animated.

+
+ + dd368095 + D2D1_DRAW_TEXT_OPTIONS_NO_SNAP + D2D1_DRAW_TEXT_OPTIONS_NO_SNAP +
+ + +

Text is clipped to the layout rectangle.

+
+ + dd368095 + D2D1_DRAW_TEXT_OPTIONS_CLIP + D2D1_DRAW_TEXT_OPTIONS_CLIP +
+ + +

Text is vertically snapped to pixel boundaries and is not clipped to the layout rectangle.

+
+ + dd368095 + D2D1_DRAW_TEXT_OPTIONS_NONE + D2D1_DRAW_TEXT_OPTIONS_NONE +
+ + +

Specifies how a brush paints areas outside of its normal content area.

+
+ +

For an , the brush's content is the brush's bitmap. For an , the brush's content area is the gradient axis. For an , the brush's content is the area within the gradient ellipse.

For an example, see the Draw Extend Mode Example.

+
+ + dd368100 + D2D1_EXTEND_MODE + D2D1_EXTEND_MODE +
+ + +

Repeat the edge pixels of the brush's content for all regions outside the normal content area.

+
+ + dd368100 + D2D1_EXTEND_MODE_CLAMP + D2D1_EXTEND_MODE_CLAMP +
+ + +

Repeat the brush's content.

+
+ + dd368100 + D2D1_EXTEND_MODE_WRAP + D2D1_EXTEND_MODE_WRAP +
+ + +

The same as , except that alternate tiles of the brush's content are flipped. (The brush's normal content is drawn untransformed.)

+
+ + dd368100 + D2D1_EXTEND_MODE_MIRROR + D2D1_EXTEND_MODE_MIRROR +
+ + +

Specifies whether Direct2D provides synchronization for an and the resources it creates, so that they may be safely accessed from multiple threads.

+
+ +

When you create a factory, you can specify whether it is multithreaded or singlethreaded. A singlethreaded factory provides no serialization against any other single threaded instance within Direct2D, so this mechanism provides a very large degree of scaling on the CPU.

You can also create a multithreaded factory instance. In this case, the factory and all derived objects can be used from any thread, and each render target can be rendered to independently. Direct2D serializes calls to these objects, so a single multithreaded Direct2D instance won't scale as well on the CPU as many single threaded instances. However, the resources can be shared within the multithreaded instance.

Note the qualifier "On the CPU": GPUs generally take advantage of fine-grained parallelism more so than CPUs. For example, multithreaded calls from the CPU might still end up being serialized when being sent to the GPU; however, a whole bank of pixel and vertex shaders will run in parallel to perform the rendering.

+
+ + dd368104 + D2D1_FACTORY_TYPE + D2D1_FACTORY_TYPE +
+ + + No documentation. + + + D2D1_FACTORY_TYPE_SINGLE_THREADED + D2D1_FACTORY_TYPE_SINGLE_THREADED + + + + No documentation. + + + D2D1_FACTORY_TYPE_MULTI_THREADED + D2D1_FACTORY_TYPE_MULTI_THREADED + + + +

Describes the minimum DirectX support required for hardware rendering by a render target.

+
+ + dd756628 + D2D1_FEATURE_LEVEL + D2D1_FEATURE_LEVEL +
+ + +

Direct2D determines whether the video card provides adequate hardware rendering support.

+
+ + dd756628 + D2D1_FEATURE_LEVEL_DEFAULT + D2D1_FEATURE_LEVEL_DEFAULT +
+ + +

The video card must support DirectX 9.

+
+ + dd756628 + D2D1_FEATURE_LEVEL_9 + D2D1_FEATURE_LEVEL_9 +
+ + +

The video card must support DirectX 10.

+
+ + dd756628 + D2D1_FEATURE_LEVEL_10 + D2D1_FEATURE_LEVEL_10 +
+ + +

Indicates whether a specific figure is filled or hollow.

+
+ + dd368106 + D2D1_FIGURE_BEGIN + D2D1_FIGURE_BEGIN +
+ + + No documentation. + + + D2D1_FIGURE_BEGIN_FILLED + D2D1_FIGURE_BEGIN_FILLED + + + + No documentation. + + + D2D1_FIGURE_BEGIN_HOLLOW + D2D1_FIGURE_BEGIN_HOLLOW + + + +

Indicates whether a specific figure is open or closed.

+
+ + dd368108 + D2D1_FIGURE_END + D2D1_FIGURE_END +
+ + + No documentation. + + + D2D1_FIGURE_END_OPEN + D2D1_FIGURE_END_OPEN + + + + No documentation. + + + D2D1_FIGURE_END_CLOSED + D2D1_FIGURE_END_CLOSED + + + +

Specifies how the intersecting areas of geometries or figures are combined to form the area of the composite geometry.

+
+ +

Use the enumeration when creating an with the CreateGeometryGroup method, or when modifying the fill mode of an with the method.

Direct2D fills the interior of a path by using one of the two fill modes specified by this enumeration: (alternate) or (winding). Because the modes determine how to fill the interior of a closed shape, all shapes are treated as closed when they are filled. If there is a gap in a segment in a shape, draw an imaginary line to close it.

To see the difference between the winding and alternate fill modes, assume that you have four circles with the same center and a different radius, as shown in the following illustration. The first one has the radius of 25, the second 50, the third 75, and the fourth 100.

The following illustration shows the shape filled by using the alternate fill mode. Notice that the center and third ring are not filled. This is because a ray drawn from any point in either of those two rings passes through an even number of segments.

The following illustration explains this process.

The following illustration shows how the same shape is filled when the winding fill mode is specified.

Notice that all the rings are filled. This is because all the segments run in the same direction, so a ray drawn from any point will cross one or more segments, and the sum of the crossings will not equal zero.

The following illustration explains this process. The red arrows represent the direction in which the segments are drawn and the black arrow represents an arbitrary ray that runs from a point in the innermost ring. Starting with a value of zero, for each segment that the ray crosses, a value of one is added for every clockwise intersection. All points lie in the fill region in this illustration, because the count does not equal zero.

+
+ + dd368110 + D2D1_FILL_MODE + D2D1_FILL_MODE +
+ + +

Determines whether a point is in the fill region by drawing a ray from that point to infinity in any direction, and then counting the number of path segments within the given shape that the ray crosses. If this number is odd, the point is in the fill region; if even, the point is outside the fill region.

+
+ + dd368110 + D2D1_FILL_MODE_ALTERNATE + D2D1_FILL_MODE_ALTERNATE +
+ + +

Determines whether a point is in the fill region of the path by drawing a ray from that point to infinity in any direction, and then examining the places where a segment of the shape crosses the ray. Starting with a count of zero, add one each time a segment crosses the ray from left to right and subtract one each time a path segment crosses the ray from right to left, as long as left and right are seen from the perspective of the ray. After counting the crossings, if the result is zero, then the point is outside the path. Otherwise, it is inside the path.

+
+ + dd368110 + D2D1_FILL_MODE_WINDING + D2D1_FILL_MODE_WINDING +
+ + +

Specifies which gamma is used for interpolation.

+
+ +

Interpolating in a linear gamma space () can avoid changes in perceived brightness caused by the effect of gamma correction in spaces where the gamma is not 1.0, such as the default sRGB color space, where the gamma is 2.2. For an example of the differences between these two blending modes, consider the following illustration, which shows two gradients, each of which blends from red to blue to green:

The first gradient is interpolated linearly in the space of the render target (sRGB in this case), and one can see the dark bands between each color. The second gradient uses a gamma-correct linear interpolation, and thus does not exhibit the same variations in brightness.

+
+ + dd368113 + D2D1_GAMMA + D2D1_GAMMA +
+ + +

Interpolation is performed in the standard RGB (sRGB) gamma.

+
+ + dd368113 + D2D1_GAMMA_2_2 + D2D1_GAMMA_2_2 +
+ + +

Interpolation is performed in the linear-gamma color space.

+
+ + dd368113 + D2D1_GAMMA_1_0 + D2D1_GAMMA_1_0 +
+ + +

Describes how one geometry object is spatially related to another geometry object.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION + D2D1_GEOMETRY_RELATION +
+ + +

The relationship between the two geometries cannot be determined. This value is never returned by any D2D method.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_UNKNOWN + D2D1_GEOMETRY_RELATION_UNKNOWN +
+ + +

The two geometries do not intersect at all.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_DISJOINT + D2D1_GEOMETRY_RELATION_DISJOINT +
+ + +

The instance geometry is entirely contained by the passed-in geometry.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_IS_CONTAINED + D2D1_GEOMETRY_RELATION_IS_CONTAINED +
+ + +

The instance geometry entirely contains the passed-in geometry.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_CONTAINS + D2D1_GEOMETRY_RELATION_CONTAINS +
+ + +

The two geometries overlap but neither completely contains the other.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_OVERLAP + D2D1_GEOMETRY_RELATION_OVERLAP +
+ + +

Specifies how a geometry is simplified to an .

+
+ + dd368117 + D2D1_GEOMETRY_SIMPLIFICATION_OPTION + D2D1_GEOMETRY_SIMPLIFICATION_OPTION +
+ + + No documentation. + + + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES + + + + No documentation. + + + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES + + + +

Specifies options that can be applied when a layer resource is applied to create a layer.

+
+ +

ClearType antialiasing must use the current contents of the render target to blend properly. When a pushed layer requests initializing for ClearType, Direct 2D copies the current contents of the render target into the layer so that ClearType antialiasing can be performed. Rendering ClearType text into a transparent layer does not produce the desired results.

A small performance hit from re-copying content occurs when is called.

+
+ + dd368124 + D2D1_LAYER_OPTIONS + D2D1_LAYER_OPTIONS +
+ + +

The text in this layer does not use ClearType antialiasing.

+
+ + dd368124 + D2D1_LAYER_OPTIONS_NONE + D2D1_LAYER_OPTIONS_NONE +
+ + +

The layer renders correctly for ClearType text. If the render target is set to ClearType, the layer continues to render ClearType. If the render target is set to ClearType and this option is not specified, the render target will be set to render gray-scale until the layer is popped. The caller can override this default by calling SetTextAntialiasMode while within the layer. This flag is slightly slower than the default.

+
+ + dd368124 + D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE + D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE +
+ + +

Describes the shape that joins two lines or segments.

+
+ +

A miter limit affects how sharp miter joins are allowed to be. If the line join style is , then the join will be mitered with regular angular vertices if it doesn't extend beyond the miter limit; otherwise, the line join will be beveled.

The following illustration shows different line join settings for the same stroked path geometry. For more information, see Stroke Style Example.

+
+ + dd368130 + D2D1_LINE_JOIN + D2D1_LINE_JOIN +
+ + +

Regular angular vertices.

+
+ + dd368130 + D2D1_LINE_JOIN_MITER + D2D1_LINE_JOIN_MITER +
+ + +

Beveled vertices.

+
+ + dd368130 + D2D1_LINE_JOIN_BEVEL + D2D1_LINE_JOIN_BEVEL +
+ + +

Rounded vertices.

+
+ + dd368130 + D2D1_LINE_JOIN_ROUND + D2D1_LINE_JOIN_ROUND +
+ + +

Regular angular vertices unless the join would extend beyond the miter limit; otherwise, beveled vertices.

+
+ + dd368130 + D2D1_LINE_JOIN_MITER_OR_BEVEL + D2D1_LINE_JOIN_MITER_OR_BEVEL +
+ + +

Indicates the measuring method used for text layout.

+
+ + dd368133 + DWRITE_MEASURING_MODE + DWRITE_MEASURING_MODE +
+ + +

Specifies that text is measured using glyph ideal metrics whose values are independent to the current display resolution.

+
+ + dd368133 + DWRITE_MEASURING_MODE_NATURAL + DWRITE_MEASURING_MODE_NATURAL +
+ + +

Specifies that text is measured using glyph display-compatible metrics whose values tuned for the current display resolution.

+
+ + dd368133 + DWRITE_MEASURING_MODE_GDI_CLASSIC + DWRITE_MEASURING_MODE_GDI_CLASSIC +
+ + +

Specifies that text is measured using the same glyph display metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.

+
+ + dd368133 + DWRITE_MEASURING_MODE_GDI_NATURAL + DWRITE_MEASURING_MODE_GDI_NATURAL +
+ + +

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.

+
+ + dd756629 + D2D1_OPACITY_MASK_CONTENT + D2D1_OPACITY_MASK_CONTENT +
+ + +

The opacity mask contains graphics. The opacity mask is blended in the gamma 2.2 color space.

+
+ + dd756629 + D2D1_OPACITY_MASK_CONTENT_GRAPHICS + D2D1_OPACITY_MASK_CONTENT_GRAPHICS +
+ + +

The opacity mask contains non-GDI text. The gamma space used for blending is obtained from the render target's text rendering parameters. ().

+
+ + dd756629 + D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL + D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL +
+ + +

The opacity mask contains text rendered using the GDI-compatible rendering mode. The opacity mask is blended using the gamma for GDI rendering.

+
+ + dd756629 + D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE + D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE +
+ + +

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.

+
+ + dd368136 + D2D1_PATH_SEGMENT + D2D1_PATH_SEGMENT +
+ + +

The segment is joined as specified by the interface, and it is stroked.

+
+ + dd368136 + D2D1_PATH_SEGMENT_NONE + D2D1_PATH_SEGMENT_NONE +
+ + +

The segment is not stroked.

+
+ + dd368136 + D2D1_PATH_SEGMENT_FORCE_UNSTROKED + D2D1_PATH_SEGMENT_FORCE_UNSTROKED +
+ + +

The segment is always joined with the one preceding it using a round line join, regardless of which enumeration is specified by the interface. If this segment is the first segment and the figure is closed, a round line join is used to connect the closing segment with the first segment. If the figure is not closed, this setting has no effect on the first segment of the figure. If is called just before , the join between the closing segment and the last explicitly specified segment is affected.

+
+ + dd368136 + D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN + D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN +
+ + +

Describes how a render target behaves when it presents its content. This enumeration allows a bitwise combination of its member values.

+
+ + dd368144 + D2D1_PRESENT_OPTIONS + D2D1_PRESENT_OPTIONS +
+ + +

The render target waits until the display refreshes to present and discards the frame upon presenting.

+
+ + dd368144 + D2D1_PRESENT_OPTIONS_NONE + D2D1_PRESENT_OPTIONS_NONE +
+ + +

The render target does not discard the frame upon presenting.

+
+ + dd368144 + D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS + D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS +
+ + +

The render target does not wait until the display refreshes to present.

+
+ + dd368144 + D2D1_PRESENT_OPTIONS_IMMEDIATELY + D2D1_PRESENT_OPTIONS_IMMEDIATELY +
+ + +

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

+
+ +

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

+
+ + dd756630 + D2D1_RENDER_TARGET_TYPE + D2D1_RENDER_TARGET_TYPE +
+ + +

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

+
+ + dd756630 + D2D1_RENDER_TARGET_TYPE_DEFAULT + D2D1_RENDER_TARGET_TYPE_DEFAULT +
+ + +

The render target uses software rendering only.

+
+ + dd756630 + D2D1_RENDER_TARGET_TYPE_SOFTWARE + D2D1_RENDER_TARGET_TYPE_SOFTWARE +
+ + +

The render target uses hardware rendering only.

+
+ + dd756630 + D2D1_RENDER_TARGET_TYPE_HARDWARE + D2D1_RENDER_TARGET_TYPE_HARDWARE +
+ + +

Describes how a render target is remoted and whether it should be GDI-compatible. This enumeration allows a bitwise combination of its member values.

+
+ + dd368157 + D2D1_RENDER_TARGET_USAGE + D2D1_RENDER_TARGET_USAGE +
+ + +

The render target attempts to use Direct3D command-stream remoting and uses bitmap remoting if stream remoting fails. The render target is not GDI-compatible.

+
+ + dd368157 + D2D1_RENDER_TARGET_USAGE_NONE + D2D1_RENDER_TARGET_USAGE_NONE +
+ + +

The render target renders content locally and sends it to the terminal services client as a bitmap.

+
+ + dd368157 + D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING + D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING +
+ + +

The render target can be used efficiently with GDI.

+
+ + dd368157 + D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE + D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE +
+ + +

Defines the direction that an elliptical arc is drawn.

+
+ + dd368166 + D2D1_SWEEP_DIRECTION + D2D1_SWEEP_DIRECTION +
+ + +

Arcs are drawn in a counterclockwise (negative-angle) direction.

+
+ + dd368166 + D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE + D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE +
+ + +

Arcs are drawn in a clockwise (positive-angle) direction.

+
+ + dd368166 + D2D1_SWEEP_DIRECTION_CLOCKWISE + D2D1_SWEEP_DIRECTION_CLOCKWISE +
+ + +

Describes the antialiasing mode used for drawing text.

+
+ +

This enumeration is used with the SetTextAntialiasMode of an to specify how text and glyphs are antialiased.

By default, Direct2D renders text in ClearType mode. Factors that can downgrade the default quality to grayscale or aliased:

  • If the value is , then the default text antialiasing mode is aliased. To change the DirectWrite rendering mode of an , use the method.
  • If the value is , then the default text antialiasing mode is grayscale.
  • If the render target has an alpha channel and is not set to , then the default text antialiasing mode is grayscale.
  • If is called without (and the corresponding PopLayer has not been called yet), then the default text antialiasing mode is grayscale.
+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE + D2D1_TEXT_ANTIALIAS_MODE +
+ + +

Use the system default. See Remarks.

+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE_DEFAULT + D2D1_TEXT_ANTIALIAS_MODE_DEFAULT +
+ + +

Use ClearType antialiasing.

+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE + D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE +
+ + +

Use grayscale antialiasing.

+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE + D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE +
+ + +

Do not use antialiasing.

+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE_ALIASED + D2D1_TEXT_ANTIALIAS_MODE_ALIASED +
+ + +

Describes whether a window is occluded.

+
+ +

If the window was occluded the last time EndDraw was called, the next time the render target calls CheckWindowState, it returns regardless of the current window state. If you want to use CheckWindowState to check the current window state, call CheckWindowState after every EndDraw call and ignore its return value. This will ensure that your next call to CheckWindowState state returns the actual window state.

+
+ + dd368174 + D2D1_WINDOW_STATE + D2D1_WINDOW_STATE +
+ + +

The window is not occluded.

+
+ + dd368174 + D2D1_WINDOW_STATE_NONE + D2D1_WINDOW_STATE_NONE +
+ + +

The window is occluded.

+
+ + dd368174 + D2D1_WINDOW_STATE_OCCLUDED + D2D1_WINDOW_STATE_OCCLUDED +
+ + + Functions + + + + + +

Indicates whether the specified matrix is invertible.

+
+

The matrix to test.

+

true if the matrix was inverted; otherwise, false.

+ + dd368045 + BOOL D2D1IsMatrixInvertible([In] const D2D_MATRIX_3X2_F* matrix) + D2D1IsMatrixInvertible +
+ + +

Tries to invert the specified matrix.

+
+

The matrix to invert.

+

true if the matrix was inverted; otherwise, false.

+ + dd368044 + BOOL D2D1InvertMatrix([InOut] D2D_MATRIX_3X2_F* matrix) + D2D1InvertMatrix +
+ + +

Creates a skew transformation that has the specified x-axis angle, y-axis angle, and center point.

+
+

The x-axis skew angle, which is measured in degrees counterclockwise from the y-axis.

+

The y-axis skew angle, which is measured in degrees counterclockwise from the x-axis.

+

The center point of the skew operation.

+

When this method returns, contains the rotation transformation. You must allocate storate for this parameter.

+ + dd368052 + void D2D1MakeSkewMatrix([In] float angleX,[In] float angleY,[In] D2D_POINT_2F center,[Out] D2D_MATRIX_3X2_F* matrix) + D2D1MakeSkewMatrix +
+ + +

Creates a factory object that can be used to create Direct2D resources.

+
+

The threading model of the factory and the resources it creates.

+

A reference to the IID of that is obtained by using __uuidof().

+

The level of detail provided to the debugging layer.

+

When this method returns, contains the address to a reference to the new factory.

+

If this function succeeds, it returns . Otherwise, it returns an error code.

+ +

The interface provides the starting point for Direct2D. In general, objects created from a single instance of a factory object can be used with other resources created from that instance, but not with resources created by other factory instances.

+
+ + dd368034 + HRESULT D2D1CreateFactory([In] D2D1_FACTORY_TYPE factoryType,[In] const GUID& riid,[In, Optional] const D2D1_FACTORY_OPTIONS* pFactoryOptions,[Out] void** ppIFactory) + D2D1CreateFactory +
+ + +

Creates a rotation transformation that rotates by the specified angle about the specified point.

+
+

The clockwise rotation angle, in degrees.

+

The point about which to rotate.

+

When this method returns, contains the new rotation transformation. You must allocate storage for this parameter.

+ +

Rotation occurs in the plane of the 2-D surface.

+
+ + dd368049 + void D2D1MakeRotateMatrix([In] float angle,[In] D2D_POINT_2F center,[Out] D2D_MATRIX_3X2_F* matrix) + D2D1MakeRotateMatrix +
+ + + Functions + + + + + Constant WrongFactory. + D2DERR_WRONG_FACTORY + + + Constant BadNumber. + D2DERR_BAD_NUMBER + + + Constant MaximumTextureSizeExceeded. + D2DERR_MAX_TEXTURE_SIZE_EXCEEDED + + + Constant NoHardwareDevice. + D2DERR_NO_HARDWARE_DEVICE + + + Constant WrongResourceDomain. + D2DERR_WRONG_RESOURCE_DOMAIN + + + Constant InvalidCall. + D2DERR_INVALID_CALL + + + Constant Win32Error. + D2DERR_WIN32_ERROR + + + Constant PopCallDidNotMatchPush. + D2DERR_POP_CALL_DID_NOT_MATCH_PUSH + + + Constant UnsupportedVersion. + D2DERR_UNSUPPORTED_VERSION + + + Constant RecreateTarget. + D2DERR_RECREATE_TARGET + + + Constant ZeroVector. + D2DERR_ZERO_VECTOR + + + Constant UnsupportedPixelFormat. + D2DERR_UNSUPPORTED_PIXEL_FORMAT + + + Constant ShaderCompileFailed. + D2DERR_SHADER_COMPILE_FAILED + + + Constant ScannerFailed. + D2DERR_SCANNER_FAILED + + + Constant TooManyShaderElements. + D2DERR_TOO_MANY_SHADER_ELEMENTS + + + Constant TextRendererNotReleased. + D2DERR_TEXT_RENDERER_NOT_RELEASED + + + Constant IncompatibleBrushTypes. + D2DERR_INCOMPATIBLE_BRUSH_TYPES + + + Constant ScreenAccessDenied. + D2DERR_SCREEN_ACCESS_DENIED + + + Constant LayerAlreadyInUse. + D2DERR_LAYER_ALREADY_IN_USE + + + Constant InternalError. + D2DERR_INTERNAL_ERROR + + + Constant RenderTargetHasLayerOrCliprect. + D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT + + + Constant WrongState. + D2DERR_WRONG_STATE + + + Constant DisplayStateInvalid. + D2DERR_DISPLAY_STATE_INVALID + + + Constant TextEffectIsWrongType. + D2DERR_TEXT_EFFECT_IS_WRONG_TYPE + + + Constant UnsupportedOperation. + D2DERR_UNSUPPORTED_OPERATION + + + Constant PushPopUnbalanced. + D2DERR_PUSH_POP_UNBALANCED + + + Constant DisplayFormatNotSupported. + D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED + + + Constant NotInitializeD. + D2DERR_NOT_INITIALIZED + + + Constant TargetNotGdiCompatible. + D2DERR_TARGET_NOT_GDI_COMPATIBLE + + + Constant ExceedsMaximumBitmapSize. + D2DERR_EXCEEDS_MAX_BITMAP_SIZE + + + +

Issues drawing commands to a GDI device context.

+
+ + Creating Objects

To create an , use the method.

Before you can render with the DC render target, you must use its BindDC method to associate it with a GDI DC. You do this each time you use a different DC, or the size of the area you want to draw to changes.

To enable the DC render target to work with GDI, set its pixel format to and its alpha mode to or .

Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

ID2D1DCRenderTargets, GDI Transforms, and Right-to-Left Language Builds of Windows

When you use an , it renders Direct2D content to an internal bitmap, and then renders the bitmap to the DC with GDI.

It's possible for GDI to apply a GDI transform (through the SetWorldTransform method) or other effect to the same DC used by the render target, in which case GDI transforms the bitmap produced by Direct2D. Using a GDI transform to transform the Direct2D content has the potential to degrade the visual quality of the output, because you're transforming a bitmap for which antialiasing and subpixel positioning have already been calculated.

For example, suppose you use the render target to draw a scene that contains antialiased geometries and text. If you use a GDI transform to apply a scale transform to the DC and scale the scene so that it's 10 times larger, you'll see pixelization and jagged edges. (If, however, you applied a similar transform using Direct2D, the visual quality of the scene would not be degraded.)

In some cases, it might not be obvious that GDI is performing additional processing that might degrade the quality of the Direct2D content. For example, on a right-to-left (RTL) build of Windows, content rendered by an might be horizontally inverted when GDI copies it to its destination. Whether the content is actually inverted depends on the current settings of the DC.

Depending on the type of content being rendered, you might want to prevent the inversion. If the Direct2D content includes ClearType text, this inversion will degrade the quality of the text.

You can control RTL rendering behavior by using the SetLayout GDI function. To prevent the mirroring, call the SetLayout GDI function and specify LAYOUT_BITMAPORIENTATIONPRESERVED as the only value for the second parameter (do not combine it with LAYOUT_RTL), as shown in the following example:

SetLayout(m_hwnd, LAYOUT_BITMAPORIENTATIONPRESERVED);
+
+ + dd371213 + ID2D1DCRenderTarget + ID2D1DCRenderTarget +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Binds the render target to the device context to which it issues drawing commands.

+
+

The device context to which the render target issues drawing commands.

+

The dimensions of the handle to a device context () to which the render target is bound.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Before you can render with the DC render target, you must use its BindDC method to associate it with a GDI DC. You do this each time you use a different DC, or the size of the area you want to draw to changes.

+
+ + dd371214 + HRESULT ID2D1DCRenderTarget::BindDC([In] const HDC hDC,[In] const RECT* pSubRect) + ID2D1DCRenderTarget::BindDC +
+ + + Creates a render target that draws to a Windows Graphics Device Interface (GDI) device context. + + + Before you can render with a DC render target, you must use the render target's {{BindDC}} method to associate it with a GDI DC. Do this for each different DC and whenever there is a change in the size of the area you want to draw to.To enable the DC render target to work with GDI, set the render target's DXGI format to and alpha mode to or D2D1_ALPHA_MODE_IGNORE.Your application should create render targets once and hold on to them for the life of the application or until the render target's {{EndDraw}} method returns the {{D2DERR_RECREATE_TARGET}} error. When you receive this error, recreate the render target (and any resources it created). + + an instance of + The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. To enable the device context (DC) render target to work with GDI, set the DXGI format to and the alpha mode to or D2D1_ALPHA_MODE_IGNORE. For more information about pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + + + +

Represents the drawing state of a render target: the antialiasing mode, transform, tags, and text-rendering options.

+
+ + Creating Objects

To create an , use the method.

A drawing state block is a device-independent resource; you can create it once and retain it for the life of your application. For more information about resources, see the Resources Overview.

+
+ + dd371218 + ID2D1DrawingStateBlock + ID2D1DrawingStateBlock +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the antialiasing mode, transform, and tags portion of the drawing state.

+
+

When this method returns, contains the antialiasing mode, transform, and tags portion of the drawing state. You must allocate storage for this parameter.

+ + dd371223 + void ID2D1DrawingStateBlock::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION* stateDescription) + ID2D1DrawingStateBlock::GetDescription +
+ + +

Specifies the antialiasing mode, transform, and tags portion of the drawing state.

+
+

The antialiasing mode, transform, and tags portion of the drawing state.

+ + dd371231 + void ID2D1DrawingStateBlock::SetDescription([In] const D2D1_DRAWING_STATE_DESCRIPTION* stateDescription) + ID2D1DrawingStateBlock::SetDescription +
+ + +

Specifies the text-rendering configuration of the drawing state.

+
+

The text-rendering configuration of the drawing state, or null to use default settings.

+ + dd371237 + void ID2D1DrawingStateBlock::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) + ID2D1DrawingStateBlock::SetTextRenderingParams +
+ + +

Retrieves the text-rendering configuration of the drawing state.

+
+

When this method returns, contains the address of a reference to an object that describes the text-rendering configuration of the drawing state.

+ + dd371227 + void ID2D1DrawingStateBlock::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) + ID2D1DrawingStateBlock::GetTextRenderingParams +
+ + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + + + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + A structure that contains antialiasing, transform, and tags information. + + + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + Optional text parameters that indicate how text should be rendered. + + + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + A structure that contains antialiasing, transform, and tags information. + Optional text parameters that indicate how text should be rendered. + + + +

Retrieves or sets the antialiasing mode, transform, and tags portion of the drawing state.

+
+ + dd371223 + GetDescription / SetDescription + GetDescription + void ID2D1DrawingStateBlock::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION* stateDescription) +
+ + +

Retrieves or sets the text-rendering configuration of the drawing state.

+
+ + dd371227 + GetTextRenderingParams / SetTextRenderingParams + GetTextRenderingParams + void ID2D1DrawingStateBlock::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) +
+ + +

Represents an ellipse.

+
+ + Creating Objects

To create an elipse geometry, use the method.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd371239 + ID2D1EllipseGeometry + ID2D1EllipseGeometry +
+ + +

Represents a geometry resource and defines a set of helper methods for manipulating and measuring geometric shapes. Interfaces that inherit from define specific shapes.

+
+ +

There are several types of Direct2D geometry objects: a simple geometry (, , or ), a path geometry (), or a composite geometry ( and ).

Direct2D geometries enable you to describe two-dimensional figures and also offer many uses, such as defining hit-test regions, clip regions, and even animation paths.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd316578 + ID2D1Geometry + ID2D1Geometry +
+ + + Default flattening tolerance used for all methods that are not explicitly using it. Default is set to 0.25f. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + Retrieves the bounds of the geometry.Overload list + + No documentation. + No documentation. + + dd742751 + HRESULT ID2D1Geometry::GetBounds([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[Out] D2D_RECT_F* bounds) + ID2D1Geometry::GetBounds + + + +

Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix.

+
+

The amount by which to widen the geometry by stroking its outline.

+

The style of the stroke that widens the geometry.

+

A transform to apply to the geometry after the geometry is transformed and after the geometry has been stroked.

+

When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.

+ No documentation. + + dd316714 + HRESULT ID2D1Geometry::GetWidenedBounds([In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] D2D_RECT_F* bounds) + ID2D1Geometry::GetWidenedBounds +
+ + +

Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform.

+
+

The point to test for containment.

+

The thickness of the stroke to apply.

+

The style of stroke to apply.

+

The transform to apply to the stroked geometry.

+

When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter.

+ No documentation. + + dd316742 + HRESULT ID2D1Geometry::StrokeContainsPoint([In] D2D_POINT_2F point,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] BOOL* contains) + ID2D1Geometry::StrokeContainsPoint +
+ + +

Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance.

+
+

The point to test.

+

The transform to apply to the geometry prior to testing for containment, or null.

+

The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution.

+

When this method returns, contains a value that is TRUE if the area filled by the geometry contains point; otherwise, .You must allocate storage for this parameter.

+ + dd316687 + HRESULT ID2D1Geometry::FillContainsPoint([In] D2D_POINT_2F point,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] BOOL* contains) + ID2D1Geometry::FillContainsPoint +
+ + +

Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance.

+
+

The geometry to test.

+

The transform to apply to inputGeometry, or null.

+

The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution.

+

When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter.

+ +

When interpreting the returned relation value, it is important to remember that the member of the enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry.

For more information about how to interpret other possible return values, see .

+
+ + dd316630 + HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D_MATRIX_3X2_F* inputGeometryTransform,[In] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation) + ID2D1Geometry::CompareWithGeometry +
+ + + Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an .Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742770 + HRESULT ID2D1Geometry::Simplify([In] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + ID2D1Geometry::Simplify + + + + 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.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + + dd742772 + HRESULT ID2D1Geometry::Tessellate([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) + ID2D1Geometry::Tessellate + + + + Combines this geometry with the specified geometry and stores the result in an .Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742739 + HRESULT ID2D1Geometry::CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[In] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D_MATRIX_3X2_F* inputGeometryTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + ID2D1Geometry::CombineWithGeometry + + + +

Computes the outline of the geometry and writes the result to an .

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The Outline method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties:

  • The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.
  • The outermost figures in the output geometry are all oriented counterclockwise.
  • The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .

Additionally, the Outline method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. +

+
+ + dd316717 + HRESULT ID2D1Geometry::Outline([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + ID2D1Geometry::Outline +
+ + +

Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance.

+
+

The transform to apply to this geometry before computing its area, or null.

+

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

+

When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter.

+ + dd316641 + HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] float* area) + ID2D1Geometry::ComputeArea +
+ + + Calculates the length of the geometry as though each segment were unrolled into a line.Overload list + + No documentation. + No documentation. + No documentation. + + dd742744 + HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] float* length) + ID2D1Geometry::ComputeLength + + + +

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.

+
+

The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry.

+

The transform to apply to the geometry before calculating the specified point and tangent, or null.

+

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

+

When this method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter.

+

The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values.

+ + dd316676 + HRESULT ID2D1Geometry::ComputePointAtLength([In] float length,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out, Optional] D2D_POINT_2F* point,[Out, Optional] D2D_POINT_2F* unitTangentVector) + ID2D1Geometry::ComputePointAtLength +
+ + +

Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the default tolerance.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316770 + HRESULT ID2D1Geometry::Widen([In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + ID2D1Geometry::Widen +
+ + + Combines this geometry with the specified geometry and stores the result in an . + + The geometry to combine with this instance. + The type of combine operation to perform. + The result of the combine operation. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[None] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Combines this geometry with the specified geometry and stores the result in an . + + The geometry to combine with this instance. + The type of combine operation to perform. + The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. + The result of the combine operation. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[None] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Combines this geometry with the specified geometry and stores the result in an . + + The geometry to combine with this instance. + The type of combine operation to perform. + The transform to apply to inputGeometry before combining, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. + The result of the combine operation. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[None] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance. + + + When interpreting the returned relation value, it is important to remember that the member of the D2D1_GEOMETRY_RELATION enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry. For more information about how to interpret other possible return values, see . + + The geometry to test. + When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation) + + + + Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance. + + + When interpreting the returned relation value, it is important to remember that the member of the D2D1_GEOMETRY_RELATION enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry. For more information about how to interpret other possible return values, see . + + The geometry to test. + The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation) + + + + Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. + + When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* area) + + + + Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* area) + + + + Calculates the length of the geometry as though each segment were unrolled into a line. + + When this method returns, contains a reference to the length of the geometry. For closed geometries, the length includes an implicit closing segment. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* length) + + + + Calculates the length of the geometry as though each segment were unrolled into a line. + + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a reference to the length of the geometry. For closed geometries, the length includes an implicit closing segment. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* length) + + + + 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. + + The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry. + When this method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter. + The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values. + HRESULT ID2D1Geometry::ComputePointAtLength([None] float length,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out, Optional] D2D1_POINT_2F* point,[Out, Optional] D2D1_POINT_2F* unitTangentVector) + + + + 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. + + The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter. + The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values. + HRESULT ID2D1Geometry::ComputePointAtLength([None] float length,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out, Optional] D2D1_POINT_2F* point,[Out, Optional] D2D1_POINT_2F* unitTangentVector) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + The transform to apply to the geometry prior to testing for containment, or NULL. + The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Retrieves the bounds of the geometry. + + When this method returns, contains the bounds of this geometry. If the bounds are empty, this will be a rect where bounds.left > bounds.right. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::GetBounds([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[Out] D2D1_RECT_F* bounds) + + + + Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. + + The amount by which to widen the geometry by stroking its outline. + When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::GetWidenedBounds([None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] D2D1_RECT_F* bounds) + + + + Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. + + The amount by which to widen the geometry by stroking its outline. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::GetWidenedBounds([None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] D2D1_RECT_F* bounds) + + + + Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. + + The amount by which to widen the geometry by stroking its outline. + The style of the stroke that widens the geometry. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::GetWidenedBounds([None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] D2D1_RECT_F* bounds) + + + + Computes the outline of the geometry and writes the result to an . + + + The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. + + The to which the geometry's transformed outline is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Outline([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Computes the outline of the geometry and writes the result to an . + + + The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. + + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the geometry's transformed outline is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Outline([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Computes the outline of the geometry and writes the result to an . + + + The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. + + The transform to apply to the geometry outline, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the geometry's transformed outline is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Outline([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an . + + A value that specifies whether the simplified geometry should contain curves. + The to which the simplified geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Simplify([None] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an . + + A value that specifies whether the simplified geometry should contain curves. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the simplified geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Simplify([None] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an . + + A value that specifies whether the simplified geometry should contain curves. + The transform to apply to the simplified geometry, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the simplified geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Simplify([None] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + The transform to apply to the stroked geometry. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + The transform to apply to the stroked geometry. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + The transform to apply to the stroked geometry. + The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the stroke by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + 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 + + The to which the tessellated is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Tessellate([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) + + + + 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 + + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the tessellated is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Tessellate([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) + + + + 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 + + The transform to apply to this geometry, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the tessellated is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Tessellate([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) + + + + Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The amount by which to widen the geometry. + The to which the widened geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The amount by which to widen the geometry. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the widened geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The amount by which to widen the geometry. + The style of stroke to apply to the geometry, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the widened geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The amount by which to widen the geometry. + The style of stroke to apply to the geometry, or NULL. + The transform to apply to the geometry after widening it, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the widened geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Get or set the default flattening tolerance used for all methods that are not explicitly using it. Default is set to 0.25f. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the structure that describes this ellipse geometry.

+
+ No documentation. + + dd371243 + void ID2D1EllipseGeometry::GetEllipse([Out] D2D1_ELLIPSE* ellipse) + ID2D1EllipseGeometry::GetEllipse +
+ + + Creates an . + + an instance of + A value that describes the center point, x-radius, and y-radius of the ellipse geometry. + + + +

Gets the structure that describes this ellipse geometry.

+
+ + dd371243 + GetEllipse + GetEllipse + void ID2D1EllipseGeometry::GetEllipse([Out] D2D1_ELLIPSE* ellipse) +
+ + +

Creates Direct2D resources.

+
+ +

The interface is the starting point for using Direct2D; it's what you use to create other Direct2D resources that you can use to draw or describe shapes.

A factory defines a set of CreateResource methods that can produce the following drawing resources:

  • Render targets: objects that render drawing commands.
  • Drawing state blocks: objects that store drawing state information, such as the current transformation and antialiasing mode.
  • Geometries: objects that represent simple and potentially complex shapes.

To create an , you use one of the CreateFactory methods. You should retain the instance for as long as you use Direct2D resources; in general, you shouldn't need to recreate it when the application is running. For more information about Direct2D resources, see the Resources Overview.

Singlethreaded and Multithreaded Factories

When you create a factory, you can specify whether it is multithreaded or singlethreaded. A singlethreaded factory provides no serialization against any other single threaded instance within Direct2D, so, this mechanism provides a very large degree of scaling on the CPU.

You can also create a multithreaded factory instance. In this case, the factory and all derived objects can be used from any thread and each render target can be rendered to independently. Direct2D serializes calls to these objects, so a single multithreaded Direct2D instance won't scale as well on the CPU as many single threaded instances. However, the resources can be shared within the multithreaded instance.

Note that the qualifier "On the CPU": GPUs generally take advantage of fine-grained parallelism more so than CPUs. For example, multithreaded calls from the CPU might still end up being serialized when being sent to the GPU, however, a whole bank of pixel and vertex shaders will run in parallel to perform the rendering.

+
+ + dd371246 + ID2D1Factory + ID2D1Factory +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Forces the factory to refresh any system defaults that it might have changed since factory creation.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

You should call this method before calling the GetDesktopDpi method, to ensure that the system DPI is current.

+
+ + dd371319 + HRESULT ID2D1Factory::ReloadSystemMetrics() + ID2D1Factory::ReloadSystemMetrics +
+ + +

Retrieves the current desktop dots per inch (DPI). To refresh this value, call ReloadSystemMetrics.

+
+ No documentation. + No documentation. + +

Use this method to obtain the system DPI when setting physical pixel values, such as when you specify the size of a window.

+
+ + dd371316 + void ID2D1Factory::GetDesktopDpi([Out] float* dpiX,[Out] float* dpiY) + ID2D1Factory::GetDesktopDpi +
+ + +

Creates an .

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371286 + HRESULT ID2D1Factory::CreateRectangleGeometry([In] const D2D_RECT_F* rectangle,[Out, Fast] ID2D1RectangleGeometry** rectangleGeometry) + ID2D1Factory::CreateRectangleGeometry +
+ + +

Creates an .

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371292 + HRESULT ID2D1Factory::CreateRoundedRectangleGeometry([In] const D2D1_ROUNDED_RECT* roundedRectangle,[Out, Fast] ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) + ID2D1Factory::CreateRoundedRectangleGeometry +
+ + +

Creates an .

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371265 + HRESULT ID2D1Factory::CreateEllipseGeometry([In] const D2D1_ELLIPSE* ellipse,[Out, Fast] ID2D1EllipseGeometry** ellipseGeometry) + ID2D1Factory::CreateEllipseGeometry +
+ + +

Creates an , which is an object that holds other geometries.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and , an array of geometry objects to add to the geometry group, and the number of elements in this array.

+
+ + dd371273 + HRESULT ID2D1Factory::CreateGeometryGroup([In] D2D1_FILL_MODE fillMode,[In, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount,[Out, Fast] ID2D1GeometryGroup** geometryGroup) + ID2D1Factory::CreateGeometryGroup +
+ + +

Creates an , which is an object that holds other geometries.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and , an array of geometry objects to add to the geometry group, and the number of elements in this array.

+
+ + dd371273 + HRESULT ID2D1Factory::CreateGeometryGroup([In] D2D1_FILL_MODE fillMode,[In, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount,[Out, Fast] ID2D1GeometryGroup** geometryGroup) + ID2D1Factory::CreateGeometryGroup +
+ + +

Transforms the specified geometry and stores the result as an object.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Like other resources, a transformed geometry the inherits the resource space and threading policy of the factory that created it. This object is immutable.

When stroking a transformed geometry with the DrawGeometry method, the stroke width is not affected by the transform applied to the geometry. The stroke width is only affected by the world transform.

+
+ + dd371304 + HRESULT ID2D1Factory::CreateTransformedGeometry([In] ID2D1Geometry* sourceGeometry,[In] const D2D_MATRIX_3X2_F* transform,[Out, Fast] ID2D1TransformedGeometry** transformedGeometry) + ID2D1Factory::CreateTransformedGeometry +
+ + +

Creates an empty .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371282 + HRESULT ID2D1Factory::CreatePathGeometry([Out, Fast] ID2D1PathGeometry** pathGeometry) + ID2D1Factory::CreatePathGeometry +
+ + + Creates an that describes start cap, dash pattern, and other features of a stroke.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742729 + HRESULT ID2D1Factory::CreateStrokeStyle([In] const D2D1_STROKE_STYLE_PROPERTIES* strokeStyleProperties,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[Out, Fast] ID2D1StrokeStyle** strokeStyle) + ID2D1Factory::CreateStrokeStyle + + + +

Creates an that can be used with the SaveDrawingState and RestoreDrawingState methods of a render target.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371257 + HRESULT ID2D1Factory::CreateDrawingStateBlock([In, Optional] const D2D1_DRAWING_STATE_DESCRIPTION* drawingStateDescription,[In, Optional] IDWriteRenderingParams* textRenderingParams,[Out, Fast] ID2D1DrawingStateBlock** drawingStateBlock) + ID2D1Factory::CreateDrawingStateBlock +
+ + +

Creates a render target that renders to a Microsoft Windows Imaging Component (WIC) bitmap.

+
+

The bitmap that receives the rendering output of the render target.

+

The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see Supported Pixel Formats and Alpha Modes.

+

When this method returns, contains the address of the reference to the object created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Your application should create render targets once and hold onto them for the life of the application or until the error is received. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371313 + HRESULT ID2D1Factory::CreateWicBitmapRenderTarget([In] IWICBitmap* target,[In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[Out, Fast] ID2D1RenderTarget** renderTarget) + ID2D1Factory::CreateWicBitmapRenderTarget +
+ + +

Creates an , a render target that renders to a window.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the error is received. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371275 + HRESULT ID2D1Factory::CreateHwndRenderTarget([In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[In] const D2D1_HWND_RENDER_TARGET_PROPERTIES* hwndRenderTargetProperties,[Out, Fast] ID2D1HwndRenderTarget** hwndRenderTarget) + ID2D1Factory::CreateHwndRenderTarget +
+ + +

Creates a render target that draws to a DirectX Graphics Infrastructure (DXGI) surface.

+
+

The to which the render target will draw.

+

The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see Supported Pixel Formats and Alpha Modes.

+

When this method returns, contains the address of the reference to the object created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To write to a Direct3D surface, you obtain an and pass it to the CreateDxgiSurfaceRenderTarget method to create a DXGI surface render target; you can then use the DXGI surface render target to draw 2-D content to the DXGI surface.

A DXGI surface render target is a type of . Like other Direct2D render targets, you can use it to create resources and issue drawing commands.

The DXGI surface render target and the DXGI surface must use the same DXGI format. If you specify the DXGI_FORMAT_UNKOWN format when you create the render target, it will automatically use the surface's format.

The DXGI surface render target does not perform DXGI surface synchronization.

For more information about creating and using DXGI surface render targets, see the Direct2D and Direct3D Interoperability Overview.

To work with Direct2D, the Direct3D device that provides the must be created with the flag.

When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371264 + HRESULT ID2D1Factory::CreateDxgiSurfaceRenderTarget([In] IDXGISurface* dxgiSurface,[In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[Out, Fast] ID2D1RenderTarget** renderTarget) + ID2D1Factory::CreateDxgiSurfaceRenderTarget +
+ + +

Creates a render target that draws to a Windows Graphics Device Interface (GDI) device context.

+
+

The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. To enable the device context (DC) render target to work with GDI, set the DXGI format to and the alpha mode to or . For more information about pixel formats, see Supported Pixel Formats and Alpha Modes.

+

When this method returns, dcRenderTarget contains the address of the reference to the created by the method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Before you can render with a DC render target, you must use the render target's BindDC method to associate it with a GDI DC. Do this for each different DC and whenever there is a change in the size of the area you want to draw to.

To enable the DC render target to work with GDI, set the render target's DXGI format to and alpha mode to or .

Your application should create render targets once and hold on to them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, recreate the render target (and any resources it created).

+
+ + dd371248 + HRESULT ID2D1Factory::CreateDCRenderTarget([In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[Out, Fast] ID2D1DCRenderTarget** dcRenderTarget) + ID2D1Factory::CreateDCRenderTarget +
+ + + Default Constructor for a . + + + + + Default Constructor for a . + + + + + Default Constructor for a . + + + + + Retrieves the current desktop dots per inch (DPI). To refresh this value, call {{ReloadSystemMetrics}}. + + + Use this method to obtain the system DPI when setting physical pixel values, such as when you specify the size of a window. + + + + +

Represents a composite geometry, composed of other objects.

+
+ +

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one.

Creating Objects

To create a object, call the method, passing in the fillMode with possible values of (alternate) and , an array of geometry objects to add to the geometry group, and the number of elements in this array.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd316581 + ID2D1GeometryGroup + ID2D1GeometryGroup +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Indicates how the intersecting areas of the geometries contained in this geometry group are combined.

+
+

A value that indicates how the intersecting areas of the geometries contained in this geometry group are combined.

+ + dd316583 + D2D1_FILL_MODE ID2D1GeometryGroup::GetFillMode() + ID2D1GeometryGroup::GetFillMode +
+ + +

Indicates the number of geometry objects in the geometry group.

+
+

The number of geometries in the .

+ + dd316589 + unsigned int ID2D1GeometryGroup::GetSourceGeometryCount() + ID2D1GeometryGroup::GetSourceGeometryCount +
+ + +

Retrieves the geometries in the geometry group.

+
+

When this method returns, contains the address of a reference to an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. If the array is null, then this method performs no operation. You must allocate the memory for this array.

+

A value indicating the number of geometries to return in the geometries array. If this value is less than the number of geometries in the geometry group, the remaining geometries are omitted. If this value is larger than the number of geometries in the geometry group, the extra geometries are set to null. To obtain the number of geometries currently in the geometry group, use the GetSourceGeometryCount method.

+ +

The returned geometries are referenced and counted, and the caller must release them.

+
+ + dd316586 + void ID2D1GeometryGroup::GetSourceGeometries([Out, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount) + ID2D1GeometryGroup::GetSourceGeometries +
+ + + Creates an , which is an object that holds other geometries. + + + Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and D2D1_FILL_MODE_WINDING, an array of geometry objects to add to the geometry group, and the number of elements in this array. + + an instance of + A value that specifies the rule that a composite shape uses to determine whether a given point is part of the geometry. + An array containing the geometry objects to add to the geometry group. The number of elements in this array is indicated by the geometriesCount parameter. + + + + Retrieves the geometries in the geometry group. + + + The returned geometries are referenced and counted, and the caller must release them. + + an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. + void ID2D1GeometryGroup::GetSourceGeometries([Out, Buffer] ID2D1Geometry** geometries,[None] int geometriesCount) + + + + Retrieves the geometries in the geometry group. + + + The returned geometries are referenced and counted, and the caller must release them. + + A value indicating the number of geometries to return in the geometries array. If this value is less than the number of geometries in the geometry group, the remaining geometries are omitted. If this value is larger than the number of geometries in the geometry group, the extra geometries are set to NULL. To obtain the number of geometries currently in the geometry group, use the {{GetSourceGeometryCount}} method. + an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. + void ID2D1GeometryGroup::GetSourceGeometries([Out, Buffer] ID2D1Geometry** geometries,[None] int geometriesCount) + + + +

Indicates how the intersecting areas of the geometries contained in this geometry group are combined.

+
+ + dd316583 + GetFillMode + GetFillMode + D2D1_FILL_MODE ID2D1GeometryGroup::GetFillMode() +
+ + +

Indicates the number of geometry objects in the geometry group.

+
+ + dd316589 + GetSourceGeometryCount + GetSourceGeometryCount + unsigned int ID2D1GeometryGroup::GetSourceGeometryCount() +
+ + +

Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.

+
+ +

The interface extends the interface to add support for arcs and quadratic beziers, as well as functions for adding single lines and cubic beziers.

A geometry sink consists of one or more figures. Each figure is made up of one or more line, curve, or arc segments. To create a figure, call the BeginFigure method, specify the figure's start point, and then use its Add methods (such as AddLine and AddBezier) to add segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

+
+ + dd316592 + ID2D1GeometrySink + ID2D1GeometrySink +
+ + +

Describes a geometric path that does not contain quadratic bezier curves or arcs.

+
+ +

A geometry sink consists of one or more figures. Each figure is made up of one or more line or Bezier curve segments. To create a figure, call the BeginFigure method and specify the figure's start point, then use AddLines and AddBeziers to add line and Bezier segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

To create geometry paths that can contain arcs and quadratic Bezier curves, use an .

+
+ + dd316919 + ID2D1SimplifiedGeometrySink + ID2D1SimplifiedGeometrySink +
+ + + Specifies the method used to determine which points are inside the geometry described by this geometry sink and which points are outside. + + + The fill mode defaults to D2D1_FILL_MODE_ALTERNATE. To set the fill mode, call SetFillMode before the first call to {{BeginFigure}}. Not doing will put the geometry sink in an error state. + + The method used to determine whether a given point is part of the geometry. + void SetFillMode([None] D2D1_FILL_MODE fillMode) + + + + Specifies stroke and join options to be applied to new segments added to the geometry sink. + + + After this method is called, the specified segment flags are applied to each segment subsequently added to the sink. The segment flags are applied to every additional segment until this method is called again and a different set of segment flags is specified. + + Stroke and join options to be applied to new segments added to the geometry sink. + void SetSegmentFlags([None] D2D1_PATH_SEGMENT vertexFlags) + + + + Starts a new figure at the specified point. + + + If this method is called while a figure is currently in progress, the interface is invalidated and all future methods will fail. + + The point at which to begin the new figure. + Whether the new figure should be hollow or filled. + void BeginFigure([None] D2D1_POINT_2F startPoint,[None] D2D1_FIGURE_BEGIN figureBegin) + + + + Creates a sequence of lines using the specified points and adds them to the geometry sink. + + A pointer to an array of one or more points that describe the lines to draw. A line is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by {{BeginFigure}}) to the first point in the array. if the array contains additional points, a line is drawn from the first point to the second point in the array, from the second point to the third point, and so on. + void AddLines([In, Buffer] const D2D1_POINT_2F* points,[None] UINT pointsCount) + + + + Creates a sequence of cubic Bezier curves and adds them to the geometry sink. + + A pointer to an array of Bezier segments that describes the Bezier curves to create. A curve is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by {{BeginFigure}}) to the end point of the first Bezier segment in the array. if the array contains additional Bezier segments, each subsequent Bezier segment uses the end point of the preceding Bezier segment as its start point. + void AddBeziers([In, Buffer] const D2D1_BEZIER_SEGMENT* beziers,[None] UINT beziersCount) + + + + Ends the current figure; optionally, closes it. + + + Calling this method without a matching call to {{BeginFigure}} places the geometry sink in an error state; subsequent calls are ignored, and the overall failure will be returned when the {{Close}} method is called. + + A value that indicates whether the current figure is closed. If the figure is closed, a line is drawn between the current point and the start point specified by {{BeginFigure}}. + void EndFigure([None] D2D1_FIGURE_END figureEnd) + + + + Closes the geometry sink, indicates whether it is in an error state, and resets the sink's error state. + + + Do not close the geometry sink while a figure is still in progress; doing so puts the geometry sink in an error state. For the close operation to be successful, there must be one {{EndFigure}} call for each call to {{BeginFigure}}.After calling this method, the geometry sink might not be usable. Direct2D implementations of this interface do not allow the geometry sink to be modified after it is closed, but other implementations might not impose this restriction. + + HRESULT Close() + + + + Creates a line segment between the current point and the specified end point and adds it to the geometry sink. + + The end point of the line to draw. + void AddLine([None] D2D1_POINT_2F point) + + + + Creates a cubic Bezier curve between the current point and the specified endpoint. + + A structure that describes the control points and endpoint of the Bezier curve to add. + void AddBezier([In] const D2D1_BEZIER_SEGMENT* bezier) + + + + Creates a quadratic Bezier curve between the current point and the specified endpoint. + + A structure that describes the control point and the endpoint of the quadratic Bezier curve to add. + void AddQuadraticBezier([In] const D2D1_QUADRATIC_BEZIER_SEGMENT* bezier) + + + + Adds a sequence of quadratic Bezier segments as an array in a single call. + + An array of a sequence of quadratic Bezier segments. + void AddQuadraticBeziers([In, Buffer] const D2D1_QUADRATIC_BEZIER_SEGMENT* beziers,[None] UINT beziersCount) + + + + Adds a single arc to the path geometry. + + The arc segment to add to the figure. + void AddArc([In] const D2D1_ARC_SEGMENT* arc) + + + +

Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.

+
+ +

The interface extends the interface to add support for arcs and quadratic beziers, as well as functions for adding single lines and cubic beziers.

A geometry sink consists of one or more figures. Each figure is made up of one or more line, curve, or arc segments. To create a figure, call the BeginFigure method, specify the figure's start point, and then use its Add methods (such as AddLine and AddBezier) to add segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

+
+ + dd316592 + ID2D1GeometrySink + ID2D1GeometrySink +
+ + +

Describes a geometric path that does not contain quadratic bezier curves or arcs.

+
+ +

A geometry sink consists of one or more figures. Each figure is made up of one or more line or Bezier curve segments. To create a figure, call the BeginFigure method and specify the figure's start point, then use AddLines and AddBeziers to add line and Bezier segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

To create geometry paths that can contain arcs and quadratic Bezier curves, use an .

+
+ + dd316919 + ID2D1SimplifiedGeometrySink + ID2D1SimplifiedGeometrySink +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Specifies the method used to determine which points are inside the geometry described by this geometry sink and which points are outside.

+
+

The method used to determine whether a given point is part of the geometry.

+ +

The fill mode defaults to . To set the fill mode, call SetFillMode before the first call to BeginFigure. Not doing will put the geometry sink in an error state.

+
+ + dd316937 + void ID2D1SimplifiedGeometrySink::SetFillMode([In] D2D1_FILL_MODE fillMode) + ID2D1SimplifiedGeometrySink::SetFillMode +
+ + +

Specifies stroke and join options to be applied to new segments added to the geometry sink.

+
+

Stroke and join options to be applied to new segments added to the geometry sink.

+ +

After this method is called, the specified segment flags are applied to each segment subsequently added to the sink. The segment flags are applied to every additional segment until this method is called again and a different set of segment flags is specified.

+
+ + dd316939 + void ID2D1SimplifiedGeometrySink::SetSegmentFlags([In] D2D1_PATH_SEGMENT vertexFlags) + ID2D1SimplifiedGeometrySink::SetSegmentFlags +
+ + +

Starts a new figure at the specified point.

+
+

The point at which to begin the new figure.

+

Whether the new figure should be hollow or filled.

+ +

If this method is called while a figure is currently in progress, the interface is invalidated and all future methods will fail.

+
+ + dd316929 + void ID2D1SimplifiedGeometrySink::BeginFigure([In] D2D_POINT_2F startPoint,[In] D2D1_FIGURE_BEGIN figureBegin) + ID2D1SimplifiedGeometrySink::BeginFigure +
+ + +

Creates a sequence of lines using the specified points and adds them to the geometry sink.

+
+

A reference to an array of one or more points that describe the lines to draw. A line is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the first point in the array. if the array contains additional points, a line is drawn from the first point to the second point in the array, from the second point to the third point, and so on.

+

The number of points in the points array.

+ + dd316925 + void ID2D1SimplifiedGeometrySink::AddLines([In, Buffer] const D2D_POINT_2F* points,[In] unsigned int pointsCount) + ID2D1SimplifiedGeometrySink::AddLines +
+ + +

Creates a sequence of cubic Bezier curves and adds them to the geometry sink.

+
+

A reference to an array of Bezier segments that describes the Bezier curves to create. A curve is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the end point of the first Bezier segment in the array. if the array contains additional Bezier segments, each subsequent Bezier segment uses the end point of the preceding Bezier segment as its start point.

+

The number of Bezier segments in the beziers array.

+ + dd316922 + void ID2D1SimplifiedGeometrySink::AddBeziers([In, Buffer] const D2D1_BEZIER_SEGMENT* beziers,[In] unsigned int beziersCount) + ID2D1SimplifiedGeometrySink::AddBeziers +
+ + +

Ends the current figure; optionally, closes it.

+
+

A value that indicates whether the current figure is closed. If the figure is closed, a line is drawn between the current point and the start point specified by BeginFigure.

+ +

Calling this method without a matching call to BeginFigure places the geometry sink in an error state; subsequent calls are ignored, and the overall failure will be returned when the Close method is called.

+
+ + dd316934 + void ID2D1SimplifiedGeometrySink::EndFigure([In] D2D1_FIGURE_END figureEnd) + ID2D1SimplifiedGeometrySink::EndFigure +
+ + +

Closes the geometry sink, indicates whether it is in an error state, and resets the sink's error state.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Do not close the geometry sink while a figure is still in progress; doing so puts the geometry sink in an error state. For the close operation to be successful, there must be one EndFigure call for each call to BeginFigure.

After calling this method, the geometry sink might not be usable. Direct2D implementations of this interface do not allow the geometry sink to be modified after it is closed, but other implementations might not impose this restriction.

+
+ + dd316932 + HRESULT ID2D1SimplifiedGeometrySink::Close() + ID2D1SimplifiedGeometrySink::Close +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a line segment between the current point and the specified end point and adds it to the geometry sink.

+
+

The end point of the line to draw.

+ + dd316604 + void ID2D1GeometrySink::AddLine([In] D2D_POINT_2F point) + ID2D1GeometrySink::AddLine +
+ + +

Creates a cubic Bezier curve between the current point and the specified end point.

+
+

A structure that describes the control points and end point of the Bezier curve to add.

+ + dd316601 + void ID2D1GeometrySink::AddBezier([In] const D2D1_BEZIER_SEGMENT* bezier) + ID2D1GeometrySink::AddBezier +
+ + +

Creates a quadratic Bezier curve between the current point and the specified endpoint.

+
+

A structure that describes the control point and the endpoint of the quadratic Bezier curve to add.

+ + dd316611 + void ID2D1GeometrySink::AddQuadraticBezier([In] const D2D1_QUADRATIC_BEZIER_SEGMENT* bezier) + ID2D1GeometrySink::AddQuadraticBezier +
+ + +

Adds a sequence of quadratic Bezier segments as an array in a single call.

+
+

An array of a sequence of quadratic Bezier segments.

+

A value indicating the number of quadratic Bezier segments in beziers.

+ + dd316608 + void ID2D1GeometrySink::AddQuadraticBeziers([In, Buffer] const D2D1_QUADRATIC_BEZIER_SEGMENT* beziers,[In] unsigned int beziersCount) + ID2D1GeometrySink::AddQuadraticBeziers +
+ + +

Adds a single arc to the path geometry.

+
+

The arc segment to add to the figure.

+ + dd316595 + void ID2D1GeometrySink::AddArc([In] const D2D1_ARC_SEGMENT* arc) + ID2D1GeometrySink::AddArc +
+ + +

Represents an collection of objects for linear and radial gradient brushes.

+
+ + Creating Objects

To create an , use the method.

A gradient stop collection is a device-dependent resource: your application should create gradient stop collections after it initializes the render target with which the gradient stop collection will be used, and recreate the gradient stop collection whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd316783 + ID2D1GradientStopCollection + ID2D1GradientStopCollection +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the number of gradient stops in the collection.

+
+

The number of gradient stops in the collection.

+ + dd371454 + unsigned int ID2D1GradientStopCollection::GetGradientStopCount() + ID2D1GradientStopCollection::GetGradientStopCount +
+ + +

Copies the gradient stops from the collection into an array of structures.

+
+ No documentation. + No documentation. + +

Gradient stops are copied in order of position, starting with the gradient stop with the smallest position value and progressing to the gradient stop with the largest position value.

+
+ + dd371457 + void ID2D1GradientStopCollection::GetGradientStops([Out, Buffer] D2D1_GRADIENT_STOP* gradientStops,[In] unsigned int gradientStopsCount) + ID2D1GradientStopCollection::GetGradientStops +
+ + +

Indicates the gamma space in which the gradient stops are interpolated.

+
+

The gamma space in which the gradient stops are interpolated.

+ + dd316786 + D2D1_GAMMA ID2D1GradientStopCollection::GetColorInterpolationGamma() + ID2D1GradientStopCollection::GetColorInterpolationGamma +
+ + +

Indicates the behavior of the gradient outside the normalized gradient range.

+
+

The behavior of the gradient outside the [0,1] normalized gradient range.

+ + dd316789 + D2D1_EXTEND_MODE ID2D1GradientStopCollection::GetExtendMode() + ID2D1GradientStopCollection::GetExtendMode +
+ + + Creates an from the specified gradient stops, a Gamma StandardRgb, and ExtendMode.Clamp. + + an instance of + A pointer to an array of D2D1_GRADIENT_STOP structures. + HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) + + + + Creates an from the specified gradient stops, color Gamma.StandardRgb, and extend mode. + + an instance of + A pointer to an array of D2D1_GRADIENT_STOP structures. + The behavior of the gradient outside the [0,1] normalized range. + HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) + + + + Creates an from the specified gradient stops, color interpolation gamma, and ExtendMode.Clamp. + + an instance of + A pointer to an array of D2D1_GRADIENT_STOP structures. + The space in which color interpolation between the gradient stops is performed. + HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) + + + + Creates an from the specified gradient stops, color interpolation gamma, and extend mode. + + an instance of + A pointer to an array of D2D1_GRADIENT_STOP structures. + The space in which color interpolation between the gradient stops is performed. + The behavior of the gradient outside the [0,1] normalized range. + HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) + + + +

Retrieves the number of gradient stops in the collection.

+
+ + dd371454 + GetGradientStopCount + GetGradientStopCount + unsigned int ID2D1GradientStopCollection::GetGradientStopCount() +
+ + +

Indicates the gamma space in which the gradient stops are interpolated.

+
+ + dd316786 + GetColorInterpolationGamma + GetColorInterpolationGamma + D2D1_GAMMA ID2D1GradientStopCollection::GetColorInterpolationGamma() +
+ + +

Indicates the behavior of the gradient outside the normalized gradient range.

+
+ + dd316789 + GetExtendMode + GetExtendMode + D2D1_EXTEND_MODE ID2D1GradientStopCollection::GetExtendMode() +
+ + +

Represents the backing store required to render a layer.

+
+ +

To create a layer, call the CreateLayer method of the render target where the layer will be used. To draw to a layer, push the layer to the render target stack by calling the PushLayer method. After you have finished drawing to the layer, call the PopLayer method.

Between PushLayer and PopLayer calls, the layer is in use and cannot be used by another render target.

If the size of the layer is not specified, the corresponding PushLayer call determines the minimum layer size, based on the layer content bounds and the geometric mask. The layer resource can be larger than the size required by PushLayer without any rendering artifacts.

If the size of a layer is specified, or if the layer has been used and the required backing store size as calculated during PushLayer is larger than the layer, then the layer resource is expanded on each axis monotonically to ensure that it is large enough. The layer resource never shrinks in size.

Creating Objects

To create a layer, call the CreateLayer method of the render target where the layer will be used.

A layer is a device-dependent resource: your application should create layers after it initializes the render target with which the layers will be used, and recreate the layers whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371483 + ID2D1Layer + ID2D1Layer +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the size of the layer in device-independent pixels.

+
+

The size of the layer in device-independent pixels.

+ + dd371485 + D2D_SIZE_F ID2D1Layer::GetSize() + ID2D1Layer::GetSize +
+ + + 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. The layer resource is allocated to the minimum size when {{PushLayer}} is called. + + + Regardless of whether a size is initially specified, the layer automatically resizes as needed. + + an instance of + HRESULT CreateLayer([In, Optional] const D2D1_SIZE_F* size,[Out] ID2D1Layer** layer) + + + + 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. + + + Regardless of whether a size is initially specified, the layer automatically resizes as needed. + + an instance of + If (0, 0) is specified, no backing store is created behind the layer resource. The layer resource is allocated to the minimum size when {{PushLayer}} is called. + HRESULT CreateLayer([In, Optional] const D2D1_SIZE_F* size,[Out] ID2D1Layer** layer) + + + +

Gets the size of the layer in device-independent pixels.

+
+ + dd371485 + GetSize + GetSize + D2D_SIZE_F ID2D1Layer::GetSize() +
+ + +

Paints an area with a linear gradient.

+
+ +

An paints an area with a linear gradient along a line between the brush start point and end point. The gradient, defined by the brush , is extruded perpendicular to this line, and then transformed by a brush transform (if specified).

The start point and end point are described in the brush space and are mappped to the render target when the brush is used. Note the starting and ending coordinates are absolute, not relative to the render target size. A value of (0, 0) maps to the upper-left corner of the render target, while a value of (1, 1) maps one pixel diagonally away from (0, 0). If there is a nonidentity brush transform or render target transform, the brush start point and end point are also transformed.

It is possible to specify a gradient axis that does not completely fill the area that is being painted. When this occurs, the , specified by the , determines how the remaining area is painted. +

Creating Objects

To create a linear gradient brush, use the method of the render target on which the brush will be used. The brush can only be used with the render target that created it or with the compatible targets for that render target.

A linear gradient brush is a device-dependent resource: your application should create linear gradient brushes after it initializes the render target with which the brushes will be used, and recreate the brushes whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371488 + ID2D1LinearGradientBrush + ID2D1LinearGradientBrush +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the starting coordinates of the linear gradient in the brush's coordinate space.

+
+

The starting two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371505 + void ID2D1LinearGradientBrush::SetStartPoint([In] D2D_POINT_2F startPoint) + ID2D1LinearGradientBrush::SetStartPoint +
+ + +

Sets the ending coordinates of the linear gradient in the brush's coordinate space.

+
+

The ending two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371501 + void ID2D1LinearGradientBrush::SetEndPoint([In] D2D_POINT_2F endPoint) + ID2D1LinearGradientBrush::SetEndPoint +
+ + +

Retrieves the starting coordinates of the linear gradient.

+
+

The starting two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371497 + D2D_POINT_2F ID2D1LinearGradientBrush::GetStartPoint() + ID2D1LinearGradientBrush::GetStartPoint +
+ + +

Retrieves the ending coordinates of the linear gradient.

+
+

The ending two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371492 + D2D_POINT_2F ID2D1LinearGradientBrush::GetEndPoint() + ID2D1LinearGradientBrush::GetEndPoint +
+ + +

Retrieves the associated with this linear gradient brush.

+
+ No documentation. + +

contains an array of structures and information, such as the extend mode and the color interpolation mode.

+
+ + dd371496 + void ID2D1LinearGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) + ID2D1LinearGradientBrush::GetGradientStopCollection +
+ + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The start and end points of the gradient. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient line. + HRESULT CreateLinearGradientBrush([In] const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1LinearGradientBrush** linearGradientBrush) + + + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The start and end points of the gradient. + The transform and base opacity of the new brush, or NULL. If this value is NULL, the brush defaults to a base opacity of 1.0f and the identity matrix as its transformation. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient line. + HRESULT CreateLinearGradientBrush([In] const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1LinearGradientBrush** linearGradientBrush) + + + +

Retrieves or sets the starting coordinates of the linear gradient.

+
+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371497 + GetStartPoint / SetStartPoint + GetStartPoint + D2D_POINT_2F ID2D1LinearGradientBrush::GetStartPoint() +
+ + +

Retrieves or sets the ending coordinates of the linear gradient.

+
+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371492 + GetEndPoint / SetEndPoint + GetEndPoint + D2D_POINT_2F ID2D1LinearGradientBrush::GetEndPoint() +
+ + +

Retrieves the associated with this linear gradient brush.

+
+ +

contains an array of structures and information, such as the extend mode and the color interpolation mode.

+
+ + dd371496 + GetGradientStopCollection + GetGradientStopCollection + void ID2D1LinearGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) +
+ + +

Represents a set of vertices that form a list of triangles.

+
+ + Creating Objects

To create a mesh, call the method on the render target with which the mesh will be used. A mesh can only be used with the render target that created it and the render target's compatible targets.

A mesh is a device-dependent resource: your application should create meshes after it initializes the render target with which the meshes will be used, and recreate the meshes whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371508 + ID2D1Mesh + ID2D1Mesh +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Opens the mesh for population.

+
+

When this method returns, contains a reference to a reference to an that is used to populate the mesh. This parameter is passed uninitialized.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371510 + HRESULT ID2D1Mesh::Open([Out] ID2D1TessellationSink** tessellationSink) + ID2D1Mesh::Open +
+ + + Create a mesh that uses triangles to describe a shape. + + + To populate a mesh, use its {{Open}} method to obtain an . To draw the mesh, use the render target's {{FillMesh}} method. + + an instance of + HRESULT CreateMesh([Out] ID2D1Mesh** mesh) + + + + Create a mesh that uses triangles to describe a shape and populates it with triangles. + + an instance of + An array of structures that describe the triangles to add to this mesh. + HRESULT CreateMesh([Out] ID2D1Mesh** mesh) + + + + Opens the mesh for population. + + When this method returns, contains a pointer to a pointer to an that is used to populate the mesh. This parameter is passed uninitialized. + HRESULT Open([Out] ID2D1TessellationSink** tessellationSink) + + + +

Represents a complex shape that may be composed of arcs, curves, and lines.

+
+ +

An object enables you to describe a geometric path. To describe an object's path, use the object's Open method to retrieve an . Use the sink to populate the path geometry with figures and segments.

Creating Objects

To create a path geometry, use the method.

objects are device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd371512 + ID2D1PathGeometry + ID2D1PathGeometry +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the geometry sink that is used to populate the path geometry with figures and segments.

+
+

When this method returns, geometrySink contains the address of a reference to the geometry sink that is used to populate the path geometry with figures and segments. This parameter is passed uninitialized.

+ +

Because path geometries are immutable and can only be populated once, it is an error to call Open on a path geometry more than once.

Note that the fill mode defaults to . To set the fill mode, call SetFillMode before the first call to BeginFigure. Failure to do so will put the geometry sink in an error state.

+
+ + dd371522 + HRESULT ID2D1PathGeometry::Open([Out] ID2D1GeometrySink** geometrySink) + ID2D1PathGeometry::Open +
+ + +

Copies the contents of the path geometry to the specified .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371525 + HRESULT ID2D1PathGeometry::Stream([In] ID2D1GeometrySink* geometrySink) + ID2D1PathGeometry::Stream +
+ + +

Retrieves the number of segments in the path geometry.

+
+

A reference that receives the number of segments in the path geometry when this method returns. You must allocate storage for this parameter.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371520 + HRESULT ID2D1PathGeometry::GetSegmentCount([Out] unsigned int* count) + ID2D1PathGeometry::GetSegmentCount +
+ + +

Retrieves the number of figures in the path geometry.

+
+

A reference that receives the number of figures in the path geometry when this method returns. You must allocate storage for this parameter.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371515 + HRESULT ID2D1PathGeometry::GetFigureCount([Out] unsigned int* count) + ID2D1PathGeometry::GetFigureCount +
+ + + Creates an empty . + + an instance of + + + + Copies the contents of the path geometry to the specified . + + The sink to which the path geometry's contents are copied. Modifying this sink does not change the contents of this path geometry. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Stream([In] ID2D1GeometrySink* geometrySink) + + + +

Retrieves the number of segments in the path geometry.

+
+ + dd371520 + GetSegmentCount + GetSegmentCount + HRESULT ID2D1PathGeometry::GetSegmentCount([Out] unsigned int* count) +
+ + +

Retrieves the number of figures in the path geometry.

+
+ + dd371515 + GetFigureCount + GetFigureCount + HRESULT ID2D1PathGeometry::GetFigureCount([Out] unsigned int* count) +
+ + +

Paints an area with a radial gradient.

+
+ +

The is similar to the in that they both map a collection of gradient stops to a gradient. However, the linear gradient has a start and an end point to define the gradient vector, while the radial gradient uses an ellipse and a gradient origin to define its gradient behavior. To define the position and size of the ellipse, use the SetCenter, SetRadiusX, and SetRadiusY methods to specify the center, x-radius, and y-radius of the ellipse. The gradient origin is the center of the ellipse, unless a gradient offset is specified by using the SetGradientOriginOffset method.

The brush maps the gradient stop position 0.0f of the gradient origin, and the position 1.0f is mapped to the ellipse boundary. When the gradient origin is within the ellipse, the contents of the ellipse enclose the entire [0, 1] range of the brush gradient stops. If the gradient origin is outside the bounds of the ellipse, the brush still works, but its gradient is not well-defined.

The start point and end point are described in the brush space and are mappped to the render target when the brush is used. Note the starting and ending coordinates are absolute, not relative to the render target size. A value of (0, 0) maps to the upper-left corner of the render target, while a value of (1, 1) maps just one pixel diagonally away from (0, 0). If there is a nonidentity brush transform or render target transform, the brush ellipse and gradient origin are also transformed.

It is possible to specify an ellipse that does not completely fill area being painted. When this occurs, the and setting (specified by the brush ) determines how the remaining area is painted. +

Creating Objects

To create a radial gradient brush, use the method of the render target on which the brush will be used. The brush may be used only with the render target that created it or with the compatible targets for that render target.

A radial gradient brush is a device-dependent resource: your application should create radial gradient brushes after it initializes the render target with which the brushes will be used, and recreate the brushes whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371529 + ID2D1RadialGradientBrush + ID2D1RadialGradientBrush +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Specifies the center of the gradient ellipse in the brush's coordinate space.

+
+

The center of the gradient ellipse, in the brush's coordinate space.

+ + dd371547 + void ID2D1RadialGradientBrush::SetCenter([In] D2D_POINT_2F center) + ID2D1RadialGradientBrush::SetCenter +
+ + +

Specifies the offset of the gradient origin relative to the gradient ellipse's center.

+
+

The offset of the gradient origin from the center of the gradient ellipse.

+ + dd371550 + void ID2D1RadialGradientBrush::SetGradientOriginOffset([In] D2D_POINT_2F gradientOriginOffset) + ID2D1RadialGradientBrush::SetGradientOriginOffset +
+ + +

Specifies the x-radius of the gradient ellipse, in the brush's coordinate space.

+
+

The x-radius of the gradient ellipse. This value is in the brush's coordinate space.

+ + dd371553 + void ID2D1RadialGradientBrush::SetRadiusX([In] float radiusX) + ID2D1RadialGradientBrush::SetRadiusX +
+ + +

Specifies the y-radius of the gradient ellipse, in the brush's coordinate space.

+
+

The y-radius of the gradient ellipse. This value is in the brush's coordinate space.

+ + dd371557 + void ID2D1RadialGradientBrush::SetRadiusY([In] float radiusY) + ID2D1RadialGradientBrush::SetRadiusY +
+ + +

Retrieves the center of the gradient ellipse.

+
+

The center of the gradient ellipse. This value is expressed in the brush's coordinate space.

+ + dd371532 + D2D_POINT_2F ID2D1RadialGradientBrush::GetCenter() + ID2D1RadialGradientBrush::GetCenter +
+ + +

Retrieves the offset of the gradient origin relative to the gradient ellipse's center.

+
+

The offset of the gradient origin from the center of the gradient ellipse. This value is expressed in the brush's coordinate space.

+ + dd371535 + D2D_POINT_2F ID2D1RadialGradientBrush::GetGradientOriginOffset() + ID2D1RadialGradientBrush::GetGradientOriginOffset +
+ + +

Retrieves the x-radius of the gradient ellipse.

+
+

The x-radius of the gradient ellipse. This value is expressed in the brush's coordinate space.

+ + dd371542 + float ID2D1RadialGradientBrush::GetRadiusX() + ID2D1RadialGradientBrush::GetRadiusX +
+ + +

Retrieves the y-radius of the gradient ellipse.

+
+

The y-radius of the gradient ellipse. This value is expressed in the brush's coordinate space.

+ + dd371544 + float ID2D1RadialGradientBrush::GetRadiusY() + ID2D1RadialGradientBrush::GetRadiusY +
+ + +

Retrieves the associated with this radial gradient brush object.

+
+ No documentation. + +

contains an array of structures and additional information, such as the extend mode and the color interpolation mode.

+
+ + dd371539 + void ID2D1RadialGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) + ID2D1RadialGradientBrush::GetGradientStopCollection +
+ + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. + HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) + + + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. + HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) + + + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. + The transform and base opacity of the new brush, or NULL. If this value is NULL, the brush defaults to a base opacity of 1.0f and the identity matrix as its transformation. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. + HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) + + + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. + The transform and base opacity of the new brush, or NULL. If this value is NULL, the brush defaults to a base opacity of 1.0f and the identity matrix as its transformation. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. + HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) + + + +

Retrieves or sets the center of the gradient ellipse.

+
+ + dd371532 + GetCenter / SetCenter + GetCenter + D2D_POINT_2F ID2D1RadialGradientBrush::GetCenter() +
+ + +

Retrieves or sets the offset of the gradient origin relative to the gradient ellipse's center.

+
+ + dd371535 + GetGradientOriginOffset / SetGradientOriginOffset + GetGradientOriginOffset + D2D_POINT_2F ID2D1RadialGradientBrush::GetGradientOriginOffset() +
+ + +

Retrieves or sets the x-radius of the gradient ellipse.

+
+ + dd371542 + GetRadiusX / SetRadiusX + GetRadiusX + float ID2D1RadialGradientBrush::GetRadiusX() +
+ + +

Retrieves or sets the y-radius of the gradient ellipse.

+
+ + dd371544 + GetRadiusY / SetRadiusY + GetRadiusY + float ID2D1RadialGradientBrush::GetRadiusY() +
+ + +

Retrieves the associated with this radial gradient brush object.

+
+ +

contains an array of structures and additional information, such as the extend mode and the color interpolation mode.

+
+ + dd371539 + GetGradientStopCollection + GetGradientStopCollection + void ID2D1RadialGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) +
+ + +

Describes a two-dimensional rectangle.

+
+ + Creating Objects

To create a rectangle geometry, use the method.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd371561 + ID2D1RectangleGeometry + ID2D1RectangleGeometry +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the rectangle that describes the rectangle geometry's dimensions.

+
+

Contains a reference to a rectangle that describes the rectangle geometry's dimensions when this method returns. You must allocate storage for this parameter.

+ + dd371762 + void ID2D1RectangleGeometry::GetRect([Out] D2D_RECT_F* rect) + ID2D1RectangleGeometry::GetRect +
+ + + Creates an . + + an instance of + The coordinates of the rectangle geometry. + + + +

Retrieves the rectangle that describes the rectangle geometry's dimensions.

+
+ + dd371762 + GetRect + GetRect + void ID2D1RectangleGeometry::GetRect([Out] D2D_RECT_F* rect) +
+ + +

Retrieves a rounded rectangle that describes this rounded rectangle geometry.

+
+ + dd316917 + ID2D1RoundedRectangleGeometry + ID2D1RoundedRectangleGeometry +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves a rounded rectangle that describes this rounded rectangle geometry.

+
+

A reference that receives a rounded rectangle that describes this rounded rectangle geometry. You must allocate storage for this parameter.

+ + dd316917 + void ID2D1RoundedRectangleGeometry::GetRoundedRect([Out] D2D1_ROUNDED_RECT* roundedRect) + ID2D1RoundedRectangleGeometry::GetRoundedRect +
+ + + Creates an . + + an instance of + The coordinates and corner radii of the rounded rectangle geometry. + + + +

Retrieves a rounded rectangle that describes this rounded rectangle geometry.

+
+ + dd316917 + GetRoundedRect + GetRoundedRect + void ID2D1RoundedRectangleGeometry::GetRoundedRect([Out] D2D1_ROUNDED_RECT* roundedRect) +
+ + +

Paints an area with a solid color.

+
+ + Creating Objects

To create a solid color brush, use the method of the render target on which the brush will be used. The brush can only be used with the render target that created it or with the compatible targets for that render target.

A solid color brush is a device-dependent resource. (For more information about resources, see Resources Overview.)

+
+ + dd372207 + ID2D1SolidColorBrush + ID2D1SolidColorBrush +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Specifies the color of this solid-color brush.

+
+

The color of this solid-color brush.

+ +

To help create colors, Direct2D provides the ColorF class. It offers several helper methods for creating colors and provides a set or predefined colors.

+
+ + dd372215 + void ID2D1SolidColorBrush::SetColor([In] const D2D_COLOR_F* color) + ID2D1SolidColorBrush::SetColor +
+ + +

Retrieves the color of the solid color brush.

+
+

The color of this solid color brush.

+ + dd372209 + D2D_COLOR_F ID2D1SolidColorBrush::GetColor() + ID2D1SolidColorBrush::GetColor +
+ + + Creates a new that has the specified color and opacity. + + an instance of + The red, green, blue, and alpha values of the brush's color. + + + + Creates a new that has the specified color and opacity. + + an instance of + The red, green, blue, and alpha values of the brush's color. + The base opacity of the brush. + + + +

Retrieves or sets the color of the solid color brush.

+
+ + dd372209 + GetColor / SetColor + GetColor + D2D_COLOR_F ID2D1SolidColorBrush::GetColor() +
+ + +

Describes the caps, miter limit, line join, and dash information for a stroke.

+
+ + Creating Objects

To create a stroke style, use the method.

A stroke style is a device-indenpendent resource; you can create it once then retain it for the life of your application. For more information about resources, see the Resources Overview.

+
+ + dd372217 + ID2D1StrokeStyle + ID2D1StrokeStyle +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the type of shape used at the beginning of a stroke.

+
+

The type of shape used at the beginning of a stroke.

+ + dd372244 + D2D1_CAP_STYLE ID2D1StrokeStyle::GetStartCap() + ID2D1StrokeStyle::GetStartCap +
+ + +

Retrieves the type of shape used at the end of a stroke.

+
+

The type of shape used at the end of a stroke.

+ + dd372238 + D2D1_CAP_STYLE ID2D1StrokeStyle::GetEndCap() + ID2D1StrokeStyle::GetEndCap +
+ + +

Gets a value that specifies how the ends of each dash are drawn.

+
+

A value that specifies how the ends of each dash are drawn.

+ + dd372218 + D2D1_CAP_STYLE ID2D1StrokeStyle::GetDashCap() + ID2D1StrokeStyle::GetDashCap +
+ + +

Retrieves the limit on the ratio of the miter length to half the stroke's thickness.

+
+

A positive number greater than or equal to 1.0f that describes the limit on the ratio of the miter length to half the stroke's thickness.

+ + dd372242 + float ID2D1StrokeStyle::GetMiterLimit() + ID2D1StrokeStyle::GetMiterLimit +
+ + +

Retrieves the type of joint used at the vertices of a shape's outline.

+
+

A value that specifies the type of joint used at the vertices of a shape's outline.

+ + dd372240 + D2D1_LINE_JOIN ID2D1StrokeStyle::GetLineJoin() + ID2D1StrokeStyle::GetLineJoin +
+ + +

Retrieves a value that specifies how far in the dash sequence the stroke will start.

+
+

A value that specifies how far in the dash sequence the stroke will start.

+ + dd372234 + float ID2D1StrokeStyle::GetDashOffset() + ID2D1StrokeStyle::GetDashOffset +
+ + +

Gets a value that describes the stroke's dash pattern.

+
+

A value that describes the predefined dash pattern used, or if a custom dash style is used.

+ +

If a custom dash style is specified, the dash pattern is described by the dashes array, which can be retrieved by calling the GetDashes method.

+
+ + dd372236 + D2D1_DASH_STYLE ID2D1StrokeStyle::GetDashStyle() + ID2D1StrokeStyle::GetDashStyle +
+ + +

Retrieves the number of entries in the dashes array.

+
+

The number of entries in the dashes array if the stroke is dashed; otherwise, 0.

+ + dd372232 + unsigned int ID2D1StrokeStyle::GetDashesCount() + ID2D1StrokeStyle::GetDashesCount +
+ + +

Copies the dash pattern to the specified array.

+
+

A reference to an array that will receive the dash pattern. The array must be able to contain at least as many elements as specified by dashesCount. You must allocate storage for this array.

+

The number of dashes to copy. If this value is less than the number of dashes in the stroke style's dashes array, the returned dashes are truncated to dashesCount. If this value is greater than the number of dashes in the stroke style's dashes array, the extra dashes are set to 0.0f. To obtain the actual number of dashes in the stroke style's dashes array, use the GetDashesCount method.

+ +

The dashes are specified in units that are a multiple of the stroke width, with subsequent members of the array indicating the dashes and gaps between dashes: the first entry indicates a filled dash, the second a gap, and so on.

+
+ + dd372230 + void ID2D1StrokeStyle::GetDashes([Out, Buffer] float* dashes,[In] unsigned int dashesCount) + ID2D1StrokeStyle::GetDashes +
+ + + Creates an that describes start cap, dash pattern, and other features of a stroke. + + an instance of + a definition for this render target + + + + Creates an that describes start cap, dash pattern, and other features of a stroke. + + an instance of + A structure that describes the stroke's line cap, dash offset, and other details of a stroke. + An array whose elements are set to the length of each dash and space in the dash pattern. The first element sets the length of a dash, the second element sets the length of a space, the third element sets the length of a dash, and so on. The length of each dash and space in the dash pattern is the product of the element value in the array and the stroke width. + + + +

Retrieves the type of shape used at the beginning of a stroke.

+
+ + dd372244 + GetStartCap + GetStartCap + D2D1_CAP_STYLE ID2D1StrokeStyle::GetStartCap() +
+ + +

Retrieves the type of shape used at the end of a stroke.

+
+ + dd372238 + GetEndCap + GetEndCap + D2D1_CAP_STYLE ID2D1StrokeStyle::GetEndCap() +
+ + +

Gets a value that specifies how the ends of each dash are drawn.

+
+ + dd372218 + GetDashCap + GetDashCap + D2D1_CAP_STYLE ID2D1StrokeStyle::GetDashCap() +
+ + +

Retrieves the limit on the ratio of the miter length to half the stroke's thickness.

+
+ + dd372242 + GetMiterLimit + GetMiterLimit + float ID2D1StrokeStyle::GetMiterLimit() +
+ + +

Retrieves the type of joint used at the vertices of a shape's outline.

+
+ + dd372240 + GetLineJoin + GetLineJoin + D2D1_LINE_JOIN ID2D1StrokeStyle::GetLineJoin() +
+ + +

Retrieves a value that specifies how far in the dash sequence the stroke will start.

+
+ + dd372234 + GetDashOffset + GetDashOffset + float ID2D1StrokeStyle::GetDashOffset() +
+ + +

Gets a value that describes the stroke's dash pattern.

+
+ +

If a custom dash style is specified, the dash pattern is described by the dashes array, which can be retrieved by calling the GetDashes method.

+
+ + dd372236 + GetDashStyle + GetDashStyle + D2D1_DASH_STYLE ID2D1StrokeStyle::GetDashStyle() +
+ + +

Retrieves the number of entries in the dashes array.

+
+ + dd372232 + GetDashesCount + GetDashesCount + unsigned int ID2D1StrokeStyle::GetDashesCount() +
+ + +

Populates an object with triangles.

+
+ + dd372245 + ID2D1TessellationSink + ID2D1TessellationSink +
+ + + Copies the specified triangles to the sink. + + An array of structures that describe the triangles to add to the sink. + void AddTriangles([In, Buffer] const D2D1_TRIANGLE* triangles,[None] UINT trianglesCount) + + + + Closes the sink. + + HRESULT Close() + + + +

Populates an object with triangles.

+
+ + dd372245 + ID2D1TessellationSink + ID2D1TessellationSink +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Copies the specified triangles to the sink.

+
+

An array of structures that describe the triangles to add to the sink.

+

The number of triangles to copy from the triangles array.

+ + dd372248 + void ID2D1TessellationSink::AddTriangles([In, Buffer] const D2D1_TRIANGLE* triangles,[In] unsigned int trianglesCount) + ID2D1TessellationSink::AddTriangles +
+ + +

Closes the sink and returns its error status.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd372250 + HRESULT ID2D1TessellationSink::Close() + ID2D1TessellationSink::Close +
+ + +

Represents a geometry that has been transformed.

+
+ +

Using an rather than transforming a geometry by using a render target's transform enables you to transform a geometry without transforming its stroke.

Creating Objects

To create an , call the method.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd372252 + ID2D1TransformedGeometry + ID2D1TransformedGeometry +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the source geometry of this transformed geometry object.

+
+

When this method returns, contains a reference to a reference to the source geometry for this transformed geometry object. This parameter is passed uninitialized.

+ + dd372255 + void ID2D1TransformedGeometry::GetSourceGeometry([Out] ID2D1Geometry** sourceGeometry) + ID2D1TransformedGeometry::GetSourceGeometry +
+ + +

Retrieves the matrix used to transform the object's source geometry.

+
+ No documentation. + + dd372256 + void ID2D1TransformedGeometry::GetTransform([Out] D2D_MATRIX_3X2_F* transform) + ID2D1TransformedGeometry::GetTransform +
+ + + Default Constructor for a . + + an instance of + + + + + +

Retrieves the source geometry of this transformed geometry object.

+
+ + dd372255 + GetSourceGeometry + GetSourceGeometry + void ID2D1TransformedGeometry::GetSourceGeometry([Out] ID2D1Geometry** sourceGeometry) +
+ + +

Retrieves the matrix used to transform the object's source geometry.

+
+ + dd372256 + GetTransform + GetTransform + void ID2D1TransformedGeometry::GetTransform([Out] D2D_MATRIX_3X2_F* transform) +
+ + +

Renders drawing instructions to a window.

+
+ +

As is the case with other render targets, you must call BeginDraw before issuing drawing commands. After you've finished drawing, call EndDraw to indicate that drawing is finished and to release access to the buffer backing the render target. For , the only side effect of BeginDraw is changing the state of the render target to allow drawing commands to be issued. EndDraw flushes any batched drawing commands. If no errors have occurred, then it also presents the buffer, causing it to appear on the associated window. Finally, EndDraw returns the of the first error that occurred in drawing or presenting, as well as the tag state at the time the error occurred.

objects are double buffered, so drawing commands issued do not appear immediately, but rather are performed on an offscreen surface. When EndDraw is called, if there have been no rendering errors, the offscreen buffer is presented. If there have been rendering errors in the batch flushed by EndDraw, then the buffer is not presented, and the application must call BeginDraw and re-draw the frame. Flush can be used to check for errors before calling EndDraw if an application wants the frame to be presented regardless of errors.

A hardware render target's back-buffer is the size specified by GetPixelSize. If EndDraw presents the buffer, this bitmap is stretched to cover the surface where it is presented: the entire client area of the window. This stretch is performed using bilinear filtering if the render target is rendering in hardware and using nearest-neighbor filtering if the rendering target is using software. (Typically, an application will call Resize to ensure the pixel size of the render target and the pixel size of the destination match, and no scaling is necessary, though this is not a requirement.)

In the case where a window straddles adapters, Direct2D ensures that the portion of the off-screen render target is copied from the adapter where rendering is occurring to the adapter that needs to display the contents. If the adapter a render target is on has been removed or the driver upgraded while the application is running, this is returned as an error in the EndDraw call. In this case, the application should create a new render target and resources as necessary. +

Creating Objects

To create an , use the method.

Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371461 + ID2D1HwndRenderTarget + ID2D1HwndRenderTarget +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Indicates whether the associated with this render target is occluded.

+
+

A value that indicates whether the associated with this render target is occluded.

+ +

Note??If the window was occluded the last time that EndDraw was called, the next time that the render target calls CheckWindowState, it will return regardless of the current window state. If you want to use CheckWindowState to determine the current window state, you should call CheckWindowState after every EndDraw call and ignore its return value. This call will ensure that your next call to CheckWindowState state will return the actual window state.

+
+ + dd371466 + D2D1_WINDOW_STATE ID2D1HwndRenderTarget::CheckWindowState() + ID2D1HwndRenderTarget::CheckWindowState +
+ + + Changes the size of the render target to the specified pixel size.Overload list + + No documentation. + No documentation. + +

After this method is called, the contents of the render target's back-buffer are not defined, even if the option was specified when the render target was created.

+
+ + dd742774 + HRESULT ID2D1HwndRenderTarget::Resize([In] const D2D_SIZE_U* pixelSize) + ID2D1HwndRenderTarget::Resize +
+ + +

Returns the associated with this render target.

+
+

The associated with this render target.

+ + dd371470 + HWND ID2D1HwndRenderTarget::GetHwnd() + ID2D1HwndRenderTarget::GetHwnd +
+ + + Creates an , a render target that renders to a window. + + + When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the {{D2DERR_RECREATE_TARGET}} error is received. When you receive this error, you need to recreate the render target (and any resources it created). + + an instance of + The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + The window handle, initial size (in pixels), and present options. + + + +

Returns the associated with this render target.

+
+ + dd371470 + GetHwnd + GetHwnd + HWND ID2D1HwndRenderTarget::GetHwnd() +
+ + +

Describes an elliptical arc between two points.

+
+ + dd368065 + D2D1_ARC_SEGMENT + D2D1_ARC_SEGMENT +
+ + +

The end point of the arc.

+
+ + dd368065 + D2D_POINT_2F point + D2D_POINT_2F point +
+ + +

The x-radius and y-radius of the arc.

+
+ + dd368065 + D2D_SIZE_F size + D2D_SIZE_F size +
+ + +

A value that specifies how many degrees in the clockwise direction the ellipse is rotated relative to the current coordinate system.

+
+ + dd368065 + float rotationAngle + float rotationAngle +
+ + +

A value that specifies whether the arc sweep is clockwise or counterclockwise.

+
+ + dd368065 + D2D1_SWEEP_DIRECTION sweepDirection + D2D1_SWEEP_DIRECTION sweepDirection +
+ + +

A value that specifies whether the given arc is larger than 180 degrees.

+
+ + dd368065 + D2D1_ARC_SIZE arcSize + D2D1_ARC_SIZE arcSize +
+ + +

Represents a cubic bezier segment drawn between two points.

+
+ +

A cubic Bezier curve is defined by four points: a start point, an end point (point3), and two control points (point1 and point2). A Bezier segment does not contain a property for the starting point of the curve; it defines only the end point. The beginning point of the curve is the current point of the path to which the Bezier curve is added.

The two control points of a cubic Bezier curve behave like magnets, attracting portions of what would otherwise be a straight line toward themselves and producing a curve. The first control point, point1, affects the beginning portion of the curve; the second control point, point2, affects the ending portion of the curve.

Note??The curve doesn't necessarily pass through either of the control points; each control point moves its portion of the line toward itself, but not through itself.

+
+ + dd368070 + D2D1_BEZIER_SEGMENT + D2D1_BEZIER_SEGMENT +
+ + +

The first control point for the Bezier segment.

+
+ + dd368070 + D2D_POINT_2F point1 + D2D_POINT_2F point1 +
+ + +

The second control point for the Bezier segment.

+
+ + dd368070 + D2D_POINT_2F point2 + D2D_POINT_2F point2 +
+ + +

The end point for the Bezier segment.

+
+ + dd368070 + D2D_POINT_2F point3 + D2D_POINT_2F point3 +
+ + +

Describes the extend modes and the interpolation mode of an .

+
+ + dd368071 + D2D1_BITMAP_BRUSH_PROPERTIES + D2D1_BITMAP_BRUSH_PROPERTIES +
+ + + No documentation. + + + D2D1_EXTEND_MODE extendModeX + D2D1_EXTEND_MODE extendModeX + + + + No documentation. + + + D2D1_EXTEND_MODE extendModeY + D2D1_EXTEND_MODE extendModeY + + + + No documentation. + + + D2D1_BITMAP_INTERPOLATION_MODE interpolationMode + D2D1_BITMAP_INTERPOLATION_MODE interpolationMode + + + +

Describes the opacity and transformation of a brush.

+
+ +

This structure is used when creating a brush. For convenience, Direct2D provides the D2D1::BrushProperties function for creating structures.

After creating a brush, you can change its opacity or transform by calling the SetOpacity or SetTransform methods.

+
+ + dd368077 + D2D1_BRUSH_PROPERTIES + D2D1_BRUSH_PROPERTIES +
+ + +

A value between 0.0f and 1.0f, inclusive, that specifies the degree of opacity of the brush.

+
+ + dd368077 + float opacity + float opacity +
+ + +

The transformation that is applied to the brush.

+
+ + dd368077 + D2D_MATRIX_3X2_F transform + D2D_MATRIX_3X2_F transform +
+ + +

Describes the drawing state of a render target.

+
+ + dd368093 + D2D1_DRAWING_STATE_DESCRIPTION + D2D1_DRAWING_STATE_DESCRIPTION +
+ + +

The antialiasing mode for subsequent nontext drawing operations.

+
+ + dd368093 + D2D1_ANTIALIAS_MODE antialiasMode + D2D1_ANTIALIAS_MODE antialiasMode +
+ + +

The antialiasing mode for subsequent text and glyph drawing operations.

+
+ + dd368093 + D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode + D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode +
+ + +

A label for subsequent drawing operations.

+
+ + dd368093 + unsigned longlong tag1 + unsigned longlong tag1 +
+ + +

A label for subsequent drawing operations.

+
+ + dd368093 + unsigned longlong tag2 + unsigned longlong tag2 +
+ + +

The transformation to apply to subsequent drawing operations.

+
+ + dd368093 + D2D_MATRIX_3X2_F transform + D2D_MATRIX_3X2_F transform +
+ + +

Contains the debugging level of an object.

+
+ +

To enable debugging, you must install the Direct2D Debug Layer.

+
+ + dd368102 + D2D1_FACTORY_OPTIONS + D2D1_FACTORY_OPTIONS +
+ + + No documentation. + + + D2D1_DEBUG_LEVEL debugLevel + D2D1_DEBUG_LEVEL debugLevel + + + +

Contains the position and color of a gradient stop.

+
+ +

Gradient stops can be specified in any order if they are at different positions. Two stops may share a position. In this case, the first stop specified is treated as the "low" stop (nearer 0.0f) and subsequent stops are treated as "higher" (nearer 1.0f). This behavior is useful if a caller wants an instant transition in the middle of a stop.

Typically, there are at least two points in a collection, although creation with only one stop is permitted. For example, one point is at position 0.0f, another point is at position 1.0f, and additional points are distributed in the [0, 1] range. Where the gradient progression is beyond the range of [0, 1], the stops are stored, but may affect the gradient.

When drawn, the [0, 1] range of positions is mapped to the brush, in a brush-dependent way. For details, see and .

Gradient stops with a position outside the [0, 1] range cannot be seen explicitly, but they can still affect the colors produced in the [0, 1] range. For example, a two-stop gradient 0.0f, Black}, {2.0f, White is indistinguishable visually from 0.0f, Black}, {1.0f, Mid-level gray. Also, the colors are clamped before interpolation.

+
+ + dd368119 + D2D1_GRADIENT_STOP + D2D1_GRADIENT_STOP +
+ + +

A value that indicates the relative position of the gradient stop in the brush. This value must be in the [0.0f, 1.0f] range if the gradient stop is to be seen explicitly.

+
+ + dd368119 + float position + float position +
+ + +

The color of the gradient stop.

+
+ + dd368119 + D2D_COLOR_F color + D2D_COLOR_F color +
+ + +

Contains the , pixel size, and presentation options for an .

+
+ +

Use this structure when you call the CreateHwndRenderTarget method to create a new .

For convenience, Direct2D provides the D2D1::HwndRenderTargetProperties function for creating new structures.

+
+ + dd368122 + D2D1_HWND_RENDER_TARGET_PROPERTIES + D2D1_HWND_RENDER_TARGET_PROPERTIES +
+ + + No documentation. + + + HWND hwnd + HWND hwnd + + + + No documentation. + + + D2D_SIZE_U pixelSize + D2D_SIZE_U pixelSize + + + + No documentation. + + + D2D1_PRESENT_OPTIONS presentOptions + D2D1_PRESENT_OPTIONS presentOptions + + + +

Contains the starting point and endpoint of the gradient axis for an .

+
+ +

Use this method when creating new objects with the CreateLinearGradientBrush method. For convenience, Direct2D provides the D2D1::LinearGradientBrushProperties helper function for creating new structures.

The following illustration shows how a linear gradient changes as you change its start and end points. For the first gradient, the start point is set to (0,0) and the end point to (150, 50); this creates a diagonal gradient that starts at the upper-left corner and extends to the lower-right corner of the area being painted. When you set the start point to (0, 25) and the end point to (150, 25), a horizontal gradient is created. Similarly, setting the start point to (75, 0) and the end point to (75, 50) creates a vertical gradient. Setting the start point to (0, 50) and the end point to (150, 0) creates a diagonal gradient that starts at the lower-left corner and extends to the upper-right corner of the area being painted.

+
+ + dd368128 + D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES + D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES +
+ + + No documentation. + + + D2D_POINT_2F startPoint + D2D_POINT_2F startPoint + + + + No documentation. + + + D2D_POINT_2F endPoint + D2D_POINT_2F endPoint + + + +

Contains the data format and alpha mode for a bitmap or render target.

+
+ +

For more information about the pixel formats and alpha modes supported by each render target, see Supported Pixel Formats and Alpha Modes.

+
+ + dd368138 + D2D1_PIXEL_FORMAT + D2D1_PIXEL_FORMAT +
+ + +

A value that specifies the size and arrangement of channels in each pixel.

+
+ + dd368138 + DXGI_FORMAT format + DXGI_FORMAT format +
+ + +

A value that specifies whether the alpha channel is using pre-multiplied alpha, straight alpha, whether it should be ignored and considered opaque, or whether it is unkown.

+
+ + dd368138 + D2D1_ALPHA_MODE alphaMode + D2D1_ALPHA_MODE alphaMode +
+ + + Initializes a new instance of the struct. + + A value that specifies the size and arrangement of channels in each pixel. + A value that specifies whether the alpha channel is using pre-multiplied alpha, straight alpha, whether it should be ignored and considered opaque, or whether it is unknown. + + + +

Contains the control point and end point for a quadratic Bezier segment.

+
+ + dd368147 + D2D1_QUADRATIC_BEZIER_SEGMENT + D2D1_QUADRATIC_BEZIER_SEGMENT +
+ + +

The control point of the quadratic Bezier segment.

+
+ + dd368147 + D2D_POINT_2F point1 + D2D_POINT_2F point1 +
+ + +

The end point of the quadratic Bezier segment.

+
+ + dd368147 + D2D_POINT_2F point2 + D2D_POINT_2F point2 +
+ + +

Contains the gradient origin offset and the size and position of the gradient ellipse for an .

+
+ +

Different values for center, gradientOriginOffset, radiusX and/or radiusY produce different gradients. The following illustration shows several radial gradients that have different gradient origin offsets, creating the appearance of the light illuminating the circles from different angles.

For convenience, Direct2D provides the D2D1::RadialGradientBrushProperties function for creating new D2D1_RADIAL_GRADIENT_BRUSH structures.

+
+ + dd368149 + D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES + D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES +
+ + + No documentation. + + + D2D_POINT_2F center + D2D_POINT_2F center + + + + No documentation. + + + D2D_POINT_2F gradientOriginOffset + D2D_POINT_2F gradientOriginOffset + + + + No documentation. + + + float radiusX + float radiusX + + + + No documentation. + + + float radiusY + float radiusY + + + +

Contains rendering options (hardware or software), pixel format, DPI information, remoting options, and Direct3D support requirements for a render target.

+
+ +

Use this structure when creating a render target, or use it with the method to check the properties supported by an existing render target.

As a convenience, Direct2D provides the D2D1::RenderTargetProperties helper function for creating structures. An easy way to create a structure that works for most render targets is to call the function without specifying any parameters. Doing so creates a structure that has its fields set to default values. For more information, see D2D1::RenderTargetProperties.

Not all render targets support hardware rendering. For a list, see the Render Targets Overview.

Using Default DPI Settings

To use the default DPI, set dpiX and dpiY to 0. The default DPI varies depending on the render target:

  • For a compatible render target, the default DPI is the DPI of the parent render target.
  • For a , the default DPI is the system DPI obtained from the render target's .
  • For other render targets, the default DPI is 96.

To use the default DPI setting, both dpiX and dpiY must be set to 0. Setting only one value to 0 causes an E_INVALIDARG error when attempting to create a render target.

+
+ + dd368155 + D2D1_RENDER_TARGET_PROPERTIES + D2D1_RENDER_TARGET_PROPERTIES +
+ + +

A value that specifies whether the render target should force hardware or software rendering. A value of specifies that the render target should use hardware rendering if it is available; otherwise, it uses software rendering. Note that WIC bitmap render targets do not support hardware rendering.

+
+ + dd368155 + D2D1_RENDER_TARGET_TYPE type + D2D1_RENDER_TARGET_TYPE type +
+ + +

The pixel format and alpha mode of the render target. You can use the D2D1::PixelFormat function to create a pixel format that specifies that Direct2D should select the pixel format and alpha mode for you. For a list of pixel formats and alpha modes supported by each render target, see Supported Pixel Formats and Alpha Modes.

+
+ + dd368155 + D2D1_PIXEL_FORMAT pixelFormat + D2D1_PIXEL_FORMAT pixelFormat +
+ + +

The horizontal DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section.

+
+ + dd368155 + float dpiX + float dpiX +
+ + +

The vertical DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section.

+
+ + dd368155 + float dpiY + float dpiY +
+ + +

A value that specifies how the render target is remoted and whether it should be GDI-compatible. Set to to create a render target that is not compatible with GDI and uses Direct3D command-stream remoting if it is available.

+
+ + dd368155 + D2D1_RENDER_TARGET_USAGE usage + D2D1_RENDER_TARGET_USAGE usage +
+ + +

A value that specifies the minimum Direct3D feature level required for hardware rendering. If the specified minimum level is not available, the render target uses software rendering if the type member is set to ; if type is set to to , render target creation fails. A value of indicates that Direct2D should determine whether the Direct3D feature level of the device is adequate. This field is used only when creating and objects.

+
+ + dd368155 + D2D1_FEATURE_LEVEL minLevel + D2D1_FEATURE_LEVEL minLevel +
+ + + Initializes a new instance of the struct. + + The pixel format and alpha mode of the render target. You can use the {{D2D1::PixelFormat}} function to create a pixel format that specifies that Direct2D should select the pixel format and alpha mode for you. For a list of pixel formats and alpha modes supported by each render target, see {{Supported Pixel Formats and Alpha Modes}}. + + + + Initializes a new instance of the struct. + + A value that specifies whether the render target should force hardware or software rendering. A value of specifies that the render target should use hardware rendering if it is available; otherwise, it uses software rendering. Note that WIC bitmap render targets do not support hardware rendering. + The pixel format and alpha mode of the render target. You can use the {{D2D1::PixelFormat}} function to create a pixel format that specifies that Direct2D should select the pixel format and alpha mode for you. For a list of pixel formats and alpha modes supported by each render target, see {{Supported Pixel Formats and Alpha Modes}}. + The horizontal DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section. + The vertical DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section. + A value that specifies how the render target is remoted and whether it should be GDI-compatible. Set to to create a render target that is not compatible with GDI and uses Direct3D command-stream remoting if it is available. + A value that specifies the minimum Direct3D feature level required for hardware rendering. If the specified minimum level is not available, the render target uses software rendering if the type member is set to ; if type is set to to D2D1_RENDER_TARGET_TYPE_HARDWARE, render target creation fails. A value of indicates that Direct2D should determine whether the Direct3D feature level of the device is adequate. This field is used only when creating and objects. + + + +

Contains the dimensions and corner radii of a rounded rectangle.

+
+ +

Each corner of the rectangle specified by the rect is replaced with a quarter ellipse, with a radius in each direction specified by radiusX and radiusY.

If the radiusX is greater than or equal to half the width of the rectangle, and the radiusY is greater than or equal to one-half the height, the rounded rectangle is an ellipse with the same width and height of the rect.

Even when both radiuX and radiusY are zero, the rounded rectangle is different from a rectangle., When stroked, the corners of the rounded rectangle are roundly joined, not mitered (square).

+
+ + dd368158 + D2D1_ROUNDED_RECT + D2D1_ROUNDED_RECT +
+ + +

The coordinates of the rectangle.

+
+ + dd368158 + D2D_RECT_F rect + D2D_RECT_F rect +
+ + +

The x-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.

+
+ + dd368158 + float radiusX + float radiusX +
+ + +

The y-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.

+
+ + dd368158 + float radiusY + float radiusY +
+ + +

Describes the stroke that outlines a shape.

+
+ +

The following illustration shows different dashOffset values for the same custom dash style.

+
+ + dd368164 + D2D1_STROKE_STYLE_PROPERTIES + D2D1_STROKE_STYLE_PROPERTIES +
+ + +

The cap applied to the start of all the open figures in a stroked geometry.

+
+ + dd368164 + D2D1_CAP_STYLE startCap + D2D1_CAP_STYLE startCap +
+ + +

The cap applied to the end of all the open figures in a stroked geometry.

+
+ + dd368164 + D2D1_CAP_STYLE endCap + D2D1_CAP_STYLE endCap +
+ + +

The shape at either end of each dash segment.

+
+ + dd368164 + D2D1_CAP_STYLE dashCap + D2D1_CAP_STYLE dashCap +
+ + +

A value that describes how segments are joined. This value is ignored for a vertex if the segment flags specify that the segment should have a smooth join.

+
+ + dd368164 + D2D1_LINE_JOIN lineJoin + D2D1_LINE_JOIN lineJoin +
+ + +

The limit of the thickness of the join on a mitered corner. This value is always treated as though it is greater than or equal to 1.0f.

+
+ + dd368164 + float miterLimit + float miterLimit +
+ + +

A value that specifies whether the stroke has a dash pattern and, if so, the dash style.

+
+ + dd368164 + D2D1_DASH_STYLE dashStyle + D2D1_DASH_STYLE dashStyle +
+ + +

A value that specifies an offset in the dash sequence. A positive dash offset value shifts the dash pattern, in units of stroke width, toward the start of the stroked geometry. A negative dash offset value shifts the dash pattern, in units of stroke width, toward the end of the stroked geometry.

+
+ + dd368164 + float dashOffset + float dashOffset +
+ + +

Contains the three vertices that describe a triangle.

+
+ + dd368172 + D2D1_TRIANGLE + D2D1_TRIANGLE +
+ + +

The first vertex of a triangle.

+
+ + dd368172 + D2D_POINT_2F point1 + D2D_POINT_2F point1 +
+ + +

The second vertex of a triangle.

+
+ + dd368172 + D2D_POINT_2F point2 + D2D_POINT_2F point2 +
+ + +

The third vertex of a triangle.

+
+ + dd368172 + D2D_POINT_2F point3 + D2D_POINT_2F point3 +
+ + + Internal GeometrySink Callback + + + + + Internal SimplifiedGeometrySink Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + + Get a native callback pointer from a managed callback. + + The geometry sink. + A pointer to the unmanaged geometry sink counterpart + + + + Internal TessellationSink Callback + + + + + Get a native callback pointer from a managed callback. + + The geometry sink. + A pointer to the unmanaged geometry sink counterpart + + + + BitmapEncoderOptions used for encoding. + + + + + Initializes a new instance of the class. + + The property bag pointer. + + + + Gets or sets the image quality. + + + The image quality. + + + Range value: 0-1.0f + Applicable Codecs: JPEG, HDPhoto + + + + + Gets or sets the compression quality. + + + The compression quality. + + + Range value: 0-1.0f + Applicable Codecs: TIFF + + + + + Gets or sets a value indicating whether loss less compression is enabled. + + + true if [loss less]; otherwise, false. + + + Range value: true-false + Applicable Codecs: HDPhoto + + + + + Gets or sets the bitmap transform. + + + The bitmap transform. + + + Range value: + Applicable Codecs: JPEG + + + + + Gets or sets a value indicating whether [interlace option]. + + + true if [interlace option]; otherwise, false. + + + Range value: true-false + Applicable Codecs: PNG + + + + + Gets or sets the filter option. + + + The filter option. + + + Range value: + Applicable Codecs: PNG + + + + + Gets or sets the TIFF compression method. + + + The TIFF compression method. + + + Range value: + Applicable Codecs: TIFF + + + + + Gets or sets the luminance. + + + The luminance. + + + Range value: 64 Entries (DCT) + Applicable Codecs: JPEG + + + + + Gets or sets the chrominance. + + + The chrominance. + + + Range value: 64 Entries (DCT) + Applicable Codecs: JPEG + + + + + Gets or sets the JPEG Y Cr Cb subsampling. + + + The JPEG Y Cr Cb subsampling. + + + Range value: + Applicable Codecs: JPEG + + + + + Gets or sets a value indicating whether [suppress app0]. + + + true if [suppress app0]; otherwise, false. + + + Range value: true-false + Applicable Codecs: JPEG + + + + + Bmp bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Bmp bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Gif bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Gif bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Tiff bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Tiff bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + The namespace provides a managed WIC API. + + ee719902 + WIC + WIC + + + + Png bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Png bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Tiff bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Tiff bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Wmp bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + WMP bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + +
+
diff --git a/packages/SharpDX.Direct2D1.2.5.0/lib/win8/SharpDX.Direct2D1.dll b/packages/SharpDX.Direct2D1.2.5.0/lib/win8/SharpDX.Direct2D1.dll new file mode 100644 index 00000000000..55fee4b147c Binary files /dev/null and b/packages/SharpDX.Direct2D1.2.5.0/lib/win8/SharpDX.Direct2D1.dll differ diff --git a/packages/SharpDX.Direct2D1.2.5.0/lib/win8/SharpDX.Direct2D1.xml b/packages/SharpDX.Direct2D1.2.5.0/lib/win8/SharpDX.Direct2D1.xml new file mode 100644 index 00000000000..65def9e3b51 --- /dev/null +++ b/packages/SharpDX.Direct2D1.2.5.0/lib/win8/SharpDX.Direct2D1.xml @@ -0,0 +1,42846 @@ + + + + SharpDX.Direct2D1 + + + + + The assembly provides managed API for , and . + + ee663274 + Direct2D1 / DirectWrite + Direct2D1 / DirectWrite + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents a bitmap that can be used as a surface for an or mapped into system memory, and can contain additional color context information.

+
+ + hh404349 + ID2D1Bitmap1 + ID2D1Bitmap1 +
+ + +

Represents a bitmap that has been bound to an .

+
+ + Creating Objects

To create a bitmap, use one of the following methods of the render target on which the bitmap will be drawn:

For information about the pixel formats supported by Direct2D bitmaps, see Supported Pixel Formats and Alpha Modes.

An is a device-dependent resource: your application should create bitmaps after it initializes the render target with which the bitmap will be used, and recreate the bitmap whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371109 + ID2D1Bitmap + ID2D1Bitmap +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents a producer of pixels that can fill an arbitrary 2D plane.

+
+ +

An is abstract. Concrete instances can be created through and .

Images are evaluated lazily. If the type of image passed in is concrete, then the image can be directly sampled from. Other images can act only as a source of pixels and can produce content only as a result of calling .

+
+ + hh446803 + ID2D1Image + ID2D1Image +
+ + +

Represents a Direct2D drawing resource.

+
+ + dd316908 + ID2D1Resource + ID2D1Resource +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the factory associated with this resource.

+
+

When this method returns, contains a reference to a reference to the factory that created this resource. This parameter is passed uninitialized.

+ + dd316911 + void ID2D1Resource::GetFactory([Out] ID2D1Factory** factory) + ID2D1Resource::GetFactory +
+ + +

Retrieves the factory associated with this resource.

+
+ + dd316911 + GetFactory + GetFactory + void ID2D1Resource::GetFactory([Out] ID2D1Factory** factory) +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + The pixel format and dots per inch (DPI) of the bitmap to create. + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + A pointer to the memory location of the image data, or NULL to create an uninitialized bitmap. + The byte count of each scanline, which is equal to (the image width in pixels * the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.) + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + A pointer to the memory location of the image data, or NULL to create an uninitialized bitmap. + The byte count of each scanline, which is equal to (the image width in pixels * the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.) + The pixel format and dots per inch (DPI) of the bitmap to create. + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + The pixel format and DPI of the bitmap to create . The portion of the pixel format must match the of data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass NULL or the value obtained from the {{D2D1::PixelFormat}} helper function. The DPI settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the default DPI, 96, is used. + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + The pixel format and DPI of the bitmap to create . The portion of the pixel format must match the of data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass NULL or the value obtained from the {{D2D1::PixelFormat}} helper function. The DPI settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the default DPI, 96, is used. + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + A pointer to an array of pixel data. The size of the array must be equal to sizeof(pixel) * Size.Width * Height. + The pixel format and dots per inch (DPI) of the bitmap to create. + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap + + + + Creates a Bitmap from a WIC bitmap. + + The render target. + A reference to a WIC bitmap. + + dd371797 + HRESULT ID2D1RenderTarget::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmapFromWicBitmap + + + + Creates a Bitmap from a WIC bitmap. + + The render target. + The WIC bitmap. + The bitmap properties. + + dd371797 + HRESULT ID2D1RenderTarget::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmapFromWicBitmap + + + + Copies the specified region from the specified bitmap into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The bitmap to copy from. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371152 + HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromBitmap + + + + Copies the specified region from the specified bitmap into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The bitmap to copy from. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371152 + HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromBitmap + + + + Copies the specified region from the specified bitmap into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The bitmap to copy from. + The area of bitmap to copy. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371152 + HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromBitmap + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from memory into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The data to copy. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from the specified render target into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. All clips and layers must be popped off of the render target before calling this method. The method returns {{D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT}} if any clips or layers are currently applied to the render target. + + The render target that contains the region to copy. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371158 + HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromRenderTarget + + + + Copies the specified region from the specified render target into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. All clips and layers must be popped off of the render target before calling this method. The method returns {{D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT}} if any clips or layers are currently applied to the render target. + + The render target that contains the region to copy. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371158 + HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromRenderTarget + + + + Copies the specified region from the specified render target into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. All clips and layers must be popped off of the render target before calling this method. The method returns {{D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT}} if any clips or layers are currently applied to the render target. + + The render target that contains the region to copy. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + The area of renderTarget to copy. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371158 + HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromRenderTarget + + + + Copies the specified region from a stream into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The stream to copy the data from. + Length in bytes of the data to copy from the stream. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Copies the specified region from a stream into the current bitmap. + + + This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. + + The stream to copy the data from. + Length in bytes of the data to copy from the stream. + The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. + In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Returns the size, in device-independent pixels (DIPs), of the bitmap.

+
+

The size, in DIPs, of the bitmap.

+ +

A DIP is 1/96?of an inch. To retrieve the size in device pixels, use the method.

+
+ + dd371170 + D2D_SIZE_F ID2D1Bitmap::GetSize() + ID2D1Bitmap::GetSize +
+ + +

Returns the size, in device-dependent units (pixels), of the bitmap.

+
+

The size, in pixels, of the bitmap.

+ + dd371167 + D2D_SIZE_U ID2D1Bitmap::GetPixelSize() + ID2D1Bitmap::GetPixelSize +
+ + +

Retrieves the pixel format and alpha mode of the bitmap.

+
+

The pixel format and alpha mode of the bitmap.

+ + dd371164 + D2D1_PIXEL_FORMAT ID2D1Bitmap::GetPixelFormat() + ID2D1Bitmap::GetPixelFormat +
+ + +

Return the dots per inch (DPI) of the bitmap.

+
+

The horizontal DPI of the image. You must allocate storage for this parameter.

+

The vertical DPI of the image. You must allocate storage for this parameter.

+ + dd371161 + void ID2D1Bitmap::GetDpi([Out] float* dpiX,[Out] float* dpiY) + ID2D1Bitmap::GetDpi +
+ + +

Copies the specified region from the specified bitmap into the current bitmap.

+
+

In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied.

+

The bitmap to copy from.

+

The area of bitmap to copy.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to EndDraw or Flush.

+
+ + dd371152 + HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromBitmap +
+ + +

Copies the specified region from the specified render target into the current bitmap.

+
+

In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied.

+

The render target that contains the region to copy.

+

The area of renderTarget to copy.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to EndDraw or Flush.

All clips and layers must be popped off of the render target before calling this method. The method returns if any clips or layers are currently applied to the render target.

+
+ + dd371158 + HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) + ID2D1Bitmap::CopyFromRenderTarget +
+ + +

Copies the specified region from memory into the current bitmap.

+
+

In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied.

+

The data to copy.

+

The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match.

If this method is passed invalid input (such as an invalid destination rectangle), can produce unpredictable results, such as a distorted image or device failure.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to EndDraw or Flush.

+
+ + dd371155 + HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) + ID2D1Bitmap::CopyFromMemory +
+ + + Return the dots per inch (DPI) of the bitmap. + + The dots per inch (DPI) of the bitmap. + + + +

Returns the size, in device-independent pixels (DIPs), of the bitmap.

+
+ +

A DIP is 1/96?of an inch. To retrieve the size in device pixels, use the method.

+
+ + dd371170 + GetSize + GetSize + D2D_SIZE_F ID2D1Bitmap::GetSize() +
+ + +

Returns the size, in device-dependent units (pixels), of the bitmap.

+
+ + dd371167 + GetPixelSize + GetPixelSize + D2D_SIZE_U ID2D1Bitmap::GetPixelSize() +
+ + +

Retrieves the pixel format and alpha mode of the bitmap.

+
+ + dd371164 + GetPixelFormat + GetPixelFormat + D2D1_PIXEL_FORMAT ID2D1Bitmap::GetPixelFormat() +
+ + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + HRESULT ID2D1DeviceContext::CreateBitmap([In] D2D_SIZE_U size,[In, Buffer, Optional] const void* sourceData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap) + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + The pixel format and dots per inch (DPI) of the bitmap to create. + HRESULT ID2D1DeviceContext::CreateBitmap([In] D2D_SIZE_U size,[In, Buffer, Optional] const void* sourceData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap) + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + A pointer to the memory location of the image data, or NULL to create an uninitialized bitmap. + The byte count of each scanline, which is equal to (the image width in pixels * the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.) + HRESULT ID2D1DeviceContext::CreateBitmap([In] D2D_SIZE_U size,[In, Buffer, Optional] const void* sourceData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap) + + + + Creates a Direct2D bitmap from a pointer to in-memory source data. + + an instance of + The dimension of the bitmap to create in pixels. + A pointer to the memory location of the image data, or NULL to create an uninitialized bitmap. + The byte count of each scanline, which is equal to (the image width in pixels * the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.) + The pixel format and dots per inch (DPI) of the bitmap to create. + HRESULT ID2D1DeviceContext::CreateBitmap([In] D2D_SIZE_U size,[In, Buffer, Optional] const void* sourceData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap) + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + HRESULT ID2D1DeviceContext::CreateBitmapFromDxgiSurface([In] IDXGISurface* surface,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap1) + + + + Creates an whose data is shared with another resource. + + an instance of + An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. + The pixel format and DPI of the bitmap to create . The portion of the pixel format must match the of data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass NULL or the value obtained from the {{D2D1::PixelFormat}} helper function. The DPI settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the default DPI, 96, is used. + HRESULT ID2D1DeviceContext::CreateBitmapFromDxgiSurface([In] IDXGISurface* surface,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap1) + + + + Creates a Bitmap from a WIC bitmap. + + The render target. + A reference to a WIC bitmap. + + HRESULT ID2D1DeviceContext::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out] ID2D1Bitmap1** bitmap) + + + + Creates a Bitmap from a WIC bitmap. + + The render target. + The WIC bitmap. + The bitmap properties. + + HRESULT ID2D1DeviceContext::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out] ID2D1Bitmap1** bitmap) + + + + Maps the given bitmap into memory. + + The options used in mapping the bitmap into memory. + a reference to the rectangle that is mapped into memory + + The bitmap must have been created with the flag specified.The caller should try to unmap the memory as quickly as is feasible to release occupied DMA aperture memory. + + + HRESULT ID2D1Bitmap1::Map([In] D2D1_MAP_OPTIONS options,[Out] D2D1_MAPPED_RECT* mappedRect) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the color context information associated with the bitmap.

+
+

When this method returns, contains the address of a reference to the color context interface associated with the bitmap.

+ +

If the bitmap was created without specifying a color context, the returned context is null.

+
+ + hh404350 + void ID2D1Bitmap1::GetColorContext([Out, Optional] ID2D1ColorContext** colorContext) + ID2D1Bitmap1::GetColorContext +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the options used in creating the bitmap.

+
+

This method returns the options used.

+ + hh404351 + D2D1_BITMAP_OPTIONS ID2D1Bitmap1::GetOptions() + ID2D1Bitmap1::GetOptions +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets either the surface that was specified when the bitmap was created, or the default surface created when the bitmap was created.

+
+

The underlying DXGI surface for the bitmap.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
Cannot draw with a bitmap that is currently bound as the target bitmap.

?

+ +

The bitmap used must have been created from a DXGI surface render target, a derived render target, or a device context created from an .

The returned surface can be used with Microsoft Direct3D or any other API that interoperates with shared surfaces. The application must transitively ensure that the surface is usable on the Direct3D device that is used in this context. For example, if using the surface with Direct2D then the Direct2D render target must have been created through or on a device context created on the same device.

+
+ + hh404355 + HRESULT ID2D1Bitmap1::GetSurface([Out, Optional] IDXGISurface** dxgiSurface) + ID2D1Bitmap1::GetSurface +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Maps the given bitmap into memory.

+
+

The options used in mapping the bitmap into memory.

+

When this method returns, contains a reference to the rectangle that is mapped into memory.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_INVALIDARGOne or more arguments are not valid
D3DERR_DEVICELOSTThe device has been lost but cannot be reset at this time.

?

+ +

The bitmap must have been created with the flag specified.

The caller should try to unmap the memory as quickly as is feasable to release occupied DMA aperture memory.

+
+ + hh404357 + HRESULT ID2D1Bitmap1::Map([In] D2D1_MAP_OPTIONS options,[Out] D2D1_MAPPED_RECT* mappedRect) + ID2D1Bitmap1::Map +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Unmaps the bitmap from memory.

+
+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_INVALIDARGOne or more arguments are not valid.
E_POINTERPointer is not valid.

?

+ +

Any memory returned from the Map call is now invalid and may be reclaimed by the operating system or used for other purposes.

The bitmap must have been previously mapped.

+
+ + hh404359 + HRESULT ID2D1Bitmap1::Unmap() + ID2D1Bitmap1::Unmap +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the color context information associated with the bitmap.

+
+ +

If the bitmap was created without specifying a color context, the returned context is null.

+
+ + hh404350 + GetColorContext + GetColorContext + void ID2D1Bitmap1::GetColorContext([Out, Optional] ID2D1ColorContext** colorContext) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the options used in creating the bitmap.

+
+ + hh404351 + GetOptions + GetOptions + D2D1_BITMAP_OPTIONS ID2D1Bitmap1::GetOptions() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets either the surface that was specified when the bitmap was created, or the default surface created when the bitmap was created.

+
+ +

The bitmap used must have been created from a DXGI surface render target, a derived render target, or a device context created from an .

The returned surface can be used with Microsoft Direct3D or any other API that interoperates with shared surfaces. The application must transitively ensure that the surface is usable on the Direct3D device that is used in this context. For example, if using the surface with Direct2D then the Direct2D render target must have been created through or on a device context created on the same device.

+
+ + hh404355 + GetSurface + GetSurface + HRESULT ID2D1Bitmap1::GetSurface([Out, Optional] IDXGISurface** dxgiSurface) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Paints an area with a bitmap.

+
+ + hh871447 + ID2D1BitmapBrush1 + ID2D1BitmapBrush1 +
+ + +

Paints an area with a bitmap.

+
+ +

A bitmap brush is used to fill a geometry with a bitmap. Like all brushes, it defines an infinite plane of content. Because bitmaps are finite, the brush relies on an "extend mode" to determine how the plane is filled horizontally and vertically.

Creating Objects

To create a bitmap brush, use the method.

An is a device-dependent resource: your application should create bitmap brushes after it initializes the render target with which the bitmap brush will be used, and recreate the bitmap brush whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371122 + ID2D1BitmapBrush + ID2D1BitmapBrush +
+ + +

Defines an object that paints an area. Interfaces that derive from describe how the area is painted.

+
+ +

An is a device-dependent resource: your application should create bitmap brushes after it initializes the render target with which the bitmap brush will be used, and recreate the bitmap brush whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

Brush space in Direct2D is specified differently than in XPS and Windows Presentation Foundation (WPF). In Direct2D, brush space is not relative to the object being drawn, but rather is the current coordinate system of the render target, transformed by the brush transform, if present. To paint an object as it would be painted by a WPF brush, you must translate the brush space origin to the upper-left corner of the object's bounding box, and then scale the brush space so that the base tile fills the bounding box of the object.

For more information about brushes, see the Brushes Overview.

+
+ + dd371173 + ID2D1Brush + ID2D1Brush +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the degree of opacity of this brush.

+
+

A value between zero and 1 that indicates the opacity of the brush. This value is a constant multiplier that linearly scales the alpha value of all pixels filled by the brush. The opacity values are clamped in the range 0?1 before they are multipled together.

+ + dd371181 + void ID2D1Brush::SetOpacity([In] float opacity) + ID2D1Brush::SetOpacity +
+ + +

Sets the transformation applied to the brush.

+
+

The transformation to apply to this brush.

+ +

When you paint with a brush, it paints in the coordinate space of the render target. Brushes do not automatically position themselves to align with the object being painted; by default, they begin painting at the origin (0, 0) of the render target.

You can "move" the gradient defined by an to a target area by setting its start point and end point. Likewise, you can move the gradient defined by an by changing its center and radii.

To align the content of an to the area being painted, you can use the SetTransform method to translate the bitmap to the desired location. This transform only affects the brush; it does not affect any other content drawn by the render target.

The following illustrations show the effect of using an to fill a rectangle located at (100, 100). The illustration on the left illustration shows the result of filling the rectangle without transforming the brush: the bitmap is drawn at the render target's origin. As a result, only a portion of the bitmap appears in the rectangle.

The illustration on the right shows the result of transforming the so that its content is shifted 50 pixels to the right and 50 pixels down. The bitmap now fills the rectangle.

+
+ + dd371186 + void ID2D1Brush::SetTransform([In] const D2D_MATRIX_3X2_F* transform) + ID2D1Brush::SetTransform +
+ + +

Gets the degree of opacity of this brush.

+
+

A value between zero and 1 that indicates the opacity of the brush. This value is a constant multiplier that linearly scales the alpha value of all pixels filled by the brush. The opacity values are clamped in the range 0?1 before they are multipled together.

+ + dd371176 + float ID2D1Brush::GetOpacity() + ID2D1Brush::GetOpacity +
+ + +

Gets the transform applied to this brush.

+
+

The transform applied to this brush.

+ +

When the brush transform is the identity matrix, the brush appears in the same coordinate space as the render target in which it is drawn.

+
+ + dd371179 + void ID2D1Brush::GetTransform([Out] D2D_MATRIX_3X2_F* transform) + ID2D1Brush::GetTransform +
+ + +

Gets or sets the degree of opacity of this brush.

+
+ + dd371176 + GetOpacity / SetOpacity + GetOpacity + float ID2D1Brush::GetOpacity() +
+ + +

Gets or sets the transform applied to this brush.

+
+ +

When the brush transform is the identity matrix, the brush appears in the same coordinate space as the render target in which it is drawn.

+
+ + dd371179 + GetTransform / SetTransform + GetTransform + void ID2D1Brush::GetTransform([Out] D2D_MATRIX_3X2_F* transform) +
+ + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + + + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + The extend modes and interpolation mode of the new brush, or NULL. If this parameter is NULL, the brush defaults to the horizontal and vertical extend modes and the interpolation mode. + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + + + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + The opacity and transform of the new brush, or NULL. If this parameter is NULL, the brush defaults to an opacity of 1.0f and its transform is the identity matrix. + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + + + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + The extend modes and interpolation mode of the new brush, or NULL. If this parameter is NULL, the brush defaults to the horizontal and vertical extend modes and the interpolation mode. + The opacity and transform of the new brush, or NULL. If this parameter is NULL, the brush defaults to an opacity of 1.0f and its transform is the identity matrix. + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Specifies how the brush horizontally tiles those areas that extend past its bitmap.

+
+

A value that specifies how the brush horizontally tiles those areas that extend past its bitmap.

+ +

Sometimes, the bitmap for a bitmap brush doesn't completely fill the area being painted. When this happens, Direct2D uses the brush's horizontal (SetExtendModeX) and vertical (SetExtendModeY) extend mode settings to determine how to fill the remaining area.

The following illustration shows the results from every possible combination of the extend modes for an : (CLAMP), (WRAP), and D2D1_EXTEND_MIRROR (MIRROR).

+
+ + dd371139 + void ID2D1BitmapBrush::SetExtendModeX([In] D2D1_EXTEND_MODE extendModeX) + ID2D1BitmapBrush::SetExtendModeX +
+ + +

Specifies how the brush vertically tiles those areas that extend past its bitmap.

+
+

A value that specifies how the brush vertically tiles those areas that extend past its bitmap.

+ +

Sometimes, the bitmap for a bitmap brush doesn't completely fill the area being painted. When this happens, Direct2D uses the brush's horizontal (SetExtendModeX) and vertical (SetExtendModeY) extend mode settings to determine how to fill the remaining area.

The following illustration shows the results from every possible combination of the extend modes for an : (CLAMP), (WRAP), and D2D1_EXTEND_MIRROR (MIRROR).

+
+ + dd371142 + void ID2D1BitmapBrush::SetExtendModeY([In] D2D1_EXTEND_MODE extendModeY) + ID2D1BitmapBrush::SetExtendModeY +
+ + +

Specifies the interpolation mode used when the brush bitmap is scaled or rotated.

+
+

The interpolation mode used when the brush bitmap is scaled or rotated.

+ +

This method sets the interpolation mode for a bitmap, which is an enum value that is specified in the enumeration type. represents nearest neighbor filtering. It looks up the nearest bitmap pixel to the current rendering pixel and chooses its exact color. represents linear filtering, and interpolates a color from the four nearest bitmap pixels.

The interpolation mode of a bitmap also affects subpixel translations. In a subpixel translation, bilinear interpolation positions the bitmap more precisely to the application requests, but blurs the bitmap in the process.

+
+ + dd371145 + void ID2D1BitmapBrush::SetInterpolationMode([In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode) + ID2D1BitmapBrush::SetInterpolationMode +
+ + +

Specifies the bitmap source that this brush uses to paint.

+
+

The bitmap source used by the brush.

+ +

This method specifies the bitmap source that this brush uses to paint. The bitmap is not resized or rescaled automatically to fit the geometry that it fills. The bitmap stays at its native size. To resize or translate the bitmap, use the SetTransform method to apply a transform to the brush.

The native size of a bitmap is the width and height in bitmap pixels, divided by the bitmap DPI. This native size forms the base tile of the brush. To tile a subregion of the bitmap, you must generate a new bitmap containing this subregion and use SetBitmap to apply it to the brush. +

+
+ + dd371136 + void ID2D1BitmapBrush::SetBitmap([In, Optional] ID2D1Bitmap* bitmap) + ID2D1BitmapBrush::SetBitmap +
+ + +

Gets the method by which the brush horizontally tiles those areas that extend past its bitmap.

+
+

A value that specifies how the brush horizontally tiles those areas that extend past its bitmap.

+ +

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

+
+ + dd371128 + D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeX() + ID2D1BitmapBrush::GetExtendModeX +
+ + +

Gets the method by which the brush vertically tiles those areas that extend past its bitmap.

+
+

A value that specifies how the brush vertically tiles those areas that extend past its bitmap.

+ +

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

+
+ + dd371132 + D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeY() + ID2D1BitmapBrush::GetExtendModeY +
+ + +

Gets the interpolation method used when the brush bitmap is scaled or rotated.

+
+

The interpolation method used when the brush bitmap is scaled or rotated.

+ +

This method gets the interpolation mode of a bitmap, which is specified by the enumeration type. represents nearest neighbor filtering. It looks up the bitmap pixel nearest to the current rendering pixel and chooses its exact color. represents linear filtering, and interpolates a color from the four nearest bitmap pixels.

The interpolation mode of a bitmap also affects subpixel translations. In a subpixel translation, linear interpolation positions the bitmap more precisely to the application request, but blurs the bitmap in the process.

+
+ + dd371134 + D2D1_BITMAP_INTERPOLATION_MODE ID2D1BitmapBrush::GetInterpolationMode() + ID2D1BitmapBrush::GetInterpolationMode +
+ + +

Gets the bitmap source that this brush uses to paint.

+
+

When this method returns, contains the address to a reference to the bitmap with which this brush paints.

+ + dd371124 + void ID2D1BitmapBrush::GetBitmap([Out] ID2D1Bitmap** bitmap) + ID2D1BitmapBrush::GetBitmap +
+ + +

Gets or sets the method by which the brush horizontally tiles those areas that extend past its bitmap.

+
+ +

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

+
+ + dd371128 + GetExtendModeX / SetExtendModeX + GetExtendModeX + D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeX() +
+ + +

Gets or sets the method by which the brush vertically tiles those areas that extend past its bitmap.

+
+ +

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

+
+ + dd371132 + GetExtendModeY / SetExtendModeY + GetExtendModeY + D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeY() +
+ + +

Gets or sets the interpolation method used when the brush bitmap is scaled or rotated.

+
+ +

This method gets the interpolation mode of a bitmap, which is specified by the enumeration type. represents nearest neighbor filtering. It looks up the bitmap pixel nearest to the current rendering pixel and chooses its exact color. represents linear filtering, and interpolates a color from the four nearest bitmap pixels.

The interpolation mode of a bitmap also affects subpixel translations. In a subpixel translation, linear interpolation positions the bitmap more precisely to the application request, but blurs the bitmap in the process.

+
+ + dd371134 + GetInterpolationMode / SetInterpolationMode + GetInterpolationMode + D2D1_BITMAP_INTERPOLATION_MODE ID2D1BitmapBrush::GetInterpolationMode() +
+ + +

Gets or sets the bitmap source that this brush uses to paint.

+
+ + dd371124 + GetBitmap / SetBitmap + GetBitmap + void ID2D1BitmapBrush::GetBitmap([Out] ID2D1Bitmap** bitmap) +
+ + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + HRESULT ID2D1DeviceContext::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES1* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush1** bitmapBrush) + + + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + The extend modes and interpolation mode of the new brush, or NULL. If this parameter is NULL, the brush defaults to the horizontal and vertical extend modes and the interpolation mode. + HRESULT ID2D1DeviceContext::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES1* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush1** bitmapBrush) + + + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + The opacity and transform of the new brush, or NULL. If this parameter is NULL, the brush defaults to an opacity of 1.0f and its transform is the identity matrix. + HRESULT ID2D1DeviceContext::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES1* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush1** bitmapBrush) + + + + Creates an from the specified bitmap. + + an instance of + The bitmap contents of the new brush. + The extend modes and interpolation mode of the new brush, or NULL. If this parameter is NULL, the brush defaults to the horizontal and vertical extend modes and the interpolation mode. + The opacity and transform of the new brush, or NULL. If this parameter is NULL, the brush defaults to an opacity of 1.0f and its transform is the identity matrix. + HRESULT ID2D1DeviceContext::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES1* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush1** bitmapBrush) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + No documentation. + + No documentation. + + void ID2D1BitmapBrush1::SetInterpolationMode1([In] D2D1_INTERPOLATION_MODE interpolationMode) + ID2D1BitmapBrush1::SetInterpolationMode1 + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Paints an area with a bitmap.

+
+ No documentation. + + hh871447 + D2D1_INTERPOLATION_MODE ID2D1BitmapBrush1::GetInterpolationMode1() + ID2D1BitmapBrush1::GetInterpolationMode1 +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Paints an area with a bitmap.

+
+ + hh871447 + GetInterpolationMode1 / SetInterpolationMode1 + GetInterpolationMode1 + D2D1_INTERPOLATION_MODE ID2D1BitmapBrush1::GetInterpolationMode1() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a bitmap that can be set as a target surface or have additional color context information specified.

+
+ +

If the bitmap properties are not specified, the following information is assumed:

  • The bitmap DPI is 96.
  • The pixel format matches that of the surface.
  • The returned bitmap will inherit the bind flags of the DXGI surface.
    • However, only the subset of flags meaningful to Direct2D will be inherited. For example, D3D10_USAGE_DYNAMIC is not compatible with any public Direct2D flags.
  • The color context is unknown.

If the bitmap properties are specified, the bitmap properties will be used as follows:

  • The bitmap DPI will be specified by the bitmap properties.
  • If both dpiX and dpiY are 0, the bitmap DPI will be 96.
  • The pixel format must be a compatible shader or render target view of the surface.
  • The bitmap options must be compatible with the bind flags of the DXGI surface. However, they may be a subset. This will influence what resource views are created by the bitmap.
  • The color context information will be used from the bitmap properties, if specified.
+
+ + hh404482 + D2D1_BITMAP_PROPERTIES1 + D2D1_BITMAP_PROPERTIES1 +
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the struct. + + The pixel format. + + + + Initializes a new instance of the struct. + + The pixel format. + The dpi X. + The dpi Y. + + + + Initializes a new instance of the class. + + The pixel format. + The dpi X. + The dpi Y. + The bitmap options. + + + + Initializes a new instance of the class. + + The pixel format. + The dpi X. + The dpi Y. + The bitmap options. + The color context. + + + +

The DXGI surface from which the bitmap can be created.

+
+ + hh404482 + D2D1_PIXEL_FORMAT pixelFormat + D2D1_PIXEL_FORMAT pixelFormat +
+ + +

The bitmap properties specified in addition to the surface.

+
+ + hh404482 + float dpiX + float dpiX +
+ + +

When this method returns, contains the address of a reference to a new bitmap object.

+
+ + hh404482 + float dpiY + float dpiY +
+ + + No documentation. + + + D2D1_BITMAP_OPTIONS bitmapOptions + D2D1_BITMAP_OPTIONS bitmapOptions + + + + No documentation. + + + ID2D1ColorContext* colorContext + ID2D1ColorContext colorContext + + + + Gets or sets the color context. + + + The color context. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents a sequence of commands that can be recorded and played back.

+
+ +

The command list does not include static copies of resources with the recorded set of commands. All bitmaps, effects, and geometries are stored as references to the actual resource and all the brushes are stored by value. All the resource creation and destruction happens outside of the command list. The following table lists resources and how they are treated inside of a command list.

ResourceHow it is treated by the command list
Solid-color brushPassed by value.
Bitmap brushThe brush is passed by value but the bitmap that is used to create the brush is in fact referenced.
Gradient brushes ? both linear and radial gradientThe brush is passed by value but the gradient stop collection itself is referenced. The gradient stop collection object is immutable.
BitmapsPassed by reference.
Drawing state blockThe actual state on the device context is converted into set functions like set transform and is passed by value.
GeometryImmutable object passed by value.
Stroke styleImmutable object passed by value.
MeshImmutable object passed by value.

?

Using a CommandList as a Target

The following pseudocode illustrates the different cases where a target is set as either a command list or as a bitmap.

//create a D2D device from an already created DXGI device + *pD2D1Device; + pD2D1Factory->CreateDevice(pDxgiDevice, &pD2D1Device); //create a D2D device context from the D2D device + *pD2D1DeviceContext; + pD2D1Device->CreateD2D1DeviceContext(&pD2D1DeviceContext); //create command list + *pCommandList1; + pD2D1DeviceContext->CreateCommandList(&pCommandList1); //CreateBitmap + *pBitmap1; + *pBitmap2; + pD2D1DeviceContext->CreateBitmap(?, &pBitmap1); + pD2D1DeviceContext->CreateBitmap(?, &pBitmap2); //Set the bitmap as the target + pD2D1DeviceContext->SetTarget(pBitmap1); + pD2D1DeviceContext->BeginDraw(); + RenderMyVectorContent(pD2D1DeviceContext); + pD2D1DeviceContext->EndDraw(); //Set the command list as the target + pD2D1DeviceContext->SetTarget(pCommandList1); + pD2D1DeviceContext->BeginDraw(); + RenderMyVectorContent(pD2D1DeviceContext); + pD2D1DeviceContext->EndDraw(); //Drawing a command list to a bitmap target + pD2D1DeviceContext->SetTarget(pBitmap2); + pD2D1DeviceContext->BeginDraw(); + pD2D1DeviceContext->DrawImage(pCommandList1); + pD2D1DeviceContext->EndDraw();
  • Set the bitmap as the target: In this case, all contents rendered to the bitmap are rasterized. If this bitmap is used somewhere else, it will not be resolution independent and if a transformation like High Quality Scale is used, it will not maintain fidelity.
  • Set the command list as the target: In this case, instead of the scene being rasterized, all of the commands are recorded. When the command list is used later for screen drawing using or passed to an XPS print control, the vector content is replayed with no loss of fidelity.
  • Drawing a command list to a bitmap target: In this case because the target is a bitmap, the command list is drawn to the bitmap and is no longer resolution independent.

The only way to retain vector content for later playback with full fidelity is to set the target type as a command list. When a bitmap is set as a target, any drawing on that target will get rasterized.

Using a CommandList to Create a Brush

Command lists are a good way to support pattern brushes, because they are capable of retaining fidelity on replay. The desired pattern can be stored as a command list, which can be used to create an image brush. This brush can then be used to paint paths.

The type of brush that supports filling a path with a command list is called an image brush.

The following psuedocode illustrates the process of using a command list with an image brush.

//Draw the pattern to the command list + *pCommandList; + pD2D1DeviceContext->SetTarget(pCommandList); + pD2D1DeviceContext->BeginDraw(); + DrawMyPattern(pD2D1DeviceContext); + pD2D1DeviceContext->EndDraw(); //Create the image brush from the command list + *pImageBrush; + pD2D1DeviceContext->CreateImageBrush( pCommandList, pImageBrushProperties, pBrushProperties, &pImageBrush); //Fill the ellipse with the pattern brush + pD2D1DeviceContext->SetTarget(pTargetBitmap); + pD2D1DeviceContext->BeginDraw(); + pD2D1DeviceContext->FillEllipse(pEllipse, pImageBrush); + pD2D1DeviceContext->EndDraw(); + Because the brush accepts an image, it has the following other benefits as well:
  • Because the output of an effect graph is an image, this image can be used to create an image brush, which effectively provides the capability of using an effect as a fill.
  • Because the command list is a type of image, vector content can be inserted into an effect graph and can also be tiled or operated on. For example, a large copyright notice can be inserted over a graph with a virtualized image and then encoded.
Using a CommandList as a Replacement for a Compatible Render Target

Compatible render targets are used very often for off-screen rendering to an intermediate bitmap that is later composited with the actual scene. Especially in the case of printing, using compatible render targets will increase the memory footprint because everything will be rasterized and sent to XPS instead of retaining the actual primitives. In this scenario, a developer is better off replacing the compatible render target with an intermediate command list. + The following pseudo code illustrates this point.

pD2D1Device->CreateDeviceContext(&pD2D1DeviceContext); + pRenderTarget->CreateCompatibleRenderTarget(?, &pCompatibleRenderTarget); //render to the compatible render target + pCompatibleRenderTarget->BeginDraw(); + RenderMyScene1(pCompatibleRenderTarget); + pCompatibleRenderTarget->EndDraw(); //get the bitmap from the compatible render target + pCompatibleRenderTarget->GetBitmap(pCompatBitmap); //draw this bitmap on the device context + pD2D1DeviceContext->SetTarget(pTargetBitmap) + pD2D1DeviceContext->BeginDraw(); + pD2D1DeviceContext->DrawBitmap(pCompatBitmap); + pD2D1DeviceContext->EndDraw(); //draw something else on the compatible render target + pCompatibleRenderTarget->BeginDraw(); + pCompatibleRenderTarget->Clear(); + pCompatibleRenderTarget>RenderScene2(); + pCompatibleRenderTarget->EndDraw(); //get the bitmap from the compatible render target + pCompatibleRenderTarget->GetBitmap(pCompatBitmap); //draw this bitmap on the device context + pD2D1DeviceContext->SetTarget(pTargetBitmap) + pD2D1DeviceContext->BeginDraw(); + pD2D1DeviceContext->DrawBitmap(pCompatBitmap); + pD2D1DeviceContext->EndDraw(); //Use a command list instead for better quality and performance //store the original target + pOriginalTarget = pD2D1DeviceContext->GetTarget(); pD2D1DeviceContext->CreateCommandList(pCommandList1); //draw to command list 1 + pD2D1DeviceContext->SetTarget(pCommandList1); + pD2D1DeviceContext->BeginDraw(); + RenderMyScene1(pD2D1DeviceContext); + pD2D1DeviceContext->EndDraw(); //draw the command list to the original target + pD2D1DeviceContext->SetTarget(pOriginalTarget); + pD2D1DeviceContext->BeginDraw(); + pD2D1DeviceContext->DrawImage(pCommandList1); + pD2D1DeviceContext->EndDraw(); pD2D1DeviceContext->CreateCommandList(pCommandList2); //draw something else to a new command list + pD2D1DeviceContext->SetTarget(pCommandList2); + pD2D1DeviceContext->BeginDraw(); + pD2D1DeviceContext->RenderScene2(); + pD2D1DeviceContext->EndDraw(); //draw the new command list on the old command list + pD2D1DeviceContext->SetTarget(pCommandList1); + pD2D1DeviceContext->BeginDraw(); + pD2D1DeviceContext->DrawImage(pCommandList2); + pD2D1DeviceContext->EndDraw(); + Working with Other APIs

Direct2D employs a simple model when interoperating with GDI and Direct3D/DXGI APIs. The command list does not record these commands. It instead rasterizes the contents in place and stores them as an . Because the contents are rasterized, these interop points do not maintain high fidelity.

GDI: The command sink interface does not support Get/ReleaseDC() calls. When a call to ID2D1GdiInteropRenderTarget::ReleaseDC is made, Direct2D renders the contents of the updated region into a D2D1Bitmap. This will be replayed as an aliased DrawBitmap call with a copy composite mode. + To rasterize the bitmap at the correct DPI, at the time of playback of the commands, whatever DPI value is set using the SetDPI() function is used. This is the only case where the sink respects the SetDPI() call. +

DX: Direct3D cannot render directly to the command list. To render Direct3D content in this case, the application can call DrawBitmap with the backed by a Direct3D surface.

+
+ + hh404392 + ID2D1CommandList + ID2D1CommandList +
+ + + Initializes a new instance of the class. + + The device context. + + + + Streams the contents of the command list to the specified command sink. + + The sink into which the command list will be streamed. + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Streams the contents of the command list to the specified command sink.

+
+

The sink into which the command list will be streamed.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

Sample use:

Class MyCommandSink : public 	
+            {	
+            public: // All of the  methods implemented here.	
+            }; 	
+            StreamToMyCommandSink( __in  *pCommandList  )	
+            {  hr = ; MyCommandSink *pCommandSink = new MyCommandSink(); hr = pCommandSink ?  : E_OUTOFMEMORY; if (SUCCEEDED(hr)) { // Receive the contents of the command sink streamed to the sink. hr = pCommandList->Stream(pCommandSink); } SafeRelease(&pCommandSink); return hr; }
+
+ + hh404393 + HRESULT ID2D1CommandList::Stream([In] ID2D1CommandSink* sink) + ID2D1CommandList::Stream +
+ + + No documentation. + + No documentation. + + HRESULT ID2D1CommandList::Close() + ID2D1CommandList::Close + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Provides methods to allow a blend operation to be inserted into a transform graph.

+
+ + hh404361 + ID2D1BlendTransform + ID2D1BlendTransform +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents the set of transforms implemented by the effect-rendering system, which provides fixed-functionality.

+
+ + hh404452 + ID2D1ConcreteTransform + ID2D1ConcreteTransform +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes a node in a transform topology.

+
+ +

Transform nodes are type-less and only define the notion of an object that accepts a number of inputs and is an output. This interface limits a topology to single output nodes.

+
+ + hh446939 + ID2D1TransformNode + ID2D1TransformNode +
+ + + Describes a node in a transform topology. + + ID2D1TransformNode + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes a node in a transform topology.

+
+ +

Transform nodes are type-less and only define the notion of an object that accepts a number of inputs and is an output. This interface limits a topology to single output nodes.

+
+ + hh446939 + ID2D1TransformNode + ID2D1TransformNode +
+ + + Gets the number of inputs to the transform node. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the number of inputs to the transform node.

+
+

This method returns the number of inputs to this transform node.

+ + hh446940 + unsigned int ID2D1TransformNode::GetInputCount() + ID2D1TransformNode::GetInputCount +
+ + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the properties of the output buffer of the specified transform node.

+
+

The number of bits and the type of the output buffer.

+

The number of channels in the output buffer (1 or 4).

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_INVALIDARGOne or more arguments are not valid

?

+ +

The available channel depth and precision depend on the capabilities of the underlying Microsoft Direct3D device.

+
+ + hh404456 + HRESULT ID2D1ConcreteTransform::SetOutputBuffer([In] D2D1_BUFFER_PRECISION bufferPrecision,[In] D2D1_CHANNEL_DEPTH channelDepth) + ID2D1ConcreteTransform::SetOutputBuffer +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets whether the output of the specified transform is cached.

+
+

TRUE if the output should be cached; otherwise, .

+ + hh404454 + void ID2D1ConcreteTransform::SetCached([In] BOOL isCached) + ID2D1ConcreteTransform::SetCached +
+ + + Initializes a new instance of class + + The effect context + The number of inputs. + The blend description + + + + Initializes a new instance of class + + The effect context + The number of inputs. + The blend description + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Changes the blend description of the corresponding blend transform object.

+
+

The new blend description specified for the blend transform.

+ + hh404365 + void ID2D1BlendTransform::SetDescription([In] const D2D1_BLEND_DESCRIPTION* description) + ID2D1BlendTransform::SetDescription +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the blend description of the corresponding blend transform object.

+
+

When this method returns, contains the blend description specified for the blend transform.

+ + hh404363 + void ID2D1BlendTransform::GetDescription([Out] D2D1_BLEND_DESCRIPTION* description) + ID2D1BlendTransform::GetDescription +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the blend description of the corresponding blend transform object.

+
+ + hh404363 + GetDescription / SetDescription + GetDescription + void ID2D1BlendTransform::GetDescription([Out] D2D1_BLEND_DESCRIPTION* description) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Extends the input rectangle to infinity using the specified clamp modes.

+
+ + hh404367 + ID2D1BorderTransform + ID2D1BorderTransform +
+ + + Initializes a new instance of class + + The effect context + The extend mode for X coordinates + The extend mode for Y coordinates + HRESULT ID2D1EffectContext::CreateBorderTransform([In] D2D1_EXTEND_MODE extendModeX,[In] D2D1_EXTEND_MODE extendModeY,[Out, Fast] ID2D1BorderTransform** transform) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the extend mode in the x direction.

+
+

The extend mode in the x direction.

+ +

If the extend mode enumeration is invalid, this operation is ignored and a debug message is traced.

+
+ + hh404385 + void ID2D1BorderTransform::SetExtendModeX([In] D2D1_EXTEND_MODE extendMode) + ID2D1BorderTransform::SetExtendModeX +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the extend mode in the y direction.

+
+

The extend mode in the y direction.

+ +

If the extend mode enumeration is invalid, this operation is ignored and a debug message is traced.

+
+ + hh404387 + void ID2D1BorderTransform::SetExtendModeY([In] D2D1_EXTEND_MODE extendMode) + ID2D1BorderTransform::SetExtendModeY +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the extend mode in the x direction.

+
+

This method returns the extend mode in the x direction.

+ + hh404381 + D2D1_EXTEND_MODE ID2D1BorderTransform::GetExtendModeX() + ID2D1BorderTransform::GetExtendModeX +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the extend mode in the y direction.

+
+

This method returns the extend mode in the y direction.

+ + hh404383 + D2D1_EXTEND_MODE ID2D1BorderTransform::GetExtendModeY() + ID2D1BorderTransform::GetExtendModeY +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the extend mode in the x direction.

+
+ + hh404381 + GetExtendModeX / SetExtendModeX + GetExtendModeX + D2D1_EXTEND_MODE ID2D1BorderTransform::GetExtendModeX() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the extend mode in the y direction.

+
+ + hh404383 + GetExtendModeY / SetExtendModeY + GetExtendModeY + D2D1_EXTEND_MODE ID2D1BorderTransform::GetExtendModeY() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

A support transform for effects to modify the output rectangle of the previous effect or bitmap.

+
+ +

The support transform can be used for two different reasons.

  • To indicate that a region of its input image is already transparent black.

    This can increase efficiency for rendering bitmaps.

  • To increase the size of the input image.

?

?

Build date: 3/7/2012

+
+ + hh847963 + ID2D1BoundsAdjustmentTransform + ID2D1BoundsAdjustmentTransform +
+ + + Initializes a new instance of class + + The effect context + The output rectangle region used for this transformation + HRESULT ID2D1EffectContext::CreateBoundsAdjustmentTransform([In] const RECT* outputRectangle,[Out, Fast] ID2D1BoundsAdjustmentTransform** transform) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + No documentation. + + No documentation. + + void ID2D1BoundsAdjustmentTransform::SetOutputBounds([In] const RECT* outputBounds) + ID2D1BoundsAdjustmentTransform::SetOutputBounds + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

A support transform for effects to modify the output rectangle of the previous effect or bitmap.

+
+ No documentation. + +

The support transform can be used for two different reasons.

  • To indicate that a region of its input image is already transparent black.

    This can increase efficiency for rendering bitmaps.

  • To increase the size of the input image.

?

?

Build date: 3/7/2012

+
+ + hh847963 + void ID2D1BoundsAdjustmentTransform::GetOutputBounds([Out] RECT* outputBounds) + ID2D1BoundsAdjustmentTransform::GetOutputBounds +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents a color context that can be used with an object.

+
+ + hh404388 + ID2D1ColorContext + ID2D1ColorContext +
+ + + Initializes a new instance of class from a color profile. + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + HRESULT ID2D1EffectContext::CreateColorContext([In] D2D1_COLOR_SPACE space,[In, Buffer, Optional] const unsigned char* profile,[In] unsigned int profileSize,[Out] ID2D1ColorContext** colorContext) + + + + Initializes a new instance of class from a filename. + + No documentation. + No documentation. + HRESULT ID2D1EffectContext::CreateColorContextFromFilename([In] const wchar_t* filename,[Out] ID2D1ColorContext** colorContext) + + + + Initializes a new instance of class from WIC color context. + + No documentation. + No documentation. + HRESULT ID2D1EffectContext::CreateColorContextFromWicColorContext([In] IWICColorContext* wicColorContext,[Out] ID2D1ColorContext** colorContext) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + No documentation. + + No documentation. + + D2D1_COLOR_SPACE ID2D1ColorContext::GetColorSpace() + ID2D1ColorContext::GetColorSpace + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the size of the color profile associated with the bitmap.

+
+

This method returns the size of the profile in bytes.

+ +

This can be used to allocate a buffer to receive the color profile bytes associated with the context.

+
+ + hh404390 + unsigned int ID2D1ColorContext::GetProfileSize() + ID2D1ColorContext::GetProfileSize +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the color profile bytes for an .

+
+ No documentation. + No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
D2DERR_INSUFFICIENT_BUFFERThe supplied buffer was too small to accomodate the data.

?

+ +

If profileSize is insufficient to store the entire profile, profile is zero-initialized before this method fails.

+
+ + hh404389 + HRESULT ID2D1ColorContext::GetProfile([Out, Buffer] unsigned char* profile,[In] unsigned int profileSize) + ID2D1ColorContext::GetProfile +
+ + + Gets the profile data. + + + + + No documentation. + + + GetColorSpace + GetColorSpace + D2D1_COLOR_SPACE ID2D1ColorContext::GetColorSpace() + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the size of the color profile associated with the bitmap.

+
+ +

This can be used to allocate a buffer to receive the color profile bytes associated with the context.

+
+ + hh404390 + GetProfileSize + GetProfileSize + unsigned int ID2D1ColorContext::GetProfileSize() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Establishes or changes the constant buffer data that will be passed to the compute shader specified for the render pass.

+
+ +

If this call fails, the corresponding instance is placed into an error state and fails to draw.

+
+ + hh404429 + ID2D1ComputeInfo + ID2D1ComputeInfo +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes the render information common to all of the various transform implementations.

+
+ +

This interface is used by a transform implementation to first describe and then indicate changes to the rendering pass that corresponds to the transform.

+
+ + hh446890 + ID2D1RenderInfo + ID2D1RenderInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets how a specific input to the transform should be handled by the renderer in terms of level of detail caching and filtering.

+
+

The index of the input that will have the input description applied.

+

The description of the input to be applied to the transform.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ +

The input description must be matched correctly by the effect shader code.

+
+ + hh446892 + HRESULT ID2D1RenderInfo::SetInputDescription([In] unsigned int inputIndex,[In] D2D1_INPUT_DESCRIPTION inputDescription) + ID2D1RenderInfo::SetInputDescription +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Allows a caller to control the output precision and channel-depth of this stage in the rendering pipeline.

+
+

The type of buffer that should be used as an output from this transform.

+

The number of channels that will be used on the output buffer.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

If the output precision of the transform is not specified, then it will default to the precision specified on the Direct2D device context. If the default precision on the context is not specified, then the output precision will be the maximum of the precision of the inputs. The maximum of 16bpc UNORM and 16bpc FLOAT is 32bpc FLOAT.

Similar rules apply to the channel depth. The output channel depth will match the maximum of the input channel depths if the channel depth is . If any input buffer is 4-channel, the output buffer will also be 4-channel; otherwise, the intermediate buffer will be allocated with the specified channel depth.

There is no global output channel depth; this is always left to the control of the transforms.

+
+ + hh446893 + HRESULT ID2D1RenderInfo::SetOutputBuffer([In] D2D1_BUFFER_PRECISION bufferPrecision,[In] D2D1_CHANNEL_DEPTH channelDepth) + ID2D1RenderInfo::SetOutputBuffer +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Specifies that the output of the transform in which the render information is encapsulated is or is not cached.

+
+

TRUE if the output of the transform is cached; otherwise, .

+ + hh446891 + void ID2D1RenderInfo::SetCached([In] BOOL isCached) + ID2D1RenderInfo::SetCached +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Provides an estimated hint of shader execution cost to D2D.

+
+

An approximate instruction count of the associated shader.

+ +

The instruction count may be set according to the number of instructions in the shader. This information is used as a hint when rendering extremely large images. Calling this API is optional, but it may improve performance if you provide an accurate number.

Note??Instructions that occur in a loop should be counted according to the number of loop iterations.

+
+ + hh871466 + void ID2D1RenderInfo::SetInstructionCountHint([In] unsigned int instructionCount) + ID2D1RenderInfo::SetInstructionCountHint +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Specifies that the output of the transform in which the render information is encapsulated is or is not cached.

+
+ + hh446891 + SetCached + SetCached + void ID2D1RenderInfo::SetCached([In] BOOL isCached) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Provides an estimated hint of shader execution cost to D2D.

+
+ +

The instruction count may be set according to the number of instructions in the shader. This information is used as a hint when rendering extremely large images. Calling this API is optional, but it may improve performance if you provide an accurate number.

Note??Instructions that occur in a loop should be counted according to the number of loop iterations.

+
+ + hh871466 + SetInstructionCountHint + SetInstructionCountHint + void ID2D1RenderInfo::SetInstructionCountHint([In] unsigned int instructionCount) +
+ + + Sets the constant buffer data from a . + + The DataStream that contains the constant buffer data + + + + Sets the constant buffer data from a struct value. + + Type of the constant buffer + Value of the constant buffer + HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) + + + + Sets the constant buffer data from a struct value. + + Type of the constant buffer + Value of the constant buffer + HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

+
+ No documentation. + No documentation. + No documentation. + + hh847966 + HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) + ID2D1ComputeInfo::SetComputeShaderConstantBuffer +
+ + + No documentation. + + No documentation. + No documentation. + + HRESULT ID2D1ComputeInfo::SetComputeShader([In] const GUID& shaderId) + ID2D1ComputeInfo::SetComputeShader + + + + No documentation. + + No documentation. + No documentation. + No documentation. + + HRESULT ID2D1ComputeInfo::SetResourceTexture([In] unsigned int textureIndex,[In] ID2D1ResourceTexture* resourceTexture) + ID2D1ComputeInfo::SetResourceTexture + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Supplies data to an analysis effect.

+
+ +

This interface can be implemented by either an or an .

+
+ + hh404347 + ID2D1AnalysisTransform + ID2D1AnalysisTransform +
+ + + Supplies the analysis data to an analysis transform. + + The data that the transform will analyze. + + The output of the transform will be copied to CPU-accessible memory by the imaging effects system before being passed to the implementation.If this call fails, the corresponding instance is placed into an error state and fails to draw. + + HRESULT ID2D1AnalysisTransform::ProcessAnalysisResults([In, Buffer] const unsigned char* analysisData,[In] unsigned int analysisDataCount) + + + + Supplies the analysis data to an analysis transform. + + The data that the transform will analyze. + + The output of the transform will be copied to CPU-accessible memory by the imaging effects system before being passed to the implementation.If this call fails, the corresponding instance is placed into an error state and fails to draw. + + HRESULT ID2D1AnalysisTransform::ProcessAnalysisResults([In, Buffer] const unsigned char* analysisData,[In] unsigned int analysisDataCount) + + + + Supplies the analysis data to an analysis transform. + + The data that the transform will analyze. + + The output of the transform will be copied to CPU-accessible memory by the imaging effects system before being passed to the implementation.If this call fails, the corresponding instance is placed into an error state and fails to draw. + + HRESULT ID2D1AnalysisTransform::ProcessAnalysisResults([In, Buffer] const unsigned char* analysisData,[In] unsigned int analysisDataCount) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Supplies the analysis data to an analysis transform.

+
+

The data that the transform will analyze.

+

The size of the analysis data.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

The output of the transform will be copied to CPU-accessible memory by the imaging effects system before being passed to the implementation.

If this call fails, the corresponding instance is placed into an error state and fails to draw.

+
+ + hh404348 + HRESULT ID2D1AnalysisTransform::ProcessAnalysisResults([In, Buffer] const void* analysisData,[In] unsigned int analysisDataCount) + ID2D1AnalysisTransform::ProcessAnalysisResults +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents a command sink.

+
+ +

The can be implemented to receive a play-back of the commands recorded in a command list. This interface is typically used for transforming the command list into another format where some degree of conversion between the Direct2D primitives and the target format is required.

The interface does not have any resource creation methods. The resources are logically bound to the Direct2D device on which the was created and will be passed in to the implementation.

Not all methods implemented by are present.

+
+ + hh404394 + ID2D1CommandSink + ID2D1CommandSink +
+ + + Begins a draw sequence. + + HRESULT ID2D1CommandSink::BeginDraw() + + + + Ends a draw sequence. + + HRESULT ID2D1CommandSink::EndDraw() + + + + Sets tags. + + HRESULT ID2D1CommandSink::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) + + + + [This documentation is preliminary and is subject to change.] + + The color to which the command sink should be cleared. + + The clear color is restricted by the currently selected clip and layer bounds.If no color is specified, the color should be interpreted by context. Examples include but are not limited to:Transparent black for a premultiplied bitmap target. Opaque black for an ignore bitmap target. Containing no content (or white) for a printer page. + + HRESULT ID2D1CommandSink::Clear([In, Optional] const D2D_COLOR_F* color) + + + + [This documentation is preliminary and is subject to change.] + + The sequence of glyphs to be sent. + Additional non-rendering information about the glyphs. + The brush used to fill the glyphs. + The measuring mode to apply to the glyphs. + No documentation. + HRESULT ID2D1CommandSink::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) + + + + [This documentation is preliminary and is subject to change.] + + The start point of the line. + The end point of the line. + The brush used to fill the line. + The width of the stroke to fill the line. + The style of the stroke. If not specified, the stroke is solid. + + Additional References + + HRESULT ID2D1CommandSink::DrawLine([In] D2D_POINT_2F point0,[In] D2D_POINT_2F point1,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + [This documentation is preliminary and is subject to change.] + + The geometry to be stroked. + The brush that will be used to fill the stroked geometry. + The width of the stroke. + The style of the stroke. + + You must convert ellipses and rounded rectangles to the corresponding ellipse and rounded rectangle geometries before calling into the DrawGeometry method.Additional ReferencesID2D1CommandList::Stream, RequirementsMinimum supported operating systemSame as Interface / Class Highest IRQL levelN/A (user mode) Callable from DlllMain()No Callable from services and session 0Yes Callable from UI threadYes? + + HRESULT ID2D1CommandSink::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + HRESULT ID2D1CommandSink::DrawRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + HRESULT ID2D1CommandSink::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) + + + + [This documentation is preliminary and is subject to change.] + + The image to be drawn to the command sink. + This defines the offset in the destination space that the image will be rendered to. The entire logical extent of the image will be rendered to the corresponding destination. If not specified, the destination origin will be (0, 0). The top-left corner of the image will be mapped to the target offset. This will not necessarily be the origin. + The corresponding rectangle in the image space will be mapped to the provided origins when processing the image. + The interpolation mode that will be used to scale the image if necessary. + If specified, the composite mode that will be applied to the limits of the currently selected clip. + + Because the image can itself be a command list or contain an effect graph that in turn contains a command list, this method can result in recursive processing. + + HRESULT ID2D1CommandSink::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) + + + + No documentation. + + No documentation. + No documentation. + HRESULT ID2D1CommandSink::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_POINT_2F* targetOffset) + + + + [This documentation is preliminary and is subject to change.] + + The mesh object to be filled. + The brush with which to fill the mesh. + HRESULT ID2D1CommandSink::FillMesh([In] ID2D1Mesh* mesh,[In] ID2D1Brush* brush) + + + + [This documentation is preliminary and is subject to change.] + + The bitmap whose alpha channel will be sampled to define the opacity mask. + The brush with which to fill the mask. + The type of content that the mask represents. + The destination rectangle in which to fill the mask. If not specified, this is the origin. + + The opacity mask bitmap must be considered to be clamped on each axis. + + HRESULT ID2D1CommandSink::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) + + + + [This documentation is preliminary and is subject to change.] + + The geometry that should be filled. + The primary brush used to fill the geometry. + A brush whose alpha channel is used to modify the opacity of the primary fill brush. + + If the opacity brush is specified, the primary brush will be a bitmap brush fixed on both the x-axis and the y-axis.Ellipses and rounded rectangles are converted to the corresponding geometry before being passed to FillGeometry. + + HRESULT ID2D1CommandSink::FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) + + + + [This documentation is preliminary and is subject to change.] + + The rectangle to fill. + The brush with which to fill the rectangle. + HRESULT ID2D1CommandSink::FillRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush) + + + + [This documentation is preliminary and is subject to change.] + + The rectangle that defines the clip. + Whether the given clip should be antialiased. + + If the current world transform is not preserving the axis, clipRectangle is transformed and the bounds of the transformed rectangle are used instead. + + HRESULT ID2D1CommandSink::PushAxisAlignedClip([In] const D2D_RECT_F* clipRect,[In] D2D1_ANTIALIAS_MODE antialiasMode) + + + + No documentation. + + No documentation. + No documentation. + HRESULT ID2D1CommandSink::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters1,[In, Optional] ID2D1Layer* layer) + + + + [This documentation is preliminary and is subject to change.] + + HRESULT ID2D1CommandSink::PopAxisAlignedClip() + + + + No documentation. + + HRESULT ID2D1CommandSink::PopLayer() + + + + Sets the antialias mode. + + HRESULT ID2D1CommandSink::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) + + + + Sets the text antialias mode. + + HRESULT ID2D1CommandSink::SetTextAntialiasMode([In] D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) + + + + Sets the parameters for text rendering. + + HRESULT ID2D1CommandSink::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) + + + + Sets the matrix transform. + + + The transform will be applied to the corresponding device context. + + HRESULT ID2D1CommandSink::SetTransform([In] const D2D_MATRIX_3X2_F* transform) + + + + Sets the blending for primitives. + + HRESULT ID2D1CommandSink::SetPrimitiveBlend([In] D2D1_PRIMITIVE_BLEND primitiveBlend) + + + + Sets the unit mode + + HRESULT ID2D1CommandSink::SetUnitMode([In] D2D1_UNIT_MODE unitMode) + + + + Internal CommandSink Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT ID2D1CommandSink::BeginDraw() + + + HRESULT ID2D1CommandSink::EndDraw() + + + + [This documentation is preliminary and is subject to change.] + + HRESULT ID2D1CommandSink::PopAxisAlignedClip() + + + + No documentation. + + HRESULT ID2D1CommandSink::PopLayer() + + + HRESULT ID2D1CommandSink::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) + + + HRESULT ID2D1CommandSink::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) + + + HRESULT ID2D1CommandSink::SetTextAntialiasMode([In] D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) + + + HRESULT ID2D1CommandSink::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) + + + HRESULT ID2D1CommandSink::SetTransform([In] const D2D_MATRIX_3X2_F* transform) + + + + Sets the blending for primitives. + + HRESULT ID2D1CommandSink::SetPrimitiveBlend([In] D2D1_PRIMITIVE_BLEND primitiveBlend) + + + + Sets the unit mode + + HRESULT ID2D1CommandSink::SetUnitMode([In] D2D1_UNIT_MODE unitMode) + + + HRESULT ID2D1CommandSink::Clear([In, Optional] const D2D_COLOR_F* color) + + + HRESULT ID2D1CommandSink::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) + + + HRESULT ID2D1CommandSink::DrawLine([In] D2D_POINT_2F point0,[In] D2D_POINT_2F point1,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + HRESULT ID2D1CommandSink::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + HRESULT ID2D1CommandSink::DrawRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + HRESULT ID2D1CommandSink::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) + + + HRESULT ID2D1CommandSink::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) + + + HRESULT ID2D1CommandSink::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_POINT_2F* targetOffset) + + + + [This documentation is preliminary and is subject to change.] + + The mesh object to be filled. + The brush with which to fill the mesh. + HRESULT ID2D1CommandSink::FillMesh([In] ID2D1Mesh* mesh,[In] ID2D1Brush* brush) + + + HRESULT ID2D1CommandSink::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) + + + HRESULT ID2D1CommandSink::FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) + + + HRESULT ID2D1CommandSink::FillRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush) + + + + [This documentation is preliminary and is subject to change.] + + The rectangle that defines the clip. + Whether the given clip should be antialiased. + + If the current world transform is not preserving the axis, clipRectangle is transformed and the bounds of the transformed rectangle are used instead. + + HRESULT ID2D1CommandSink::PushAxisAlignedClip([In] const D2D_RECT_F* clipRect,[In] D2D1_ANTIALIAS_MODE antialiasMode) + + + + No documentation. + + No documentation. + No documentation. + HRESULT ID2D1CommandSink::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters1,[In, Optional] ID2D1Layer* layer) + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents a command sink.

+
+ +

The can be implemented to receive a play-back of the commands recorded in a command list. This interface is typically used for transforming the command list into another format where some degree of conversion between the Direct2D primitives and the target format is required.

The interface does not have any resource creation methods. The resources are logically bound to the Direct2D device on which the was created and will be passed in to the implementation.

Not all methods implemented by are present.

+
+ + hh404394 + ID2D1CommandSink + ID2D1CommandSink +
+ + HRESULT ID2D1CommandSink::BeginDraw() + + + HRESULT ID2D1CommandSink::EndDraw() + + + HRESULT ID2D1CommandSink::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) + + + HRESULT ID2D1CommandSink::Clear([In, Optional] const D2D_COLOR_F* color) + + + HRESULT ID2D1CommandSink::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) + + + HRESULT ID2D1CommandSink::DrawLine([In] D2D_POINT_2F point0,[In] D2D_POINT_2F point1,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + HRESULT ID2D1CommandSink::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + HRESULT ID2D1CommandSink::DrawRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + HRESULT ID2D1CommandSink::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) + + + HRESULT ID2D1CommandSink::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) + + + HRESULT ID2D1CommandSink::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_POINT_2F* targetOffset) + + + HRESULT ID2D1CommandSink::FillMesh([In] ID2D1Mesh* mesh,[In] ID2D1Brush* brush) + + + HRESULT ID2D1CommandSink::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) + + + HRESULT ID2D1CommandSink::FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) + + + HRESULT ID2D1CommandSink::FillRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush) + + + HRESULT ID2D1CommandSink::PushAxisAlignedClip([In] const D2D_RECT_F* clipRect,[In] D2D1_ANTIALIAS_MODE antialiasMode) + + + HRESULT ID2D1CommandSink::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters1,[In, Optional] ID2D1Layer* layer) + + + + [This documentation is preliminary and is subject to change.] + + HRESULT ID2D1CommandSink::PopAxisAlignedClip() + + + + No documentation. + + HRESULT ID2D1CommandSink::PopLayer() + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Notifies the implementation of the command sink that drawing is about to commence.

+
+

This method always returns .

+ + hh404395 + HRESULT ID2D1CommandSink::BeginDraw() + ID2D1CommandSink::BeginDraw +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Indicates when processing has completed.

+
+

If the method/function succeeds, it returns . If it fails, it returns an error code.

+ +

The active at the end of the command list will be returned.

+
+ + hh404409 + HRESULT ID2D1CommandSink::EndDraw() + ID2D1CommandSink::EndDraw +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the antialiasing mode that will be used to render any subsequent geometry.

+
+

The antialiasing mode selected for the command list.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ + hh404420 + HRESULT ID2D1CommandSink::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) + ID2D1CommandSink::SetAntialiasMode +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the tags that correspond to the tags in the command sink.

+
+

The first tag to associate with the primitive.

+

The second tag to associate with the primitive.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ + hh404422 + HRESULT ID2D1CommandSink::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) + ID2D1CommandSink::SetTags +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Indicates the new default antialiasing mode for text.

+
+

The antialiasing mode for the text.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ + hh404423 + HRESULT ID2D1CommandSink::SetTextAntialiasMode([In] D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) + ID2D1CommandSink::SetTextAntialiasMode +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Indicates more detailed text rendering parameters.

+
+

The parameters to use for text rendering.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ + hh404424 + HRESULT ID2D1CommandSink::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) + ID2D1CommandSink::SetTextRenderingParams +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets a new transform.

+
+

The transform to be set.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

The transform will be applied to the corresponding device context.

+
+ + hh404425 + HRESULT ID2D1CommandSink::SetTransform([In] const D2D_MATRIX_3X2_F* transform) + ID2D1CommandSink::SetTransform +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets a new primitive blend mode.

+
+

The primitive blend that will apply to subsequent primitives.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ + hh404421 + HRESULT ID2D1CommandSink::SetPrimitiveBlend([In] D2D1_PRIMITIVE_BLEND primitiveBlend) + ID2D1CommandSink::SetPrimitiveBlend +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets how subsequent units are to be interpreted.

+
+

The enumeration that specifies how units are to be interpreted.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

The unit mode changes the interpretation of units from device-independent pixels (DIPs) to pixels or vice versa.

+
+ + hh404426 + HRESULT ID2D1CommandSink::SetUnitMode([In] D2D1_UNIT_MODE unitMode) + ID2D1CommandSink::SetUnitMode +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Clears the drawing area to the specified color.

+
+

The color to which the command sink should be cleared.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

The clear color is restricted by the currently selected clip and layer bounds.

If no color is specified, the color should be interpreted by context. Examples include but are not limited to:

  • Transparent black for a premultiplied bitmap target.
  • Opaque black for an ignore bitmap target.
  • Containing no content (or white) for a printer page.
+
+ + hh404397 + HRESULT ID2D1CommandSink::Clear([In, Optional] const D2D_COLOR_F* color) + ID2D1CommandSink::Clear +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Indicates the glyphs to be drawn.

+
+

The sequence of glyphs to be sent.

+

Additional non-rendering information about the glyphs.

+

The brush used to fill the glyphs.

+

The measuring mode to apply to the glyphs.

+ No documentation. +

If the method succeeds, it returns . If it fails, it returns an error code.

+ + hh404401 + HRESULT ID2D1CommandSink::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) + ID2D1CommandSink::DrawGlyphRun +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Draws a line drawn between two points.

+
+

The start point of the line.

+

The end point of the line.

+

The brush used to fill the line.

+

The width of the stroke to fill the line.

+

The style of the stroke. If not specified, the stroke is solid.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ + Additional References

+
+ + hh404405 + HRESULT ID2D1CommandSink::DrawLine([In] D2D_POINT_2F point0,[In] D2D_POINT_2F point1,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1CommandSink::DrawLine +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Indicates the geometry to be drawn to the command sink.

+
+

The geometry to be stroked.

+

The brush that will be used to fill the stroked geometry.

+

The width of the stroke.

+

The style of the stroke.

+

An .

+ +

You must convert ellipses and rounded rectangles to the corresponding ellipse and rounded rectangle geometries before calling into the DrawGeometry method.

Additional References

,

Requirements
Minimum supported operating systemSame as Interface / Class
Highest IRQL levelN/A (user mode)
Callable from DlllMain()No
Callable from services and session 0Yes
Callable from UI threadYes

?

+
+ + hh404399 + HRESULT ID2D1CommandSink::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1CommandSink::DrawGeometry +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Draws a rectangle.

+
+

The rectangle to be drawn to the command sink.

+

The brush used to stroke the geometry.

+

The width of the stroke.

+

The style of the stroke.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ + hh404407 + HRESULT ID2D1CommandSink::DrawRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1CommandSink::DrawRectangle +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Draws a bitmap to the render target.

+
+

The bitmap to draw.

+

The destination rectangle. The default is the size of the bitmap and the location is the upper left corner of the render target.

+

The opacity of the bitmap.

+

The interpolation mode to use.

+

An optional source rectangle.

+

An optional perspective transform.

+

This method does not return a value.

+ + hh847972 + HRESULT ID2D1CommandSink::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) + ID2D1CommandSink::DrawBitmap +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Draws the provided image to the command sink.

+
+

The image to be drawn to the command sink.

+

This defines the offset in the destination space that the image will be rendered to. The entire logical extent of the image will be rendered to the corresponding destination. If not specified, the destination origin will be (0, 0). The top-left corner of the image will be mapped to the target offset. This will not necessarily be the origin.

+

The corresponding rectangle in the image space will be mapped to the provided origins when processing the image.

+

If specified, the composite mode that will be applied to the limits of the currently selected clip.

+ No documentation. +

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

Because the image can itself be a command list or contain an effect graph that in turn contains a command list, this method can result in recursive processing.

+
+ + hh404403 + HRESULT ID2D1CommandSink::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) + ID2D1CommandSink::DrawImage +
+ + + No documentation. + + No documentation. + No documentation. + No documentation. + + HRESULT ID2D1CommandSink::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_POINT_2F* targetOffset) + ID2D1CommandSink::DrawGdiMetafile + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Indicates a mesh to be filled by the command sink.

+
+

The mesh object to be filled.

+

The brush with which to fill the mesh.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ + hh404413 + HRESULT ID2D1CommandSink::FillMesh([In] ID2D1Mesh* mesh,[In] ID2D1Brush* brush) + ID2D1CommandSink::FillMesh +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Fills an opacity mask on the command sink.

+
+

The bitmap whose alpha channel will be sampled to define the opacity mask.

+

The brush with which to fill the mask.

+

The destination rectangle in which to fill the mask. If not specified, this is the origin.

+

The source rectangle within the opacity mask. If not specified, this is the entire mask.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

The opacity mask bitmap must be considered to be clamped on each axis.

+
+ + hh404414 + HRESULT ID2D1CommandSink::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) + ID2D1CommandSink::FillOpacityMask +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Indicates to the command sink a geometry to be filled.

+
+

The geometry that should be filled.

+

The primary brush used to fill the geometry.

+

A brush whose alpha channel is used to modify the opacity of the primary fill brush.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

If the opacity brush is specified, the primary brush will be a bitmap brush fixed on both the x-axis and the y-axis.

Ellipses and rounded rectangles are converted to the corresponding geometry before being passed to FillGeometry.

+
+ + hh404411 + HRESULT ID2D1CommandSink::FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) + ID2D1CommandSink::FillGeometry +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Indicates to the command sink a rectangle to be filled.

+
+

The rectangle to fill.

+

The brush with which to fill the rectangle.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ + hh404415 + HRESULT ID2D1CommandSink::FillRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush) + ID2D1CommandSink::FillRectangle +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Pushes a clipping rectangle onto the clip and layer stack.

+
+

The rectangle that defines the clip.

+

Whether the given clip should be antialiased.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

If the current world transform is not preserving the axis, clipRectangle is transformed and the bounds of the transformed rectangle are used instead.

+
+ + hh404418 + HRESULT ID2D1CommandSink::PushAxisAlignedClip([In] const D2D_RECT_F* clipRect,[In] D2D1_ANTIALIAS_MODE antialiasMode) + ID2D1CommandSink::PushAxisAlignedClip +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Pushes a layer onto the clip and layer stack.

+
+

The parameters that define the layer.

+

The layer resource to be used for rasterizing the layer.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ + hh404419 + HRESULT ID2D1CommandSink::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters1,[In, Optional] ID2D1Layer* layer) + ID2D1CommandSink::PushLayer +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Removes an axis-aligned clip from the layer and clip stack.

+
+

If the method succeeds, it returns . If it fails, it returns an error code.

+ + hh404416 + HRESULT ID2D1CommandSink::PopAxisAlignedClip() + ID2D1CommandSink::PopAxisAlignedClip +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Removes a layer from the layer and clip stack.

+
+

If the method succeeds, it returns . If it fails, it returns an error code.

+ + hh404417 + HRESULT ID2D1CommandSink::PopLayer() + ID2D1CommandSink::PopLayer +
+ + HRESULT ID2D1CommandSink::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) + + + HRESULT ID2D1CommandSink::SetTextAntialiasMode([In] D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) + + + HRESULT ID2D1CommandSink::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) + + + HRESULT ID2D1CommandSink::SetTransform([In] const D2D_MATRIX_3X2_F* transform) + + + HRESULT ID2D1CommandSink::SetPrimitiveBlend([In] D2D1_PRIMITIVE_BLEND primitiveBlend) + + + HRESULT ID2D1CommandSink::SetUnitMode([In] D2D1_UNIT_MODE unitMode) + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Defines a transform that uses a compute shader.

+
+ +

The transform implements the normal Shatzis methods by implementing . In addition, the caller is passed an ID2D1ComputeRenderInfo to describe the compute pass that the transform should execute.

+
+ + hh404434 + ID2D1ComputeTransform + ID2D1ComputeTransform +
+ + + Represents the base interface for all of the transforms implemented by the transform author. + + ID2D1Transform + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents the base interface for all of the transforms implemented by the transform author.

+
+ +

Transforms are aggregated by effect authors. This interface provides a common interface for implementing the Shantzis rectangle calculations which is the basis for all the transform processing in Direct2D imaging extensions.

+
+ + hh446919 + ID2D1Transform + ID2D1Transform +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Allows a transform to state how it would map a rectangle requested on its output to a set of sample rectangles on its input.

+
+

The output rectangle to which the inputs must be mapped.

+

The corresponding set of inputs. The inputs will directly correspond to the transform inputs.

+ +

The transform implementation must ensure that any pixel shader or software callback implementation it provides honors this calculation.

The transform implementation must regard this method as purely functional. It can base the mapped input and output rectangles on its current state as specified by the encapsulating effect properties. However, it must not change its own state in response to this method being invoked. The DirectImage renderer implementation reserves the right to call this method at any time and in any sequence.

+
+ hh446945 + HRESULT ID2D1Transform::MapOutputRectToInputRects([In] const RECT* outputRect,[Out, Buffer] RECT* inputRects,[In] unsigned int inputRectsCount) + ID2D1Transform::MapOutputRectToInputRects +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Performs the inverse mapping to MapOutputRectToInputRects.

+
+ No documentation. + No documentation. + No outputOpaqueSubRect. + +

The transform implementation must ensure that any pixel shader or software callback implementation it provides honors this calculation.

The transform implementation must regard this method as purely functional. It can base the mapped input and output rectangles on its current state as specified by the encapsulating effect properties. However, it must not change its own state in response to this method being invoked. The Direct2D renderer implementation reserves the right to call this method at any time and in any sequence.

+
+ hh446943 + HRESULT ID2D1Transform::MapInputRectsToOutputRect([In, Buffer] const RECT* inputRects,[In, Buffer] const RECT* inputOpaqueSubRects,[In] unsigned int inputRectCount,[Out] RECT* outputRect,[Out] RECT* outputOpaqueSubRect) + ID2D1Transform::MapInputRectsToOutputRect +
+ + + No documentation. + + No documentation. + No documentation. + The rectangle invalidated. + HRESULT ID2D1Transform::MapInvalidRect([In] unsigned int inputIndex,[In] RECT invalidInputRect,[Out] RECT* invalidOutputRect) + ID2D1Transform::MapInvalidRect + + + + No documentation. + + No documentation. + HRESULT ID2D1ComputeTransform::SetComputeInfo([In] ID2D1ComputeInfo* computeInfo) + + + + [This documentation is preliminary and is subject to change.] + + The output rectangle that will be filled by the compute transform. + The number of threads in the x dimension. + The number of threads in the y dimension. + The number of threads in the z dimension. + An containing the number of threads of x,y,z dimensions. + + If this call fails, the corresponding instance is placed into an error state and fails to draw. + + HRESULT ID2D1ComputeTransform::CalculateThreadgroups([In] const RECT* outputRect,[Out] unsigned int* dimensionX,[Out] unsigned int* dimensionY,[Out] unsigned int* dimensionZ) + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Defines a transform that uses a compute shader.

+
+ +

The transform implements the normal Shatzis methods by implementing . In addition, the caller is passed an ID2D1ComputeRenderInfo to describe the compute pass that the transform should execute.

+
+ + hh404434 + ID2D1ComputeTransform + ID2D1ComputeTransform +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents the base interface for all of the transforms implemented by the transform author.

+
+ +

Transforms are aggregated by effect authors. This interface provides a common interface for implementing the Shantzis rectangle calculations which is the basis for all the transform processing in Direct2D imaging extensions.

+
+ + hh446919 + ID2D1Transform + ID2D1Transform +
+ + + + + + + + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Allows a transform to state how it would map a rectangle requested on its output to a set of sample rectangles on its input.

+
+

The output rectangle to which the inputs must be mapped.

+

The corresponding set of inputs. The inputs will directly correspond to the transform inputs.

+

The number of inputs specified. The implementation guarantees that this is equal to the number of inputs specified on the transform.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

The transform implementation must ensure that any pixel shader or software callback implementation it provides honors this calculation.

The transform implementation must regard this method as purely functional. It can base the mapped input and output rectangles on its current state as specified by the encapsulating effect properties. However, it must not change its own state in response to this method being invoked. The DirectImage renderer implementation reserves the right to call this method at any time and in any sequence.

+
+ + hh446945 + HRESULT ID2D1Transform::MapOutputRectToInputRects([In] const RECT* outputRect,[Out, Buffer] RECT* inputRects,[In] unsigned int inputRectsCount) + ID2D1Transform::MapOutputRectToInputRects +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Performs the inverse mapping to MapOutputRectToInputRects.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + +

The transform implementation must ensure that any pixel shader or software callback implementation it provides honors this calculation.

The transform implementation must regard this method as purely functional. It can base the mapped input and output rectangles on its current state as specified by the encapsulating effect properties. However, it must not change its own state in response to this method being invoked. The Direct2D renderer implementation reserves the right to call this method at any time and in any sequence.

+
+ + hh446943 + HRESULT ID2D1Transform::MapInputRectsToOutputRect([In, Buffer] const RECT* inputRects,[In, Buffer] const RECT* inputOpaqueSubRects,[In] unsigned int inputRectCount,[Out] RECT* outputRect,[Out] RECT* outputOpaqueSubRect) + ID2D1Transform::MapInputRectsToOutputRect +
+ + + No documentation. + + No documentation. + No documentation. + No documentation. + + HRESULT ID2D1Transform::MapInvalidRect([In] unsigned int inputIndex,[In] RECT invalidInputRect,[Out] RECT* invalidOutputRect) + ID2D1Transform::MapInvalidRect + + + + + + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + No documentation. + + No documentation. + No documentation. + + HRESULT ID2D1ComputeTransform::SetComputeInfo([In] ID2D1ComputeInfo* computeInfo) + ID2D1ComputeTransform::SetComputeInfo + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

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.

+
+

The output rectangle that will be filled by the compute transform.

+

The number of threads in the x dimension.

+

The number of threads in the y dimension.

+

The number of threads in the z dimension.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

If this call fails, the corresponding instance is placed into an error state and fails to draw.

+
+ + hh404437 + HRESULT ID2D1ComputeTransform::CalculateThreadgroups([In] const RECT* outputRect,[Out] unsigned int* dimensionX,[Out] unsigned int* dimensionY,[Out] unsigned int* dimensionZ) + ID2D1ComputeTransform::CalculateThreadgroups +
+ + + Internal ComputeTransform Callback + + + + + Internal Transform Callback + + + + + Internal TransformNode Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + unsigned int ID2D1TransformNode::GetInputCount() + HRESULT ID2D1EffectImpl::Initialize([In] ID2D1EffectContext* effectContext,[In] ID2D1TransformGraph* transformGraph) + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT ID2D1Transform::MapOutputRectToInputRects([In] const RECT* outputRect,[Out, Buffer] RECT* inputRects,[In] unsigned int inputRectsCount) + + + HRESULT ID2D1Transform::MapInputRectsToOutputRect([In, Buffer] const RECT* inputRects,[In] unsigned int inputRectsCount,[Out] RECT* outputRect) + HRESULT ID2D1Transform::MapInputRectsToOutputRect([In, Buffer] const RECT* inputRects,[In, Buffer] const RECT* inputOpaqueSubRects,[In] unsigned int inputRectCount,[Out] RECT* outputRect,[Out] RECT* outputOpaqueSubRect) + + + HRESULT ID2D1Transform::MapInvalidRect([In] unsigned int inputIndex,[In] RECT invalidInputRect,[Out] RECT* invalidOutputRect) + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT ID2D1ComputeTransform::SetComputeInfo([In] ID2D1ComputeInfo* computeInfo) + + + HRESULT ID2D1ComputeTransform::CalculateThreadgroups([In] const RECT* outputRect,[Out] unsigned int* dimensionX,[Out] unsigned int* dimensionY,[Out] unsigned int* dimensionZ) + + + +

Retrieves justification opportunity information for each of the glyphs given the text and shaping glyph properties.

+
+ +

This function is called per-run, after shaping is done via the method.

Note??this function only supports natural metrics ().

+
+ + Hh780433 + IDWriteTextAnalyzer1 + IDWriteTextAnalyzer1 +
+ + +

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.

+
+ + dd316607 + IDWriteTextAnalyzer + IDWriteTextAnalyzer +
+ + + Returns an interface for performing text analysis. + + A reference to a DirectWrite factory + HRESULT IDWriteFactory::CreateTextAnalyzer([Out] IDWriteTextAnalyzer** textAnalyzer) + + + + Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink callback {{SetScript}}. + + A reference to the source object to analyze. + The starting text position within the source object. + The text length to analyze. + A reference to the sink callback object that receives the text analysis. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + + HRESULT IDWriteTextAnalyzer::AnalyzeScript([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) + + + + Analyzes a text range for script directionality, reading attributes from the source and reporting levels to the sink callback {{SetBidiLevel}}. + + A reference to a source object to analyze. + The starting text position within the source object. + The text length to analyze. + A reference to the sink callback object that receives the text analysis. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + + HRESULT IDWriteTextAnalyzer::AnalyzeBidi([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) + + While the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs. Otherwise, the returned levels may be wrong, because the Bidi algorithm is meant to apply to the paragraph as a whole. + + + + + 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}}. + + The source object to analyze. + The starting position within the source object. + The length to analyze. + A reference to the sink callback object that receives the text analysis. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + + HRESULT IDWriteTextAnalyzer::AnalyzeNumberSubstitution([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) + + Although the function can handle multiple ranges of differing number substitutions, the text ranges should not arbitrarily split the middle of numbers. Otherwise, it will treat the numbers separately and will not translate any intervening punctuation. + + + + + Analyzes a text range for potential breakpoint opportunities, reading attributes from the source and reporting breakpoint opportunities to the sink callback {{SetLineBreakpoints}}. + + A reference to the source object to analyze. + The starting text position within the source object. + The text length to analyze. + A reference to the sink callback object that receives the text analysis. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + + HRESULT IDWriteTextAnalyzer::AnalyzeLineBreakpoints([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) + + Although the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs, unless the specified text span is considered a whole unit. Otherwise, the returned properties for the first and last characters will inappropriately allow breaks. + + + + + Gets the glyphs (TODO doc) + + The text string. + Length of the text. + The font face. + if set to true [is sideways]. + if set to true [is right to left]. + The script analysis. + Name of the locale. + The number substitution. + The features. + The feature range lengths. + The max glyph count. + The cluster map. + The text props. + The glyph indices. + The glyph props. + The actual glyph count. + + If the method succeeds, it returns . + + HRESULT IDWriteTextAnalyzer::GetGlyphs([In, Buffer] const wchar_t* textString,[In] unsigned int textLength,[In] IDWriteFontFace* fontFace,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] IDWriteNumberSubstitution* numberSubstitution,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[In] unsigned int maxGlyphCount,[Out, Buffer] unsigned short* clusterMap,[Out, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[Out, Buffer] unsigned short* glyphIndices,[Out, Buffer] DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[Out] unsigned int* actualGlyphCount) + + + + Gets the glyph placements. + + The text string. + The cluster map. + The text props. + Length of the text. + The glyph indices. + The glyph props. + The glyph count. + The font face. + Size of the font in ems. + if set to true [is sideways]. + if set to true [is right to left]. + The script analysis. + Name of the locale. + The features. + The feature range lengths. + The glyph advances. + The glyph offsets. + + If the method succeeds, it returns . + + HRESULT IDWriteTextAnalyzer::GetGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) + + + + Gets the GDI compatible glyph placements. + + The text string. + The cluster map. + The text props. + Length of the text. + The glyph indices. + The glyph props. + The glyph count. + The font face. + Size of the font em. + The pixels per dip. + The transform. + if set to true [use GDI natural]. + if set to true [is sideways]. + if set to true [is right to left]. + The script analysis. + Name of the locale. + The features. + The feature range lengths. + The glyph advances. + The glyph offsets. + + If the method succeeds, it returns . + + HRESULT IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) + + + + Allocates the features from the jagged array.. + + The features. + A pointer to the allocated native features or 0 if features is null or empty. + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink callback SetScript.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316620 + HRESULT IDWriteTextAnalyzer::AnalyzeScript([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) + IDWriteTextAnalyzer::AnalyzeScript +
+ + +

Analyzes a text range for script directionality, reading attributes from the source and reporting levels to the sink callback SetBidiLevel.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

While the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs. Otherwise, the returned levels may be wrong, because the Bidi algorithm is meant to apply to the paragraph as a whole.

+
+ + dd316610 + HRESULT IDWriteTextAnalyzer::AnalyzeBidi([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) + IDWriteTextAnalyzer::AnalyzeBidi +
+ + +

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.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Although the function can handle multiple ranges of differing number substitutions, the text ranges should not arbitrarily split the middle of numbers. Otherwise, it will treat the numbers separately and will not translate any intervening punctuation.

+
+ + dd316616 + HRESULT IDWriteTextAnalyzer::AnalyzeNumberSubstitution([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) + IDWriteTextAnalyzer::AnalyzeNumberSubstitution +
+ + +

Analyzes a text range for potential breakpoint opportunities, reading attributes from the source and reporting breakpoint opportunities to the sink callback SetLineBreakpoints.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Although the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs, unless the specified text span is considered a whole unit. Otherwise, the returned properties for the first and last characters will inappropriately allow breaks.

+
+ + dd316613 + HRESULT IDWriteTextAnalyzer::AnalyzeLineBreakpoints([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) + IDWriteTextAnalyzer::AnalyzeLineBreakpoints +
+ + +

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.

+
+

An array of characters to convert to glyphs.

+

The length of textString.

+

The font face that is the source of the output glyphs.

+

A Boolean flag set to TRUE if the text is intended to be drawn vertically.

+

A Boolean flag set to TRUE for right-to-left text.

+

A reference to a Script analysis result from an AnalyzeScript call.

+

The locale to use when selecting glyphs. For example the same character may map to different glyphs for ja-jp versus zh-chs. If this is null, then the default mapping based on the script is used.

+

A reference to an optional number substitution which selects the appropriate glyphs for digits and related numeric characters, depending on the results obtained from AnalyzeNumberSubstitution. Passing null indicates that no substitution is needed and that the digits should receive nominal glyphs.

+

An array of references to the sets of typographic features to use in each feature range.

+

The length of each feature range, in characters. The sum of all lengths should be equal to textLength.

+

The number of feature ranges.

+

The maximum number of glyphs that can be returned.

+

When this method returns, contains the mapping from character ranges to glyph ranges.

+

When this method returns, contains a reference to an array of structures that contains shaping properties for each character.

+

The output glyph indices.

+

When this method returns, contains a reference to an array of structures that contain shaping properties for each output glyph.

+

When this method returns, contains the actual number of glyphs returned if the call succeeds.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Note that the mapping from characters to glyphs is, in general, many-to-many. The recommended estimate for the per-glyph output buffers is (3 * textLength / 2 + 16). This is not guaranteed to be sufficient. The value of the actualGlyphCount parameter is only valid if the call succeeds. In the event that maxGlyphCount is not big enough, HRESULT_FROM_WIN32() will be returned. The application should allocate a larger buffer and try again.

+
+ + dd316625 + HRESULT IDWriteTextAnalyzer::GetGlyphs([In, Buffer] const wchar_t* textString,[In] unsigned int textLength,[In] IDWriteFontFace* fontFace,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] IDWriteNumberSubstitution* numberSubstitution,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[In] unsigned int maxGlyphCount,[Out, Buffer] unsigned short* clusterMap,[Out, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[Out, Buffer] unsigned short* glyphIndices,[Out, Buffer] DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[Out] unsigned int* actualGlyphCount) + IDWriteTextAnalyzer::GetGlyphs +
+ + +

Places glyphs output from the GetGlyphs method according to the font and the writing system's rendering rules.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316622 + HRESULT IDWriteTextAnalyzer::GetGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) + IDWriteTextAnalyzer::GetGlyphPlacements +
+ + +

Place glyphs output from the GetGlyphs method according to the font and the writing system's rendering rules.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd941790 + HRESULT IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) + IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements +
+ + +

Analyzes a text range for script orientation, reading text and attributes from the source and reporting results to the sink.

+
+

Source object to analyze.

+

Starting position within the source object.

+

Length to analyze.

+

Length to analyze.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + Hh780429 + HRESULT IDWriteTextAnalyzer1::AnalyzeVerticalGlyphOrientation([In] IDWriteTextAnalysisSource1* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink1* analysisSink) + IDWriteTextAnalyzer1::AnalyzeVerticalGlyphOrientation +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Applies spacing between characters, properly adjusting glyph clusters and diacritics.

+
+

The spacing before each character, in reading order.

+

The spacing after each character, in reading order.

+

The minimum advance of each character, to prevent characters from becoming too thin or zero-width. This must be zero or greater.

+

The length of the clustermap and original text.

+

The number of glyphs.

+

Mapping from character ranges to glyph ranges.

+

The advance width of each glyph.

+

The offset of the origin of each glyph.

+

Properties of each glyph, from GetGlyphs.

+

The new advance width of each glyph.

+

The new offset of the origin of each glyph.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The input and output advances/offsets are allowed to alias the same array.

+
+ + Hh780430 + HRESULT IDWriteTextAnalyzer1::ApplyCharacterSpacing([In] float leadingSpacing,[In] float trailingSpacing,[In] float minimumAdvanceWidth,[In] unsigned int textLength,[In] unsigned int glyphCount,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] const float* glyphAdvances,[In, Buffer] const DWRITE_GLYPH_OFFSET* glyphOffsets,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProperties,[Out, Buffer] float* modifiedGlyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* modifiedGlyphOffsets) + IDWriteTextAnalyzer1::ApplyCharacterSpacing +
+ + +

Retrieves the given baseline from the font.

+
+

The font face to read.

+

A -typed value that specifies the baseline of interest.

+

Whether the baseline is vertical or horizontal.

+

Simulate the baseline if it is missing in the font.

+

Script analysis result from AnalyzeScript.

Note??You can pass an empty script analysis structure, like this scriptAnalysis = {};, and this method will return the default baseline.

+

The language of the run.

+

The baseline coordinate value in design units.

+

Whether the returned baseline exists in the font.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the baseline does not exist in the font, it is not considered an error, but the function will return exists = false. You may then use heuristics to calculate the missing base, or, if the flag simulationAllowed is true, the function will compute a reasonable approximation for you.

+
+ + Hh780431 + HRESULT IDWriteTextAnalyzer1::GetBaseline([In] IDWriteFontFace* fontFace,[In] DWRITE_BASELINE baseline,[In] BOOL isVertical,[In] BOOL isSimulationAllowed,[In] DWRITE_SCRIPT_ANALYSIS scriptAnalysis,[In, Optional] const wchar_t* localeName,[Out] int* baselineCoordinate,[Out] BOOL* exists) + IDWriteTextAnalyzer1::GetBaseline +
+ + +

Analyzes a text range for script orientation, reading text and attributes from the source and reporting results to the sink.

+
+

Source object to analyze.

+

Starting position within the source object.

+

Length to analyze.

+

Length to analyze.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + Hh780429 + HRESULT IDWriteTextAnalyzer1::AnalyzeVerticalGlyphOrientation([In] IDWriteTextAnalysisSource1* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink1* analysisSink) + IDWriteTextAnalyzer1::AnalyzeVerticalGlyphOrientation +
+ + +

Returns 2x3 transform matrix for the respective angle to draw the glyph run.

+
+

A -typed value that specifies the angle that was reported into .

+

Whether the run's glyphs are sideways or not.

+

Returned transform.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The translation component of the transform returned is zero.

+
+ + Hh780432 + HRESULT IDWriteTextAnalyzer1::GetGlyphOrientationTransform([In] DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle,[In] BOOL isSideways,[Out] DWRITE_MATRIX* transform) + IDWriteTextAnalyzer1::GetGlyphOrientationTransform +
+ + +

Retrieves the properties for a given script.

+
+

The script for a run of text returned from .

+

A reference to a structure that describes info for the script.

+

Returns properties for the given script. If the script is invalid, it returns generic properties for the unknown script and E_INVALIDARG.

+ + Hh780435 + HRESULT IDWriteTextAnalyzer1::GetScriptProperties([In] DWRITE_SCRIPT_ANALYSIS scriptAnalysis,[Out] DWRITE_SCRIPT_PROPERTIES* scriptProperties) + IDWriteTextAnalyzer1::GetScriptProperties +
+ + +

Determines the complexity of text, and whether you need to call for full script shaping.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Text is not simple if the characters are part of a script that has complex shaping requirements, require bidi analysis, combine with other characters, reside in the supplementary planes, or have glyphs that participate in standard OpenType features. The length returned will not split combining marks from their base characters.

+
+ + Hh780436 + HRESULT IDWriteTextAnalyzer1::GetTextComplexity([In, Buffer] const wchar_t* textString,[In] unsigned int textLength,[In] IDWriteFontFace* fontFace,[Out] BOOL* isTextSimple,[In] unsigned int* textLengthRead,[Out, Buffer, Optional] unsigned short* glyphIndices) + IDWriteTextAnalyzer1::GetTextComplexity +
+ + +

Retrieves justification opportunity information for each of the glyphs given the text and shaping glyph properties.

+
+

Font face that was used for shaping. This is mainly important for returning correct results of the kashida width.

May be null.

+

Font em size used for the glyph run.

+

Script of the text from the itemizer.

+

Length of the text.

+

Number of glyphs.

+

Characters used to produce the glyphs.

+

Clustermap produced from shaping.

+

Glyph properties produced from shaping.

+

A reference to a structure that receives info for the allowed justification expansion/compression for each glyph.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function is called per-run, after shaping is done via the method.

Note??this function only supports natural metrics ().

+
+ + Hh780433 + HRESULT IDWriteTextAnalyzer1::GetJustificationOpportunities([In, Optional] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] DWRITE_SCRIPT_ANALYSIS scriptAnalysis,[In] unsigned int textLength,[In] unsigned int glyphCount,[In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProperties,[Out, Buffer] DWRITE_JUSTIFICATION_OPPORTUNITY* justificationOpportunities) + IDWriteTextAnalyzer1::GetJustificationOpportunities +
+ + +

Justifies an array of glyph advances to fit the line width.

+
+

The line width.

+

The glyph count.

+

A reference to a structure that contains info for the allowed justification expansion/compression for each glyph. Get this info from .

+

An array of glyph advances.

+

An array of glyph offsets.

+

The returned array of justified glyph advances.

+

The returned array of justified glyph offsets.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

You call JustifyGlyphAdvances after you call to collect all the opportunities, and JustifyGlyphAdvances spans across the entire line. The input and output arrays are allowed to alias each other, permitting in-place update.

+
+ + Hh780437 + HRESULT IDWriteTextAnalyzer1::JustifyGlyphAdvances([In] float lineWidth,[In] unsigned int glyphCount,[In, Buffer] const DWRITE_JUSTIFICATION_OPPORTUNITY* justificationOpportunities,[In, Buffer] const float* glyphAdvances,[In, Buffer] const DWRITE_GLYPH_OFFSET* glyphOffsets,[Out, Buffer] float* justifiedGlyphAdvances,[Out, Buffer, Optional] DWRITE_GLYPH_OFFSET* justifiedGlyphOffsets) + IDWriteTextAnalyzer1::JustifyGlyphAdvances +
+ + +

Fills in new glyphs for complex scripts where justification increased the advances of glyphs, such as Arabic with kashida.

+
+

Font face used for shaping.

May be null.

+

Font em size used for the glyph run.

+

Script of the text from the itemizer.

+

Length of the text.

+

Number of glyphs.

+

Maximum number of output glyphs allocated by caller.

+

Clustermap produced from shaping.

+

Original glyphs produced from shaping.

+

Original glyph advances produced from shaping.

+

Justified glyph advances from .

+

Justified glyph offsets from .

+

Properties of each glyph, from .

+

The new glyph count written to the modified arrays, or the needed glyph count if the size is not large enough.

+

Updated clustermap.

+

Updated glyphs with new glyphs inserted where needed.

+

Updated glyph advances.

+

Updated glyph offsets.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

You call GetJustifiedGlyphs after the line has been justified, and it is per-run.

You should call GetJustifiedGlyphs if returns a non-null .justificationCharacter for that script.

Use GetJustifiedGlyphs mainly for cursive scripts like Arabic. If maxGlyphCount is not large enough, GetJustifiedGlyphs returns the error E_NOT_SUFFICIENT_BUFFER and fills the variable to which actualGlyphCount points with the needed glyph count.

+
+ + Hh780434 + HRESULT IDWriteTextAnalyzer1::GetJustifiedGlyphs([In, Optional] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] DWRITE_SCRIPT_ANALYSIS scriptAnalysis,[In] unsigned int textLength,[In] unsigned int glyphCount,[In] unsigned int maxGlyphCount,[In, Buffer, Optional] const unsigned short* clusterMap,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const float* glyphAdvances,[In, Buffer] const float* justifiedGlyphAdvances,[In, Buffer] const DWRITE_GLYPH_OFFSET* justifiedGlyphOffsets,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProperties,[In] unsigned int* actualGlyphCount,[Out, Buffer, Optional] unsigned short* modifiedClusterMap,[Out, Buffer, Optional] unsigned short* modifiedGlyphIndices,[Out, Buffer, Optional] float* modifiedGlyphAdvances,[Out, Buffer, Optional] DWRITE_GLYPH_OFFSET* modifiedGlyphOffsets) + IDWriteTextAnalyzer1::GetJustifiedGlyphs +
+ + + Internal TextAnalysisSource1 Callback + + + + + Internal TextAnalysisSource Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteTextAnalysisSource::GetTextAtPosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) + + + HRESULT IDWriteTextAnalysisSource::GetTextBeforePosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) + + + DWRITE_READING_DIRECTION IDWriteTextAnalysisSource::GetParagraphReadingDirection() + + + HRESULT IDWriteTextAnalysisSource::GetLocaleName([None] int textPosition,[Out] int* textLength,[Out] const wchar_t** localeName) + + + HRESULT IDWriteTextAnalysisSource::GetNumberSubstitution([None] int textPosition,[Out] int* textLength,[Out] IDWriteNumberSubstitution** numberSubstitution) + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteTextAnalysisSource1::GetVerticalGlyphOrientation([In] unsigned int textPosition,[Out] unsigned int* textLength,[Out] DWRITE_VERTICAL_GLYPH_ORIENTATION* glyphOrientation,[Out] unsigned char* bidiLevel) + + + +

The interface you implement to provide needed information to the text analyzer, like the text and associated text properties.

Note?? If any of these callbacks return an error, the analysis functions will stop prematurely and return a callback error.

+
+ + Hh780426 + IDWriteTextAnalysisSource1 + IDWriteTextAnalysisSource1 +
+ + +

Implemented by the text analyzer's client to provide text to the analyzer. It allows the separation between the logical view of text as a continuous stream of characters identifiable by unique text positions, and the actual memory layout of potentially discrete blocks of text in the client's backing store.

+
+ +

If any of these callbacks returns an error, then the analysis functions will stop prematurely and return a callback error. Note that rather than return E_NOTIMPL, an application should stub the method and return a constant/null and .

+
+ + dd371318 + IDWriteTextAnalysisSource + IDWriteTextAnalysisSource +
+ + + Gets a block of text starting at the specified text position. + + + Returning NULL indicates the end of text, which is the position after the last character. This function is called iteratively for each consecutive block, tying together several fragmented blocks in the backing store into a virtual contiguous string. Although applications can implement sparse textual content that maps only part of the backing store, the application must map any text that is in the range passed to any analysis functions. + + The first position of the piece to obtain. All positions are in UTF16 code units, not whole characters, which matters when supplementary characters are used. + a block of text + HRESULT IDWriteTextAnalysisSource::GetTextAtPosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) + + + + Gets a block of text immediately preceding the specified position. + + + NULL indicates no chunk available at the specified position, either because textPosition equals 0, textPosition is greater than the entire text content length, or the queried position is not mapped into the application's backing store. Although applications can implement sparse textual content that maps only part of the backing store, the application must map any text that is in the range passed to any analysis functions. + + The position immediately after the last position of the block of text to obtain. + text immediately preceding the specified position + HRESULT IDWriteTextAnalysisSource::GetTextBeforePosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) + + + + Gets the locale name on the range affected by the text analysis. + + The text position to examine. + Contains the length of the text being affected by the text analysis up to the next differing locale. + + the locale name on the range affected by the text analysis + + HRESULT IDWriteTextAnalysisSource::GetLocaleName([None] int textPosition,[Out] int* textLength,[Out] const wchar_t** localeName) + + The localeName reference must remain valid until the next call or until the analysis returns. + + + + + Gets the number substitution from the text range affected by the text analysis. + + + Any implementation should return the number substitution with an incremented reference count, and the analysis will release when finished with it (either before the next call or before it returns). However, the sink callback may hold onto it after that. + + The starting position from which to report. + Contains the length of the text, in characters, remaining in the text range up to the next differing number substitution. + the number substitution from the text range affected by the text analysis. + HRESULT IDWriteTextAnalysisSource::GetNumberSubstitution([None] int textPosition,[Out] int* textLength,[Out] IDWriteNumberSubstitution** numberSubstitution) + + + + Gets the paragraph reading direction. + + The reading direction of the current paragraph. + DWRITE_READING_DIRECTION IDWriteTextAnalysisSource::GetParagraphReadingDirection() + + + +

Used by the text analyzer to obtain the desired glyph orientation and resolved bidi level.

+
+

The text position.

+

A reference to the text length.

+

A -typed value that specifies the desired kind of glyph orientation for the text.

+

A reference to the resolved bidi level.

+

Returning an error will abort the analysis.

+ +

The text analyzer calls back to this to get the desired glyph orientation and resolved bidi level, which it uses along with the script properties of the text to determine the actual orientation of each character, which it reports back to the client via the sink SetGlyphOrientation method.

+
+ + Hh780427 + HRESULT IDWriteTextAnalysisSource1::GetVerticalGlyphOrientation([In] unsigned int textPosition,[Out] unsigned int* textLength,[Out] DWRITE_VERTICAL_GLYPH_ORIENTATION* glyphOrientation,[Out] unsigned char* bidiLevel) + IDWriteTextAnalysisSource1::GetVerticalGlyphOrientation +
+ + + Internal TextAnalysisSink1 Callback + + + + + Internal TextAnalysisSink Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteTextAnalysisSink::SetScriptAnalysis([None] int textPosition,[None] int textLength,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis) + + + HRESULT IDWriteTextAnalysisSink::SetLineBreakpoints([None] int textPosition,[None] int textLength,[In, Buffer] const DWRITE_LINE_BREAKPOINT* lineBreakpoints) + + + HRESULT IDWriteTextAnalysisSink::SetBidiLevel([None] int textPosition,[None] int textLength,[None] int explicitLevel,[None] int resolvedLevel) + + + HRESULT IDWriteTextAnalysisSink::SetNumberSubstitution([None] int textPosition,[None] int textLength,[None] IDWriteNumberSubstitution* numberSubstitution) + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteTextAnalysisSink1::SetGlyphOrientation([In] unsigned int textPosition,[In] unsigned int textLength,[In] DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle,[In] unsigned char adjustedBidiLevel,[In] BOOL isSideways,[In] BOOL isRightToLeft) + IDWriteTextAnalysisSink1::SetGlyphOrientation + + + +

The text analyzer calls back to this to report the actual orientation of each character for shaping and drawing.

+
+ + Hh780425 + IDWriteTextAnalysisSink1 + IDWriteTextAnalysisSink1 +
+ + +

This interface is implemented by the text analyzer's client to receive the output of a given text analysis.

+
+ +

The text analyzer disregards any current state of the analysis sink, therefore, a Set method call on a range overwrites the previously set analysis result of the same range.

+
+ + dd371303 + IDWriteTextAnalysisSink + IDWriteTextAnalysisSink +
+ + + Reports script analysis for the specified text range. + + The starting position from which to report. + The number of UTF16 units of the reported range. + A reference to a structure that contains a zero-based index representation of a writing system script and a value indicating whether additional shaping of text is required. + A successful code or error code to stop analysis. + HRESULT IDWriteTextAnalysisSink::SetScriptAnalysis([None] int textPosition,[None] int textLength,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis) + + + + Sets line-break opportunities for each character, starting from the specified position. + + The starting text position from which to report. + The number of UTF16 units of the reported range. + A reference to a structure that contains breaking conditions set for each character from the starting position to the end of the specified range. + A successful code or error code to stop analysis. + HRESULT IDWriteTextAnalysisSink::SetLineBreakpoints([None] int textPosition,[None] int textLength,[In, Buffer] const DWRITE_LINE_BREAKPOINT* lineBreakpoints) + + + + Sets a bidirectional level on the range, which is called once per run change (either explicit or resolved implicit). + + The starting position from which to report. + The number of UTF16 units of the reported range. + The explicit level from the paragraph reading direction and any embedded control codes RLE/RLO/LRE/LRO/PDF, which is determined before any additional rules. + The final implicit level considering the explicit level and characters' natural directionality, after all Bidi rules have been applied. + A successful code or error code to stop analysis. + HRESULT IDWriteTextAnalysisSink::SetBidiLevel([None] int textPosition,[None] int textLength,[None] int explicitLevel,[None] int resolvedLevel) + + + + Sets the number substitution on the text range affected by the text analysis. + + The starting position from which to report. + The number of UTF16 units of the reported range. + An object that holds the appropriate digits and numeric punctuation for a given locale. Use to create this object. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteTextAnalysisSink::SetNumberSubstitution([None] int textPosition,[None] int textLength,[None] IDWriteNumberSubstitution* numberSubstitution) + + + +

The text analyzer calls back to this to report the actual orientation of each character for shaping and drawing.

+
+

The starting position to report from.

+

Number of UTF-16 units of the reported range.

+

A -typed value that specifies the angle of the glyphs within the text range (pass to to get the world relative transform).

+

The adjusted bidi level to be used by the client layout for reordering runs. This will differ from the resolved bidi level retrieved from the source for cases such as Arabic stacked top-to-bottom, where the glyphs are still shaped as RTL, but the runs are TTB along with any CJK or Latin.

+

Whether the glyphs are rotated on their side, which is the default case for CJK and the case stacked Latin

+

Whether the script should be shaped as right-to-left. For Arabic stacked top-to-bottom, even when the adjusted bidi level is coerced to an even level, this will still be true.

+

Returns a successful code or an error code to abort analysis.

+ + Hh780425 + HRESULT IDWriteTextAnalysisSink1::SetGlyphOrientation([In] unsigned int textPosition,[In] unsigned int textLength,[In] DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle,[In] unsigned char adjustedBidiLevel,[In] BOOL isSideways,[In] BOOL isRightToLeft) + IDWriteTextAnalysisSink1::SetGlyphOrientation +
+ + + The namespace provides a managed DirectWrite API. + + dd368038 + DirectWrite + DirectWrite + + + + The namespace provides a managed Direct2D1 built in Effects API. + + hh706327 + Direct2D1 Effects + Direct2D1 Effects + + + + The namespace provides a managed Direct2D API. + + dd370990 + Direct2D1 + Direct2D1 + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Defines a range of vertices that are used when rendering less than the full contents of a vertex buffer.

+
+ + hh404335 + D2D1_VERTEX_RANGE + D2D1_VERTEX_RANGE +
+ + + Initializes an instance of struct. + + The first vertex in the range to process. + The number of vertices in the count to use. + + + +

The first vertex in the range to process.

+
+ + hh404335 + unsigned int startVertex + unsigned int startVertex +
+ + +

The number of vertices in the count to use.

+
+ + hh404335 + unsigned int vertexCount + unsigned int vertexCount +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes the options that transforms may set on input textures.

+
+ + hh404310 + D2D1_INPUT_DESCRIPTION + D2D1_INPUT_DESCRIPTION +
+ + + Initializes a new instance of struct. + + The type of filter to apply to the input texture + The mip level to retrieve from the upstream transform, if specified. + + + +

The type of filter to apply to the input texture.

+
+ + hh404310 + D2D1_FILTER filter + D2D1_FILTER filter +
+ + +

The mip level to retrieve from the upstream transform, if specified.

+
+ + hh404310 + unsigned int levelOfDetailCount + unsigned int levelOfDetailCount +
+ + + Internal SourceTransform Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT ID2D1SourceTransform::SetRenderInfo([In] ID2D1RenderInfo* renderInfo) + + + HRESULT ID2D1SourceTransform::Draw([In] ID2D1Bitmap1* target,[In] const RECT* drawRect,[In] D2D_POINT_2U targetOrigin) + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents a CPU-based rasterization stage in the transform pipeline graph.

+
+ +

specializes an implementation of the Shantzis calculations to a transform implemented as the source of an effect graph with the data being provided from sytem memory.

+
+ + hh446908 + ID2D1SourceTransform + ID2D1SourceTransform +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents a CPU-based rasterization stage in the transform pipeline graph.

+
+ +

specializes an implementation of the Shantzis calculations to a transform implemented as the source of an effect graph with the data being provided from sytem memory.

+
+ + hh446908 + ID2D1SourceTransform + ID2D1SourceTransform +
+ + + [This documentation is preliminary and is subject to change.] + + The interface supplied to the transform to allow specifying the precision-based transform pass. + If the method succeeds, it returns . If it fails, it returns an error code. + + Provides a render information interface to the source transform to allow it to specify state to the rendering system. This part of the render information interface is shared with the GPU transform. + + + HRESULT ID2D1SourceTransform::SetRenderInfo([In] ID2D1RenderInfo* renderInfo) + + + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + + HRESULT ID2D1SourceTransform::Draw([In] ID2D1Bitmap1* target,[In] const RECT* drawRect,[In] D2D_POINT_2U targetOrigin) + + + + + + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the render information for the transform.

+
+

The interface supplied to the transform to allow specifying the precision-based transform pass.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

Provides a render information interface to the source transform to allow it to specify state to the rendering system. This part of the render information interface is shared with the GPU transform.

+
+ + hh446912 + HRESULT ID2D1SourceTransform::SetRenderInfo([In] ID2D1RenderInfo* renderInfo) + ID2D1SourceTransform::SetRenderInfo +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Draws the transform to the graphics processing unit (GPU)?based Direct2D pipeline.

+
+

The target to which the transform should be written.

+

The area within the source from which the image should be drawn.

+

The origin within the target bitmap to which the source data should be drawn.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

The implementation of the rasterizer guarantees that adding the renderRect to the targetOrigin does not exceed the bounds of the bitmap.

+
+ + hh446910 + HRESULT ID2D1SourceTransform::Draw([In] ID2D1Bitmap1* target,[In] const RECT* drawRect,[In] D2D_POINT_2U targetOrigin) + ID2D1SourceTransform::Draw +
+ + + Internal DrawTransform Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT ID2D1DrawTransform::SetDrawInfo([In] ID2D1DrawInfo* drawInfo) + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Represents a single stage of a transform graph.

+
+ +

specializes an implementation of the Shantzis calculations to a transform implemented on the GPU. The information required to specify a pass in the rendering algorithm on a pixel shader is passed to the implementation through the SetRenderInfo method.

+
+ + hh404651 + ID2D1DrawTransform + ID2D1DrawTransform +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Represents a single stage of a transform graph.

+
+ +

specializes an implementation of the Shantzis calculations to a transform implemented on the GPU. The information required to specify a pass in the rendering algorithm on a pixel shader is passed to the implementation through the SetRenderInfo method.

+
+ + hh404651 + ID2D1DrawTransform + ID2D1DrawTransform +
+ + + Sets the GPU render information for the transform. + + The interface to specify the GPU-based transform pass.. + HRESULT ID2D1DrawTransform::SetDrawInfo([In] ID2D1DrawInfo* drawInfo) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

A specialized implementation of the Shantzis calculations to a transform implemented on the GPU. The information required to specify a ?Pass? in the rendering algorithm on a Pixel Shader is passed to the implementation through the SetDrawInfo method.

+
+ No documentation. + No documentation. + + hh847992 + HRESULT ID2D1DrawTransform::SetDrawInfo([In] ID2D1DrawInfo* drawInfo) + ID2D1DrawTransform::SetDrawInfo +
+ + +

Contains the content bounds, mask information, opacity settings, and other options for a layer resource.

+
+ + dd368127 + D2D1_LAYER_PARAMETERS + D2D1_LAYER_PARAMETERS +
+ + +

The content bounds of the layer. Content outside these bounds is not guaranteed to render.

+
+ + dd368127 + D2D_RECT_F contentBounds + D2D_RECT_F contentBounds +
+ + +

The geometric mask specifies the area of the layer that is composited into the render target.

+
+ + dd368127 + ID2D1Geometry* geometricMask + ID2D1Geometry geometricMask +
+ + +

A value that specifies the antialiasing mode for the geometricMask.

+
+ + dd368127 + D2D1_ANTIALIAS_MODE maskAntialiasMode + D2D1_ANTIALIAS_MODE maskAntialiasMode +
+ + +

A value that specifies the transform that is applied to the geometric mask when composing the layer.

+
+ + dd368127 + D2D_MATRIX_3X2_F maskTransform + D2D_MATRIX_3X2_F maskTransform +
+ + +

An opacity value that is applied uniformly to all resources in the layer when compositing to the target.

+
+ + dd368127 + float opacity + float opacity +
+ + +

A brush that is used to modify the opacity of the layer. The brush + is mapped to the layer, and the alpha channel of each mapped brush pixel is multiplied against the corresponding layer pixel.

+
+ + dd368127 + ID2D1Brush* opacityBrush + ID2D1Brush opacityBrush +
+ + +

A value that specifies whether the layer intends to render text with ClearType antialiasing.

+
+ + dd368127 + D2D1_LAYER_OPTIONS layerOptions + D2D1_LAYER_OPTIONS layerOptions +
+ + + Sets the geometric mask. + + + The geometric mask. + + ID2D1Geometry* geometricMask + + + + Sets the opacity brush. + + + The opacity brush. + + ID2D1Brush* opacityBrush + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents a graph of transform nodes.

+
+ +

This interface allows a graph of transform nodes to be specified. This interface is passed to to allow an effect implementation to specify a graph of transforms or a single transform.

+
+ + hh446920 + ID2D1TransformGraph + ID2D1TransformGraph +
+ + + Sets a single transform node as being equivalent to the whole graph. + + The node to be set. + + This equivalent to calling , adding a single node, and connecting all of the node inputs to the effect inputs in order. + + HRESULT ID2D1TransformGraph::SetSingleTransformNode([In] ID2D1TransformNode* node) + + + + Adds the provided node to the transform graph. + + The node that will be added to the transform graph. + + This adds a transform node to the transform graph. A node must be added to the transform graph before it can be interconnected in any way.A transform graph cannot be directly added to another transform graph. + Any other kind of interface derived from can be added to the transform graph. + + HRESULT ID2D1TransformGraph::AddNode([In] ID2D1TransformNode* node) + + + + Removes the provided node from the transform graph. + + The node that will be removed from the transform graph. + + The node must already exist in the graph; otherwise, the call fails with D2DERR_NOT_FOUND.Any connections to this node will be removed when the node is removed.After the node is removed, it cannot be used by the interface until it has been added to the graph by AddNode. + + HRESULT ID2D1TransformGraph::RemoveNode([In] ID2D1TransformNode* node) + + + + Sets the output node for the transform graph. + + The node that will be set as the output of the the transform graph. + HRESULT ID2D1TransformGraph::SetOutputNode([In] ID2D1TransformNode* node) + + + + + [This documentation is preliminary and is subject to change.] + + The effect input to which the transform node will be bound. + The node to which the connection will be made. + The node input that will be connected. + The method returns an . Possible values include, but are not limited to, those in the following table.HRESULTDescription S_OKNo error occurred D2DERR_NOT_FOUND = (HRESULT_FROM_WIN32())Direct2D could not locate the specified node.? + + HRESULT ID2D1TransformGraph::ConnectToEffectInput([In] unsigned int toEffectInputIndex,[In] ID2D1TransformNode* node,[In] unsigned int toNodeInputIndex) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + No documentation. + + No documentation. + + unsigned int ID2D1TransformGraph::GetInputCount() + ID2D1TransformGraph::GetInputCount + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets a single transform node as being equivalent to the whole graph.

+
+

The node to be set.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.

?

+ +

This equivalent to calling , adding a single node, and connecting all of the node inputs to the effect inputs in order.

+
+ + hh446935 + HRESULT ID2D1TransformGraph::SetSingleTransformNode([In] ID2D1TransformNode* node) + ID2D1TransformGraph::SetSingleTransformNode +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Adds the provided node to the transform graph.

+
+

The node that will be added to the transform graph.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.

?

+ +

This adds a transform node to the transform graph. A node must be added to the transform graph before it can be interconnected in any way. +

A transform graph cannot be directly added to another transform graph. + Any other kind of interface derived from can be added to the transform graph. +

+
+ + hh446922 + HRESULT ID2D1TransformGraph::AddNode([In] ID2D1TransformNode* node) + ID2D1TransformGraph::AddNode +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Removes the provided node from the transform graph.

+
+

The node that will be removed from the transform graph.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
D2DERR_NOT_FOUND = (HRESULT_FROM_WIN32())Direct2D could not locate the specified node.

?

+ +

The node must already exist in the graph; otherwise, the call fails with D2DERR_NOT_FOUND.

Any connections to this node will be removed when the node is removed.

After the node is removed, it cannot be used by the interface until it has been added to the graph by AddNode.

+
+ + hh446931 + HRESULT ID2D1TransformGraph::RemoveNode([In] ID2D1TransformNode* node) + ID2D1TransformGraph::RemoveNode +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the output node for the transform graph.

+
+

The node that will be considered the output of the transform node.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
D2DERR_NOT_FOUND = (HRESULT_FROM_WIN32())Direct2D could not locate the specified node.

?

+ +

The node must already exist in the graph; otherwise, the call fails with D2DERR_NOT_FOUND.

+
+ + hh446932 + HRESULT ID2D1TransformGraph::SetOutputNode([In] ID2D1TransformNode* node) + ID2D1TransformGraph::SetOutputNode +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Connects two nodes inside the transform graph.

+
+

The node from which the connection will be made.

+

The node to which the connection will be made.

+

The node input that will be connected.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
D2DERR_NOT_FOUND = (HRESULT_FROM_WIN32())Direct2D could not locate the specified node.

?

+ +

Both nodes must already exist in the graph; otherwise, the call fails with D2DERR_NOT_FOUND.

+
+ + hh446926 + HRESULT ID2D1TransformGraph::ConnectNode([In] ID2D1TransformNode* fromNode,[In] ID2D1TransformNode* toNode,[In] unsigned int toNodeInputIndex) + ID2D1TransformGraph::ConnectNode +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Connects a transform node inside the graph to the corresponding effect input of the encapsulating effect.

+
+

The effect input to which the transform node will be bound.

+

The node to which the connection will be made.

+

The node input that will be connected.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
D2DERR_NOT_FOUND = (HRESULT_FROM_WIN32())Direct2D could not locate the specified node.

?

+ + hh446928 + HRESULT ID2D1TransformGraph::ConnectToEffectInput([In] unsigned int toEffectInputIndex,[In] ID2D1TransformNode* node,[In] unsigned int toNodeInputIndex) + ID2D1TransformGraph::ConnectToEffectInput +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Clears the transform nodes and all connections from the transform graph.

+
+ +

Used when enough changes to transfoms would make editing of the transform graph inefficient.

+
+ + hh446924 + void ID2D1TransformGraph::Clear() + ID2D1TransformGraph::Clear +
+ + + No documentation. + + No documentation. + No documentation. + + HRESULT ID2D1TransformGraph::SetPassthroughGraph([In] unsigned int effectInputIndex) + ID2D1TransformGraph::SetPassthroughGraph + + + + No documentation. + + + GetInputCount + GetInputCount + unsigned int ID2D1TransformGraph::GetInputCount() + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Describes a graphics processing unit (GPU) rendering pass on a vertex or pixel shader.

+
+ + hh404633 + ID2D1DrawInfo + ID2D1DrawInfo +
+ + + Sets the constant buffer data from a for the Vertex stage. + + The DataStream that contains the constant buffer data + + + + Sets the constant buffer data from a struct value for the Vertex stage. + + Type of the constant buffer + Value of the constant buffer + HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) + + + + Sets the constant buffer data from a struct value for the Vertex Stage. + + Type of the constant buffer + Value of the constant buffer + HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) + + + + Sets the constant buffer data from a for the Pixel stage. + + The DataStream that contains the constant buffer data + + + + Sets the constant buffer data from a struct value for the Pixel stage. + + Type of the constant buffer + Value of the constant buffer + HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) + + + + Sets the constant buffer data from a struct value for the Pixel Stage. + + Type of the constant buffer + Value of the constant buffer + HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

This interface is used to describe a GPU rendering pass on a vertex or pixel shader. It is passed to .

+
+ No documentation. + No documentation. + No documentation. + + hh847986 + HRESULT ID2D1DrawInfo::SetPixelShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) + ID2D1DrawInfo::SetPixelShaderConstantBuffer +
+ + + No documentation. + + No documentation. + No documentation. + No documentation. + + HRESULT ID2D1DrawInfo::SetResourceTexture([In] unsigned int textureIndex,[In] ID2D1ResourceTexture* resourceTexture) + ID2D1DrawInfo::SetResourceTexture + + + + No documentation. + + No documentation. + No documentation. + No documentation. + + HRESULT ID2D1DrawInfo::SetVertexShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) + ID2D1DrawInfo::SetVertexShaderConstantBuffer + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Indicates how pixel shader sampling will be restricted.

+
+

The pixel shader is not restricted in its sampling.

+

The pixel shader samples inputs only at the same scene coordinate as the output pixel and returns transparent black whenever the input pixels are also transparent black.

+ No documentation. + +

If the shader specifies , it must still correctly implement the region of interest calculations in and .

+
+ + hh404316 + HRESULT ID2D1DrawInfo::SetPixelShader([In] const GUID& shaderId,[In] D2D1_PIXEL_OPTIONS pixelOptions) + ID2D1DrawInfo::SetPixelShader +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Sets a vertex buffer, a corresponding vertex shader, and options to control how the vertices are to be handled by the Direct2D context.

+
+

The vertex buffer. If this is cleared, the default vertex shader and mapping to the transform rectangles are used.

+

Options that influence how the renderer will interact with the vertex shader.

+

How the vertices will be blended with the output texture.

+

If specified, the set of vertices to use from the buffer.

+ No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_INVALIDARGOne or more arguments are not valid.

?

+ +

The vertex shaders associated with the vertex buffer through the vertex shader must have been loaded through the method before this call is made.

If this call fails, the corresponding instance is placed into an error state and fails to draw.

+
+ + hh404646 + HRESULT ID2D1DrawInfo::SetVertexProcessing([In, Optional] ID2D1VertexBuffer* vertexBuffer,[In] D2D1_VERTEX_OPTIONS vertexOptions,[In, Optional] const D2D1_BLEND_DESCRIPTION* blendDescription,[In, Optional] const D2D1_VERTEX_RANGE* vertexRange,[In, Optional] const GUID* vertexShader) + ID2D1DrawInfo::SetVertexProcessing +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes features of an effect.

+
+ +

Note??The caller should not rely heavily on the input rectangles returned by this structure. They can change due to subtle changes in effect implementations and due to optimization changes in the effect rendering system.

+
+ + hh404305 + D2D1_EFFECT_INPUT_DESCRIPTION + D2D1_EFFECT_INPUT_DESCRIPTION +
+ + +

The effect whose input connection is being specified.

+
+ + hh404305 + ID2D1Effect* effect + ID2D1Effect effect +
+ + +

The input index of the effect that is being considered.

+
+ + hh404305 + unsigned int inputIndex + unsigned int inputIndex +
+ + +

The amount of data that would be available on the input. This can be used to query this information when the data is not yet available.

+
+ + hh404305 + D2D_RECT_F inputRectangle + D2D_RECT_F inputRectangle +
+ + + Gets or sets the effect. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

A description of a single element to the vertex layout.

+
+ +

This structure is a subset of that omits fields required to define a vertex layout.

If the D2D1_APPEND_ALIGNED_ELEMENT constant is used for alignedByteOffset, the elements will be packed contiguously for convenience. +

+
+ + hh404312 + D2D1_INPUT_ELEMENT_DESC + D2D1_INPUT_ELEMENT_DESC +
+ + + Initializes a new instance of the struct. + + The HLSL semantic associated with this element in a shader input-signature. + The semantic index for the element. A semantic index modifies a semantic, with an integer index number. A semantic index is only needed in a case where there is more than one element with the same semantic. For example, a 4x4 matrix would have four components each with the semantic name matrix, however each of the four component would have different semantic indices (0, 1, 2, and 3). + The data type of the element data. + Offset (in bytes) between each element. Use AppendAligned for convenience to define the current element directly after the previous one, including any packing if necessary. + An integer value that identifies the input-assembler. Valid values are between 0 and 15. + Identifies the input data class for a single input slot. + The number of instances to draw using the same per-instance data before advancing in the buffer by one element. This value must be 0 for an element that contains per-vertex data. + + + + Initializes a new instance of the struct. + + The HLSL semantic associated with this element in a shader input-signature. + The semantic index for the element. A semantic index modifies a semantic, with an integer index number. A semantic index is only needed in a case where there is more than one element with the same semantic. For example, a 4x4 matrix would have four components each with the semantic name matrix, however each of the four component would have different semantic indices (0, 1, 2, and 3). + The data type of the element data. + Offset (in bytes) between each element. Use AppendAligned for convenience to define the current element directly after the previous one, including any packing if necessary. + An integer value that identifies the input-assembler. Valid values are between 0 and 15. + Identifies the input data class for a single input slot. + The number of instances to draw using the same per-instance data before advancing in the buffer by one element. This value must be 0 for an element that contains per-vertex data. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Implements the operator ==. + + The left. + The right. + + The result of the operator. + + + + + Implements the operator !=. + + The left. + The right. + + The result of the operator. + + + + +

The HLSL semantic associated with this element in a shader input-signature.

+
+ + hh404312 + const char* semanticName + char semanticName +
+ + +

The semantic index for the element. A semantic index modifies a semantic, with an integer index number. A semantic index is only needed in a case where there is more than one element with the same semantic. For example, a 4x4 matrix would have four components each with the semantic name matrix; however, each of the four components would have different semantic indices (0, 1, 2, and 3).

+
+ + hh404312 + unsigned int semanticIndex + unsigned int semanticIndex +
+ + +

The data type of the element data.

+
+ + hh404312 + DXGI_FORMAT format + DXGI_FORMAT format +
+ + +

An integer value that identifies the input-assembler. Valid values are between 0 and 15.

+
+ + hh404312 + unsigned int inputSlot + unsigned int inputSlot +
+ + +

The offset in bytes between each element.

+
+ + hh404312 + unsigned int alignedByteOffset + unsigned int alignedByteOffset +
+ + + Returns a value that can be used for the offset parameter of an InputElement to indicate that the element + should be aligned directly after the previous element, including any packing if necessary. + + A value used to align input elements. + D2D1_APPEND_ALIGNED_ELEMENT + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Defines a mappable single-dimensional vertex buffer.

+
+ + hh446949 + ID2D1VertexBuffer + ID2D1VertexBuffer +
+ + + Initializes a new instance of class. + + Instance of an effect context + + + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Maps the provided data into user memory.

+
+

When this method returns, contains the address of a reference to the available buffer.

+

The desired size of the buffer.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_INVALIDARGAn invalid parameter was passed to the returning function.
D3DERR_DEVICELOSTThe device has been lost but cannot be reset at this time.

?

+ +

If data is larger than bufferSize, this method fails.

+
+ + hh446951 + HRESULT ID2D1VertexBuffer::Map([Out, Buffer] unsigned char** data,[In] unsigned int bufferSize) + ID2D1VertexBuffer::Map +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Unmaps the vertex buffer.

+
+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
The object was not in the correct state to process the method.

?

+ +

After this method returns, the mapped memory from the vertex buffer is no longer accessible by the effect.

+
+ + hh446967 + HRESULT ID2D1VertexBuffer::Unmap() + ID2D1VertexBuffer::Unmap +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Defines the properties of a vertex buffer that are standard for all vertex shader definitions.

+
+ +

If usage is dynamic, the system might return a system memory buffer and copy these vertices into the rendering vertex buffer for each element.

If the initialization data is not specified, the buffer will be uninitialized.

+
+ + hh404330 + D2D1_VERTEX_BUFFER_PROPERTIES + D2D1_VERTEX_BUFFER_PROPERTIES +
+ + + Initializes a new instance of class. + + + + + Initializes a new instance of class. + + The number of inputs to the vertex shader. + Indicates how frequently the vertex buffer is likely to be updated. + The initial contents of the vertex buffer + + + +

The number of inputs to the vertex shader.

+
+ + hh404330 + unsigned int inputCount + unsigned int inputCount +
+ + +

Indicates how frequently the vertex buffer is likely to be updated.

+
+ + hh404330 + D2D1_VERTEX_USAGE usage + D2D1_VERTEX_USAGE usage +
+ + +

The initial contents of the vertex buffer.

+
+ + hh404330 + const unsigned char* data + unsigned char data +
+ + +

The size of the vertex buffer, in bytes.

+
+ + hh404330 + unsigned int byteWidth + unsigned int byteWidth +
+ + + The initial contents of the vertex buffer. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Defines a vertex shader and the input element description to define the input layout. The combination is used to allow a custom vertex effect to create a custom vertex shader and pass it a custom layout.

+
+ +

The vertex shader will be loaded by the CreateVertexBuffer call that accepts the vertex buffer properties.

This structure does not need to be specified if one of the standard vertex shaders is used.

+
+ + hh404301 + D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES + D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES +
+ + + Initializes a new instance of class. + + + + + Initializes a new instance of class. + + + + + + + +

The unique ID of the vertex shader.

+
+ + hh404301 + const unsigned char* shaderBufferWithInputSignature + unsigned char shaderBufferWithInputSignature +
+ + +

An array of input assembler stage data types.

+
+ + hh404301 + unsigned int shaderBufferSize + unsigned int shaderBufferSize +
+ + +

The number of input elements in the vertex shader.

+
+ + hh404301 + const D2D1_INPUT_ELEMENT_DESC* inputElements + D2D1_INPUT_ELEMENT_DESC inputElements +
+ + +

The vertex stride.

+
+ + hh404301 + unsigned int elementCount + unsigned int elementCount +
+ + + No documentation. + + + unsigned int stride + unsigned int stride + + + + The vertex shader bytecode to use as a signature. + + const unsigned char* shaderBufferWithInputSignature + + + + The input elements in the vertex shader. + + const D2D1_INPUT_ELEMENT_DESC* inputElements + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Defines a resource texture when the original resource texture is created.

+
+ + hh404324 + D2D1_RESOURCE_TEXTURE_PROPERTIES + D2D1_RESOURCE_TEXTURE_PROPERTIES +
+ + +

The extents of the resource table in each dimension.

+
+ + hh404324 + const unsigned int* extents + unsigned int extents +
+ + +

The number of dimensions in the resource texture. This must be a number from 1 to 3.

+
+ + hh404324 + unsigned int dimensions + unsigned int dimensions +
+ + +

The precision of the resource texture to create.

+
+ + hh404324 + D2D1_BUFFER_PRECISION bufferPrecision + D2D1_BUFFER_PRECISION bufferPrecision +
+ + +

The number of channels in the resource texture.

+
+ + hh404324 + D2D1_CHANNEL_DEPTH channelDepth + D2D1_CHANNEL_DEPTH channelDepth +
+ + +
+
+ + hh404324 + D2D1_FILTER filter + D2D1_FILTER filter +
+ + +

Specifies how pixel values beyond the extent of the texture will be sampled, in every dimension.

+
+ + hh404324 + const D2D1_EXTEND_MODE* extendModes + D2D1_EXTEND_MODE extendModes +
+ + + The extents of the resource table in each dimension. + + const unsigned int* extents + + + + Specifies how pixel values beyond the extent of the texture will be sampled, in every dimension. + + const D2D1_EXTEND_MODE* extendModes + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Tracks a transform-created resource texture.

+
+ + hh446904 + ID2D1ResourceTexture + ID2D1ResourceTexture +
+ + + Initializes a new instance of class + + The effect context + A unique identifier to the resource + The description of the resource + HRESULT ID2D1EffectContext::CreateResourceTexture([In, Optional] const GUID* resourceId,[In] const D2D1_RESOURCE_TEXTURE_PROPERTIES* resourceTextureProperties,[In, Buffer, Optional] const unsigned char* data,[In, Buffer, Optional] const unsigned int* strides,[In] unsigned int dataSize,[Out] ID2D1ResourceTexture** resourceTexture) + + + + Initializes a new instance of class + + The effect context + A unique identifier to the resource + The description of the resource + HRESULT ID2D1EffectContext::CreateResourceTexture([In, Optional] const GUID* resourceId,[In] const D2D1_RESOURCE_TEXTURE_PROPERTIES* resourceTextureProperties,[In, Buffer, Optional] const unsigned char* data,[In, Buffer, Optional] const unsigned int* strides,[In] unsigned int dataSize,[Out] ID2D1ResourceTexture** resourceTexture) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Updates the specific resource texture inside the specific range or box using the supplied data.

+
+

The "left" extent of the updates if specified; if null, the entire texture is updated.

+

The "right" extent of the updates if specified; if null, the entire texture is updated.

+

The stride to advance through the input data, according to dimension.

+

The number of dimensions in the resource texture. This must match the number used to load the texture.

+

The data to be placed into the resource texture.

+

The size of the data buffer to be used to update the resource texture.

+

This method does not return a value.

+ +

The number of dimensions in the update must match those of the created texture.

+
+ + hh446906 + HRESULT ID2D1ResourceTexture::Update([In, Buffer, Optional] const unsigned int* minimumExtents,[In, Buffer, Optional] const unsigned int* maximimumExtents,[In, Buffer, Optional] const unsigned int* strides,[In] unsigned int dimensions,[In, Buffer] const unsigned char* data,[In] unsigned int dataCount) + ID2D1ResourceTexture::Update +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Instructs the effect-rendering system to offset an input bitmap without inserting a rendering pass.

+
+ +

Because a rendering pass is not required, the interface derives from a transform node. This allows it to be inserted into a graph but does not allow an output buffer to be specified.

+
+ + hh446820 + ID2D1OffsetTransform + ID2D1OffsetTransform +
+ + + Initializes a new instance of class + + The effect context + The offset transformation + HRESULT ID2D1EffectContext::CreateOffsetTransform([In] POINT offset,[Out, Fast] ID2D1OffsetTransform** transform) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the offset in the current offset transform.

+
+

The new offset to apply to the offset transform.

+ + hh446824 + void ID2D1OffsetTransform::SetOffset([In] POINT offset) + ID2D1OffsetTransform::SetOffset +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the offset currently in the offset transform.

+
+

The current transform offset.

+ + hh446822 + POINT ID2D1OffsetTransform::GetOffset() + ID2D1OffsetTransform::GetOffset +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates or finds the given resource texture, depending on whether a resource id is specified. It also optionally initializes the texture with the specified data.

+
+ + hh404469 + ID2D1EffectContext + ID2D1EffectContext +
+ + + Gets the maximum feature level supported by this instance. + + An array of feature levels + The maximum feature level selected from the array + + + + Loads a pixel shader. + + An unique identifier associated with the shader bytecode. + The bytecode of the shader. + HRESULT ID2D1EffectContext::LoadPixelShader([In] const GUID& shaderId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) + + + + Loads a vertex shader. + + An unique identifier associated with the shader bytecode. + The bytecode of the shader. + HRESULT ID2D1EffectContext::LoadVertexShader([In] const GUID& resourceId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) + + + + Loads a compute shader. + + An unique identifier associated with the shader bytecode. + The bytecode of the shader. + HRESULT ID2D1EffectContext::LoadComputeShader([In] const GUID& resourceId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) + + + + Check if this device is supporting a feature. + + The feature to check. + + Returns true if this device supports this feature, otherwise false. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the unit mapping that an effect will use for properties that could be in either dots per inch (dpi) or pixels.

+
+

The dpi on the x-axis.

+

The dpi on the y-axis.

+ +

If the is , both dpiX and dpiY will be set to 96.

+
+ + hh404472 + void ID2D1EffectContext::GetDpi([Out] float* dpiX,[Out] float* dpiY) + ID2D1EffectContext::GetDpi +
+ + + No documentation. + + No documentation. + No documentation. + No documentation. + + HRESULT ID2D1EffectContext::CreateEffect([In] const GUID& effectId,[Out, Fast] ID2D1Effect** effect) + ID2D1EffectContext::CreateEffect + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

This indicates the maximum feature level from the provided list which is supported by the device. If none of the provided levels are supported, then this API fails with .

+
+

The feature levels provided by the application.

+

The count of feature levels provided by the application

+

The maximum feature level from the featureLevels list which is supported by the D2D device.

+ + hh404473 + HRESULT ID2D1EffectContext::GetMaximumSupportedFeatureLevel([In, Buffer] const D3D_FEATURE_LEVEL* featureLevels,[In] unsigned int featureLevelsCount,[Out] D3D_FEATURE_LEVEL* maximumSupportedFeatureLevel) + ID2D1EffectContext::GetMaximumSupportedFeatureLevel +
+ + + No documentation. + + No documentation. + No documentation. + + HRESULT ID2D1EffectContext::CreateTransformNodeFromEffect([In] ID2D1Effect* effect,[Out] ID2D1TransformNode** transformNode) + ID2D1EffectContext::CreateTransformNodeFromEffect + + + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + + HRESULT ID2D1EffectContext::CreateBlendTransform([In] unsigned int numInputs,[In] const D2D1_BLEND_DESCRIPTION* blendDescription,[Out, Fast] ID2D1BlendTransform** transform) + ID2D1EffectContext::CreateBlendTransform + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a transform that extends its input infinitely in every direction based on the passed in extend mode.

+
+

The extend mode in the X-axis direction.

+

The extend mode in the Y-axis direction.

+

The returned transform.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ + hh404463 + HRESULT ID2D1EffectContext::CreateBorderTransform([In] D2D1_EXTEND_MODE extendModeX,[In] D2D1_EXTEND_MODE extendModeY,[Out, Fast] ID2D1BorderTransform** transform) + ID2D1EffectContext::CreateBorderTransform +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates and returns an offset transform.

+
+

The offset amount.

+

When this method returns, contains the address of a reference to an offset transform object.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ +

An offset transform is used to offset an input bitmap without having to insert a rendering pass. An offset transform is automatically inserted by an Affine transform if the transform evaluates to a pixel-aligned transform.

+
+ + hh404468 + HRESULT ID2D1EffectContext::CreateOffsetTransform([In] POINT offset,[Out, Fast] ID2D1OffsetTransform** transform) + ID2D1EffectContext::CreateOffsetTransform +
+ + + No documentation. + + No documentation. + No documentation. + No documentation. + + HRESULT ID2D1EffectContext::CreateBoundsAdjustmentTransform([In] const RECT* outputRectangle,[Out, Fast] ID2D1BoundsAdjustmentTransform** transform) + ID2D1EffectContext::CreateBoundsAdjustmentTransform + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Loads the given shader by its unique ID. Loading the shader multiple times is ignored. When the shader is loaded it is also handed to the driver to JIT, if it hasn?t been already. This can?t replace a shader, in order to do this a new must be created.

+
+

The unique id that identifies the shader.

+

The buffer that contains the shader to register.

+

The size of the shader buffer in bytes.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ + hh404476 + HRESULT ID2D1EffectContext::LoadPixelShader([In] const GUID& shaderId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) + ID2D1EffectContext::LoadPixelShader +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Loads the given shader by its unique ID. Loading the shader multiple times is ignored. When the shader is loaded it is also handed to the driver to JIT, if it hasn?t been already. This can?t replace a shader, in order to do this a new must be created.

+
+

The unique id that identifies the shader.

+

The buffer that contains the shader to register.

+

The size of the shader buffer in bytes.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ + hh404477 + HRESULT ID2D1EffectContext::LoadVertexShader([In] const GUID& resourceId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) + ID2D1EffectContext::LoadVertexShader +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Loads the given shader by its unique ID. Loading the shader multiple times is ignored. When the shader is loaded it is also handed to the driver to JIT, if it hasn?t been already. This can?t replace a shader, in order to do this a new must be created.

+
+

The unique id that identifies the shader.

+

The buffer that contains the shader to register.

+

The size of the shader buffer in bytes.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ + hh404475 + HRESULT ID2D1EffectContext::LoadComputeShader([In] const GUID& resourceId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) + ID2D1EffectContext::LoadComputeShader +
+ + + No documentation. + + No documentation. + No documentation. + + BOOL ID2D1EffectContext::IsShaderLoaded([In] const GUID& shaderId) + ID2D1EffectContext::IsShaderLoaded + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates or finds the given resource texture, depending on whether a resource id is specified. It also optionally initializes the texture with the specified data.

+
+

The unique id that identifies the lookup table.

+

The properties used to create the resource texture.

+

The data to be loaded into the resource texture.

+

The size, in bytes, of the data.

+

The returned texture that can be used as a resource in a Direct2D effect.

+ No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ + hh404469 + HRESULT ID2D1EffectContext::CreateResourceTexture([In, Optional] const GUID* resourceId,[In] const void* resourceTextureProperties,[In, Buffer, Optional] const unsigned char* data,[In, Buffer, Optional] const unsigned int* strides,[In] unsigned int dataSize,[Out, Fast] ID2D1ResourceTexture** resourceTexture) + ID2D1EffectContext::CreateResourceTexture +
+ + + No documentation. + + No documentation. + No documentation. + + HRESULT ID2D1EffectContext::FindResourceTexture([In] const GUID* resourceId,[Out] ID2D1ResourceTexture** resourceTexture) + ID2D1EffectContext::FindResourceTexture + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a vertex buffer or finds a standard vertex buffer and optionally initializes it with vertices. The returned buffer can be specified in the render info to specify both a vertex shader and or to pass custom vertices to the standard vertex shader used by Direct2D.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ + hh404471 + HRESULT ID2D1EffectContext::CreateVertexBuffer([In] const D2D1_VERTEX_BUFFER_PROPERTIES* vertexBufferProperties,[In, Optional] const GUID* resourceId,[In, Optional] const void* customVertexBufferProperties,[Out, Fast] ID2D1VertexBuffer** buffer) + ID2D1EffectContext::CreateVertexBuffer +
+ + + No documentation. + + No documentation. + No documentation. + + HRESULT ID2D1EffectContext::FindVertexBuffer([In] const GUID* resourceId,[Out] ID2D1VertexBuffer** buffer) + ID2D1EffectContext::FindVertexBuffer + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

+
+

TBD

+ No documentation. + No documentation. + No documentation. +

TBD

+ + hh404464 + HRESULT ID2D1EffectContext::CreateColorContext([In] D2D1_COLOR_SPACE space,[In, Buffer, Optional] const unsigned char* profile,[In] unsigned int profileSize,[Out, Fast] ID2D1ColorContext** colorContext) + ID2D1EffectContext::CreateColorContext +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

+
+

TBD

+ No documentation. +

TBD

+ + hh404465 + HRESULT ID2D1EffectContext::CreateColorContextFromFilename([In] const wchar_t* filename,[Out, Fast] ID2D1ColorContext** colorContext) + ID2D1EffectContext::CreateColorContextFromFilename +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

+
+

TBD

+ No documentation. +

TBD

+ + hh404466 + HRESULT ID2D1EffectContext::CreateColorContextFromWicColorContext([In] IWICColorContext* wicColorContext,[Out, Fast] ID2D1ColorContext** colorContext) + ID2D1EffectContext::CreateColorContextFromWicColorContext +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

This defines the feature for which support can be queried using .

+
+ No documentation. + No documentation. + No documentation. + No documentation. + + hh871443 + HRESULT ID2D1EffectContext::CheckFeatureSupport([In] D2D1_FEATURE feature,[Out, Buffer] void* featureSupportData,[In] unsigned int featureSupportDataSize) + ID2D1EffectContext::CheckFeatureSupport +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Indicates whether the buffer precision is supported by the underlying Direct2D device.

+
+ No documentation. +

Returns TRUE if the buffer precision is supported. Returns if the buffer precision is not supported.

+ + hh847981 + BOOL ID2D1EffectContext::IsBufferPrecisionSupported([In] D2D1_BUFFER_PRECISION bufferPrecision) + ID2D1EffectContext::IsBufferPrecisionSupported +
+ + + Gets the DPI. + + + + + Metadata description for property binding. + + + + + Initializes a new instance of attribute. + + Order of the property + Minimum value of this property + Maximum value of this property + Default value of this property + + + + Gets the order of this property. + + + + + Gets the DisplayName. + + + + + Gets the Type of the property. + + + + + Gets the Min value. + + + + + Gets the Max value. + + + + + Gets the Default value. + + + + + Input attribute for description. + + + + + Initializes a new instance of attribute. + + + + + + Gets the Input name. + + + + + Global attribute for description. + + + + + Initializes a new instance of class. + + Description of the custom effect + Category of the custom effect + Author of the custom effect + + + + Gets the DisplayName name. + + + + + Gets the Description name. + + + + + Gets the Category name. + + + + + Gets the Author name. + + + + + Base abstract class for interface. + + + + + Custom Effect interface. Equivalent of C++ ID2D1EffectImpl. + + ID2D1EffectImpl + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Allows the internal context to be specified by the effect author.

+
+ + hh404568 + ID2D1EffectImpl + ID2D1EffectImpl +
+ + + Creates any resources used repeatedly during subsequent rendering calls. + + An internal factory interface that creates and returns effect author centric types. + No documentation. + + This moves resource creation cost to the CreateEffect call, rather than during rendering.If the implementation fails this call, the corresponding call also fails.The following example shows an effect implementing an initialize method. + + HRESULT ID2D1EffectImpl::Initialize([In] ID2D1EffectContext* effectContext,[In] ID2D1TransformGraph* transformGraph) + + + + Prepares an effect for the rendering process. + + Indicates the type of change the effect should expect. + + This method is called by the renderer when the effect is within an effect graph that is drawn.The method will be called:If the effect has been initialized but has not previously been drawn. If an effect property has been set since the last draw call. If the context state has changed since the effect was last drawn.The method will not otherwise be called. The transforms created by the effect will be called to handle their input and output rectangles for every draw call.Most effects defer creating any resources or specifying a topology until this call is made. They store their properties and map them to a concrete set of rendering techniques when first drawn. + + HRESULT ID2D1EffectImpl::PrepareForRender([In] D2D1_CHANGE_TYPE changeType) + + + + The renderer calls this method to provide the effect implementation with a way to specify its transform graph and transform graph changes. + The renderer calls this method when: 1) When the effect is first initialized. 2) If the number of inputs to the effect changes. + + The graph to which the effect describes its transform topology through the SetDescription call.. + HRESULT ID2D1EffectImpl::SetGraph([In] ID2D1TransformGraph* transformGraph) + + + + + + + + + + + + + Delegate used by to create a custom effect. + + A new instance of custom effect + + + + Internal class used to keep reference to factory. + + + + + Converts custom effect to an xml description + + + + + + Initializes the property bindings + + + + + Initializes the xml descriptor for this effect. + + + + HRESULT ID2D1EffectImpl::Initialize([In] ID2D1EffectContext* effectContext,[In] ID2D1TransformGraph* transformGraph) + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Allows the internal context to be specified by the effect author.

+
+ + hh404568 + ID2D1EffectImpl + ID2D1EffectImpl +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates any resources used repeatedly during subsequent rendering calls.

+
+

An internal factory interface that creates and returns effect author?centric types.

+ No documentation. +

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

This moves resource creation cost to the CreateEffect call, rather than during rendering.

If the implementation fails this call, the corresponding call also fails.

The following example shows an effect implementing an initialize method.

+
+ + hh404570 + HRESULT ID2D1EffectImpl::Initialize([In] ID2D1EffectContext* effectContext,[In] ID2D1TransformGraph* transformGraph) + ID2D1EffectImpl::Initialize +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Prepares an effect for the rendering process.

+
+

Indicates the type of change the effect should expect.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

This method is called by the renderer when the effect is within an effect graph that is drawn.

The method will be called:

  • If the effect has been initialized but has not previously been drawn.
  • If an effect property has been set since the last draw call.
  • If the context state has changed since the effect was last drawn.

The method will not otherwise be called. The transforms created by the effect will be called to handle their input and output rectangles for every draw call.

Most effects defer creating any resources or specifying a topology until this call is made. They store their properties and map them to a concrete set of rendering techniques when first drawn.

+
+ + hh404572 + HRESULT ID2D1EffectImpl::PrepareForRender([In] D2D1_CHANGE_TYPE changeType) + ID2D1EffectImpl::PrepareForRender +
+ + + No documentation. + + No documentation. + No documentation. + + HRESULT ID2D1EffectImpl::SetGraph([In] ID2D1TransformGraph* transformGraph) + ID2D1EffectImpl::SetGraph + + + + Internal CustomEffect Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT ID2D1EffectImpl::Initialize([In] ID2D1EffectContext* effectContext,[In] ID2D1TransformGraph* transformGraph) + + + HRESULT ID2D1EffectImpl::PrepareForRender([In] D2D1_CHANGE_TYPE changeType) + + + + The renderer calls this method to provide the effect implementation with a way to specify its transform graph and transform graph changes. + The renderer calls this method when: 1) When the effect is first initialized. 2) If the number of inputs to the effect changes. + + The graph to which the effect describes its transform topology through the SetDescription call.. + HRESULT ID2D1EffectImpl::SetGraph([In] ID2D1TransformGraph* transformGraph) + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Defines a property binding to a pair of functions which get and set the corresponding property.

+
+ +

The propertyName is used to cross-correlate the property binding with the registration XML. The propertyName must be present in the XML call or the registration will fail. The property index is used to define the index of the exposed property regardless of the order of the entries in the property binding array or the order of the properties in the registration XML. While the property indices must be contiguous, they do not have to be ordered. All properties must be bound.

+
+ + hh404320 + D2D1_PROPERTY_BINDING + D2D1_PROPERTY_BINDING +
+ + +

The name of the property. This must exist in the XML schema.

+
+ + hh404320 + const wchar_t* propertyName + wchar_t propertyName +
+ + +

The index of the property.

+
+ + hh404320 + __function__stdcall* setFunction + __function__stdcall setFunction +
+ + +

The function that will receive the data to set.

+
+ + hh404320 + __function__stdcall* getFunction + __function__stdcall getFunction +
+ + + Gets the type of the property. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Represents the drawing state of a render target: the antialiasing mode, transform, tags, and text-rendering options.

Note??You can get an using the ID2D1DeviceContext::CreateDrawingStateBlock method or you can use the QueryInterface method on an object.

+
+ + hh871452 + ID2D1DrawingStateBlock1 + ID2D1DrawingStateBlock1 +
+ + +

Represents the drawing state of a render target: the antialiasing mode, transform, tags, and text-rendering options.

+
+ + Creating Objects

To create an , use the method.

A drawing state block is a device-independent resource; you can create it once and retain it for the life of your application. For more information about resources, see the Resources Overview.

+
+ + dd371218 + ID2D1DrawingStateBlock + ID2D1DrawingStateBlock +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the antialiasing mode, transform, and tags portion of the drawing state.

+
+

When this method returns, contains the antialiasing mode, transform, and tags portion of the drawing state. You must allocate storage for this parameter.

+ + dd371223 + void ID2D1DrawingStateBlock::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION* stateDescription) + ID2D1DrawingStateBlock::GetDescription +
+ + +

Specifies the antialiasing mode, transform, and tags portion of the drawing state.

+
+

The antialiasing mode, transform, and tags portion of the drawing state.

+ + dd371231 + void ID2D1DrawingStateBlock::SetDescription([In] const D2D1_DRAWING_STATE_DESCRIPTION* stateDescription) + ID2D1DrawingStateBlock::SetDescription +
+ + +

Specifies the text-rendering configuration of the drawing state.

+
+

The text-rendering configuration of the drawing state, or null to use default settings.

+ + dd371237 + void ID2D1DrawingStateBlock::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) + ID2D1DrawingStateBlock::SetTextRenderingParams +
+ + +

Retrieves the text-rendering configuration of the drawing state.

+
+

When this method returns, contains the address of a reference to an object that describes the text-rendering configuration of the drawing state.

+ + dd371227 + void ID2D1DrawingStateBlock::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) + ID2D1DrawingStateBlock::GetTextRenderingParams +
+ + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + + + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + A structure that contains antialiasing, transform, and tags information. + + + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + Optional text parameters that indicate how text should be rendered. + + + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + A structure that contains antialiasing, transform, and tags information. + Optional text parameters that indicate how text should be rendered. + + + +

Retrieves or sets the antialiasing mode, transform, and tags portion of the drawing state.

+
+ + dd371223 + GetDescription / SetDescription + GetDescription + void ID2D1DrawingStateBlock::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION* stateDescription) +
+ + +

Retrieves or sets the text-rendering configuration of the drawing state.

+
+ + dd371227 + GetTextRenderingParams / SetTextRenderingParams + GetTextRenderingParams + void ID2D1DrawingStateBlock::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) +
+ + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + + + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + A structure that contains antialiasing, transform, and tags information. + + + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + Optional text parameters that indicate how text should be rendered. + + + + Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. + + an instance of + A structure that contains antialiasing, transform, and tags information. + Optional text parameters that indicate how text should be rendered. + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + No documentation. + + No documentation. + + void ID2D1DrawingStateBlock1::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION1* stateDescription) + ID2D1DrawingStateBlock1::GetDescription + + + + No documentation. + + No documentation. + + void ID2D1DrawingStateBlock1::SetDescription([In] const D2D1_DRAWING_STATE_DESCRIPTION1* stateDescription) + ID2D1DrawingStateBlock1::SetDescription + + + + No documentation. + + + GetDescription / SetDescription + GetDescription + void ID2D1DrawingStateBlock1::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION1* stateDescription) + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Reperesents a basic image-processing construct in Direct2D.

+
+ +

An effect takes zero or more input images, and has an output image. The images that are input into and output from an effect are lazily evaluated. This definition is sufficient to allow an arbitrary graph of effects to be created from the application by feeding output images into the input image of the next effect in the chain.

+
+ + hh404566 + ID2D1Effect + ID2D1Effect +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the sub-properties of the provided property by index.

+
+ +

If there are no sub-properties, subProperties will be null, and will be returned.

+
+ + hh446870 + ID2D1Properties + ID2D1Properties +
+ + + Gets the number of characters for the given property name. + + The index of the property for which the name is being returned. + The name of the property + + This method returns an empty string if index is invalid. + + HRESULT ID2D1Properties::GetPropertyName([In] unsigned int index,[Out, Buffer] wchar_t* name,[In] unsigned int nameCount) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by index. + + The index of the property from which the data is to be obtained. + The value of the specified property by index. + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Gets the value of the specified property by name. + + The name of the property. + The value of the specified property by name. + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Name of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Sets the named property to the given value. + + Index of the property + Value of the property + HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the number of top-level properties.

+
+

This method returns the number of custom (non-system) properties that can be accessed by the object.

+ +

This method returns the number of custom properties on the interface. System properties and sub-properties are part of a closed set, and are enumerable by iterating over this closed set.

+
+ + hh446857 + unsigned int ID2D1Properties::GetPropertyCount() + ID2D1Properties::GetPropertyCount +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the property name that corresponds to the given index.

+
+

The index of the property for which the name is being returned.

+

When this method returns, contains the name being retrieved.

+

The number of characters in the name buffer.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
HRESULT_FROM_WIN32()The supplied buffer was too small to accomodate the data.
The specified property does not exist.

?

+ +

This method returns an empty string if index is invalid. If the method returns RESULT_FROM_WIN32(), name will still be filled and truncated.

+
+ + hh446864 + HRESULT ID2D1Properties::GetPropertyName([In] unsigned int index,[Out, Buffer] wchar_t* name,[In] unsigned int nameCount) + ID2D1Properties::GetPropertyName +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the number of characters for the given property name.

+
+

The index of the property name to retrieve.

+

This method returns the size in characters of the name corresponding to the given property index, or zero if the property index does not exist.

+ +

The value returned by this method can be used to ensure that the buffer size for GetPropertyName is appropriate.

+
+ + hh446867 + unsigned int ID2D1Properties::GetPropertyNameLength([In] unsigned int index) + ID2D1Properties::GetPropertyNameLength +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the of the selected property.

+
+ No documentation. +

This method returns the type of the selected property.

+ +

If the property does not exist, the method returns .

+
+ + hh446873 + D2D1_PROPERTY_TYPE ID2D1Properties::GetType([In] unsigned int index) + ID2D1Properties::GetType +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the index corresponding to the given property name.

+
+

The name of the property to retrieve.

+

The index of the corresponding property name.

+ +

If the property does not exist, this method returns D2D1_INVALID_PROPERTY_INDEX. This reserved value will never map to a valid index and will cause null or sentinel values to be returned from other parts of the property interface.

+
+ + hh446861 + unsigned int ID2D1Properties::GetPropertyIndex([In] const wchar_t* name) + ID2D1Properties::GetPropertyIndex +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the named property to the given value.

+
+

The name of the property to set.

+

The data to set.

+

The number of bytes in the data to set.

+ No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
The specified property does not exist.
E_OUTOFMEMORYFailed to allocate necessary memory.
D3DERR_OUT_OF_VIDEO_MEMORYFailed to allocate required video memory.
E_INVALIDARGOne or more arguments are invalid.
E_FAILUnspecified failure.

?

+ +

If the property does not exist, the request is ignored and the method returns .

Any error not in the standard set returned by a property implementation will be mapped into the standard error range.

+
+ + hh446887 + HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + ID2D1Properties::SetValueByName +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the corresponding property by index.

+
+

The index of the property to set.

+

The data to set.

+

The number of bytes in the data to set.

+ No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
The specified property does not exist.
E_OUTOFMEMORYFailed to allocate necessary memory.
D3DERR_OUT_OF_VIDEO_MEMORYFailed to allocate required video memory.
E_INVALIDARGOne or more arguments are invalid.
E_FAILUnspecified failure.

?

+ +

If the property does not exist, the request is ignored and is returned.

Any error not in the standard set returned by a property implementation will be mapped into the standard error range.

+
+ + hh446885 + HRESULT ID2D1Properties::SetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) + ID2D1Properties::SetValue +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the property value by name.

+
+

The property name to get.

+

When this method returns, contains the buffer with the data value.

+

The number of bytes in the data to be retrieved.

+ No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
The specified property does not exist.
E_OUTOFMEMORYFailed to allocate necessary memory.
D3DERR_OUT_OF_VIDEO_MEMORYFailed to allocate required video memory.
E_INVALIDARGOne or more arguments are invalid.
E_FAILUnspecified failure.

?

+ +

If name does not exist, no information is retrieved.

Any error not in the standard set returned by a property implementation will be mapped into the standard error range.

+
+ + hh446879 + HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + ID2D1Properties::GetValueByName +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the value of the specified property by index.

+
+

The index of the property from which the data is to be obtained.

+

When this method returns, contains a reference to the data requested.

+

The number of bytes in the data to be retrieved.

+ No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
The specified property does not exist.
E_OUTOFMEMORYFailed to allocate necessary memory.
D3DERR_OUT_OF_VIDEO_MEMORYFailed to allocate required video memory.
E_INVALIDARGOne or more arguments are invalid.
E_FAILUnspecified failure.

?

+ + hh446876 + HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) + ID2D1Properties::GetValue +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the size of the property value in bytes, using the property index.

+
+

The index of the property.

+

This method returns size of the value in bytes, using the property index

+ +

This method returns zero if index does not exist.

+
+ + hh446882 + unsigned int ID2D1Properties::GetValueSize([In] unsigned int index) + ID2D1Properties::GetValueSize +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the sub-properties of the provided property by index.

+
+

The index of the sub-properties to be retrieved.

+

When this method returns, contains the address of a reference to the sub-properties.

+ +

If there are no sub-properties, subProperties will be null, and will be returned.

+
+ + hh446870 + HRESULT ID2D1Properties::GetSubProperties([In] unsigned int index,[Out, Optional] ID2D1Properties** subProperties) + ID2D1Properties::GetSubProperties +
+ + + Gets or sets Cached property. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the number of top-level properties.

+
+ +

This method returns the number of custom properties on the interface. System properties and sub-properties are part of a closed set, and are enumerable by iterating over this closed set.

+
+ + hh446857 + GetPropertyCount + GetPropertyCount + unsigned int ID2D1Properties::GetPropertyCount() +
+ + + Initializes a new instance of the class. + + The device context. + The class ID of the effect to create. + If no sufficient memory to complete the call, or if it does not have enough display memory to perform the operation, or if the specified effect is not registered by the system. + + The created effect does not increment the reference count for the dynamic-link library (DLL) from which the effect was created. If the application deletes an effect while that effect is loaded, the resulting behavior will be unpredictable. + + HRESULT ID2D1DeviceContext::CreateEffect([In] const GUID& effectId,[Out, Fast] ID2D1Effect** effect) + + + + Initializes a new instance of the class. + + The effect context. + The class ID of the effect to create. + No documentation. + + HRESULT ID2D1EffectContext::CreateEffect([In] const GUID& effectId,[Out] ID2D1Effect** effect) + + + + Sets the input by using the output of a given effect. + + Index of the input + Effect output to use as input + To invalidate + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + Constant OpacityMetadata. + CLSID_D2D1OpacityMetadata + + + Constant DisplacementMap. + CLSID_D2D1DisplacementMap + + + Constant Border. + CLSID_D2D1Border + + + Constant Saturation. + CLSID_D2D1Saturation + + + Constant ConvolveMatrix. + CLSID_D2D1ConvolveMatrix + + + Constant Morphology. + CLSID_D2D1Morphology + + + Constant Histogram. + CLSID_D2D1Histogram + + + Constant DistantDiffuse. + CLSID_D2D1DistantDiffuse + + + Constant Scale. + CLSID_D2D1Scale + + + Constant Composite. + CLSID_D2D1Composite + + + Constant Turbulence. + CLSID_D2D1Turbulence + + + Constant SpotDiffuse. + CLSID_D2D1SpotDiffuse + + + Constant HueRotation. + CLSID_D2D1HueRotation + + + Constant ColorMatrix. + CLSID_D2D1ColorMatrix + + + Constant LuminanceToAlpha. + CLSID_D2D1LuminanceToAlpha + + + Constant DistantSpecular. + CLSID_D2D1DistantSpecular + + + Constant Atlas. + CLSID_D2D1Atlas + + + Constant Brightness. + CLSID_D2D1Brightness + + + Constant Premultiply. + CLSID_D2D1Premultiply + + + Constant GammaTransfer. + CLSID_D2D1GammaTransfer + + + Constant Tile. + CLSID_D2D1Tile + + + Constant Blend. + CLSID_D2D1Blend + + + Constant LinearTransfer. + CLSID_D2D1LinearTransfer + + + Constant ColorManagement. + CLSID_D2D1ColorManagement + + + Constant SpotSpecular. + CLSID_D2D1SpotSpecular + + + Constant Shadow. + CLSID_D2D1Shadow + + + Constant ArithmeticComposite. + CLSID_D2D1ArithmeticComposite + + + Constant TableTransfer. + CLSID_D2D1TableTransfer + + + Constant BitmapSource. + CLSID_D2D1BitmapSource + + + Constant PointDiffuse. + CLSID_D2D1PointDiffuse + + + Constant Crop. + CLSID_D2D1Crop + + + Constant DirectionalBlur. + CLSID_D2D1DirectionalBlur + + + Constant Flood. + CLSID_D2D1Flood + + + Constant DiscreteTransfer. + CLSID_D2D1DiscreteTransfer + + + Constant GaussianBlur. + CLSID_D2D1GaussianBlur + + + Constant PointSpecular. + CLSID_D2D1PointSpecular + + + Constant DpiCompensation. + CLSID_D2D1DpiCompensation + + + Constant UnPremultiply. + CLSID_D2D1UnPremultiply + + + Constant AffineTransform2D. + CLSID_D2D12DAffineTransform + + + Constant PerspectiveTransform3D. + CLSID_D2D13DPerspectiveTransform + + + Constant Transform3D. + CLSID_D2D13DTransform + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the given input image by index.

+
+

The index of the image to set.

+

The input image to set.

+

Whether to invalidate the graph at the location of the effect input

+ +

If the input index is out of range, the input image is ignored.

+
+ + hh404591 + void ID2D1Effect::SetInput([In] unsigned int index,[In, Optional] ID2D1Image* input,[In] BOOL invalidate) + ID2D1Effect::SetInput +
+ + + No documentation. + + No documentation. + No documentation. + + HRESULT ID2D1Effect::SetInputCount([In] unsigned int inputCount) + ID2D1Effect::SetInputCount + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the given input image by index.

+
+

The index of the image to retrieve.

+ +

If the input index is out of range, the returned image will be null.

+
+ + hh404579 + void ID2D1Effect::GetInput([In] unsigned int index,[Out, Optional] ID2D1Image** input) + ID2D1Effect::GetInput +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the number of inputs to the effect.

+
+

This method returns the number of inputs to the effect.

+ + hh404582 + unsigned int ID2D1Effect::GetInputCount() + ID2D1Effect::GetInputCount +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the output image from the effect.

+
+

When this method returns, contains the address of a reference to the output image for the effect.

+ +

The output image can be set as an input to another effect, or can be directly passed into the in order to render the effect.

It is also possible to use QueryInterface to retreive the same output image.

+
+ + hh404585 + void ID2D1Effect::GetOutput([Out] ID2D1Image** outputImage) + ID2D1Effect::GetOutput +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the number of inputs to the effect.

+
+ + hh404582 + GetInputCount / SetInputCount + GetInputCount + unsigned int ID2D1Effect::GetInputCount() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the output image from the effect.

+
+ +

The output image can be set as an input to another effect, or can be directly passed into the in order to render the effect.

It is also possible to use QueryInterface to retreive the same output image.

+
+ + hh404585 + GetOutput + GetOutput + void ID2D1Effect::GetOutput([Out] ID2D1Image** outputImage) +
+ + + Class used to instantiate custom effects. + + Type of the custom effect + + + + Initializes a new instance of a custom class. + + The device context. + If no sufficient memory to complete the call, or if it does not have enough display memory to perform the operation, or if the specified effect is not registered by the system. + + The created effect does not increment the reference count for the dynamic-link library (DLL) from which the effect was created. If the application deletes an effect while that effect is loaded, the resulting behavior will be unpredictable. + + HRESULT ID2D1DeviceContext::CreateEffect([In] const GUID& effectId,[Out, Fast] ID2D1Effect** effect) + + + + Initializes a new instance of the class. + + The effect context. + No documentation. + + HRESULT ID2D1EffectContext::CreateEffect([In] const GUID& effectId,[Out] ID2D1Effect** effect) + + + + Built in AffineTransform2D effect. + + + + + Initializes a new instance of effect. + + + + + + The interpolation mode used to scale the image. There are 6 scale modes that range in quality and speed. + If you don't select a mode, the effect uses the interpolation mode of the device context. + See for more info. + + + + + The mode used to calculate the border of the image, soft or hard. See modes for more info. + + + + + The 3x2 matrix to transform the image using the Direct2D matrix transform. + + + + + In the high quality cubic interpolation mode, the sharpness level of the scaling filter as a float between 0 and 1. + The values are unitless. You can use sharpness to adjust the quality of an image when you scale the image. + The sharpness factor affects the shape of the kernel. The higher the sharpness factor, the smaller the kernel. + + + This property affects only the high quality cubic interpolation mode. + + + + + Built in ArithmeticComposite effect. + + + + + Initializes a new instance of effect. + + + + + + The coefficients for the equation used to composite the two input images. The coefficients are unitless and unbounded. + + + + + Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha. + if you set this to TRUE the effect will clamp the values. If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. + + + + + Built in Atlas effect. + + + + + Initializes a new instance of effect. + + + + + + The portion of the image passed to the next effect. + + + + + The portion of the image passed to the next effect. + + + + + Built in BitmapSource effect. + + + + + Initializes a new instance of effect. + + + + + + The containing the image data to be loaded. + + + + + The scale amount in the X and Y direction. + The effect multiplies the width by the X value and the height by the Y value. + This property is a defined as: (X scale, Y scale). The scale amounts are FLOAT, unitless, and must be positive or 0. + + + + + The interpolation mode used to scale the image. See Interpolation modes for more info. + If the mode disables the mipmap, then BitmapSouce will cache the image at the resolution determined by the Scale and EnableDPICorrection properties. + + + + + If you set this to true, the effect will scale the input image to convert the DPI reported by IWICBitmapSource to the DPI of the device context. + The effect uses the interpolation mode you set with the InterpolationMode property. + If you set this to false, the effect uses a DPI of 96.0 for the output image. + + + + + The alpha mode of the output. This can be either premultiplied or straight. See Alpha modes for more info. + + + + + A flip and/or rotation operation to be performed on the image. See Orientation for more info. + + + + + Built in Blend effect. + + + + + Initializes a new instance of effect. + + + + + + The blend mode used for the effect. See Blend modes for more info. + + + + + Built in Border effect. + + + + + Initializes a new instance of effect. + + + + + + The edge mode in the X direction for the effect. You can set this to clamp, wrap, or mirror. See Edge modes for more info. + + + + + The edge mode in the Y direction for the effect. You can set this to clamp, wrap, or mirror. See Edge modes for more info. + + + + + Built in Brightness effect. + + + + + Initializes a new instance of effect. + + + + + + The upper portion of the brightness transfer curve. The white point adjusts the appearance of the brighter portions of the image. This property is for both the x value and the y value, in that order. Each of the values of this property are between 0 and 1, inclusive. + + + + + The lower portion of the brightness transfer curve. The black point adjusts the appearance of the darker portions of the image. This property is for both the x value and the y value, in that order. Each of the values of this property are between 0 and 1, inclusive. + + + + + Built in ColorManagement effect. + + + + + Initializes a new instance of effect. + + + + + + The source color context. Default null + + + + + The rendering intent for the source context. + + + + + The destination color context. Default null + + + + + The rendering intent for the destination context. + + + + + The alpha mode of this color management. + + + + + Built in ColorMatrix effect. + + + + + Initializes a new instance of effect. + + + + + + A 5x4 matrix of float values. The elements in the matrix are not bounded and are unitless. + The default is the identity matrix. + + + + + The alpha mode of the output. This can be either premultiplied or straight. See Alpha modes for more info. + + + + + Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha . + if you set this to TRUE the effect will clamp the values. + If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. + + + + + Built in Composite effect. + + + + + Initializes a new instance of effect. + + + + + + The mode used for the effect. + + + + + Built in ConvolveMatrix effect. + + + + + Initializes a new instance of effect. + + + + + + The size of one unit in the kernel. The units are in (DIPs/kernel unit), where a kernel unit is the size of the element in the convolution kernel. A value of 1 (DIP/kernel unit) corresponds to one pixel in a image at 96 DPI. + + + + + 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. If you don't select a mode, the effect uses the interpolation mode of the device context. See Scale modes for more info + + + + + The width of the kernel matrix. The units are specified in kernel units. + + + + + The height of the kernel matrix. The units are specified in kernel units. + + + + + The kernel matrix to be applied to the image. The kernel elements aren't bounded and are specified as floats. + The first set of KernelSizeX numbers in the FLOAT[] corresponds to the first row in the kernel. + The second set of KernelSizeX numbers correspond to the second row, and so on up to KernelSizeY rows. + + + + + The kernel matrix is applied to a pixel and then the result is divided by this value. 0 behaves as a value of float epsilon. + + + + + The effect applies the kernel matrix, the divisor, and then the bias is added to the result. The bias is unbounded and unitless. + + + + + Shifts the convolution kernel from a centered position on the output pixel to a position you specify left/right and up/down. The offset is defined in kernel units. + With some offsets and kernel sizes, the convolution kernel’s samples won't land on a pixel image center. The pixel values for the kernel sample are computed by bilinear interpolation. + + + + + Specifies whether the convolution kernel is applied to the alpha channel or only the color channels. + If you set this to TRUE the convolution kernel is applied only to the color channels. + If you set this to FALSE the convolution kernel is applied to all channels. + + + + + The mode used to calculate the border of the image, soft or hard. See modes for more info. + + + + + Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha . + if you set this to TRUE the effect will clamp the values. + If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. + + + + + Built in Premultiply effect. + + + + + Initializes a new instance of effect. + + + + + + Built in Turbulence effect. + + + + + Initializes a new instance of effect. + + + + + + The coordinates where the turbulence output is generated. + The algorithm used to generate the Perlin noise is position dependent, so a different offset results in a different output. This property is not bounded and the units are specified in DIPs + + + The offset does not have the same effect as a translation because the noise function output is infinite and the function will wrap around the tile. + + + + + The base frequencies in the X and Y direction.. This property is a float and must be greater than 0. The units are specified in 1/DIPs. + A value of 1 (1/DIPs) for the base frequency results in the Perlin noise completing an entire cycle between two pixels. The ease interpolation for these pixels results in completely random pixels, since there is no correlation between the pixels. + A value of 0.1(1/DIPs) for the base frequency, the Perlin noise function repeats every 10 DIPs. This results in correlation between pixels and the typical turbulence effect is visible + + + + + The number of octaves for the noise function. This property is an int and must be greater than 0. + + + + + The seed for the pseudo random generator. This property is unbounded. + + + + + The turbulence noise mode. This property can be either fractal sum or turbulence. Indicates whether to generate a bitmap based on Fractal Noise or the Turbulence function. See Noise modes for more info. + + + + + Turns stitching on or off. The base frequency is adjusted so that output bitmap can be stitched. This is useful if you want to tile multiple copies of the turbulence effect output. + true: The output bitmap can be tiled (using the tile effect) without the appearance of seams. The base frequency is adjusted so that output bitmap can be stitched. + false: The base frequency is not adjusted, so seams may appear between tiles if the bitmap is tiled. + + + + + Built in Tile effect. + + + + + Initializes a new instance of effect. + + + + + + The region to be tiled specified as a vector in the form (left, top, width, height). The units are in DIPs. + + + + + Built in TableTransfer effect. + + + + + Initializes a new instance of effect. + + + + + + The list of values used to define the transfer function for the Red channel. + + + + + If you set this to TRUE the effect does not apply the transfer function to the Red channel. If you set this to FALSE the effect applies the RedTableTransfer function to the Red channel. + + + + + The list of values that define the transfer function for the Green channel. + + + + + If you set this to TRUE the effect does not apply the transfer function to the Green channel. If you set this to FALSE the effect applies the GreenTableTransfer function to the Green channel. + + + + + The list of values that define the transfer function for the Blue channel. + + + + + If you set this to TRUE the effect does not apply the transfer function to the Blue channel. If you set this to FALSE the effect applies the BlueTableTransfer function to the Blue channel. + + + + + The list of values that define the transfer function for the Alpha channel. + + + + + If you set this to TRUE the effect does not apply the transfer function to the Alpha channel. If you set this to FALSE the effect applies the AlphaTableTransfer function to the Alpha channel. + + + + + Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha . + if you set this to TRUE the effect will clamp the values. + If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. + + + + + Built in SpotSpecular effect. + + + + + Initializes a new instance of effect. + + + + + + The light position of the point light source. The property is a D2D1_VECTOR_3F defined as (x, y, z). The units are in device-independent pixels (DIPs) and the values are unitless and unbounded. + + + + + Where the spot light is focused. The property is exposed as a with – (x, y, z). The units are in DIPs and the values are unbounded. + + + + + The focus of the spot light. This property is unitless and is defined between 0 and 200. + + + + + The cone angle that restricts the region where the light is projected. No light is projected outside the cone. The limiting cone angle is the angle between the spot light axis (the axis between the LightPosition and PointsAt properties) and the spot light cone. This property is defined in degrees and must be between 0 to 90 degrees. + + + + + The exponent for the specular term in the Phong lighting equation. A larger value corresponds to a more reflective surface. The value is unitless and must be between 1.0 and 128. + + + + + The ratio of specular reflection to the incoming light. The value is unitless and must be between 0 and 10,000. + + + + + The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000. + + + + + The color of the incoming light. This property is exposed as a – (R, G, B) and used to compute LR, LG, LB. + + + + + The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. + This property maps to the dx and dy values in the Sobel gradient. + This property is a (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). + The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements. + + + + + 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. If you don't select a mode, the effect uses the interpolation mode of the device context. See Scale modes for more info. + + + + + Builtin SpotDiffuse effect. + + + + + Initializes a new instance of effect. + + + + + + The light position of the point light source. The property is a defined as (x, y, z). The units are in device-independent pixels (DIPs) and the values are unitless and unbounded. + + + + + Where the spot light is focused. The property is exposed as a with – (x, y, z). The units are in DIPs and the values are unbounded. + + + + + The focus of the spot light. This property is unitless and is defined between 0 and 200. + + + + + The cone angle that restricts the region where the light is projected. No light is projected outside the cone. The limiting cone angle is the angle between the spot light axis (the axis between the LightPosition and PointsAt properties) and the spot light cone. This property is defined in degrees and must be between 0 to 90 degrees. + + + + + The ratio of diffuse reflection to amount of incoming light. This property must be between 0 and 10,000 and is unitless. + + + + + The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000. + + + + + The color of the incoming light. This property is exposed as a – (R, G, B) and used to compute LR, LG, LB. + + + + + The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. + This property maps to the dx and dy values in the Sobel gradient. + This property is a (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). + The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements. + + + + + 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. + If you don't select a mode, the effect uses the interpolation mode of the device context. + See Scale modes for more info. + + + + + Built in Shadow effect. + + + + + Initializes a new instance of effect. + + + + + + The amount of blur to be applied to the alpha channel of the image. You can compute the blur radius of the kernel by multiplying the standard deviation by 3. The units of both the standard deviation and blur radius are DIPs. + This property is the same as the Gaussian Blur standard deviation property. + + + + + The color of the drop shadow. This property is a defined as: (R, G, B, A). + + + + + The level of performance optimization. + + + + + Built in Scale effect. + + + + + Initializes a new instance of effect. + + + + + + The scale amount in the X and Y direction as a ratio of the output size to the input size. This property a defined as: (X scale, Y scale). The scale amounts are FLOAT, unitless, and must be positive or 0. + + + + + The image scaling center point. This property is a defined as: (point X, point Y). The units are in DIPs. + Use the center point property to scale around a point other than the upper-left corner. + + + + + The mode used to calculate the border of the image, soft or hard. See Border modes for more info. + + + + + In the high quality cubic interpolation mode, the sharpness level of the scaling filter as a float between 0 and 1. The values are unitless. You can use sharpness to adjust the quality of an image when you scale the image down. + The sharpness factor affects the shape of the kernel. The higher the sharpness factor, the smaller the kernel. + + + This property affects only the high quality cubic interpolation mode. + + + + + The interpolation mode the effect uses to scale the image. + There are 6 scale modes that range in quality and speed. + If you don't select a mode, the effect uses the interpolation mode of the device context. See Interpolation modes for more info. + + + + + Built in Saturation effect. + + + + + Initializes a new instance of effect. + + + + + + The saturation of the image. You can set the saturation to a value between 0 and 1. If you set it to 1 the output image is fully saturated. If you set it to 0 the output image is monochrome. The saturation value is unitless. + + + + + Built in Premultiply effect. + + + + + Initializes a new instance of effect. + + + + + + Built in PointDiffuse effect. + + + + + Initializes a new instance of effect. + + + + + + The light position of the point light source. The property is a D2D1_VECTOR_3F defined as (x, y, z). The units are in device-independent pixels (DIPs) and the values are unitless and unbounded. + + + + + The ratio of diffuse reflection to amount of incoming light. This property must be between 0 and 10,000 and is unitless. + + + + + The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000. + + + + + The color of the incoming light. This property is exposed as a – (R, G, B) and used to compute LR, LG, LB. + + + + + The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. + This property maps to the dx and dy values in the Sobel gradient. + This property is a (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). + The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements. + + + + + 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. + If you don't select a mode, the effect uses the interpolation mode of the device context. + See Scale modes for more info. + + + + + Built in PointSpecular effect. + + + + + Initializes a new instance of effect. + + + + + + The light position of the point light source. The property is a D2D1_VECTOR_3F defined as (x, y, z). The units are in device-independent pixels (DIPs) and the values are unitless and unbounded. + + + + + The exponent for the specular term in the Phong lighting equation. A larger value corresponds to a more reflective surface. The value is unitless and must be between 1.0 and 128. + + + + + The ratio of specular reflection to the incoming light. The value is unitless and must be between 0 and 10,000. + + + + + The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000. + + + + + The color of the incoming light. This property is exposed as a – (R, G, B) and used to compute LR, LG, LB. + + + + + The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. + This property maps to the dx and dy values in the Sobel gradient. + This property is a (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). + The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements. + + + + + 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. If you don't select a mode, the effect uses the interpolation mode of the device context. See Scale modes for more info. + + + + + Built in Morphology effect. + + + + + Initializes a new instance of effect. + + + + + + The morphology mode. The available modes are erode (flatten) and dilate (thicken). + See Morphology modes for more info. + + + + + Size of the kernel in the X direction. The units are in DIPs. + + + + + Size of the kernel in the Y direction. The units are in DIPs. + + + + + Built in LuminanceToAlpha effect. + + + + + Initializes a new instance of effect. + + + + + + Built in LinearTransfer effect. + + + + + Initializes a new instance of effect. + + + + + + TThe Y-intercept of the linear function for the Red channel. + + + + + The slope of the linear function for the Red channel. + + + + + If you set this to TRUE it does not apply the transfer function to the Red channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Red channel. + + + + + The Y-intercept of the linear function for the Green channel. + + + + + The slope of the linear function for the Green channel. + + + + + If you set this to TRUE it does not apply the transfer function to the Green channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Green channel. + + + + + The Y-intercept of the linear function for the Blue channel. + + + + + The slope of the linear function for the Blue channel. + + + + + If you set this to TRUE it does not apply the transfer function to the Blue channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Blue channel. + + + + + The Y-intercept of the linear function for the Alpha channel. + + + + + The slope of the linear function for the Alpha channel. + + + + + If you set this to TRUE it does not apply the transfer function to the Alpha channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Alpha channel. + + + + + Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha . + if you set this to TRUE the effect will clamp the values. + If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. + + + + + Built in HueRotate effect. + + + + + Initializes a new instance of effect. + + + + + + The angle to rotate the hue, in degrees. + + + + + Built in Histogram effect. + + + + + Initializes a new instance of effect. + + + + + + Specifies the number of bins used for the histogram. The range of intensity values that fall into a particular bucket depend on the number of specified buckets. + + + + + Specifies the channel used to generate the histogram. This effect has a single data output corresponding to the specified channel. See Channel selectors for more info. + + + + + The output array. + + + + + Built in GammaTransfer effect. + + + + + Initializes a new instance of effect. + + + + + + The amplitude of the gamma transfer function for the Red channel. + + + + + The exponent of the gamma transfer function for the Red channel. + + + + + The offset of the gamma transfer function for the Red channel. + + + + + If you set this to TRUE it does not apply the transfer function to the Red channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Red channel. + + + + + The amplitude of the gamma transfer function for the Green channel. + + + + + The exponent of the gamma transfer function for the Green channel. + + + + + The offset of the gamma transfer function for the Green channel. + + + + + If you set this to TRUE it does not apply the transfer function to the Green channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Green channel. + + + + + The amplitude of the gamma transfer function for the Blue channel. + + + + + The exponent of the gamma transfer function for the Blue channel. + + + + + The offset of the gamma transfer function for the Blue channel. + + + + + If you set this to TRUE it does not apply the transfer function to the Blue channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Blue channel. + + + + + The amplitude of the gamma transfer function for the Alpha channel. + + + + + The exponent of the gamma transfer function for the Alpha channel. + + + + + The offset of the gamma transfer function for the Alpha channel. + + + + + If you set this to TRUE it does not apply the transfer function to the Alpha channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Alpha channel. + + + + + Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha . + if you set this to TRUE the effect will clamp the values. + If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. + + + + + Built in Flood effect. + + + + + Initializes a new instance of effect. + + + + + + The color and opacity of the bitmap. This property is a . + The individual values for each channel are of type FLOAT, unbounded and unitless. + The effect doesn't modify the values for the channels. + The RGBA values for each channel range from 0 to 1. + + + + + Built in DpiCompensation effect. + + + + + Initializes a new instance of effect. + + + + + + The Dpi interpolation mode. + + + + + The mode used to calculate the border of the image, soft or hard. See modes for more info. + + + + + The input dpi. + + + + + Built in DistantDiffuse effect. + + + + + Initializes a new instance of effect. + + + + + + The direction angle of the light source in the XY plane relative to the X-axis in the counter clock wise direction. The units are in degrees and must be between 0 and 360 degrees. + + + + + The direction angle of the light source in the YZ plane relative to the Y-axis in the counter clock wise direction. The units are in degrees and must be between 0 and 360 degrees. + + + + + The ratio of diffuse reflection to amount of incoming light. This property must be between 0 and 10,000 and is unitless. + + + + + The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000. + + + + + The color of the incoming light. This property is exposed as a – (R, G, B) and used to compute LR, LG, LB. + + + + + The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. + This property maps to the dx and dy values in the Sobel gradient. + This property is a (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). + The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements. + + + + + 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. + If you don't select a mode, the effect uses the interpolation mode of the device context. + See Scale modes for more info. + + + + + Built in DistantSpecular effect. + + + + + Initializes a new instance of effect. + + + + + + The direction angle of the light source in the XY plane relative to the X-axis in the counter clock wise direction. The units are in degrees and must be between 0 and 360 degrees. + + + + + The direction angle of the light source in the YZ plane relative to the Y-axis in the counter clock wise direction. The units are in degrees and must be between 0 and 360 degrees. + + + + + The exponent for the specular term in the Phong lighting equation. A larger value corresponds to a more reflective surface. The value is unitless and must be between 1.0 and 128. + + + + + The ratio of specular reflection to the incoming light. The value is unitless and must be between 0 and 10,000. + + + + + The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000. + + + + + The color of the incoming light. This property is exposed as a – (R, G, B) and used to compute LR, LG, LB. + + + + + The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. + This property maps to the dx and dy values in the Sobel gradient. + This property is a (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). + The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements. + + + + + 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. If you don't select a mode, the effect uses the interpolation mode of the device context. See Scale modes for more info. + + + + + Built in DisplacementMap effect. + + + + + Initializes a new instance of effect. + + + + + + Multiplies the intensity of the selected channel from the displacement image. The higher you set this property, the more the effect displaces the pixels + + + + + The effect extracts the intensity from this color channel and uses it to spatially displace the image in the X direction. See Color channels for more info. + + + + + The effect extracts the intensity from this color channel and uses it to spatially displace the image in the Y direction. See Color channels for more info. + + + + + Built in DiscreteTransfer effect. + + + + + Initializes a new instance of effect. + + + + + + The list of values used to define the transfer function for the Red channel. + + + + + If you set this to TRUE the effect does not apply the transfer function to the Red channel. If you set this to FALSE the effect applies the RedDiscreteTransfer function to the Red channel. + + + + + The list of values that define the transfer function for the Green channel. + + + + + If you set this to TRUE the effect does not apply the transfer function to the Green channel. If you set this to FALSE the effect applies the GreenDiscreteTransfer function to the Green channel. + + + + + The list of values that define the transfer function for the Blue channel. + + + + + If you set this to TRUE the effect does not apply the transfer function to the Blue channel. If you set this to FALSE the effect applies the BlueDiscreteTransfer function to the Blue channel. + + + + + The list of values that define the transfer function for the Alpha channel. + + + + + If you set this to TRUE the effect does not apply the transfer function to the Alpha channel. If you set this to FALSE the effect applies the AlphaDiscreteTransfer function to the Alpha channel. + + + + + Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha . + if you set this to TRUE the effect will clamp the values. + If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. + + + + + Built in DirectionalBlur effect. + + + + + Initializes a new instance of effect. + + + + + + Gets or sets the amount of blur to be applied to the image. Default: 1.0f + + + You can compute the blur radius of the kernel by multiplying the standard deviation by 3. The units of both the standard deviation and blur radius are DIPs. A value of zero DIPs disables this effect entirely. + + + + + The angle of the blur relative to the x-axis, in the counterclockwise direction. The units are specified in degrees. + The blur kernel is first generated using the same process as for the Gaussian Blur effect. The kernel values are then transformed according to the blur angle using this equation and then applied to the bitmap. + offset2D – amount of transformation introduced in the blur kernel as a result of the blur angle. + dist – distance from the center of the kernel to the current position in the kernel. offset2d = (dist * cos(⁡θ), dist * sin(⁡θ) ) + + + You can compute the blur radius of the kernel by multiplying the standard deviation by 3. The units of both the standard deviation and blur radius are DIPs. A value of zero DIPs disables this effect entirely. + + + + + The optimization mode. See modes for more info. + + + Default value is . + + + + + The mode used to calculate the border of the image, soft or hard. See modes for more info. + + + + + Built in Crop effect. + + + + + Initializes a new instance of effect. + + + + + + The region to be cropped specified as a vector in the form (left, top, width, height). The units are in DIPs. + + + The rectangle will be truncated if it overlaps the edge boundaries of the input image. + + + + + Built in GaussianBlur effect. + + + + + Initializes a new instance of effect. + + + + + + Gets or sets the amount of blur to be applied to the image. Default: 1.0f + + + You can compute the blur radius of the kernel by multiplying the standard deviation by 3. The units of both the standard deviation and blur radius are DIPs. A value of zero DIPs disables this effect entirely. + + + + + The optimization mode. See modes for more info. + + + Default value is . + + + + + The mode used to calculate the border of the image, soft or hard. See modes for more info. + + + + + Built in Transform3D effect. + + + + + Initializes a new instance of effect. + + + + + + The interpolation mode used to scale the image. There are 6 scale modes that range in quality and speed. + If you don't select a mode, the effect uses the interpolation mode of the device context. + See for more info. + + + + + The mode used to calculate the border of the image, soft or hard. See modes for more info. + + + + + A 4x4 transform matrix applied to the projection plane. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates Direct2D resources.

+
+ +

The interface is used to create devices, register and unregister effects, and enumerate effects properties. Effects are registered and unregistered globally. The registration APIs are placed on this interface for convenience.

+
+ + hh404596 + ID2D1Factory1 + ID2D1Factory1 +
+ + +

Creates Direct2D resources.

+
+ +

The interface is the starting point for using Direct2D; it's what you use to create other Direct2D resources that you can use to draw or describe shapes.

A factory defines a set of CreateResource methods that can produce the following drawing resources:

  • Render targets: objects that render drawing commands.
  • Drawing state blocks: objects that store drawing state information, such as the current transformation and antialiasing mode.
  • Geometries: objects that represent simple and potentially complex shapes.

To create an , you use one of the CreateFactory methods. You should retain the instance for as long as you use Direct2D resources; in general, you shouldn't need to recreate it when the application is running. For more information about Direct2D resources, see the Resources Overview.

Singlethreaded and Multithreaded Factories

When you create a factory, you can specify whether it is multithreaded or singlethreaded. A singlethreaded factory provides no serialization against any other single threaded instance within Direct2D, so, this mechanism provides a very large degree of scaling on the CPU.

You can also create a multithreaded factory instance. In this case, the factory and all derived objects can be used from any thread and each render target can be rendered to independently. Direct2D serializes calls to these objects, so a single multithreaded Direct2D instance won't scale as well on the CPU as many single threaded instances. However, the resources can be shared within the multithreaded instance.

Note that the qualifier "On the CPU": GPUs generally take advantage of fine-grained parallelism more so than CPUs. For example, multithreaded calls from the CPU might still end up being serialized when being sent to the GPU, however, a whole bank of pixel and vertex shaders will run in parallel to perform the rendering.

+
+ + dd371246 + ID2D1Factory + ID2D1Factory +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Forces the factory to refresh any system defaults that it might have changed since factory creation.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

You should call this method before calling the GetDesktopDpi method, to ensure that the system DPI is current.

+
+ + dd371319 + HRESULT ID2D1Factory::ReloadSystemMetrics() + ID2D1Factory::ReloadSystemMetrics +
+ + +

Retrieves the current desktop dots per inch (DPI). To refresh this value, call ReloadSystemMetrics.

+
+ No documentation. + No documentation. + +

Use this method to obtain the system DPI when setting physical pixel values, such as when you specify the size of a window.

+
+ + dd371316 + void ID2D1Factory::GetDesktopDpi([Out] float* dpiX,[Out] float* dpiY) + ID2D1Factory::GetDesktopDpi +
+ + +

Creates an .

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371286 + HRESULT ID2D1Factory::CreateRectangleGeometry([In] const D2D_RECT_F* rectangle,[Out, Fast] ID2D1RectangleGeometry** rectangleGeometry) + ID2D1Factory::CreateRectangleGeometry +
+ + +

Creates an .

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371292 + HRESULT ID2D1Factory::CreateRoundedRectangleGeometry([In] const D2D1_ROUNDED_RECT* roundedRectangle,[Out, Fast] ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) + ID2D1Factory::CreateRoundedRectangleGeometry +
+ + +

Creates an .

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371265 + HRESULT ID2D1Factory::CreateEllipseGeometry([In] const D2D1_ELLIPSE* ellipse,[Out, Fast] ID2D1EllipseGeometry** ellipseGeometry) + ID2D1Factory::CreateEllipseGeometry +
+ + +

Creates an , which is an object that holds other geometries.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and , an array of geometry objects to add to the geometry group, and the number of elements in this array.

+
+ + dd371273 + HRESULT ID2D1Factory::CreateGeometryGroup([In] D2D1_FILL_MODE fillMode,[In, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount,[Out, Fast] ID2D1GeometryGroup** geometryGroup) + ID2D1Factory::CreateGeometryGroup +
+ + +

Creates an , which is an object that holds other geometries.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and , an array of geometry objects to add to the geometry group, and the number of elements in this array.

+
+ + dd371273 + HRESULT ID2D1Factory::CreateGeometryGroup([In] D2D1_FILL_MODE fillMode,[In, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount,[Out, Fast] ID2D1GeometryGroup** geometryGroup) + ID2D1Factory::CreateGeometryGroup +
+ + +

Transforms the specified geometry and stores the result as an object.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Like other resources, a transformed geometry the inherits the resource space and threading policy of the factory that created it. This object is immutable.

When stroking a transformed geometry with the DrawGeometry method, the stroke width is not affected by the transform applied to the geometry. The stroke width is only affected by the world transform.

+
+ + dd371304 + HRESULT ID2D1Factory::CreateTransformedGeometry([In] ID2D1Geometry* sourceGeometry,[In] const D2D_MATRIX_3X2_F* transform,[Out, Fast] ID2D1TransformedGeometry** transformedGeometry) + ID2D1Factory::CreateTransformedGeometry +
+ + +

Creates an empty .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371282 + HRESULT ID2D1Factory::CreatePathGeometry([Out, Fast] ID2D1PathGeometry** pathGeometry) + ID2D1Factory::CreatePathGeometry +
+ + + Creates an that describes start cap, dash pattern, and other features of a stroke.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742729 + HRESULT ID2D1Factory::CreateStrokeStyle([In] const D2D1_STROKE_STYLE_PROPERTIES* strokeStyleProperties,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[Out, Fast] ID2D1StrokeStyle** strokeStyle) + ID2D1Factory::CreateStrokeStyle + + + +

Creates an that can be used with the SaveDrawingState and RestoreDrawingState methods of a render target.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371257 + HRESULT ID2D1Factory::CreateDrawingStateBlock([In, Optional] const D2D1_DRAWING_STATE_DESCRIPTION* drawingStateDescription,[In, Optional] IDWriteRenderingParams* textRenderingParams,[Out, Fast] ID2D1DrawingStateBlock** drawingStateBlock) + ID2D1Factory::CreateDrawingStateBlock +
+ + +

Creates a render target that renders to a Microsoft Windows Imaging Component (WIC) bitmap.

+
+

The bitmap that receives the rendering output of the render target.

+

The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see Supported Pixel Formats and Alpha Modes.

+

When this method returns, contains the address of the reference to the object created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Your application should create render targets once and hold onto them for the life of the application or until the error is received. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371313 + HRESULT ID2D1Factory::CreateWicBitmapRenderTarget([In] IWICBitmap* target,[In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[Out, Fast] ID2D1RenderTarget** renderTarget) + ID2D1Factory::CreateWicBitmapRenderTarget +
+ + +

Creates an , a render target that renders to a window.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the error is received. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371275 + HRESULT ID2D1Factory::CreateHwndRenderTarget([In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[In] const D2D1_HWND_RENDER_TARGET_PROPERTIES* hwndRenderTargetProperties,[Out, Fast] ID2D1HwndRenderTarget** hwndRenderTarget) + ID2D1Factory::CreateHwndRenderTarget +
+ + +

Creates a render target that draws to a DirectX Graphics Infrastructure (DXGI) surface.

+
+

The to which the render target will draw.

+

The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see Supported Pixel Formats and Alpha Modes.

+

When this method returns, contains the address of the reference to the object created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To write to a Direct3D surface, you obtain an and pass it to the CreateDxgiSurfaceRenderTarget method to create a DXGI surface render target; you can then use the DXGI surface render target to draw 2-D content to the DXGI surface.

A DXGI surface render target is a type of . Like other Direct2D render targets, you can use it to create resources and issue drawing commands.

The DXGI surface render target and the DXGI surface must use the same DXGI format. If you specify the DXGI_FORMAT_UNKOWN format when you create the render target, it will automatically use the surface's format.

The DXGI surface render target does not perform DXGI surface synchronization.

For more information about creating and using DXGI surface render targets, see the Direct2D and Direct3D Interoperability Overview.

To work with Direct2D, the Direct3D device that provides the must be created with the D3D10_CREATE_DEVICE_BGRA_SUPPORT flag.

When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371264 + HRESULT ID2D1Factory::CreateDxgiSurfaceRenderTarget([In] IDXGISurface* dxgiSurface,[In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[Out, Fast] ID2D1RenderTarget** renderTarget) + ID2D1Factory::CreateDxgiSurfaceRenderTarget +
+ + +

Creates a render target that draws to a Windows Graphics Device Interface (GDI) device context.

+
+

The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. To enable the device context (DC) render target to work with GDI, set the DXGI format to and the alpha mode to or . For more information about pixel formats, see Supported Pixel Formats and Alpha Modes.

+

When this method returns, dcRenderTarget contains the address of the reference to the created by the method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Before you can render with a DC render target, you must use the render target's BindDC method to associate it with a GDI DC. Do this for each different DC and whenever there is a change in the size of the area you want to draw to.

To enable the DC render target to work with GDI, set the render target's DXGI format to and alpha mode to or .

Your application should create render targets once and hold on to them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, recreate the render target (and any resources it created).

+
+ + dd371248 + HRESULT ID2D1Factory::CreateDCRenderTarget([In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[Out, Fast] ID2D1DCRenderTarget** dcRenderTarget) + ID2D1Factory::CreateDCRenderTarget +
+ + + Default Constructor for a . + + + + + Default Constructor for a . + + + + + Default Constructor for a . + + + + + Retrieves the current desktop dots per inch (DPI). To refresh this value, call {{ReloadSystemMetrics}}. + + + Use this method to obtain the system DPI when setting physical pixel values, such as when you specify the size of a window. + + + + + Default Constructor for a . + + + + + Default Constructor for a . + + + + + Default Constructor for a . + + + + + Register a factory. + + + + + + + + Unregister a . + + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a device that represents a display adapter.

+
+

The object used when creating the .

+

The requested object.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.
D3DERR_OUTOFVIDEOMEMORYDirect3D does not have enough display memory to perform the operation.

?

+ +

Each call to CreateDevice returns a unique object.

The object is obtained by calling QueryInterface on an ID3D10Device or an .

+
+ + hh404599 + HRESULT ID2D1Factory1::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device** d2dDevice) + ID2D1Factory1::CreateDevice +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a object.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

+ +

It is valid to specify a dash array only if is also specified.

+
+ + hh404605 + HRESULT ID2D1Factory1::CreateStrokeStyle([In] const D2D1_STROKE_STYLE_PROPERTIES1* strokeStyleProperties,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[Out, Fast] ID2D1StrokeStyle1** strokeStyle) + ID2D1Factory1::CreateStrokeStyle +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates an object.

+
+ No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.

?

+ + hh404602 + HRESULT ID2D1Factory1::CreatePathGeometry([Out, Fast] ID2D1PathGeometry1** pathGeometry) + ID2D1Factory1::CreatePathGeometry +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Creates a new drawing state block, this can be used in subsequent SaveDrawingState and RestoreDrawingState operations on the render target.

+
+

The drawing state description structure.

+

The DirectWrite rendering params interface.

+

The address of the newly created drawing state block.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

+ + hh847994 + HRESULT ID2D1Factory1::CreateDrawingStateBlock([In, Optional] const D2D1_DRAWING_STATE_DESCRIPTION1* drawingStateDescription,[In, Optional] IDWriteRenderingParams* textRenderingParams,[Out, Fast] ID2D1DrawingStateBlock1** drawingStateBlock) + ID2D1Factory1::CreateDrawingStateBlock +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Creates a new GDI metafile.

+
+

A stream object that has the metafile data.

+

The address of the newly created GDI metafile object.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

+ + hh847995 + HRESULT ID2D1Factory1::CreateGdiMetafile([In] IStream* metafileStream,[Out] ID2D1GdiMetafile** metafile) + ID2D1Factory1::CreateGdiMetafile +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Registers an effect within the factory instance with the property XML specified as a stream.

+
+

The identifier of the effect to be registered.

+

A list of the effect properties, types, and metadata.

+

An array of properties and methods.

This binds a property by name to a particular method implemented by the effect author to handle the property. The name must be found in the corresponding propertyXml.

+

The number of bindings in the binding array.

+

The static factory that is used to create the corresponding effect.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ +

Direct2D effects must define their properties at registration time via registration XML. An effect declares several required system properties, and can also declare custom properties. See Custom Effect Creation and Registration for more information about formatting the propertyXml parameter.

RegisterEffect is both atomic and reference counted. To unregister an effect, call UnregisterEffect with the classId of the effect.

Important??RegisterEffect does not hold a reference to the DLL or executable file in which the effect is contained. The application must independently make sure that the lifetime of the DLL or executable file completely contains all instances of each registered and created effect.

Aside from the built-in effects that are globally registered, this API registers effects only for this factory, derived device, and device context interfaces.

+
+ + hh847996 + HRESULT ID2D1Factory1::RegisterEffectFromStream([In] const GUID& classId,[In] IStream* propertyXml,[In, Buffer, Optional] const D2D1_PROPERTY_BINDING* bindings,[In] unsigned int bindingsCount,[In] const __function__stdcall* effectFactory) + ID2D1Factory1::RegisterEffectFromStream +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates Direct2D resources.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + +

The interface is used to create devices, register and unregister effects, and enumerate effects properties. Effects are registered and unregistered globally. The registration APIs are placed on this interface for convenience.

+
+ + hh404596 + HRESULT ID2D1Factory1::RegisterEffectFromString([In] const GUID& classId,[In] const wchar_t* propertyXml,[In, Buffer, Optional] const D2D1_PROPERTY_BINDING* bindings,[In] unsigned int bindingsCount,[In] const __function__stdcall* effectFactory) + ID2D1Factory1::RegisterEffectFromString +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Unregisters an effect within the factory instance that corresponds to the classId provided.

+
+

The identifier of the effect to be unregistered.

+

if the effect is not registered, otherwise.

+ +

In order for the effect to be fully unloaded, you must call UnregisterEffect the same number of times that you have registered the effect.

The UnregisterEffect method unregisters only those effects that are registered on the same factory. It cannot be used to unregister a built-in effect.

+
+ + hh404617 + HRESULT ID2D1Factory1::UnregisterEffect([In] const GUID& classId) + ID2D1Factory1::UnregisterEffect +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Returns the class IDs of the currently registered effects and global effects on this factory.

+
+

When this method returns, contains an array of effects. null if no effects are retrieved.

+

The capacity of the effects array.

+

When this method returns, contains the number of effects copied into effects.

+

When this method returns, contains the number of effects currently registered in the system.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
HRESULT_FROM_WIN32()effectsRegistered is larger than effectCount.

?

+ +

The set of class IDs will be atomically returned by the API. The set will not be interrupted by other threads registering or unregistering effects.

If effectsRegistered is larger than effectCount, the supplied array will still be filled to capacity with the current set of registered effects. This method returns the CLSIDs for all global effects and all effects registered to this factory.

+
+ + hh404612 + HRESULT ID2D1Factory1::GetRegisteredEffects([Out, Buffer, Optional] GUID* effects,[In] unsigned int effectsCount,[Out, Optional] unsigned int* effectsReturned,[Out, Optional] unsigned int* effectsRegistered) + ID2D1Factory1::GetRegisteredEffects +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Retrieves the properties of an effect.

+
+

The ID of the effect to retrieve properties from.

+

When this method returns, contains the address of a reference to the property interface that can be used to query the metadata of the effect.

+ +

The returned effect properties will have all the mutable properties for the effect set to a default of null, or an empty value.

  • Value types will be zero-filled.
  • Blob and string types will be zero-length.
  • Array types will have length 1 and the element of the array will conform to the previous rules.

This method cannot be used to return the properties for any effect not visible to .

+
+ + hh404608 + HRESULT ID2D1Factory1::GetEffectProperties([In] const GUID& effectId,[Out] ID2D1Properties** properties) + ID2D1Factory1::GetEffectProperties +
+ + + Get the effects registered + + HRESULT ID2D1Factory1::GetRegisteredEffects([Out, Buffer, Optional] GUID* effects,[In] unsigned int effectsCount,[Out, Optional] unsigned int* effectsReturned,[Out, Optional] unsigned int* effectsRegistered) + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates an object that can convert objects to XPS pages and send them to a printer.

+
+ + hh404550 + ID2D1Device + ID2D1Device +
+ + + Initializes a new instance of the class. + + The device. + HRESULT D2D1CreateDevice([In] IDXGIDevice* dxgiDevice,[In, Optional] const D2D1_CREATION_PROPERTIES* creationProperties,[Out] ID2D1Device** d2dDevice) + + + + Initializes a new instance of the class. + + The device. + The creation properties. + HRESULT D2D1CreateDevice([In] IDXGIDevice* dxgiDevice,[In, Optional] const D2D1_CREATION_PROPERTIES* creationProperties,[Out] ID2D1Device** d2dDevice) + + + + Initializes a new instance of the class. + + The object used when creating the . + The object used when creating the . + + Each call to CreateDevice returns a unique object.The object is obtained by calling QueryInterface on an ID3D10Device or an ID3D11Device. + + HRESULT ID2D1Factory1::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out] ID2D1Device** d2dDevice) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a new device context from a Direct2D device.

+
+

The options to be applied to the created device context.

+

When this method returns, contains the address of a reference to the new device context.

+

If the method succeeds, it returns . If it fails, it returns an error code.

+ +

The new device context will not have a selected target bitmap. The caller must create and select a bitmap as the target surface of the context.

+
+ + hh404545 + HRESULT ID2D1Device::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out, Fast] ID2D1DeviceContext** deviceContext) + ID2D1Device::CreateDeviceContext +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents a resource domain whose objects and device contexts can be used together.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + hh404478 + HRESULT ID2D1Device::CreatePrintControl([In] IWICImagingFactory* wicFactory,[In] IPrintDocumentPackageTarget* documentTarget,[In, Optional] const D2D1_PRINT_CONTROL_PROPERTIES* printControlProperties,[Out, Fast] ID2D1PrintControl** printControl) + ID2D1Device::CreatePrintControl +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Sets the maximum amount of texture memory Direct2D accumulates before it purges the image caches and cached texture allocations.

+
+

The new maximum texture memory in bytes.

+ +

Note??Direct2D may exceed the maximum texture memory you set with this method for a single frame if necessary to render the frame.

+
+ + hh847985 + void ID2D1Device::SetMaximumTextureMemory([In] unsigned longlong maximumInBytes) + ID2D1Device::SetMaximumTextureMemory +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Sets the maximum amount of texture memory to maintain before evicting caches.

+
+

The maximum amount of texture memory in bytes.

+ + hh847984 + unsigned longlong ID2D1Device::GetMaximumTextureMemory() + ID2D1Device::GetMaximumTextureMemory +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Clears all of the rendering resources used by Direct2D.

+
+

Discards only resources that haven't been used for greater than the specified time in milliseconds. The default is 0 milliseconds.

+ + hh404542 + void ID2D1Device::ClearResources([In] unsigned int millisecondsSinceUse) + ID2D1Device::ClearResources +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Sets the maximum amount of texture memory to maintain before evicting caches.

+
+ + hh847984 + GetMaximumTextureMemory / SetMaximumTextureMemory + GetMaximumTextureMemory + unsigned longlong ID2D1Device::GetMaximumTextureMemory() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents a set of state and command buffers that are used to render to a target bitmap.

+
+ +

Any resource created from a device context can be shared with any other resource created from a device context when both contexts are created on the same device.

+
+ + hh404479 + ID2D1DeviceContext + ID2D1DeviceContext +
+ + +

Represents an object that can receive drawing commands. Interfaces that inherit from render the drawing commands they receive in different ways.

+
+ +

Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371766 + ID2D1RenderTarget + ID2D1RenderTarget +
+ + + Default stroke width used for all methods that are not explicitly using it. Default is set to 1.0f. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a Direct2D bitmap from a reference to in-memory source data.

+
+

The dimension of the bitmap to create in pixels.

+

A reference to the memory location of the image data, or null to create an uninitialized bitmap.

+

The byte count of each scanline, which is equal to (the image width in pixels ? the number of bytes per pixel) + memory padding. If srcData is null, this value is ignored. (Note that pitch is also sometimes called stride.)

+

The pixel format and dots per inch (DPI) of the bitmap to create.

+

When this method returns, contains a reference to a reference to the new bitmap. This parameter is passed uninitialized.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371800 + HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmap +
+ + +

Creates an by copying the specified Microsoft Windows Imaging Component (WIC) bitmap.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Before Direct2D can load a WIC bitmap, that bitmap must be converted to a supported pixel format and alpha mode. For a list of supported pixel formats and alpha modes, see Supported Pixel Formats and Alpha Modes.

+
+ + dd371797 + HRESULT ID2D1RenderTarget::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateBitmapFromWicBitmap +
+ + +

Creates an whose data is shared with another resource.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The CreateSharedBitmap method is useful for efficiently reusing bitmap data and can also be used to provide interoperability with Direct3D.

Sharing an

By passing an created by a render target that is resource-compatible, you can share a bitmap with that render target; both the original and the new created by this method will point to the same bitmap data. For more information about when render target resources can be shared, see the Sharing Render Target Resources section of the Resources Overview.

You may also use this method to reinterpret the data of an existing bitmap and specify a new DPI or alpha mode. For example, in the case of a bitmap atlas, an may contain multiple sub-images, each of which should be rendered with a different ( or ). You could use the CreateSharedBitmap method to reinterpret the bitmap using the desired alpha mode without having to load a separate copy of the bitmap into memory.

Sharing an

When using a DXGI surface render target (an object created by the CreateDxgiSurfaceRenderTarget method), you can pass an surface to the CreateSharedBitmap method to share video memory with Direct3D and manipulate Direct3D content as an . As described in the Resources Overview, the render target and the must be using the same Direct3D device.

Note also that the must use one of the supported pixel formats and alpha modes described in Supported Pixel Formats and Alpha Modes.

For more information about interoperability with Direct3D, see the Direct2D and Direct3D Interoperability Overview.

Sharing an

An stores the content of a WIC bitmap and shields it from simultaneous accesses. By passing an to the CreateSharedBitmap method, you can create an that points to the bitmap data already stored in the .

To use an with the CreateSharedBitmap method, the render target must use software rendering. To force a render target to use software rendering, set to the type field of the structure that you use to create the render target. To check whether an existing render target uses software rendering, use the IsSupported method.

+
+ + dd371865 + HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) + ID2D1RenderTarget::CreateSharedBitmap +
+ + + Creates an from the specified bitmap.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742778 + HRESULT ID2D1RenderTarget::CreateBitmapBrush([In, Optional] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) + ID2D1RenderTarget::CreateBitmapBrush + + + + Creates a new that can be used to paint areas with a solid color.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + + dd742843 + HRESULT ID2D1RenderTarget::CreateSolidColorBrush([In] const D2D_COLOR_F* color,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1SolidColorBrush** solidColorBrush) + ID2D1RenderTarget::CreateSolidColorBrush + + + +

Creates an from the specified gradient stops, color interpolation gamma, and extend mode.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371830 + HRESULT ID2D1RenderTarget::CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[In] unsigned int gradientStopsCount,[In] D2D1_GAMMA colorInterpolationGamma,[In] D2D1_EXTEND_MODE extendMode,[Out, Fast] ID2D1GradientStopCollection** gradientStopCollection) + ID2D1RenderTarget::CreateGradientStopCollection +
+ + +

Creates an that contains the specified gradient stops and has the specified transform and base opacity.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371842 + HRESULT ID2D1RenderTarget::CreateLinearGradientBrush([In] const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out, Fast] ID2D1LinearGradientBrush** linearGradientBrush) + ID2D1RenderTarget::CreateLinearGradientBrush +
+ + +

Creates an that contains the specified gradient stops, has no transform, and has a base opacity of 1.0.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371859 + HRESULT ID2D1RenderTarget::CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out, Fast] ID2D1RadialGradientBrush** radialGradientBrush) + ID2D1RenderTarget::CreateRadialGradientBrush +
+ + + Creates a new bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target .Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742780 + HRESULT ID2D1RenderTarget::CreateCompatibleRenderTarget([In, Optional] const D2D_SIZE_F* desiredSize,[In, Optional] const D2D_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[In] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out, Fast] ID2D1BitmapRenderTarget** bitmapRenderTarget) + ID2D1RenderTarget::CreateCompatibleRenderTarget + + + +

Creates a layer resource that can be used with this render target and its compatible render targets.

+
+

When the method returns, contains a reference to a reference to the new layer. This parameter is passed uninitialized.

+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The layer automatically resizes itself, as needed.

+
+ + dd371839 + HRESULT ID2D1RenderTarget::CreateLayer([In, Optional] const D2D_SIZE_F* size,[Out, Fast] ID2D1Layer** layer) + ID2D1RenderTarget::CreateLayer +
+ + +

Create a mesh that uses triangles to describe a shape.

+
+

When this method returns, contains a reference to a reference to the new mesh.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To populate a mesh, use its Open method to obtain an . To draw the mesh, use the render target's FillMesh method.

+
+ + dd371851 + HRESULT ID2D1RenderTarget::CreateMesh([Out, Fast] ID2D1Mesh** mesh) + ID2D1RenderTarget::CreateMesh +
+ + +

Draws a line between the specified points using the specified stroke style.

+
+

The start point of the line, in device-independent pixels.

+

The end point of the line, in device-independent pixels.

+

The brush used to paint the line's stroke.

+

A value greater than or equal to 0.0f that specifies the width of the stroke. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.

+

The style of stroke to paint, or null to paint a solid line.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawLine) failed, check the result returned by the or methods.

+
+ + dd371895 + void ID2D1RenderTarget::DrawLine([In] D2D_POINT_2F point0,[In] D2D_POINT_2F point1,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawLine +
+ + +

Draws the outline of a rectangle that has the specified dimensions and stroke style.

+
+

The dimensions of the rectangle to draw, in device-independent pixels.

+

The brush used to paint the rectangle's stroke.

+

A value greater than or equal to 0.0f that specifies the width of the rectangle's stroke. The stroke is centered on the rectangle's outline.

+

The style of stroke to paint, or null to paint a solid stroke.

+ +

When this method fails, it does not return an error code. To determine whether a drawing method (such as DrawRectangle) failed, check the result returned by the or method.

+
+ + dd371902 + void ID2D1RenderTarget::DrawRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawRectangle +
+ + +

Paints the interior of the specified rectangle.

+
+

The dimension of the rectangle to paint, in device-independent pixels.

+

The brush used to paint the rectangle's interior.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillRectangle) failed, check the result returned by the or methods.

+
+ + dd371954 + void ID2D1RenderTarget::FillRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush) + ID2D1RenderTarget::FillRectangle +
+ + +

Draws the outline of the specified rounded rectangle using the specified stroke style.

+
+

The dimensions of the rounded rectangle to draw, in device-independent pixels.

+

The brush used to paint the rounded rectangle's outline.

+

The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f.

+

The style of the rounded rectangle's stroke, or null to paint a solid stroke. The default value is null.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawRoundedRectangle) failed, check the result returned by the or methods.

+
+ + dd371908 + void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawRoundedRectangle +
+ + +

Paints the interior of the specified rounded rectangle.

+
+

The dimensions of the rounded rectangle to paint, in device independent pixels.

+

The brush used to paint the interior of the rounded rectangle.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillRoundedRectangle) failed, check the result returned by the or methods.

+
+ + dd316795 + void ID2D1RenderTarget::FillRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush) + ID2D1RenderTarget::FillRoundedRectangle +
+ + +

Draws the outline of the specified ellipse using the specified stroke style.

+
+

The position and radius of the ellipse to draw, in device-independent pixels.

+

The brush used to paint the ellipse's outline.

+

The thickness of the ellipse's stroke. The stroke is centered on the ellipse's outline.

+

The style of stroke to apply to the ellipse's outline, or null to paint a solid stroke.

+ +

The DrawEllipse method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawEllipse) failed, check the result returned by the or methods.

+
+ + dd371886 + void ID2D1RenderTarget::DrawEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawEllipse +
+ + +

Paints the interior of the specified ellipse.

+
+

The position and radius, in device-independent pixels, of the ellipse to paint.

+

The brush used to paint the interior of the ellipse.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillEllipse) failed, check the result returned by the or methods.

+
+ + dd371928 + void ID2D1RenderTarget::FillEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush) + ID2D1RenderTarget::FillEllipse +
+ + +

Draws the outline of the specified geometry using the specified stroke style.

+
+

The geometry to draw.

+

The brush used to paint the geometry's stroke.

+

The thickness of the geometry's stroke. The stroke is centered on the geometry's outline.

+

The style of stroke to apply to the geometry's outline, or null to paint a solid stroke.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGeometry) failed, check the result returned by the or methods.

+
+ + dd371890 + void ID2D1RenderTarget::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + ID2D1RenderTarget::DrawGeometry +
+ + +

Paints the interior of the specified geometry.

+
+

The geometry to paint.

+

The brush used to paint the geometry's interior.

+

The opacity mask to apply to the geometry, or null for no opacity mask. If an opacity mask (the opacityBrush parameter) is specified, brush must be an that has its x- and y-extend modes set to . For more information, see the Remarks section.

+ +

If the opacityBrush parameter is not null, the alpha value of each pixel of the mapped opacityBrush is used to determine the resulting opacity of each corresponding pixel of the geometry. Only the alpha value of each color in the brush is used for this processing; all other color information is ignored. The alpha value specified by the brush is multiplied by the alpha value of the geometry after the geometry has been painted by brush. +

When this method fails, it does not return an error code. To determine whether a drawing operation (such as FillGeometry) failed, check the result returned by the or method.

+
+ + dd371933 + void ID2D1RenderTarget::FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) + ID2D1RenderTarget::FillGeometry +
+ + +

Paints the interior of the specified mesh.

+
+

The mesh to paint.

+

The brush used to paint the mesh.

+ +

The current antialias mode of the render target must be when FillMesh is called. To change the render target's antialias mode, use the SetAntialiasMode method.

FillMesh does not expect a particular winding order for the triangles in the ; both clockwise and counter-clockwise will work.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillMesh) failed, check the result returned by the or methods.

+
+ + dd371939 + void ID2D1RenderTarget::FillMesh([In] ID2D1Mesh* mesh,[In] ID2D1Brush* brush) + ID2D1RenderTarget::FillMesh +
+ + + Applies the opacity mask described by the specified bitmap to a brush and uses that brush to paint a region of the render target.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + +

For this method to work properly, the render target must be using the antialiasing mode. You can set the antialiasing mode by calling the method.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillOpacityMask) failed, check the result returned by the or methods.

+
+ + dd742850 + void ID2D1RenderTarget::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In] D2D1_OPACITY_MASK_CONTENT content,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) + ID2D1RenderTarget::FillOpacityMask +
+ + +

Draws the specified bitmap after scaling it to the size of the specified rectangle.

+
+

The bitmap to render.

+

The size and position, in device-independent pixels in the render target's coordinate space, of the area to which the bitmap is drawn. If the rectangle is not well-ordered, nothing is drawn, but the render target does not enter an error state.

+

A value between 0.0f and 1.0f, inclusive, that specifies the opacity value to be applied to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. Default is 1.0f.

+

The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is .

+

The size and position, in device-independent pixels in the bitmap's coordinate space, of the area within the bitmap to draw; null to draw the entire bitmap.

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawBitmap) failed, check the result returned by the or methods.

+
+ + dd371878 + void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle) + ID2D1RenderTarget::DrawBitmap +
+ + + Draws the specified text using the format information provided by an object.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + +

To draw text with Direct2D, use the method for text that has a single format, or the method when you need multiple formats, advanced OpenType features, or hit testing. These methods use the DirectWrite API to provide high-quality text display.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawText) failed, check the result returned by the or methods.

+
+ + dd742848 + void ID2D1RenderTarget::DrawText([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[In] D2D1_DRAW_TEXT_OPTIONS options,[In] DWRITE_MEASURING_MODE measuringMode) + ID2D1RenderTarget::DrawText +
+ + +

Draws the formatted text described by the specified object.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + +

When drawing the same text repeatedly, using the DrawTextLayout method is more efficient than using the DrawText method because the text doesn't need to be formatted and the layout processed with each call.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawTextLayout) failed, check the result returned by the or methods.

+
+ + dd371913 + void ID2D1RenderTarget::DrawTextLayout([In] D2D_POINT_2F origin,[In] IDWriteTextLayout* textLayout,[In] ID2D1Brush* defaultForegroundBrush,[In] D2D1_DRAW_TEXT_OPTIONS options) + ID2D1RenderTarget::DrawTextLayout +
+ + +

Draws the specified glyphs.

+
+

The origin, in device-independent pixels, of the glyphs' baseline.

+

The glyphs to render.

+

The brush used to paint the specified glyphs.

+

A value that indicates how glyph metrics are used to measure text when it is formatted. The default value is .

+ +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGlyphRun) failed, check the result returned by the or methods.

+
+ + dd371893 + void ID2D1RenderTarget::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) + ID2D1RenderTarget::DrawGlyphRun +
+ + + Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space.Overload list + + No documentation. + + dd742857 + void ID2D1RenderTarget::SetTransform([In] const D2D_MATRIX_3X2_F* transform) + ID2D1RenderTarget::SetTransform + + + +

Gets the current transform of the render target.

+
+

When this returns, contains the current transform of the render target. This parameter is passed uninitialized.

+ + dd316845 + void ID2D1RenderTarget::GetTransform([Out] D2D_MATRIX_3X2_F* transform) + ID2D1RenderTarget::GetTransform +
+ + +

Sets the antialiasing mode of the render target. The antialiasing mode applies to all subsequent drawing operations, excluding text and glyph drawing operations.

+
+

The antialiasing mode for future drawing operations.

+ +

To specify the antialiasing mode for text and glyph operations, use the SetTextAntialiasMode method.

+
+ + dd316881 + void ID2D1RenderTarget::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) + ID2D1RenderTarget::SetAntialiasMode +
+ + +

Retrieves the current antialiasing mode for nontext drawing operations.

+
+

The current antialiasing mode for nontext drawing operations.

+ + dd316805 + D2D1_ANTIALIAS_MODE ID2D1RenderTarget::GetAntialiasMode() + ID2D1RenderTarget::GetAntialiasMode +
+ + +

Specifies the antialiasing mode to use for subsequent text and glyph drawing operations.

+
+

The antialiasing mode to use for subsequent text and glyph drawing operations.

+ + dd316897 + void ID2D1RenderTarget::SetTextAntialiasMode([In] D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) + ID2D1RenderTarget::SetTextAntialiasMode +
+ + +

Gets the current antialiasing mode for text and glyph drawing operations.

+
+

The current antialiasing mode for text and glyph drawing operations.

+ + dd316835 + D2D1_TEXT_ANTIALIAS_MODE ID2D1RenderTarget::GetTextAntialiasMode() + ID2D1RenderTarget::GetTextAntialiasMode +
+ + +

Specifies text rendering options to be applied to all subsequent text and glyph drawing operations.

+
+

The text rendering options to be applied to all subsequent text and glyph drawing operations; null to clear current text rendering options.

+ +

If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

+
+ + dd316898 + void ID2D1RenderTarget::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) + ID2D1RenderTarget::SetTextRenderingParams +
+ + +

Retrieves the render target's current text rendering options.

+
+

When this method returns, textRenderingParamscontains the address of a reference to the render target's current text rendering options.

+ +

If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

+
+ + dd316841 + void ID2D1RenderTarget::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) + ID2D1RenderTarget::GetTextRenderingParams +
+ + +

Specifies a label for subsequent drawing operations.

+
+

A label to apply to subsequent drawing operations.

+

A label to apply to subsequent drawing operations.

+ +

The labels specified by this method are printed by debug error messages. If no tag is set, the default value for each tag is 0.

+
+ + dd316892 + void ID2D1RenderTarget::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) + ID2D1RenderTarget::SetTags +
+ + +

Gets the label for subsequent drawing operations.

+
+

When this method returns, contains the first label for subsequent drawing operations. This parameter is passed uninitialized. If null is specified, no value is retrieved for this parameter.

+

When this method returns, contains the second label for subsequent drawing operations. This parameter is passed uninitialized. If null is specified, no value is retrieved for this parameter.

+ +

If the same address is passed for both parameters, both parameters receive the value of the second tag.

+
+ + dd316830 + void ID2D1RenderTarget::GetTags([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) + ID2D1RenderTarget::GetTags +
+ + +

Adds the specified layer to the render target so that it receives all subsequent drawing operations until PopLayer is called.

+
+ No documentation. + No documentation. + +

The PushLayer method allows a caller to begin redirecting rendering to a layer. All rendering operations are valid in a layer. The location of the layer is affected by the world transform set on the render target.

Each PushLayer must have a matching PopLayer call. If there are more PopLayer calls than PushLayer calls, the render target is placed into an error state. If Flush is called before all outstanding layers are popped, the render target is placed into an error state, and an error is returned. The error state can be cleared by a call to EndDraw.

A particular resource can be active only at one time. In other words, you cannot call a PushLayer method, and then immediately follow with another PushLayer method with the same layer resource. Instead, you must call the second PushLayer method with different layer resources. +

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PushLayer) failed, check the result returned by the or methods.

+
+ + dd316869 + void ID2D1RenderTarget::PushLayer([In] const D2D1_LAYER_PARAMETERS* layerParameters,[In, Optional] ID2D1Layer* layer) + ID2D1RenderTarget::PushLayer +
+ + +

Stops redirecting drawing operations to the layer that is specified by the last PushLayer call.

+
+ +

A PopLayer must match a previous PushLayer call.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PopLayer) failed, check the result returned by the or methods.

+
+ + dd316852 + void ID2D1RenderTarget::PopLayer() + ID2D1RenderTarget::PopLayer +
+ + +

Executes all pending drawing commands.

+
+

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

+

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

+

If the method succeeds, it returns . Otherwise, it returns an error code and sets tag1 and tag2 to the tags that were active when the error occurred. If no error occurred, this method sets the error tag state to be (0,0).

+ +

This command does not flush the device that is associated with the render target.

Calling this method resets the error state of the render target.

+
+ + dd316801 + HRESULT ID2D1RenderTarget::Flush([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) + ID2D1RenderTarget::Flush +
+ + +

Saves the current drawing state to the specified .

+
+ No documentation. + + dd316876 + void ID2D1RenderTarget::SaveDrawingState([InOut] ID2D1DrawingStateBlock* drawingStateBlock) + ID2D1RenderTarget::SaveDrawingState +
+ + +

Sets the render target's drawing state to that of the specified .

+
+ No documentation. + + dd316872 + void ID2D1RenderTarget::RestoreDrawingState([In] ID2D1DrawingStateBlock* drawingStateBlock) + ID2D1RenderTarget::RestoreDrawingState +
+ + +

Specifies a rectangle to which all subsequent drawing operations are clipped.

+
+

The size and position of the clipping area, in device-independent pixels.

+

The antialiasing mode that is used to draw the edges of clip rects that have subpixel boundaries, and to blend the clip with the scene contents. The blending is performed once when the PopAxisAlignedClip method is called, and does not apply to each primitive within the layer.

+ +

The clipRect is transformed by the current world transform set on the render target. After the transform is applied to the clipRect that is passed in, the axis-aligned bounding box for the clipRect is computed. For efficiency, the contents are clipped to this axis-aligned bounding box and not to the original clipRect that is passed in.

The following diagrams show how a rotation transform is applied to the render target, the resulting clipRect, and a calculated axis-aligned bounding box.

  1. Assume the rectangle in the following illustration is a render target that is aligned to the screen pixels.

  2. Apply a rotation transform to the render target. In the following illustration, the black rectangle represents the original render target and the red dashed rectangle represents the transformed render target.

  3. After calling PushAxisAlignedClip, the rotation transform is applied to the clipRect. In the following illustration, the blue rectangle represents the transformed clipRect.

  4. The axis-aligned bounding box is calculated. The green dashed rectangle represents the bounding box in the following illustration. All contents are clipped to this axis-aligned bounding box.

Note??If rendering operations fail or if PopAxisAlignedClip is not called, clip rects may cause some artifacts on the render target. PopAxisAlignedClip can be considered a drawing operation that is designed to fix the borders of a clipping region. Without this call, the borders of a clipped area may be not antialiased or otherwise corrected.

The PushAxisAlignedClip and PopAxisAlignedClip must match. Otherwise, the error state is set. For the render target to continue receiving new commands, you can call Flush to clear the error.

A PushAxisAlignedClip and PopAxisAlignedClip pair can occur around or within a PushLayer and PopLayer, but cannot overlap. For example, the sequence of PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip is valid, but the sequence of PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer is invalid.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PushAxisAlignedClip) failed, check the result returned by the or methods.

+
+ + dd316860 + void ID2D1RenderTarget::PushAxisAlignedClip([In] const D2D_RECT_F* clipRect,[In] D2D1_ANTIALIAS_MODE antialiasMode) + ID2D1RenderTarget::PushAxisAlignedClip +
+ + +

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.

+
+ +

A PushAxisAlignedClip/PopAxisAlignedClip pair can occur around or within a PushLayer/PopLayer pair, but may not overlap. For example, a PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip sequence is valid, but a PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer sequence is not.

PopAxisAlignedClip must be called once for every call to PushAxisAlignedClip.

For an example, see How to Clip with an Axis-Aligned Clip Rectangle.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PopAxisAlignedClip) failed, check the result returned by the or methods.

+
+ + dd316850 + void ID2D1RenderTarget::PopAxisAlignedClip() + ID2D1RenderTarget::PopAxisAlignedClip +
+ + +

Clears the drawing area to the specified color.

+
+

The color to which the drawing area is cleared.

+ +

Direct2D interprets the clearColor as straight alpha (not premultiplied). If the render target's alpha mode is , the alpha channel of clearColor is ignored and replaced with 1.0f (fully opaque).

If the render target has an active clip (specified by PushAxisAlignedClip), the clear command is applied only to the area within the clip region.

+
+ + dd371772 + void ID2D1RenderTarget::Clear([In, Optional] const D2D_COLOR_F* clearColor) + ID2D1RenderTarget::Clear +
+ + +

Initiates drawing on this render target.

+
+ +

Drawing operations can only be issued between a BeginDraw and EndDraw call.

BeginDraw and EndDraw are used to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when BeginDraw is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example.

The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of BeginDraw/EndDraw.

After BeginDraw is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the Flush method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing .

If EndDraw is called without a matched call to BeginDraw, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate and error information when EndDraw is called. +

+
+ + dd371768 + void ID2D1RenderTarget::BeginDraw() + ID2D1RenderTarget::BeginDraw +
+ + +

Ends drawing operations on the render target and indicates the current error state and associated tags.

+
+

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

+

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

+

If the method succeeds, it returns . Otherwise, it returns an error code and sets tag1 and tag2 to the tags that were active when the error occurred.

+ +

Drawing operations can only be issued between a BeginDraw and EndDraw call.

BeginDraw and EndDraw are use to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when BeginDraw is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example.

The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of BeginDraw/EndDraw.

After BeginDraw is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the Flush method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing .

If EndDraw is called without a matched call to BeginDraw, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate and error information when EndDraw is called. +

+
+ + dd371924 + HRESULT ID2D1RenderTarget::EndDraw([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) + ID2D1RenderTarget::EndDraw +
+ + +

Retrieves the pixel format and alpha mode of the render target.

+
+

The pixel format and alpha mode of the render target.

+ + dd316814 + D2D1_PIXEL_FORMAT ID2D1RenderTarget::GetPixelFormat() + ID2D1RenderTarget::GetPixelFormat +
+ + +

Sets the dots per inch (DPI) of the render target.

+
+

A value greater than or equal to zero that specifies the horizontal DPI of the render target.

+

A value greater than or equal to zero that specifies the vertical DPI of the render target.

+ +

This method specifies the mapping from pixel space to device-independent space for the render target. If both dpiX and dpiY are 0, the factory-read system DPI is chosen. If one parameter is zero and the other unspecified, the DPI is not changed.

For , the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI.

+
+ + dd316887 + void ID2D1RenderTarget::SetDpi([In] float dpiX,[In] float dpiY) + ID2D1RenderTarget::SetDpi +
+ + +

Return the render target's dots per inch (DPI).

+
+

When this method returns, contains the horizontal DPI of the render target. This parameter is passed uninitialized.

+

When this method returns, contains the vertical DPI of the render target. This parameter is passed uninitialized.

+ +

This method indicates the mapping from pixel space to device-independent space for the render target.

For , the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI.

+
+ + dd316809 + void ID2D1RenderTarget::GetDpi([Out] float* dpiX,[Out] float* dpiY) + ID2D1RenderTarget::GetDpi +
+ + +

Returns the size of the render target in device-independent pixels.

+
+

The current size of the render target in device-independent pixels.

+ + dd316823 + D2D_SIZE_F ID2D1RenderTarget::GetSize() + ID2D1RenderTarget::GetSize +
+ + +

Returns the size of the render target in device pixels.

+
+

The size of the render target in device pixels.

+ + dd316820 + D2D_SIZE_U ID2D1RenderTarget::GetPixelSize() + ID2D1RenderTarget::GetPixelSize +
+ + +

Gets the maximum size, in device-dependent units (pixels), of any one bitmap dimension supported by the render target.

+
+

The maximum size, in pixels, of any one bitmap dimension supported by the render target.

+ + dd742853 + unsigned int ID2D1RenderTarget::GetMaximumBitmapSize() + ID2D1RenderTarget::GetMaximumBitmapSize +
+ + +

Indicates whether the render target supports the specified properties.

+
+

The render target properties to test.

+

TRUE if the specified render target properties are supported by this render target; otherwise, .

+ +

This method does not evaluate the DPI settings specified by the renderTargetProperties parameter.

+
+ + dd742854 + BOOL ID2D1RenderTarget::IsSupported([In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties) + ID2D1RenderTarget::IsSupported +
+ + + Creates a render target that draws to a DirectX Graphics Infrastructure (DXGI) surface. + + + To write to a Direct3D surface, you obtain an and pass it to the {{CreateDxgiSurfaceRenderTarget}} method to create a DXGI surface render target; you can then use the DXGI surface render target to draw 2-D content to the DXGI surface. A DXGI surface render target is a type of . Like other Direct2D render targets, you can use it to create resources and issue drawing commands. The DXGI surface render target and the DXGI surface must use the same DXGI format. If you specify the {{DXGI_FORMAT_UNKOWN}} format when you create the render target, it will automatically use the surface's format.The DXGI surface render target does not perform DXGI surface synchronization. To work with Direct2D, the Direct3D device that provides the must be created with the D3D10_CREATE_DEVICE_BGRA_SUPPORT flag.For more information about creating and using DXGI surface render targets, see the {{Direct2D and Direct3D Interoperability Overview}}.When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the render target's {{EndDraw}} method returns the {{D2DERR_RECREATE_TARGET}} error. When you receive this error, you need to recreate the render target (and any resources it created). + + an instance of + The DXGI surface to bind this render target to + The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + + + + Draws the specified bitmap after scaling it to the size of the specified rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawBitmap}}) failed, check the result returned by the or methods. + + The bitmap to render. + A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The default value is 1.0f. + The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is . + void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_RECT_F* destinationRectangle,[None] float opacity,[None] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D1_RECT_F* sourceRectangle) + + + + Draws the specified bitmap after scaling it to the size of the specified rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawBitmap}}) failed, check the result returned by the or methods. + + The bitmap to render. + The size and position, in device-independent pixels in the render target's coordinate space, of the area to which the bitmap is drawn; NULL to draw the selected portion of the bitmap at the origin of the render target. If the rectangle is specified but not well-ordered, nothing is drawn, but the render target does not enter an error state. + A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The default value is 1.0f. + The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is . + void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_RECT_F* destinationRectangle,[None] float opacity,[None] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D1_RECT_F* sourceRectangle) + + + + Draws the specified bitmap after scaling it to the size of the specified rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawBitmap}}) failed, check the result returned by the or methods. + + The bitmap to render. + A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The default value is 1.0f. + The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is . + The size and position, in device-independent pixels in the bitmap's coordinate space, of the area within the bitmap to be drawn; NULL to draw the entire bitmap. + void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_RECT_F* destinationRectangle,[None] float opacity,[None] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D1_RECT_F* sourceRectangle) + + + + Draws the outline of the specified ellipse using the specified stroke style. + + + The {{DrawEllipse}} method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawEllipse) failed, check the result returned by the or methods. + + The position and radius of the ellipse to draw, in device-independent pixels. + The brush used to paint the ellipse's outline. + void ID2D1RenderTarget::DrawEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified ellipse using the specified stroke style. + + + The {{DrawEllipse}} method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawEllipse) failed, check the result returned by the or methods. + + The position and radius of the ellipse to draw, in device-independent pixels. + The brush used to paint the ellipse's outline. + The thickness of the ellipse's stroke. The stroke is centered on the ellipse's outline. + void ID2D1RenderTarget::DrawEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified geometry. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGeometry) failed, check the result returned by the or methods. + + The geometry to draw. + The brush used to paint the geometry's stroke. + void ID2D1RenderTarget::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified geometry. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGeometry) failed, check the result returned by the or methods. + + The geometry to draw. + The brush used to paint the geometry's stroke. + The thickness of the geometry's stroke. The stroke is centered on the geometry's outline. + void ID2D1RenderTarget::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws a line between the specified points. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawLine) failed, check the result returned by the or methods. + + The start point of the line, in device-independent pixels. + The end point of the line, in device-independent pixels. + The brush used to paint the line's stroke. + void ID2D1RenderTarget::DrawLine([None] D2D1_POINT_2F point0,[None] D2D1_POINT_2F point1,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws a line between the specified points. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawLine) failed, check the result returned by the or methods. + + The start point of the line, in device-independent pixels. + The end point of the line, in device-independent pixels. + The brush used to paint the line's stroke. + A value greater than or equal to 0.0f that specifies the width of the stroke. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line. + void ID2D1RenderTarget::DrawLine([None] D2D1_POINT_2F point0,[None] D2D1_POINT_2F point1,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of a rectangle that has the specified dimensions. + + + When this method fails, it does not return an error code. To determine whether a drawing method (such as {{DrawRectangle}}) failed, check the result returned by the or method. + + The dimensions of the rectangle to draw, in device-independent pixels. + The brush used to paint the rectangle's stroke. + void ID2D1RenderTarget::DrawRectangle([In] const D2D1_RECT_F* rect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of a rectangle that has the specified dimensions and stroke style. + + + When this method fails, it does not return an error code. To determine whether a drawing method (such as {{DrawRectangle}}) failed, check the result returned by the or method. + + The dimensions of the rectangle to draw, in device-independent pixels. + The brush used to paint the rectangle's stroke. + A value greater than or equal to 0.0f that specifies the width of the rectangle's stroke. The stroke is centered on the rectangle's outline. + void ID2D1RenderTarget::DrawRectangle([In] const D2D1_RECT_F* rect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified rounded rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawRoundedRectangle}}) failed, check the result returned by the or methods. + + The dimensions of the rounded rectangle to draw, in device-independent pixels. + The brush used to paint the rounded rectangle's outline. + void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified rounded rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawRoundedRectangle}}) failed, check the result returned by the or methods. + + The dimensions of the rounded rectangle to draw, in device-independent pixels. + The brush used to paint the rounded rectangle's outline. + The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f. + void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the outline of the specified rounded rectangle using the specified stroke style. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawRoundedRectangle}}) failed, check the result returned by the or methods. + + The dimensions of the rounded rectangle to draw, in device-independent pixels. + The brush used to paint the rounded rectangle's outline. + The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f. + The style of the rounded rectangle's stroke, or NULL to paint a solid stroke. The default value is NULL. + void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) + + + + Draws the specified text using the format information provided by an object. + + + To create an object, create an and call its {{CreateTextFormat}} method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawText}}) failed, check the result returned by the or methods. + + A reference to an array of Unicode characters to draw. + An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. + The size and position of the area in which the text is drawn. + The brush used to paint the text. + void ID2D1RenderTarget::DrawTextA([In, Buffer] const wchar_t* string,[None] int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D1_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options,[None] DWRITE_MEASURING_MODE measuringMode) + + + + Draws the specified text using the format information provided by an object. + + + To create an object, create an and call its {{CreateTextFormat}} method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawText}}) failed, check the result returned by the or methods. + + A reference to an array of Unicode characters to draw. + An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. + The size and position of the area in which the text is drawn. + The brush used to paint the text. + A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is , which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle. + void ID2D1RenderTarget::DrawTextA([In, Buffer] const wchar_t* string,[None] int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D1_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options,[None] DWRITE_MEASURING_MODE measuringMode) + + + + Draws the specified text using the format information provided by an object. + + + To create an object, create an and call its {{CreateTextFormat}} method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawText}}) failed, check the result returned by the or methods. + + A reference to an array of Unicode characters to draw. + An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. + The size and position of the area in which the text is drawn. + The brush used to paint the text. + A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is , which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle. + A value that indicates how glyph metrics are used to measure text when it is formatted. The default value is DWRITE_MEASURING_MODE_NATURAL. + void ID2D1RenderTarget::DrawTextA([In, Buffer] const wchar_t* string,[None] int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D1_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options,[None] DWRITE_MEASURING_MODE measuringMode) + + + + Draws the formatted text described by the specified object. + + + When drawing the same text repeatedly, using the DrawTextLayout method is more efficient than using the {{DrawText}} method because the text doesn't need to be formatted and the layout processed with each call. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawTextLayout) failed, check the result returned by the or methods. + + The point, described in device-independent pixels, at which the upper-left corner of the text described by textLayout is drawn. + The formatted text to draw. Any drawing effects that do not inherit from are ignored. If there are drawing effects that inherit from ID2D1Resource that are not brushes, this method fails and the render target is put in an error state. + The brush used to paint any text in textLayout that does not already have a brush associated with it as a drawing effect (specified by the method). + void ID2D1RenderTarget::DrawTextLayout([None] D2D1_POINT_2F origin,[In] IDWriteTextLayout* textLayout,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options) + + + + Ends drawing operations on the render target and indicates the current error state and associated tags. + + + Drawing operations can only be issued between a {{BeginDraw}} and EndDraw call.BeginDraw and EndDraw are use to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when {{BeginDraw}} is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example. The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of {{BeginDraw}}/EndDraw. After {{BeginDraw}} is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the {{Flush}} method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an HRESULT indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing HRESULT. If EndDraw is called without a matched call to {{BeginDraw}}, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate HRESULT and error information when EndDraw is called. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code and sets tag1 and tag2 to the tags that were active when the error occurred. + + + + Paints the interior of the specified geometry. + + + If the opacityBrush parameter is not NULL, the alpha value of each pixel of the mapped opacityBrush is used to determine the resulting opacity of each corresponding pixel of the geometry. Only the alpha value of each color in the brush is used for this processing; all other color information is ignored. The alpha value specified by the brush is multiplied by the alpha value of the geometry after the geometry has been painted by brush. + When this method fails, it does not return an error code. To determine whether a drawing operation (such as FillGeometry) failed, check the result returned by the or method. + + The geometry to paint. + The brush used to paint the geometry's interior. + void FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) + + + + Applies the opacity mask described by the specified bitmap to a brush and uses that brush to paint a region of the render target. + + + For this method to work properly, the render target must be using the antialiasing mode. You can set the antialiasing mode by calling the method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{FillOpacityMask}}) failed, check the result returned by the or methods. + + The opacity mask to apply to the brush. The alpha value of each pixel in the region specified by sourceRectangle is multiplied with the alpha value of the brush after the brush has been mapped to the area defined by destinationRectangle. + The brush used to paint the region of the render target specified by destinationRectangle. + The type of content the opacity mask contains. The value is used to determine the color space in which the opacity mask is blended. + void ID2D1RenderTarget::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[None] D2D1_OPACITY_MASK_CONTENT content,[In, Optional] const D2D1_RECT_F* destinationRectangle,[In, Optional] const D2D1_RECT_F* sourceRectangle) + + + + Paints the interior of the specified rounded rectangle. + + + This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{FillRoundedRectangle}}) failed, check the result returned by the or methods. + + The dimensions of the rounded rectangle to paint, in device-independent pixels. + The brush used to paint the interior of the rounded rectangle. + void ID2D1RenderTarget::FillRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush) + + + + Executes all pending drawing commands. + + + This command does not flush the device that is associated with the render target. Calling this method resets the error state of the render target. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code and sets tag1 and tag2 to the tags that were active when the error occurred. If no error occurred, this method sets the error tag state to be (0,0). + HRESULT ID2D1RenderTarget::Flush([Out, Optional] D2D1_TAG* tag1,[Out, Optional] D2D1_TAG* tag2) + + + +

Gets or sets the current transform of the render target.

+
+ + dd316845 + GetTransform / SetTransform + GetTransform + void ID2D1RenderTarget::GetTransform([Out] D2D_MATRIX_3X2_F* transform) +
+ + +

Retrieves or sets the current antialiasing mode for nontext drawing operations.

+
+ + dd316805 + GetAntialiasMode / SetAntialiasMode + GetAntialiasMode + D2D1_ANTIALIAS_MODE ID2D1RenderTarget::GetAntialiasMode() +
+ + +

Gets or sets the current antialiasing mode for text and glyph drawing operations.

+
+ + dd316835 + GetTextAntialiasMode / SetTextAntialiasMode + GetTextAntialiasMode + D2D1_TEXT_ANTIALIAS_MODE ID2D1RenderTarget::GetTextAntialiasMode() +
+ + +

Retrieves or sets the render target's current text rendering options.

+
+ +

If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

+
+ + dd316841 + GetTextRenderingParams / SetTextRenderingParams + GetTextRenderingParams + void ID2D1RenderTarget::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) +
+ + +

Retrieves the pixel format and alpha mode of the render target.

+
+ + dd316814 + GetPixelFormat + GetPixelFormat + D2D1_PIXEL_FORMAT ID2D1RenderTarget::GetPixelFormat() +
+ + +

Returns the size of the render target in device-independent pixels.

+
+ + dd316823 + GetSize + GetSize + D2D_SIZE_F ID2D1RenderTarget::GetSize() +
+ + +

Returns the size of the render target in device pixels.

+
+ + dd316820 + GetPixelSize + GetPixelSize + D2D_SIZE_U ID2D1RenderTarget::GetPixelSize() +
+ + +

Gets the maximum size, in device-dependent units (pixels), of any one bitmap dimension supported by the render target.

+
+ + dd742853 + GetMaximumBitmapSize + GetMaximumBitmapSize + unsigned int ID2D1RenderTarget::GetMaximumBitmapSize() +
+ + + Get or set the default stroke width used for all methods that are not explicitly using it. Default is set to 1.0f. + + + + + Get or sets the dots per inch (DPI) of the render target. + + + This method specifies the mapping from pixel space to device-independent space for the render target. If both dpiX and dpiY are 0, the factory-read system DPI is chosen. If one parameter is zero and the other unspecified, the DPI is not changed. For , the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI. + + void ID2D1RenderTarget::SetDpi([None] float dpiX,[None] float dpiY) + + + + Initializes a new instance of the class. + + The surface. + HRESULT D2D1CreateDeviceContext([In] IDXGISurface* dxgiSurface,[In, Optional] const D2D1_CREATION_PROPERTIES* creationProperties,[Out] ID2D1DeviceContext** d2dDeviceContext) + + + + Initializes a new instance of the class. + + The surface. + The creation properties. + HRESULT D2D1CreateDeviceContext([In] IDXGISurface* dxgiSurface,[In, Optional] const D2D1_CREATION_PROPERTIES* creationProperties,[Out] ID2D1DeviceContext** d2dDeviceContext) + + + + Initializes a new instance of the class using an existing . + + The device. + The options to be applied to the created device context. + + The new device context will not have a selected target bitmap. The caller must create and select a bitmap as the target surface of the context. + + HRESULT ID2D1Device::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out] ID2D1DeviceContext** deviceContext) + + + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + void ID2D1DeviceContext::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) + + + + No documentation. + + No documentation. + No documentation. + No documentation. + void ID2D1DeviceContext::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) + + + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + void ID2D1DeviceContext::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) + + + + No documentation. + + No documentation. + No documentation. + No documentation. + void ID2D1DeviceContext::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) + + + + Draws the bitmap. + + The bitmap. + The opacity. + The interpolation mode. + void ID2D1DeviceContext::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) + + + + Draws the bitmap. + + The bitmap. + The opacity. + The interpolation mode. + The perspective transform ref. + void ID2D1DeviceContext::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) + + + + Draws the bitmap. + + The bitmap. + The opacity. + The interpolation mode. + The source rectangle. + The perspective transform ref. + void ID2D1DeviceContext::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) + + + + No documentation. + + No documentation. + No documentation. + void ID2D1DeviceContext::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters,[In, Optional] ID2D1Layer* layer) + + + + Gets the effect invalid rectangles. + + The effect. + + HRESULT ID2D1DeviceContext::GetEffectInvalidRectangles([In] ID2D1Effect* effect,[Out, Buffer] D2D_RECT_F* rectangles,[In] unsigned int rectanglesCount) + + + + Gets the effect required input rectangles. + + The render effect. + The input descriptions. + + HRESULT ID2D1DeviceContext::GetEffectRequiredInputRectangles([In] ID2D1Effect* renderEffect,[In, Optional] const D2D_RECT_F* renderImageRectangle,[In, Buffer] const D2D1_EFFECT_INPUT_DESCRIPTION* inputDescriptions,[Out, Buffer] D2D_RECT_F* requiredInputRects,[In] unsigned int inputCount) + + + + Gets the effect required input rectangles. + + The render effect. + The render image rectangle. + The input descriptions. + + HRESULT ID2D1DeviceContext::GetEffectRequiredInputRectangles([In] ID2D1Effect* renderEffect,[In, Optional] const D2D_RECT_F* renderImageRectangle,[In, Buffer] const D2D1_EFFECT_INPUT_DESCRIPTION* inputDescriptions,[Out, Buffer] D2D_RECT_F* requiredInputRects,[In] unsigned int inputCount) + + + + No documentation. + + No documentation. + No documentation. + void ID2D1DeviceContext::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

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 APIs. In addition, color context information can be passed to the bitmap.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.
D3DERR_OUTOFVIDEOMEMORYDirect3D does not have enough display memory to perform the operation.

?

+ +

The new bitmap can be used as a target for SetTarget if it is created with .

+
+ + hh404480 + HRESULT ID2D1DeviceContext::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* sourceData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap) + ID2D1DeviceContext::CreateBitmap +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Creates a Direct2D bitmap by copying a WIC bitmap.

+
+

The WIC bitmap source to copy from.

+

A bitmap properties structure that specifies bitmap creation options.

+

The address of the newly created bitmap object.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ + hh847971 + HRESULT ID2D1DeviceContext::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out] ID2D1Bitmap1** bitmap) + ID2D1DeviceContext::CreateBitmapFromWicBitmap +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a color context.

+
+

The space of color context to create.

+

A buffer containing the ICC profile bytes used to initialize the color context when space is . For other types, the parameter is ignored and should be set to null.

+

The size in bytes of Profile.

+

When this method returns, contains the address of a reference to a new color context object.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

+ +

The new color context can be used in to initialize the color context of a created bitmap.

When space is , profile and profileSize must be specified. Otherwise, these parameters should be set to null and zero respectively. When the space is , the model field of the profile header is inspected to determine if this profile is sRGB or scRGB and the color space is updated respectively. Otherwise the space remains custom.

+
+ + hh404485 + HRESULT ID2D1DeviceContext::CreateColorContext([In] D2D1_COLOR_SPACE space,[In, Buffer, Optional] const unsigned char* profile,[In] unsigned int profileSize,[Out, Fast] ID2D1ColorContext** colorContext) + ID2D1DeviceContext::CreateColorContext +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a color context by loading it from the specified filename. The profile bytes are the contents of the file specified by Filename.

+
+

The path to the file containing the profile bytes to initialize the color context with.

+

When this method returns, contains the address of a reference to a new color context.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

+ +

The new color context can be used in to initialize the color context of a created bitmap. The model field of the profile header is inspected to determine whether this profile is sRGB or scRGB and the color space is updated respectively. Otherwise the space is custom.

Additional References

,

+
+ + hh404488 + HRESULT ID2D1DeviceContext::CreateColorContextFromFilename([In] const wchar_t* filename,[Out, Fast] ID2D1ColorContext** colorContext) + ID2D1DeviceContext::CreateColorContextFromFilename +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a color context from an . The D2D1ColorContext space of the resulting context varies, see Remarks for more info.

+
+ No documentation. + No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

+ +

The new color context can be used in to initialize the color context of a created bitmap. The model field of the profile header is inspected to determine whether this profile is sRGB or scRGB and the color space is updated respectively. Otherwise the space is custom.

+
+ + hh404491 + HRESULT ID2D1DeviceContext::CreateColorContextFromWicColorContext([In] IWICColorContext* wicColorContext,[Out, Fast] ID2D1ColorContext** colorContext) + ID2D1DeviceContext::CreateColorContextFromWicColorContext +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a bitmap that can be set as a target surface or have additional color context information specified.

+
+

The DXGI surface from which the bitmap can be created.

+

The bitmap properties specified in addition to the surface.

+

When this method returns, contains the address of a reference to a new bitmap object.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.
D3DERR_OUTOFVIDEOMEMORYDirect3D does not have enough display memory to perform the operation.

?

+ +

If the bitmap properties are not specified, the following information is assumed:

  • The bitmap DPI is 96.
  • The pixel format matches that of the surface.
  • The returned bitmap will inherit the bind flags of the DXGI surface.
    • However, only the subset of flags meaningful to Direct2D will be inherited. For example, D3D10_USAGE_DYNAMIC is not compatible with any public Direct2D flags.
  • The color context is unknown.

If the bitmap properties are specified, the bitmap properties will be used as follows:

  • The bitmap DPI will be specified by the bitmap properties.
  • If both dpiX and dpiY are 0, the bitmap DPI will be 96.
  • The pixel format must be a compatible shader or render target view of the surface.
  • The bitmap options must be compatible with the bind flags of the DXGI surface. However, they may be a subset. This will influence what resource views are created by the bitmap.
  • The color context information will be used from the bitmap properties, if specified.
+
+ + hh404482 + HRESULT ID2D1DeviceContext::CreateBitmapFromDxgiSurface([In] IDXGISurface* surface,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap) + ID2D1DeviceContext::CreateBitmapFromDxgiSurface +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates an effect from a class ID.

+
+

The class ID of the effect to create.

+

When this method returns, contains the address of a reference to a new effect.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.
D3DERR_OUTOFVIDEOMEMORYDirect3D does not have enough display memory to perform the operation.
The specified effect is not registered by the system.
The effect requires capabilities not supported by the D2D device.

?

+ +

The created effect does not increment the reference count for the dynamic-link library (DLL) from which the effect was created. If the application deletes an effect while that effect is loaded, the resulting behavior is unpredictable.

+
+ + hh404500 + HRESULT ID2D1DeviceContext::CreateEffect([In] const GUID& effectId,[Out, Fast] ID2D1Effect** effect) + ID2D1DeviceContext::CreateEffect +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

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.

+
+

An array of color values and offsets.

+

The number of elements in the gradientStops array.

+

Specifies both the input color space and the space in which the color interpolation occurs.

+

The color space that colors will be converted to after interpolation occurs.

+

The precision of the texture used to hold interpolated values.

+

Defines how colors outside of the range defined by the stop collection are determined.

+

Defines how colors are interpolated. D2D1_COLOR_INTERPOLATION_MODE_PREMULTPLIED is the default, see Remarks for more info.

+

The new gradient stop collection.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

+ +

This method linearly interpolates between the color stops. An optional color space conversion is applied after interpolation. Whether and how this gamma conversion is applied is determined before and after interpolation. This method will fail if the device context does not support the requested buffer precision.

Color interpolation modes
ModeDescription
D2D1_COLOR_INTERPOLATION_MODE_PREMULTPLIEDThe effect premultiplies stops are before interpolation and then un-premultiplies them before converting the color.
The stops are all left as straight alpha.

?

Note??You must always specify colors in straight alpha, regardless of interpolation mode. The interpolation mode only affects the interpolated values.

Requirements
Minimum supported operating systemSame as Interface / Class
Highest IRQL levelN/A (user mode)
Callable from DlllMain()No
Callable from services and session 0Yes
Callable from UI threadYes

?

+
+ + hh404502 + HRESULT ID2D1DeviceContext::CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* straightAlphaGradientStops,[In] unsigned int straightAlphaGradientStopsCount,[In] D2D1_COLOR_SPACE preInterpolationSpace,[In] D2D1_COLOR_SPACE postInterpolationSpace,[In] D2D1_BUFFER_PRECISION bufferPrecision,[In] D2D1_EXTEND_MODE extendMode,[In] D2D1_COLOR_INTERPOLATION_MODE colorInterpolationMode,[Out, Fast] ID2D1GradientStopCollection1** gradientStopCollection1) + ID2D1DeviceContext::CreateGradientStopCollection +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates an image brush with the given properties.

+
+

The image to be used as a source for the image brush.

+

The properties specific to an image brush.

+

Properties common to all brushes.

+

When this method returns, contains the adress of a reference to the input rectangles.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

+ +

This sample illustrates drawing a rectangle with an image brush.

	
+            CreatePatternBrush( __in  *pDeviceContext, __deref_out  **ppImageBrush )	
+            {  hr = ;  *pOldTarget = null; pDeviceContext->GetTarget(&pOldTarget);  *pCommandList = null; hr = pDeviceContext->CreateCommandList(&pCommandList); if (SUCCEEDED(hr)) {    pDeviceContext->SetTarget(pCommandList); hr = RenderPatternToCommandList(pDeviceContext); } pDeviceContext->SetTarget(pOldTarget);  *pImageBrush = null; if (SUCCEEDED(hr)) {         hr = pDeviceContext->CreateImageBrush( pCommandList, null, null, &pImageBrush); } // Fill a rectangle with the image brush. if (SUCCEEDED(hr)) { pDeviceContext->FillRectangle( D2D1::RectF(0, 0, 100, 100), pImageBrush); } SafeRelease(&pImageBrush); SafeRelease(&pCommandList); SafeRelease(&pOldTarget); return hr;	
+            }
+
+ + hh404506 + HRESULT ID2D1DeviceContext::CreateImageBrush([In, Optional] ID2D1Image* image,[In] const D2D1_IMAGE_BRUSH_PROPERTIES* imageBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1ImageBrush** imageBrush) + ID2D1DeviceContext::CreateImageBrush +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Creates a bitmap brush, the input image is a Direct2D bitmap object.

+
+

The bitmap to use as the brush.

+

A bitmap brush properties structure.

+

A brush properties structure.

+

The address of the newly created bitmap brush object.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ + hh847970 + HRESULT ID2D1DeviceContext::CreateBitmapBrush([In, Optional] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES1* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush1** bitmapBrush) + ID2D1DeviceContext::CreateBitmapBrush +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a object.

+
+ No documentation. +

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.

?

+ +

A can store Direct2D commands to be displayed later through or through an image brush.

+
+ + hh404494 + HRESULT ID2D1DeviceContext::CreateCommandList([Out, Fast] ID2D1CommandList** commandList) + ID2D1DeviceContext::CreateCommandList +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Indicates whether the format is supported by Direct2D.

+
+

The DXGI format to check.

+

Returns TRUE if the format is supported. Returns if the format is not supported.

+ +

You can use supported formats in the structure to create bitmaps and render targets. Direct2D doesn't support all DXGI formats, even though they may have some level of Direct3D support by the hardware. +

+
+ + hh847982 + BOOL ID2D1DeviceContext::IsDxgiFormatSupported([In] DXGI_FORMAT format) + ID2D1DeviceContext::IsDxgiFormatSupported +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Indicates whether the buffer precision is supported by the underlying Direct2D device.

+
+ No documentation. +

Returns TRUE if the buffer precision is supported. Returns if the buffer precision is not supported.

+ + hh847981 + BOOL ID2D1DeviceContext::IsBufferPrecisionSupported([In] D2D1_BUFFER_PRECISION bufferPrecision) + ID2D1DeviceContext::IsBufferPrecisionSupported +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the local bounds of an image.

+
+

The image whose bounds will be calculated.

+

When this method returns, contains a reference to the bounds of the image in device independent pixels (DIPs) and in local space.

+ +

The image bounds don't include multiplication by the world transform. They do reflect the current DPI, unit mode, and interpolation mode of the context. To get the bounds that include the world trasnfrom, use .

The returned bounds reflect which pixels would be impacted by calling DrawImage with a target offset of (0,0) and an identity world transform matrix. +

+
+ + hh404515 + HRESULT ID2D1DeviceContext::GetImageLocalBounds([In] ID2D1Image* image,[Out] D2D_RECT_F* localBounds) + ID2D1DeviceContext::GetImageLocalBounds +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Gets the world bounds of an image.

+
+

The image whose bounds will be calculated.

+

When this method returns, contains a reference to the bounds of the image in device independent pixels (DIPs).

+ +

The image bounds reflect the current DPI, unit mode, interpolation mode, and world transform of the context. To get bounds which don't include the world transform, use .

The returned bounds reflect which pixels would be impacted by calling DrawImage with the same image and a target offset of (0,0). They do not reflect the current clip rectangle set on the device context or the extent of the context?s current target image. +

+
+ + hh847979 + HRESULT ID2D1DeviceContext::GetImageWorldBounds([In] ID2D1Image* image,[Out] D2D_RECT_F* worldBounds) + ID2D1DeviceContext::GetImageWorldBounds +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Gets the world-space bounds in DIPs of the glyph run using the device context DPI. STDMETHOD(GetGlyphRunWorldBounds)( D2D1_POINT_2F baselineOrigin, _In_ CONST *glyphRun, measuringMode, _Out_ D2D1_RECT_F *bounds ) CONST PURE;

+
+

The origin of the baseline for the glyph run.

+

The glyph run to to be measured.

+

The DirectWrite measuring mode.

+

The bounds of the glyph run.

+ + hh847978 + HRESULT ID2D1DeviceContext::GetGlyphRunWorldBounds([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] DWRITE_MEASURING_MODE measuringMode,[Out] D2D_RECT_F* bounds) + ID2D1DeviceContext::GetGlyphRunWorldBounds +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the device associated with a device context.

+
+

When this method returns, contains the address of a reference to a Direct2D device associated with this device context.

+ +

The application can retrieve the device even if it is created from an earlier render target code-path. The application must use an interface and then call GetDevice. Some functionality for controlling all of the resources for a set of device contexts is maintained only on an object.

+
+ + hh404513 + void ID2D1DeviceContext::GetDevice([Out] ID2D1Device** device) + ID2D1DeviceContext::GetDevice +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the target for the device context.

+
+

The surface or command list to which the Direct2D device context will render.

+ +

The target can be changed at any time, including while the context is drawing.

+
+ + hh404533 + void ID2D1DeviceContext::SetTarget([In, Optional] ID2D1Image* image) + ID2D1DeviceContext::SetTarget +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the target currently associated with the device context.

+
+

When this method returns, contains the address of a reference to the target currently associated with the device context.

+ +

If a target is not associated with the device context, target will contain null when the methods returns.

If the currently selected target is a bitmap rather than a command list, the application can gain access to the initial bitmaps created by using one of the following methods:

  • CreateHwndRenderTarget
  • CreateDxgiSurfaceRenderTarget
  • CreateWicBitmapRenderTarget
  • CreateDCRenderTarget
  • CreateCompatibleRenderTarget

It is not possible for an application to destroy these bitmaps. All of these bitmaps are bindable as bitmap targets. However not all of these bitmaps can be used as bitmap sources for methods.

CreateDxgiSurfaceRenderTarget will create a bitmap that is usable as a bitmap source if the DXGI surface is bindable as a shader resource view.

CreateCompatibleRenderTarget will always create bitmaps that are usable as a bitmap source.

will copy from the to the original bitmap associated with it. will copy from the original bitmap to the .

objects will be locked in the following circumstances:

  • BeginDraw has been called and the currently selected target bitmap is a WIC bitmap.
  • A WIC bitmap is set as the target of a device context after BeginDraw has been called and before EndDraw has been called.
  • Any of the ID2D1Bitmap::Copy* methods are called with a WIC bitmap as either the source or destination.

objects will be unlocked in the following circumstances:

  • EndDraw is called and the currently selected target bitmap is a WIC bitmap.
  • A WIC bitmap is removed as the target of a device context between the calls to BeginDraw and EndDraw.
  • Any of the ID2D1Bitmap::Copy* methods are called with a WIC bitmap as either the source or destination.

Direct2D will only lock bitmaps that are not currently locked.

Calling QueryInterface for ID2D1GdiInteropRenderTarget will always succeed. ID2D1GdiInteropRenderTarget::GetDC will return a device context corresponding to the currently bound target bitmap. GetDC will fail if the target bitmap was not created with the GDI_COMPATIBLE flag set.

will return if there are any outstanding references to the original target bitmap associated with the render target.

Although the target can be a command list, it cannot be any other type of image. It cannot be the output image of an effect.

+
+ + hh404523 + void ID2D1DeviceContext::GetTarget([Out, Optional] ID2D1Image** image) + ID2D1DeviceContext::GetTarget +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the rendering controls for the given device context.

+
+

The rendering controls to be applied.

+ +

The rendering controls allow the application to tune the precision, performance, and resource usage of rendering operations.

+
+ + hh404530 + void ID2D1DeviceContext::SetRenderingControls([In] const D2D1_RENDERING_CONTROLS* renderingControls) + ID2D1DeviceContext::SetRenderingControls +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the rendering controls that have been applied to the context.

+
+

When this method returns, contains a reference to the rendering controls for this context.

+ + hh404519 + void ID2D1DeviceContext::GetRenderingControls([Out] D2D1_RENDERING_CONTROLS* renderingControls) + ID2D1DeviceContext::GetRenderingControls +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Changes the primitive blend mode that is used for all rendering operations in the device context.

+
+

The primitive blend to use.

+ + hh404527 + void ID2D1DeviceContext::SetPrimitiveBlend([In] D2D1_PRIMITIVE_BLEND primitiveBlend) + ID2D1DeviceContext::SetPrimitiveBlend +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Returns the currently set primitive blend used by the device context.

+
+

The current primitive blend. The default value is .

+ + hh404517 + D2D1_PRIMITIVE_BLEND ID2D1DeviceContext::GetPrimitiveBlend() + ID2D1DeviceContext::GetPrimitiveBlend +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets what units will be used to interpret values passed into the device context.

+
+

An enumeration defining how passed-in units will be interpreted by the device context.

+ +

This method will affect all properties and parameters affected by SetDpi and GetDpi. This affects all coordinates, lengths, and other properties that are not explicitly defined as being in another unit. For example:

  • SetUnitMode will affect a coordinate passed into ID2D1DeviceContext::DrawLine, and the scaling of a geometry passed into ID2D1DeviceContext::FillGeometry.
  • SetUnitMode will not affect the value returned by , or how the desiredPixelSize parameter is interpreted in ID2D1DeviceContext::CreateCompatibleBitmap.
+
+ + hh404539 + void ID2D1DeviceContext::SetUnitMode([In] D2D1_UNIT_MODE unitMode) + ID2D1DeviceContext::SetUnitMode +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the mode that is being used to interpret values by the device context.

+
+

The unit mode.

+ + hh404525 + D2D1_UNIT_MODE ID2D1DeviceContext::GetUnitMode() + ID2D1DeviceContext::GetUnitMode +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Draws a series of glyphs to the device context.

+
+

Origin of first glyph in the series.

+

Glyph information including glyph indices, advances, and offsets.

+

Supplementary glyph series information.

+

The brush that defines the text color.

+

The measuring mode of the glyph series, used to determine the advances and offsets. The default value is .

+ +

The glyphRunDescription is ignored when rendering, but can be useful for printing and serialization of rendering commands, such as to an XPS or SVG file. This extends , which lacked the glyph run description.

+
+ + hh404508 + void ID2D1DeviceContext::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) + ID2D1DeviceContext::DrawGlyphRun +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Draws an image to the device context.

+
+

The image to be drawn to the device context.

+

The offset in the destination space that the image will be rendered to. The entire logical extent of the image will be rendered to the corresponding destination. If not specified, the destination origin will be (0, 0). The top-left corner of the image will be mapped to the target offset. This will not necessarily be the origin. This default value is null.

+

The corresponding rectangle in the image space will be mapped to the given origins when processing the image. This default value is null.

+

The interpolation mode that will be used to scale the image if necessary. The default value is D2D1_IMAGE_INTERPOLATION_BILINEAR.

+

The composite mode that will be applied to the limits of the currently selected clip. The default value is D2D1_COMPOSITE_MODE_DEFAULT

+ +

If interpolationMode is D2D1_IMAGE_INTERPOLATION_MODE_HIGH_QUALITY, different scalers will be used depending on the scale factor implied by the world transform.

Any invalid rectangles accumulated on any effect that is drawn by this call will be discarded regardless of which portion of the image rectangle is drawn.

If compositeMode is D2D1_COMPOSITE_MODE_DEFAULT, DrawImage will use the currently selected primitive blend specified by . If compositeMode is not D2D1_COMPOSITE_MODE_DEFAULT, the image will be extended to transparent up to the current axis-aligned clip.

If there is an image rectangle and a world transform, this is equivalent to inserting a clip effect to represent the image rectangle and a 2D affine transform to take into account the world transform.

+
+ + hh404511 + void ID2D1DeviceContext::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) + ID2D1DeviceContext::DrawImage +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Draw a metafile to the device context.

+
+

The metafile to draw.

+

The offset from the upper left corner of the render target.

+ + hh847973 + void ID2D1DeviceContext::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_POINT_2F* targetOffset) + ID2D1DeviceContext::DrawGdiMetafile +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Draws a bitmap to the render target.

+
+

The bitmap to draw.

+

The destination rectangle. The default is the size of the bitmap and the location is the upper left corner of the render target.

+

The opacity of the bitmap.

+

The interpolation mode to use.

+

An optional source rectangle.

+

An optional perspective transform.

+ + hh847972 + void ID2D1DeviceContext::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) + ID2D1DeviceContext::DrawBitmap +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Push a layer on the device context.

+
+

A layer parameters structure.

+

The layer to push on the device context.

+ + hh847983 + void ID2D1DeviceContext::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters,[In, Optional] ID2D1Layer* layer) + ID2D1DeviceContext::PushLayer +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

This indicates that a portion of an effect's input is invalid. This method can be called many times.

+
+

The effect to invalidate.

+

The input indexl

+

The rect to invalidate.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ + hh847980 + HRESULT ID2D1DeviceContext::InvalidateEffectInputRectangle([In] ID2D1Effect* effect,[In] unsigned int input,[In] const D2D_RECT_F* inputRectangle) + ID2D1DeviceContext::InvalidateEffectInputRectangle +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Gets the number of invalid output rectangles that have accumulated on the effect.

+
+

The effect to count the invalid rectangles on.

+

The returned rectangle count.

+ + hh847975 + HRESULT ID2D1DeviceContext::GetEffectInvalidRectangleCount([In] ID2D1Effect* effect,[Out] unsigned int* rectangleCount) + ID2D1DeviceContext::GetEffectInvalidRectangleCount +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Gets the invalid rectangles that are at the output of the effect.

+
+

The effect to get the invalid rectangles from.

+

An array of D2D1_RECT_F structures. You must allocate this to the correct size. You can get the count of the invalid rectangles using the GetEffectInvalidRectangleCount method.

+

The number of rectangles to get.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ + hh847976 + HRESULT ID2D1DeviceContext::GetEffectInvalidRectangles([In] ID2D1Effect* effect,[Out, Buffer] D2D_RECT_F* rectangles,[In] unsigned int rectanglesCount) + ID2D1DeviceContext::GetEffectInvalidRectangles +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Gets the maximum region of each specified input which would be used during a subsequent rendering operation.

+
+

The effect to check the input rectangles against.

+

The rectangle of the render target image.

+

The input descriptions you provide.

+

The returned input rectangles.

+

The number of required input rectangles.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

+ + hh847977 + HRESULT ID2D1DeviceContext::GetEffectRequiredInputRectangles([In] ID2D1Effect* renderEffect,[In, Optional] const D2D_RECT_F* renderImageRectangle,[In, Buffer] const D2D1_EFFECT_INPUT_DESCRIPTION* inputDescriptions,[Out, Buffer] D2D_RECT_F* requiredInputRects,[In] unsigned int inputCount) + ID2D1DeviceContext::GetEffectRequiredInputRectangles +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

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.

+
+

The bitmap that acts as the opacity mask

+

The brush to use for filling the primitive.

+

The destination rectangle to output to in the render target

+

The source rectangle from the opacity mask bitmap.

+ + hh847974 + void ID2D1DeviceContext::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) + ID2D1DeviceContext::FillOpacityMask +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the device associated with a device context.

+
+ +

The application can retrieve the device even if it is created from an earlier render target code-path. The application must use an interface and then call GetDevice. Some functionality for controlling all of the resources for a set of device contexts is maintained only on an object.

+
+ + hh404513 + GetDevice + GetDevice + void ID2D1DeviceContext::GetDevice([Out] ID2D1Device** device) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the target currently associated with the device context.

+
+ +

If a target is not associated with the device context, target will contain null when the methods returns.

If the currently selected target is a bitmap rather than a command list, the application can gain access to the initial bitmaps created by using one of the following methods:

  • CreateHwndRenderTarget
  • CreateDxgiSurfaceRenderTarget
  • CreateWicBitmapRenderTarget
  • CreateDCRenderTarget
  • CreateCompatibleRenderTarget

It is not possible for an application to destroy these bitmaps. All of these bitmaps are bindable as bitmap targets. However not all of these bitmaps can be used as bitmap sources for methods.

CreateDxgiSurfaceRenderTarget will create a bitmap that is usable as a bitmap source if the DXGI surface is bindable as a shader resource view.

CreateCompatibleRenderTarget will always create bitmaps that are usable as a bitmap source.

will copy from the to the original bitmap associated with it. will copy from the original bitmap to the .

objects will be locked in the following circumstances:

  • BeginDraw has been called and the currently selected target bitmap is a WIC bitmap.
  • A WIC bitmap is set as the target of a device context after BeginDraw has been called and before EndDraw has been called.
  • Any of the ID2D1Bitmap::Copy* methods are called with a WIC bitmap as either the source or destination.

objects will be unlocked in the following circumstances:

  • EndDraw is called and the currently selected target bitmap is a WIC bitmap.
  • A WIC bitmap is removed as the target of a device context between the calls to BeginDraw and EndDraw.
  • Any of the ID2D1Bitmap::Copy* methods are called with a WIC bitmap as either the source or destination.

Direct2D will only lock bitmaps that are not currently locked.

Calling QueryInterface for ID2D1GdiInteropRenderTarget will always succeed. ID2D1GdiInteropRenderTarget::GetDC will return a device context corresponding to the currently bound target bitmap. GetDC will fail if the target bitmap was not created with the GDI_COMPATIBLE flag set.

will return if there are any outstanding references to the original target bitmap associated with the render target.

Although the target can be a command list, it cannot be any other type of image. It cannot be the output image of an effect.

+
+ + hh404523 + GetTarget / SetTarget + GetTarget + void ID2D1DeviceContext::GetTarget([Out, Optional] ID2D1Image** image) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the rendering controls that have been applied to the context.

+
+ + hh404519 + GetRenderingControls / SetRenderingControls + GetRenderingControls + void ID2D1DeviceContext::GetRenderingControls([Out] D2D1_RENDERING_CONTROLS* renderingControls) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Returns the currently set primitive blend used by the device context.

+
+ + hh404517 + GetPrimitiveBlend / SetPrimitiveBlend + GetPrimitiveBlend + D2D1_PRIMITIVE_BLEND ID2D1DeviceContext::GetPrimitiveBlend() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the mode that is being used to interpret values by the device context.

+
+ + hh404525 + GetUnitMode / SetUnitMode + GetUnitMode + D2D1_UNIT_MODE ID2D1DeviceContext::GetUnitMode() +
+ + +

Specifies the identifiers of the metadata items in an 8BIM IPTC digest metadata block.

+
+ + ee719802 + WIC8BIMIptcDigestProperties + WIC8BIMIptcDigestProperties +
+ + +

[VT_LPSTR] A name that identifies the 8BIM block.

+
+ + ee719802 + WIC8BIMIptcDigestPString + WIC8BIMIptcDigestPString +
+ + +

[VT_BLOB] The embedded IPTC digest value.

+
+ + ee719802 + WIC8BIMIptcDigestIptcDigest + WIC8BIMIptcDigestIptcDigest +
+ + +

Specifies the identifiers of the metadata items in an 8BIM IPTC block.

+
+ + ee719803 + WIC8BIMIptcProperties + WIC8BIMIptcProperties +
+ + +

[VT_LPSTR] A name that identifies the 8BIM block.

+
+ + ee719803 + WIC8BIMIptcPString + WIC8BIMIptcPString +
+ + +

[VT_UNKNOWN] The IPTC block embedded in this 8BIM IPTC block.

+
+ + ee719803 + WIC8BIMIptcEmbeddedIPTC + WIC8BIMIptcEmbeddedIPTC +
+ + +

Specifies the identifiers of the metadata items in an 8BIMResolutionInfo block.

+
+ + ee719804 + WIC8BIMResolutionInfoProperties + WIC8BIMResolutionInfoProperties +
+ + +

[VT_LPSTR] A name that identifies the 8BIM block.

+
+ + ee719804 + WIC8BIMResolutionInfoPString + WIC8BIMResolutionInfoPString +
+ + +

[VT_UI4] The horizontal resolution of the image.

+
+ + ee719804 + WIC8BIMResolutionInfoHResolution + WIC8BIMResolutionInfoHResolution +
+ + +

[VT_UI2] The units that the horizontal resolution is specified in; a 1 indicates pixels per inch and a 2 indicates pixels per centimeter.

+
+ + ee719804 + WIC8BIMResolutionInfoHResolutionUnit + WIC8BIMResolutionInfoHResolutionUnit +
+ + +

[VT_UI2] The units that the image width is specified in; a 1 indicates inches, a 2 indicates centimeters, a 3 indicates points, a 4 specifies picas, and a 5 specifies columns.

+
+ + ee719804 + WIC8BIMResolutionInfoWidthUnit + WIC8BIMResolutionInfoWidthUnit +
+ + +

[VT_UI4] The vertical resolution of the image.

+
+ + ee719804 + WIC8BIMResolutionInfoVResolution + WIC8BIMResolutionInfoVResolution +
+ + +

[VT_UI2] The units that the vertical resolution is specified in; a 1 indicates pixels per inch and a 2 indicates pixels per centimeter.

+
+ + ee719804 + WIC8BIMResolutionInfoVResolutionUnit + WIC8BIMResolutionInfoVResolutionUnit +
+ + +

[VT_UI2] The units that the image height is specified in; a 1 indicates inches, a 2 indicates centimeters, a 3 indicates points, a 4 specifies picas, and a 5 specifies columns.

+
+ + ee719804 + WIC8BIMResolutionInfoHeightUnit + WIC8BIMResolutionInfoHeightUnit +
+ + +

Specifies the desired alpha channel usage.

+
+ + ee719805 + WICBitmapAlphaChannelOption + WICBitmapAlphaChannelOption +
+ + +

Use alpha channel.

+
+ + ee719805 + WICBitmapUseAlpha + WICBitmapUseAlpha +
+ + +

Use a pre-multiplied alpha channel.

+
+ + ee719805 + WICBitmapUsePremultipliedAlpha + WICBitmapUsePremultipliedAlpha +
+ + +

Ignore alpha channel.

+
+ + ee719805 + WICBitmapIgnoreAlpha + WICBitmapIgnoreAlpha +
+ + +

Specifies the desired cache usage.

+
+ +

The CreateBitmap of the interface does not support when the pixelFormat is a native pixel format provided by Windows Imaging Component (WIC).

+
+ + ee719806 + WICBitmapCreateCacheOption + WICBitmapCreateCacheOption +
+ + +

Do not cache the bitmap.

+
+ + ee719806 + WICBitmapNoCache + WICBitmapNoCache +
+ + +

Cache the bitmap when needed.

+
+ + ee719806 + WICBitmapCacheOnDemand + WICBitmapCacheOnDemand +
+ + +

Cache the bitmap at initialization.

+
+ + ee719806 + WICBitmapCacheOnLoad + WICBitmapCacheOnLoad +
+ + +

Specifies the capabilities of the decoder.

+
+ + ee719807 + WICBitmapDecoderCapabilities + WICBitmapDecoderCapabilities +
+ + +

Decoder recognizes the image was encoded with an encoder produced by the same vendor.

+
+ + ee719807 + WICBitmapDecoderCapabilitySameEncoder + WICBitmapDecoderCapabilitySameEncoder +
+ + +

Decoder can decode all the images within an image container.

+
+ + ee719807 + WICBitmapDecoderCapabilityCanDecodeAllImages + WICBitmapDecoderCapabilityCanDecodeAllImages +
+ + +

Decoder can decode some of the images within an image container.

+
+ + ee719807 + WICBitmapDecoderCapabilityCanDecodeSomeImages + WICBitmapDecoderCapabilityCanDecodeSomeImages +
+ + +

Decoder can enumerate the metadata blocks within a container format.

+
+ + ee719807 + WICBitmapDecoderCapabilityCanEnumerateMetadata + WICBitmapDecoderCapabilityCanEnumerateMetadata +
+ + +

Decoder can find and decode a thumbnail.

+
+ + ee719807 + WICBitmapDecoderCapabilityCanDecodeThumbnail + WICBitmapDecoderCapabilityCanDecodeThumbnail +
+ + + None. + + + None + None + + + +

Specifies the type of dither algorithm to apply when converting between image formats.

+
+ + ee719808 + WICBitmapDitherType + WICBitmapDitherType +
+ + +

A solid color algorithm without dither.

+
+ + ee719808 + WICBitmapDitherTypeNone + WICBitmapDitherTypeNone +
+ + +

A solid color algorithm without dither.

+
+ + ee719808 + WICBitmapDitherTypeSolid + WICBitmapDitherTypeSolid +
+ + +

A 4x4 ordered dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeOrdered4x4 + WICBitmapDitherTypeOrdered4x4 +
+ + +

An 8x8 ordered dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeOrdered8x8 + WICBitmapDitherTypeOrdered8x8 +
+ + +

A 16x16 ordered dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeOrdered16x16 + WICBitmapDitherTypeOrdered16x16 +
+ + +

A 4x4 spiral dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeSpiral4x4 + WICBitmapDitherTypeSpiral4x4 +
+ + +

An 8x8 spiral dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeSpiral8x8 + WICBitmapDitherTypeSpiral8x8 +
+ + +

A 4x4 dual spiral dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeDualSpiral4x4 + WICBitmapDitherTypeDualSpiral4x4 +
+ + +

An 8x8 dual spiral dither algorithm.

+
+ + ee719808 + WICBitmapDitherTypeDualSpiral8x8 + WICBitmapDitherTypeDualSpiral8x8 +
+ + +

An error diffusion algorithm.

+
+ + ee719808 + WICBitmapDitherTypeErrorDiffusion + WICBitmapDitherTypeErrorDiffusion +
+ + +

Specifies the cache options available for an encoder.

+
+ + ee719809 + WICBitmapEncoderCacheOption + WICBitmapEncoderCacheOption +
+ + +

The encoder is cached in memory. This option is not supported.

+
+ + ee719809 + WICBitmapEncoderCacheInMemory + WICBitmapEncoderCacheInMemory +
+ + +

The encoder is cached to a temporary file. This option is not supported.

+
+ + ee719809 + WICBitmapEncoderCacheTempFile + WICBitmapEncoderCacheTempFile +
+ + +

The encoder is not cached.

+
+ + ee719809 + WICBitmapEncoderNoCache + WICBitmapEncoderNoCache +
+ + +

Specifies the sampling or filtering mode to use when scaling an image.

+
+ + ee719810 + WICBitmapInterpolationMode + WICBitmapInterpolationMode +
+ + +

A nearest neighbor interpolation algorithm. Also known as nearest pixel or point interpolation.

The output pixel is assigned the value of the pixel that the point falls within. No other pixels are considered.

+
+ + ee719810 + WICBitmapInterpolationModeNearestNeighbor + WICBitmapInterpolationModeNearestNeighbor +
+ + +

A bilinear interpolation algorithm.

The output pixel values are computed as a weighted average of the nearest four pixels in a 2x2 grid.

+
+ + ee719810 + WICBitmapInterpolationModeLinear + WICBitmapInterpolationModeLinear +
+ + +

A bicubic interpolation algorithm.

Destination pixel values are computed as a weighted average of the nearest sixteen pixels in a 4x4 grid.

+
+ + ee719810 + WICBitmapInterpolationModeCubic + WICBitmapInterpolationModeCubic +
+ + +

A Fant resampling algorithm.

Destination pixel values are computed as a weighted average of the all the pixels that map to the new pixel.

+
+ + ee719810 + WICBitmapInterpolationModeFant + WICBitmapInterpolationModeFant +
+ + +

Specifies access to an .

+
+ + ee719811 + WICBitmapLockFlags + WICBitmapLockFlags +
+ + + No documentation. + + + WICBitmapLockRead + WICBitmapLockRead + + + + No documentation. + + + WICBitmapLockWrite + WICBitmapLockWrite + + + +

Specifies the type of palette used for an indexed image format.

+
+ + ee719812 + WICBitmapPaletteType + WICBitmapPaletteType +
+ + +

An arbitrary custom palette provided by caller.

+
+ + ee719812 + WICBitmapPaletteTypeCustom + WICBitmapPaletteTypeCustom +
+ + +

An optimal palette generated using a median-cut algorithm. Derived from the colors in an image.

+
+ + ee719812 + WICBitmapPaletteTypeMedianCut + WICBitmapPaletteTypeMedianCut +
+ + +

A black and white palette.

+
+ + ee719812 + WICBitmapPaletteTypeFixedBW + WICBitmapPaletteTypeFixedBW +
+ + +

A palette that has its 8-color on-off primaries and the 16 system colors added. With duplicates removed, 16 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone8 + WICBitmapPaletteTypeFixedHalftone8 +
+ + +

A palette that has 3 intensity levels of each primary: 27-color on-off primaries and the 16 system colors added. With duplicates removed, 35 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone27 + WICBitmapPaletteTypeFixedHalftone27 +
+ + +

A palette that has 4 intensity levels of each primary: 64-color on-off primaries and the 16 system colors added. With duplicates removed, 72 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone64 + WICBitmapPaletteTypeFixedHalftone64 +
+ + +

A palette that has 5 intensity levels of each primary: 125-color on-off primaries and the 16 system colors added. With duplicates removed, 133 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone125 + WICBitmapPaletteTypeFixedHalftone125 +
+ + +

A palette that has 6 intensity levels of each primary: 216-color on-off primaries and the 16 system colors added. With duplicates removed, 224 colors are available. This is the same as WICBitmapPaletteFixedHalftoneWeb.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone216 + WICBitmapPaletteTypeFixedHalftone216 +
+ + +

A palette that has 6 intensity levels of each primary: 216-color on-off primaries and the 16 system colors added. With duplicates removed, 224 colors are available. This is the same as .

+
+ + ee719812 + WICBitmapPaletteTypeFixedWebPalette + WICBitmapPaletteTypeFixedWebPalette +
+ + +

A palette that has its 252-color on-off primaries and the 16 system colors added. With duplicates removed, 256 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone252 + WICBitmapPaletteTypeFixedHalftone252 +
+ + +

A palette that has its 256-color on-off primaries and the 16 system colors added. With duplicates removed, 256 colors are available.

+
+ + ee719812 + WICBitmapPaletteTypeFixedHalftone256 + WICBitmapPaletteTypeFixedHalftone256 +
+ + +

A palette that has 4 shades of gray.

+
+ + ee719812 + WICBitmapPaletteTypeFixedGray4 + WICBitmapPaletteTypeFixedGray4 +
+ + +

A palette that has 16 shades of gray.

+
+ + ee719812 + WICBitmapPaletteTypeFixedGray16 + WICBitmapPaletteTypeFixedGray16 +
+ + +

A palette that has 256 shades of gray.

+
+ + ee719812 + WICBitmapPaletteTypeFixedGray256 + WICBitmapPaletteTypeFixedGray256 +
+ + +

Specifies the flip and rotation transforms.

+
+ + ee719814 + WICBitmapTransformOptions + WICBitmapTransformOptions +
+ + +

A rotation of 0 degrees.

+
+ + ee719814 + WICBitmapTransformRotate0 + WICBitmapTransformRotate0 +
+ + +

A clockwise rotation of 90 degrees.

+
+ + ee719814 + WICBitmapTransformRotate90 + WICBitmapTransformRotate90 +
+ + +

A clockwise rotation of 180 degrees.

+
+ + ee719814 + WICBitmapTransformRotate180 + WICBitmapTransformRotate180 +
+ + +

A clockwise rotation of 270 degrees.

+
+ + ee719814 + WICBitmapTransformRotate270 + WICBitmapTransformRotate270 +
+ + +

A horizontal flip. Pixels are flipped around the vertical y-axis.

+
+ + ee719814 + WICBitmapTransformFlipHorizontal + WICBitmapTransformFlipHorizontal +
+ + +

A vertical flip. Pixels are flipped around the horizontal x-axis.

+
+ + ee719814 + WICBitmapTransformFlipVertical + WICBitmapTransformFlipVertical +
+ + +

Specifies the color context types.

+
+ + ee719815 + WICColorContextType + WICColorContextType +
+ + +

An uninitialized color context.

+
+ + ee719815 + WICColorContextUninitialized + WICColorContextUninitialized +
+ + +

A color context profile.

+
+ + ee719815 + WICColorContextProfile + WICColorContextProfile +
+ + +

An EXIF color space color context.

+
+ + ee719815 + WICColorContextExifColorSpace + WICColorContextExifColorSpace +
+ + +

Specifies component enumeration options.

+
+ + ee719816 + WICComponentEnumerateOptions + WICComponentEnumerateOptions +
+ + +

Enumerate signed components.

+
+ + ee719816 + WICComponentEnumerateDefault + WICComponentEnumerateDefault +
+ + +

Force a read of the registry when enumerating components.

+
+ + ee719816 + WICComponentEnumerateRefresh + WICComponentEnumerateRefresh +
+ + +

Enumerate disabled components.

+
+ + ee719816 + WICComponentEnumerateDisabled + WICComponentEnumerateDisabled +
+ + +

Enumerate unsigned components.

+
+ + ee719816 + WICComponentEnumerateUnsigned + WICComponentEnumerateUnsigned +
+ + +

Enumerate only built in components.

+
+ + ee719816 + WICComponentEnumerateBuiltInOnly + WICComponentEnumerateBuiltInOnly +
+ + +

Specifies the component signing status.

+
+ + ee719817 + WICComponentSigning + WICComponentSigning +
+ + +

A signed component.

+
+ + ee719817 + WICComponentSigned + WICComponentSigned +
+ + +

An unsigned component

+
+ + ee719817 + WICComponentUnsigned + WICComponentUnsigned +
+ + +

A component is safe.

Components that do not have a binary component to sign, such as a pixel format, should return this value.

+
+ + ee719817 + WICComponentSafe + WICComponentSafe +
+ + +

A component has been disabled.

+
+ + ee719817 + WICComponentDisabled + WICComponentDisabled +
+ + +

Specifies the type of Windows Imaging Component (WIC) component.

+
+ + ee719818 + WICComponentType + WICComponentType +
+ + +

A WIC decoder.

+
+ + ee719818 + WICDecoder + WICDecoder +
+ + +

A WIC encoder.

+
+ + ee719818 + WICEncoder + WICEncoder +
+ + +

A WIC pixel converter.

+
+ + ee719818 + WICPixelFormatConverter + WICPixelFormatConverter +
+ + +

A WIC metadata reader.

+
+ + ee719818 + WICMetadataReader + WICMetadataReader +
+ + +

A WIC metadata writer.

+
+ + ee719818 + WICMetadataWriter + WICMetadataWriter +
+ + +

A WIC pixel format.

+
+ + ee719818 + WICPixelFormat + WICPixelFormat +
+ + +

All WIC components.

+
+ + ee719818 + WICAllComponents + WICAllComponents +
+ + +

Specifies decode options.

+
+ + ee719824 + WICDecodeOptions + WICDecodeOptions +
+ + +

Cache metadata when needed.

+
+ + ee719824 + WICDecodeMetadataCacheOnDemand + WICDecodeMetadataCacheOnDemand +
+ + +

Cache metadata when decoder is loaded.

+
+ + ee719824 + WICDecodeMetadataCacheOnLoad + WICDecodeMetadataCacheOnLoad +
+ + +

Specifies the application extension metadata properties for a Graphics Interchange Format (GIF) image.

+
+ + ee719826 + WICGifApplicationExtensionProperties + WICGifApplicationExtensionProperties +
+ + +

[VT_UI1 | VT_VECTOR] Indicates a string that identifies the application.

+
+ + ee719826 + WICGifApplicationExtensionApplication + WICGifApplicationExtensionApplication +
+ + +

[VT_UI1 | VT_VECTOR] Indicates data that is exposed by the application.

+
+ + ee719826 + WICGifApplicationExtensionData + WICGifApplicationExtensionData +
+ + +

Specifies the comment extension metadata properties for a Graphics Interchange Format (GIF) image.

+
+ + ee719827 + WICGifCommentExtensionProperties + WICGifCommentExtensionProperties +
+ + +

[VT_LPSTR] Indicates the comment text.

+
+ + ee719827 + WICGifCommentExtensionText + WICGifCommentExtensionText +
+ + +

Specifies the graphic control extension metadata properties that define the transitions between each frame animation for Graphics Interchange Format (GIF) images.

+
+ + ee719828 + WICGifGraphicControlExtensionProperties + WICGifGraphicControlExtensionProperties +
+ + +

[VT_UI1] Indicates the disposal requirements. 0 - no disposal, 1 - do not dispose, 2 - restore to background color, 3 - restore to previous.

+
+ + ee719828 + WICGifGraphicControlExtensionDisposal + WICGifGraphicControlExtensionDisposal +
+ + +

[VT_BOOL] Indicates the user input flag. TRUE if user input should advance to the next frame; otherwise, .

+
+ + ee719828 + WICGifGraphicControlExtensionUserInputFlag + WICGifGraphicControlExtensionUserInputFlag +
+ + +

[VT_BOOL] Indicates the transparency flag. TRUE if a transparent color in is in the color table for this frame; otherwise, .

+
+ + ee719828 + WICGifGraphicControlExtensionTransparencyFlag + WICGifGraphicControlExtensionTransparencyFlag +
+ + +

[VT_UI2] Indicates how long to display the next frame before advancing to the next frame, in units of 1/100th of a second.

+
+ + ee719828 + WICGifGraphicControlExtensionDelay + WICGifGraphicControlExtensionDelay +
+ + +

[VT_UI1] Indicates which color in the palette should be treated as transparent.

+
+ + ee719828 + WICGifGraphicControlExtensionTransparentColorIndex + WICGifGraphicControlExtensionTransparentColorIndex +
+ + +

Specifies the image descriptor metadata properties for Graphics Interchange Format (GIF) frames.

+
+ + ee719829 + WICGifImageDescriptorProperties + WICGifImageDescriptorProperties +
+ + +

[VT_UI2] Indicates the X offset at which to locate this frame within the logical screen.

+
+ + ee719829 + WICGifImageDescriptorLeft + WICGifImageDescriptorLeft +
+ + +

[VT_UI2] Indicates the Y offset at which to locate this frame within the logical screen.

+
+ + ee719829 + WICGifImageDescriptorTop + WICGifImageDescriptorTop +
+ + +

[VT_UI2] Indicates width of this frame, in pixels.

+
+ + ee719829 + WICGifImageDescriptorWidth + WICGifImageDescriptorWidth +
+ + +

[VT_UI2] Indicates height of this frame, in pixels.

+
+ + ee719829 + WICGifImageDescriptorHeight + WICGifImageDescriptorHeight +
+ + +

[VT_BOOL] Indicates the local color table flag. TRUE if global color table is present; otherwise, .

+
+ + ee719829 + WICGifImageDescriptorLocalColorTableFlag + WICGifImageDescriptorLocalColorTableFlag +
+ + +

[VT_BOOL] Indicates the interlace flag. TRUE if image is interlaced; otherwise, .

+
+ + ee719829 + WICGifImageDescriptorInterlaceFlag + WICGifImageDescriptorInterlaceFlag +
+ + +

[VT_BOOL] Indicates the sorted color table flag. TRUE if the color table is sorted from most frequently to least frequently used color; otherwise, .

+
+ + ee719829 + WICGifImageDescriptorSortFlag + WICGifImageDescriptorSortFlag +
+ + +

[VT_UI1] Indicates the value used to calculate the number of bytes contained in the global color table.

To calculate the actual size of the color table, raise 2 to the value of the field + 1.

+
+ + ee719829 + WICGifImageDescriptorLocalColorTableSize + WICGifImageDescriptorLocalColorTableSize +
+ + +

Specifies the logical screen descriptor properties for Graphics Interchange Format (GIF) metadata.

+
+ + ee719830 + WICGifLogicalScreenDescriptorProperties + WICGifLogicalScreenDescriptorProperties +
+ + +

[VT_UI1 | VT_VECTOR] Indicates the signature property.

+
+ + ee719830 + WICGifLogicalScreenSignature + WICGifLogicalScreenSignature +
+ + +

[VT_UI2] Indicates the width in pixels.

+
+ + ee719830 + WICGifLogicalScreenDescriptorWidth + WICGifLogicalScreenDescriptorWidth +
+ + +

[VT_UI2] Indicates the height in pixels.

+
+ + ee719830 + WICGifLogicalScreenDescriptorHeight + WICGifLogicalScreenDescriptorHeight +
+ + +

[VT_BOOL] Indicates the global color table flag. TRUE if a global color table is present; otherwise, .

+
+ + ee719830 + WICGifLogicalScreenDescriptorGlobalColorTableFlag + WICGifLogicalScreenDescriptorGlobalColorTableFlag +
+ + +

[VT_UI1] Indicates the color resolution in bits per pixel.

+
+ + ee719830 + WICGifLogicalScreenDescriptorColorResolution + WICGifLogicalScreenDescriptorColorResolution +
+ + +

[VT_BOOL] Indicates the sorted color table flag. TRUE if the table is sorted; otherwise, .

+
+ + ee719830 + WICGifLogicalScreenDescriptorSortFlag + WICGifLogicalScreenDescriptorSortFlag +
+ + +

[VT_UI1] Indicates the value used to calculate the number of bytes contained in the global color table.

To calculate the actual size of the color table, raise 2 to the value of the field + 1.

+
+ + ee719830 + WICGifLogicalScreenDescriptorGlobalColorTableSize + WICGifLogicalScreenDescriptorGlobalColorTableSize +
+ + +

[VT_UI1] Indicates the index within the color table to use for the background (pixels not defined in the image).

+
+ + ee719830 + WICGifLogicalScreenDescriptorBackgroundColorIndex + WICGifLogicalScreenDescriptorBackgroundColorIndex +
+ + +

[VT_UI1] Indicates the factor used to compute an approximation of the aspect ratio.

+
+ + ee719830 + WICGifLogicalScreenDescriptorPixelAspectRatio + WICGifLogicalScreenDescriptorPixelAspectRatio +
+ + +

Specifies the JPEG chrominance table property.

+
+ + ee719831 + WICJpegChrominanceProperties + WICJpegChrominanceProperties +
+ + +

[VT_UI2|VT_VECTOR] Indicates the metadata property is a chrominance table.

+
+ + ee719831 + WICJpegChrominanceTable + WICJpegChrominanceTable +
+ + +

Specifies the JPEG comment properties.

+
+ + ee719832 + WICJpegCommentProperties + WICJpegCommentProperties +
+ + +

Indicates the metadata property is comment text.

+
+ + ee719832 + WICJpegCommentText + WICJpegCommentText +
+ + +

Specifies the JPEG luminance table property.

+
+ + ee719833 + WICJpegLuminanceProperties + WICJpegLuminanceProperties +
+ + +

[VT_UI2|VT_VECTOR] Indicates the metadata property is a luminance table.

+
+ + ee719833 + WICJpegLuminanceTable + WICJpegLuminanceTable +
+ + +

Specifies the JPEG YCrCB subsampling options.

+
+ +

The native JPEG encoder uses .

+
+ + ee719834 + WICJpegYCrCbSubsamplingOption + WICJpegYCrCbSubsamplingOption +
+ + +

The default subsampling option.

+
+ + ee719834 + WICJpegYCrCbSubsamplingDefault + WICJpegYCrCbSubsamplingDefault +
+ + +

Subsampling option that uses both horizontal and vertical decimation.

+
+ + ee719834 + WICJpegYCrCbSubsampling420 + WICJpegYCrCbSubsampling420 +
+ + +

Subsampling option that uses horizontal decimation .

+
+ + ee719834 + WICJpegYCrCbSubsampling422 + WICJpegYCrCbSubsampling422 +
+ + +

Subsampling option that uses no decimation.

+
+ + ee719834 + WICJpegYCrCbSubsampling444 + WICJpegYCrCbSubsampling444 +
+ + +

Specifies named white balances for raw images.

+
+ + ee719842 + WICNamedWhitePoint + WICNamedWhitePoint +
+ + +

The default white balance.

+
+ + ee719842 + WICWhitePointDefault + WICWhitePointDefault +
+ + +

A daylight white balance.

+
+ + ee719842 + WICWhitePointDaylight + WICWhitePointDaylight +
+ + +

A cloudy white balance.

+
+ + ee719842 + WICWhitePointCloudy + WICWhitePointCloudy +
+ + +

A shade white balance.

+
+ + ee719842 + WICWhitePointShade + WICWhitePointShade +
+ + +

A tungsten white balance.

+
+ + ee719842 + WICWhitePointTungsten + WICWhitePointTungsten +
+ + +

A fluorescent white balance.

+
+ + ee719842 + WICWhitePointFluorescent + WICWhitePointFluorescent +
+ + +

Daylight white balance.

+
+ + ee719842 + WICWhitePointFlash + WICWhitePointFlash +
+ + +

A flash white balance.

+
+ + ee719842 + WICWhitePointUnderwater + WICWhitePointUnderwater +
+ + +

A custom white balance. This is typically used when using a picture (grey-card) as white balance.

+
+ + ee719842 + WICWhitePointCustom + WICWhitePointCustom +
+ + +

An automatic balance.

+
+ + ee719842 + WICWhitePointAutoWhiteBalance + WICWhitePointAutoWhiteBalance +
+ + +

An "as shot" white balance.

+
+ + ee719842 + WICWhitePointAsShot + WICWhitePointAsShot +
+ + + No documentation. + + + ee719844 + WICPixelFormatNumericRepresentation + WICPixelFormatNumericRepresentation + + + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationUnspecified + WICPixelFormatNumericRepresentationUnspecified +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationIndexed + WICPixelFormatNumericRepresentationIndexed +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationUnsignedInteger + WICPixelFormatNumericRepresentationUnsignedInteger +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationSignedInteger + WICPixelFormatNumericRepresentationSignedInteger +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationFixed + WICPixelFormatNumericRepresentationFixed +
+ + +
+
+ + ee719844 + WICPixelFormatNumericRepresentationFloat + WICPixelFormatNumericRepresentationFloat +
+ + +

Specifies the Portable Network Graphics (PNG) background (bKGD) chunk metadata properties.

+
+ + ee719845 + WICPngBkgdProperties + WICPngBkgdProperties +
+ + +

Indicates the background color. There are three possible types, depending on the image's pixel format.

VT_UI1

Specifies the index of the background color in an image with an indexed pixel format.

VT_UI2

Specifies the background color in a grayscale image.

VT_VECTOR|VT_UI2

Specifies the background color in an RGB image as three USHORT values: {0xRRRR, 0xGGGG, 0xBBBB}.

+
+ + ee719845 + WICPngBkgdBackgroundColor + WICPngBkgdBackgroundColor +
+ + +

Specifies the Portable Network Graphics (PNG) cHRM chunk metadata properties for CIE XYZ chromaticity.

+
+ + ee719846 + WICPngChrmProperties + WICPngChrmProperties +
+ + +

[VT_UI4] Indicates the whitepoint x value ratio.

+
+ + ee719846 + WICPngChrmWhitePointX + WICPngChrmWhitePointX +
+ + +

[VT_UI4] Indicates the whitepoint y value ratio.

+
+ + ee719846 + WICPngChrmWhitePointY + WICPngChrmWhitePointY +
+ + +

[VT_UI4] Indicates the red x value ratio.

+
+ + ee719846 + WICPngChrmRedX + WICPngChrmRedX +
+ + +

[VT_UI4] Indicates the red y value ratio.

+
+ + ee719846 + WICPngChrmRedY + WICPngChrmRedY +
+ + +

[VT_UI4] Indicates the green x value ratio.

+
+ + ee719846 + WICPngChrmGreenX + WICPngChrmGreenX +
+ + +

[VT_UI4] Indicates the green y value ratio.

+
+ + ee719846 + WICPngChrmGreenY + WICPngChrmGreenY +
+ + +

[VT_UI4] Indicates the blue x value ratio.

+
+ + ee719846 + WICPngChrmBlueX + WICPngChrmBlueX +
+ + +

[VT_UI4] Indicates the blue y value ratio.

+
+ + ee719846 + WICPngChrmBlueY + WICPngChrmBlueY +
+ + +

Specifies the Portable Network Graphics (PNG) filters available for compression optimization.

+
+ + ee719847 + WICPngFilterOption + WICPngFilterOption +
+ + +

Indicates an unspecified PNG filter. This enables WIC to algorithmically choose the best filtering option for the image.

+
+ + ee719847 + WICPngFilterUnspecified + WICPngFilterUnspecified +
+ + +

Indicates no PNG filter.

+
+ + ee719847 + WICPngFilterNone + WICPngFilterNone +
+ + +

Indicates a PNG sub filter.

+
+ + ee719847 + WICPngFilterSub + WICPngFilterSub +
+ + +

Indicates a PNG up filter.

+
+ + ee719847 + WICPngFilterUp + WICPngFilterUp +
+ + +

Indicates a PNG average filter.

+
+ + ee719847 + WICPngFilterAverage + WICPngFilterAverage +
+ + +

Indicates a PNG paeth filter.

+
+ + ee719847 + WICPngFilterPaeth + WICPngFilterPaeth +
+ + +

Indicates a PNG adaptive filter. This enables WIC to choose the best filtering mode on a per-scanline basis.

+
+ + ee719847 + WICPngFilterAdaptive + WICPngFilterAdaptive +
+ + +

Specifies the Portable Network Graphics (PNG) gAMA chunk metadata properties.

+
+ + ee719848 + WICPngGamaProperties + WICPngGamaProperties +
+ + +

[VT_UI4] Indicates the gamma value.

+
+ + ee719848 + WICPngGamaGamma + WICPngGamaGamma +
+ + +

Specifies the Portable Network Graphics (PNG) hIST chunk metadata properties.

+
+ + ee719849 + WICPngHistProperties + WICPngHistProperties +
+ + +

[VT_VECTOR | VT_UI2] Indicates the approximate usage frequency of each color in the color palette.

+
+ + ee719849 + WICPngHistFrequencies + WICPngHistFrequencies +
+ + +

Specifies the Portable Network Graphics (PNG) iCCP chunk metadata properties.

+
+ + ee719850 + WICPngIccpProperties + WICPngIccpProperties +
+ + +

[VT_LPSTR] Indicates the International Color Consortium (ICC) profile name.

+
+ + ee719850 + WICPngIccpProfileName + WICPngIccpProfileName +
+ + +

[VT_VECTOR | VT_UI1] Indicates the embedded ICC profile.

+
+ + ee719850 + WICPngIccpProfileData + WICPngIccpProfileData +
+ + +

Specifies the Portable Network Graphics (PNG) iTXT chunk metadata properties.

+
+ + ee719851 + WICPngItxtProperties + WICPngItxtProperties +
+ + +

[VT_LPSTR] Indicates the keywords in the iTXT metadata chunk.

+
+ + ee719851 + WICPngItxtKeyword + WICPngItxtKeyword +
+ + +

[VT_UI1] Indicates whether the text in the iTXT chunk is compressed. 1 if the text is compressed; otherwise, 0.

+
+ + ee719851 + WICPngItxtCompressionFlag + WICPngItxtCompressionFlag +
+ + +

[VT_LPSTR] Indicates the human language used by the translated keyword and the text.

+
+ + ee719851 + WICPngItxtLanguageTag + WICPngItxtLanguageTag +
+ + +

[VT_LPWSTR] Indicates a translation of the keyword into the language indicated by the language tag.

+
+ + ee719851 + WICPngItxtTranslatedKeyword + WICPngItxtTranslatedKeyword +
+ + +

[VT_LPWSTR] Indicates additional text in the iTXT metadata chunk.

+
+ + ee719851 + WICPngItxtText + WICPngItxtText +
+ + +

Specifies the Portable Network Graphics (PNG) sRGB chunk metadata properties.

+
+ + ee719852 + WICPngSrgbProperties + WICPngSrgbProperties +
+ + +

[VT_UI1] Indicates the rendering intent for an sRGB color space image. The rendering intents have the following meaning.

ValueMeaning
0Perceptual
1Relative colorimetric
2Saturation
3Absolute colorimetric

?

+
+ + ee719852 + WICPngSrgbRenderingIntent + WICPngSrgbRenderingIntent +
+ + +

Specifies the Portable Network Graphics (PNG) tIME chunk metadata properties.

+
+ + ee719853 + WICPngTimeProperties + WICPngTimeProperties +
+ + +

[VT_UI2] Indicates the year of the last modification.

+
+ + ee719853 + WICPngTimeYear + WICPngTimeYear +
+ + +

[VT_UI1] Indicates the month of the last modification.

+
+ + ee719853 + WICPngTimeMonth + WICPngTimeMonth +
+ + +

[VT_UI1] Indicates day of the last modification.

+
+ + ee719853 + WICPngTimeDay + WICPngTimeDay +
+ + +

[VT_UI1] Indicates the hour of the last modification.

+
+ + ee719853 + WICPngTimeHour + WICPngTimeHour +
+ + +

[VT_UI1] Indicates the minute of the last modification.

+
+ + ee719853 + WICPngTimeMinute + WICPngTimeMinute +
+ + +

[VT_UI1] Indicates the second of the last modification.

+
+ + ee719853 + WICPngTimeSecond + WICPngTimeSecond +
+ + +

Specifies when the progress notification callback should be called.

+
+ + ee719854 + WICProgressNotification + WICProgressNotification +
+ + +

The callback should be called when codec operations begin.

+
+ + ee719854 + WICProgressNotificationBegin + WICProgressNotificationBegin +
+ + +

The callback should be called when codec operations end.

+
+ + ee719854 + WICProgressNotificationEnd + WICProgressNotificationEnd +
+ + +

The callback should be called frequently to report status.

+
+ + ee719854 + WICProgressNotificationFrequent + WICProgressNotificationFrequent +
+ + +

The callback should be called on all available progress notifications.

+
+ + ee719854 + WICProgressNotificationAll + WICProgressNotificationAll +
+ + +

Specifies the progress operations to receive notifications for.

+
+ + ee719855 + WICProgressOperation + WICProgressOperation +
+ + +

Receive copy pixel operation.

+
+ + ee719855 + WICProgressOperationCopyPixels + WICProgressOperationCopyPixels +
+ + +

Receive write pixel operation.

+
+ + ee719855 + WICProgressOperationWritePixels + WICProgressOperationWritePixels +
+ + +

Receive all progress operations available.

+
+ + ee719855 + WICProgressOperationAll + WICProgressOperationAll +
+ + +

Specifies the capability support of a raw image.

+
+ + ee719856 + WICRawCapabilities + WICRawCapabilities +
+ + +

The capability is not supported.

+
+ + ee719856 + WICRawCapabilityNotSupported + WICRawCapabilityNotSupported +
+ + +

The capability supports only get operations.

+
+ + ee719856 + WICRawCapabilityGetSupported + WICRawCapabilityGetSupported +
+ + +

The capability supports get and set operations.

+
+ + ee719856 + WICRawCapabilityFullySupported + WICRawCapabilityFullySupported +
+ + +

Specifies the parameter set used by a raw codec.

+
+ + ee719858 + WICRawParameterSet + WICRawParameterSet +
+ + +

An as shot parameter set.

+
+ + ee719858 + WICAsShotParameterSet + WICAsShotParameterSet +
+ + +

A user adjusted parameter set.

+
+ + ee719858 + WICUserAdjustedParameterSet + WICUserAdjustedParameterSet +
+ + +

A codec adjusted parameter set.

+
+ + ee719858 + WICAutoAdjustedParameterSet + WICAutoAdjustedParameterSet +
+ + +

Specifies the render intent of the next CopyPixels call.

+
+ + ee719859 + WICRawRenderMode + WICRawRenderMode +
+ + + No documentation. + + + WICRawRenderModeDraft + WICRawRenderModeDraft + + + + No documentation. + + + WICRawRenderModeNormal + WICRawRenderModeNormal + + + + No documentation. + + + WICRawRenderModeBestQuality + WICRawRenderModeBestQuality + + + +

Specifies the rotation capabilities of the codec.

+
+ + ee719860 + WICRawRotationCapabilities + WICRawRotationCapabilities +
+ + +

Rotation is not supported.

+
+ + ee719860 + WICRawRotationCapabilityNotSupported + WICRawRotationCapabilityNotSupported +
+ + +

Set operations for rotation is not supported.

+
+ + ee719860 + WICRawRotationCapabilityGetSupported + WICRawRotationCapabilityGetSupported +
+ + +

90 degree rotations are supported.

+
+ + ee719860 + WICRawRotationCapabilityNinetyDegreesSupported + WICRawRotationCapabilityNinetyDegreesSupported +
+ + +

All rotation angles are supported.

+
+ + ee719860 + WICRawRotationCapabilityFullySupported + WICRawRotationCapabilityFullySupported +
+ + +

Specifies the access level of a Windows Graphics Device Interface (GDI) section.

+
+ + ee719864 + WICSectionAccessLevel + WICSectionAccessLevel +
+ + +

Indicates a read only access level.

+
+ + ee719864 + WICSectionAccessLevelRead + WICSectionAccessLevelRead +
+ + +

Indicates a read/write access level.

+
+ + ee719864 + WICSectionAccessLevelReadWrite + WICSectionAccessLevelReadWrite +
+ + +

Specifies the Tagged Image File Format (TIFF) compression options.

+
+ + ee719867 + WICTiffCompressionOption + WICTiffCompressionOption +
+ + +

Indicates a suitable compression algorithm based on the image and pixel format.

+
+ + ee719867 + WICTiffCompressionDontCare + WICTiffCompressionDontCare +
+ + +

Indicates no compression.

+
+ + ee719867 + WICTiffCompressionNone + WICTiffCompressionNone +
+ + +

Indicates a CCITT3 compression algorithm. This algorithm is only valid for 1bpp pixel formats.

+
+ + ee719867 + WICTiffCompressionCCITT3 + WICTiffCompressionCCITT3 +
+ + +

Indicates a CCITT4 compression algorithm. This algorithm is only valid for 1bpp pixel formats.

+
+ + ee719867 + WICTiffCompressionCCITT4 + WICTiffCompressionCCITT4 +
+ + +

Indicates a LZW compression algorithm.

+
+ + ee719867 + WICTiffCompressionLZW + WICTiffCompressionLZW +
+ + +

Indicates a RLE compression algorithm. This algorithm is only valid for 1bpp pixel formats.

+
+ + ee719867 + WICTiffCompressionRLE + WICTiffCompressionRLE +
+ + +

Indicates a ZIP compression algorithm.

+
+ + ee719867 + WICTiffCompressionZIP + WICTiffCompressionZIP +
+ + +

Indicates an LZWH differencing algorithm.

+
+ + ee719867 + WICTiffCompressionLZWHDifferencing + WICTiffCompressionLZWHDifferencing +
+ + + Functions + + + + + Constant Jpeg. + CLSID_WICJpegDecoder + + + Constant Ico. + CLSID_WICIcoDecoder + + + Constant Tiff. + CLSID_WICTiffDecoder + + + Constant Wmp. + CLSID_WICWmpDecoder + + + Constant Gif. + CLSID_WICGifDecoder + + + Constant Png. + CLSID_WICPngDecoder + + + Constant Bmp. + CLSID_WICBmpDecoder + + + + Functions + + + + + Constant Wmp. + CLSID_WICWmpEncoder + + + Constant Png. + CLSID_WICPngEncoder + + + Constant Tiff. + CLSID_WICTiffEncoder + + + Constant Jpeg. + CLSID_WICJpegEncoder + + + Constant Bmp. + CLSID_WICBmpEncoder + + + Constant Gif. + CLSID_WICGifEncoder + + + + Functions + + + + + Constant Jpeg. + GUID_ContainerFormatJpeg + + + Constant Ico. + GUID_ContainerFormatIco + + + Constant Png. + GUID_ContainerFormatPng + + + Constant Wmp. + GUID_ContainerFormatWmp + + + Constant Bmp. + GUID_ContainerFormatBmp + + + Constant Gif. + GUID_ContainerFormatGif + + + Constant Tiff. + GUID_ContainerFormatTiff + + + + Functions + + + + + Constant Format72bpp8ChannelsAlpha. + GUID_WICPixelFormat72bpp8ChannelsAlpha + + + Constant Format48bppBGRFixedPoint. + GUID_WICPixelFormat48bppBGRFixedPoint + + + Constant Format64bppCMYK. + GUID_WICPixelFormat64bppCMYK + + + Constant Format40bpp5Channels. + GUID_WICPixelFormat40bpp5Channels + + + Constant Format4bppIndexed. + GUID_WICPixelFormat4bppIndexed + + + Constant Format40bpp4ChannelsAlpha. + GUID_WICPixelFormat40bpp4ChannelsAlpha + + + Constant Format32bppGrayFixedPoint. + GUID_WICPixelFormat32bppGrayFixedPoint + + + Constant Format48bpp6Channels. + GUID_WICPixelFormat48bpp6Channels + + + Constant Format32bpp3ChannelsAlpha. + GUID_WICPixelFormat32bpp3ChannelsAlpha + + + Constant Format16bppGray. + GUID_WICPixelFormat16bppGray + + + Constant Format1bppIndexed. + GUID_WICPixelFormat1bppIndexed + + + Constant Format128bpp7ChannelsAlpha. + GUID_WICPixelFormat128bpp7ChannelsAlpha + + + Constant Format128bppRGBFixedPoint. + GUID_WICPixelFormat128bppRGBFixedPoint + + + Constant Format64bppRGBAFixedPoint. + GUID_WICPixelFormat64bppRGBAFixedPoint + + + Constant Format80bpp4ChannelsAlpha. + GUID_WICPixelFormat80bpp4ChannelsAlpha + + + Constant Format64bpp8Channels. + GUID_WICPixelFormat64bpp8Channels + + + Constant Format16bppBGR555. + GUID_WICPixelFormat16bppBGR555 + + + Constant Format16bppBGR565. + GUID_WICPixelFormat16bppBGR565 + + + Constant Format32bppRGBA1010102XR. + GUID_WICPixelFormat32bppRGBA1010102XR + + + Constant Format64bppRGB. + GUID_WICPixelFormat64bppRGB + + + Constant Format24bppRGB. + GUID_WICPixelFormat24bppRGB + + + Constant Format128bppRGBFloat. + GUID_WICPixelFormat128bppRGBFloat + + + Constant Format32bppBGR. + GUID_WICPixelFormat32bppBGR + + + Constant Format64bppPRGBAHalf. + GUID_WICPixelFormat64bppPRGBAHalf + + + Constant Format64bppRGBA. + GUID_WICPixelFormat64bppRGBA + + + Constant FormatDontCare. + GUID_WICPixelFormatDontCare + + + Constant Format96bppRGBFloat. + GUID_WICPixelFormat96bppRGBFloat + + + Constant Format32bppPRGBA. + GUID_WICPixelFormat32bppPRGBA + + + Constant Format32bppCMYK. + GUID_WICPixelFormat32bppCMYK + + + Constant Format24bpp3Channels. + GUID_WICPixelFormat24bpp3Channels + + + Constant Format96bppRGBFixedPoint. + GUID_WICPixelFormat96bppRGBFixedPoint + + + Constant Format144bpp8ChannelsAlpha. + GUID_WICPixelFormat144bpp8ChannelsAlpha + + + Constant Format64bppBGRAFixedPoint. + GUID_WICPixelFormat64bppBGRAFixedPoint + + + Constant Format32bppGrayFloat. + GUID_WICPixelFormat32bppGrayFloat + + + Constant Format64bppBGRA. + GUID_WICPixelFormat64bppBGRA + + + Constant Format48bpp3Channels. + GUID_WICPixelFormat48bpp3Channels + + + Constant Format48bppBGR. + GUID_WICPixelFormat48bppBGR + + + Constant Format32bppBGR101010. + GUID_WICPixelFormat32bppBGR101010 + + + Constant Format112bpp7Channels. + GUID_WICPixelFormat112bpp7Channels + + + Constant Format64bpp3ChannelsAlpha. + GUID_WICPixelFormat64bpp3ChannelsAlpha + + + Constant Format2bppGray. + GUID_WICPixelFormat2bppGray + + + Constant Format56bpp7Channels. + GUID_WICPixelFormat56bpp7Channels + + + Constant Format16bppBGRA5551. + GUID_WICPixelFormat16bppBGRA5551 + + + Constant Format48bppRGBFixedPoint. + GUID_WICPixelFormat48bppRGBFixedPoint + + + Constant Format32bppRGBA1010102. + GUID_WICPixelFormat32bppRGBA1010102 + + + Constant Format4bppGray. + GUID_WICPixelFormat4bppGray + + + Constant Format64bppPBGRA. + GUID_WICPixelFormat64bppPBGRA + + + Constant Format96bpp6Channels. + GUID_WICPixelFormat96bpp6Channels + + + Constant Format96bpp5ChannelsAlpha. + GUID_WICPixelFormat96bpp5ChannelsAlpha + + + Constant Format48bppRGB. + GUID_WICPixelFormat48bppRGB + + + Constant FormatBlackWhite. + GUID_WICPixelFormatBlackWhite + + + Constant Format32bppPBGRA. + GUID_WICPixelFormat32bppPBGRA + + + Constant Format48bppRGBHalf. + GUID_WICPixelFormat48bppRGBHalf + + + Constant Format64bppRGBFixedPoint. + GUID_WICPixelFormat64bppRGBFixedPoint + + + Constant Format48bpp5ChannelsAlpha. + GUID_WICPixelFormat48bpp5ChannelsAlpha + + + Constant Format8bppGray. + GUID_WICPixelFormat8bppGray + + + Constant Format8bppIndexed. + GUID_WICPixelFormat8bppIndexed + + + Constant Format80bpp5Channels. + GUID_WICPixelFormat80bpp5Channels + + + Constant Format64bppPRGBA. + GUID_WICPixelFormat64bppPRGBA + + + Constant Format16bppGrayFixedPoint. + GUID_WICPixelFormat16bppGrayFixedPoint + + + Constant Format128bpp8Channels. + GUID_WICPixelFormat128bpp8Channels + + + Constant Format80bppCMYKAlpha. + GUID_WICPixelFormat80bppCMYKAlpha + + + Constant Format32bppBGRA. + GUID_WICPixelFormat32bppBGRA + + + Constant Format128bppRGBAFloat. + GUID_WICPixelFormat128bppRGBAFloat + + + Constant Format112bpp6ChannelsAlpha. + GUID_WICPixelFormat112bpp6ChannelsAlpha + + + Constant Format64bppRGBAHalf. + GUID_WICPixelFormat64bppRGBAHalf + + + Constant Format16bppGrayHalf. + GUID_WICPixelFormat16bppGrayHalf + + + Constant Format2bppIndexed. + GUID_WICPixelFormat2bppIndexed + + + Constant Format128bppRGBAFixedPoint. + GUID_WICPixelFormat128bppRGBAFixedPoint + + + Constant Format32bppRGBA. + GUID_WICPixelFormat32bppRGBA + + + Constant Format32bppRGBE. + GUID_WICPixelFormat32bppRGBE + + + Constant Format32bppRGB. + GUID_WICPixelFormat32bppRGB + + + Constant Format40bppCMYKAlpha. + GUID_WICPixelFormat40bppCMYKAlpha + + + Constant Format56bpp6ChannelsAlpha. + GUID_WICPixelFormat56bpp6ChannelsAlpha + + + Constant Format128bppPRGBAFloat. + GUID_WICPixelFormat128bppPRGBAFloat + + + Constant Format64bpp4Channels. + GUID_WICPixelFormat64bpp4Channels + + + Constant Format24bppBGR. + GUID_WICPixelFormat24bppBGR + + + Constant Format64bpp7ChannelsAlpha. + GUID_WICPixelFormat64bpp7ChannelsAlpha + + + Constant Format64bppRGBHalf. + GUID_WICPixelFormat64bppRGBHalf + + + Constant Format8bppAlpha. + GUID_WICPixelFormat8bppAlpha + + + Constant Format32bpp4Channels. + GUID_WICPixelFormat32bpp4Channels + + + + Gets the number of bits per pixel for a particular pixel format. + + The pixel format guid. + The number of bits per pixel. If the pixel format guid is invalid, returns 0 + + + + Gets the stride in bytes from a pixel format and a width.. + + The pixel format guid. + The width. + The number of bytes per row. + + + + Functions + + + + + Constant Propertynotfound. + WINCODEC_ERR_PROPERTYNOTFOUND + + + Constant Internalerror. + WINCODEC_ERR_INTERNALERROR + + + Constant UnexpectedMetadataType. + WINCODEC_ERR_UNEXPECTEDMETADATATYPE + + + Constant Unknownimageformat. + WINCODEC_ERR_UNKNOWNIMAGEFORMAT + + + Constant InvalidParameter. + WINCODEC_ERR_INVALIDPARAMETER + + + Constant Requestonlyvalidatmetadataroot. + WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT + + + Constant SourceRectangleDoesnotmatchdimensions. + WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS + + + Constant StreamNotAvailable. + WINCODEC_ERR_STREAMNOTAVAILABLE + + + Constant UnexpectedSize. + WINCODEC_ERR_UNEXPECTEDSIZE + + + Constant GenericError. + WINCODEC_ERR_GENERIC_ERROR + + + Constant TooMuchmetadata. + WINCODEC_ERR_TOOMUCHMETADATA + + + Constant Componentnotfound. + WINCODEC_ERR_COMPONENTNOTFOUND + + + Constant OufOfMemory. + WINCODEC_ERR_OUTOFMEMORY + + + Constant NotInitializeD. + WINCODEC_ERR_NOTINITIALIZED + + + Constant Paletteunavailable. + WINCODEC_ERR_PALETTEUNAVAILABLE + + + Constant Valueoutofrange. + WINCODEC_ERR_VALUEOUTOFRANGE + + + Constant Badheader. + WINCODEC_ERR_BADHEADER + + + Constant Propertyunexpectedtype. + WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE + + + Constant Componentinitializefailure. + WINCODEC_ERR_COMPONENTINITIALIZEFAILURE + + + Constant Codecnothumbnail. + WINCODEC_ERR_CODECNOTHUMBNAIL + + + Constant UnsupportedOperation. + WINCODEC_ERR_UNSUPPORTEDOPERATION + + + Constant InvalidQueryRequest. + WINCODEC_ERR_INVALIDQUERYREQUEST + + + Constant UnsupportedPixelFormat. + WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT + + + Constant WrongState. + WINCODEC_ERR_WRONGSTATE + + + Constant Badmetadataheader. + WINCODEC_ERR_BADMETADATAHEADER + + + Constant Badstreamdata. + WINCODEC_ERR_BADSTREAMDATA + + + Constant UnsupportedVersion. + WINCODEC_ERR_UNSUPPORTEDVERSION + + + Constant Codecpresent. + WINCODEC_ERR_CODECPRESENT + + + Constant Alreadylocked. + WINCODEC_ERR_ALREADYLOCKED + + + Constant InvalidRegistration. + WINCODEC_ERR_INVALIDREGISTRATION + + + Constant Propertysize. + WINCODEC_ERR_PROPERTYSIZE + + + Constant FrameMissing. + WINCODEC_ERR_FRAMEMISSING + + + Constant Imagesizeoutofrange. + WINCODEC_ERR_IMAGESIZEOUTOFRANGE + + + Constant InvalidProgressivelevel. + WINCODEC_ERR_INVALIDPROGRESSIVELEVEL + + + Constant StreamWrite. + WINCODEC_ERR_STREAMWRITE + + + Constant Aborted. + WINCODEC_ERR_ABORTED + + + Constant Propertynotsupported. + WINCODEC_ERR_PROPERTYNOTSUPPORTED + + + Constant Valueoverflow. + WINCODEC_ERR_VALUEOVERFLOW + + + Constant Duplicatemetadatapresent. + WINCODEC_ERR_DUPLICATEMETADATAPRESENT + + + Constant InvalidQueryCharacter. + WINCODEC_ERR_INVALIDQUERYCHARACTER + + + Constant Badimage. + WINCODEC_ERR_BADIMAGE + + + Constant Base. + WINCODEC_ERR_BASE + + + Constant StreamRead. + WINCODEC_ERR_STREAMREAD + + + Constant NotImplemented. + WINCODEC_ERR_NOTIMPLEMENTED + + + Constant Insufficientbuffer. + WINCODEC_ERR_INSUFFICIENTBUFFER + + + Constant Win32error. + WINCODEC_ERR_WIN32ERROR + + + Constant AccessDenied. + WINCODEC_ERR_ACCESSDENIED + + + Constant Codectoomanyscanlines. + WINCODEC_ERR_CODECTOOMANYSCANLINES + + + +

Defines methods that add the concept of writeability and static in-memory representations of bitmaps to .

+
+ +

inherits from and therefore also inherits the CopyPixels method. When pixels need to be moved to a new memory location, CopyPixels is often the most efficient.

Because of to the internal memory representation implied by the , in-place modification and processing using the Lock is more efficient than CopyPixels, usually reducing to a simple reference access directly into the memory owned by the bitmap rather than a as a copy. This is contrasted to procedural bitmaps which implement only CopyPixels because there is no internal memory representation and one would need to be created on demand to satisfy a call to Lock.

+
+ + ee719675 + IWICBitmap + IWICBitmap +
+ + +

Exposes methods that refers to a source from which pixels are retrieved, but cannot be written back to.

+
+ +

This interface provides a common way of accessing and linking together bitmaps, decoders, format converters, and scalers. Components that implement this interface can be connected together in a graph to pull imaging data through.

This interface defines only the notion of readability or being able to produce pixels. Modifying or writing to a bitmap is considered to be a specialization specific to bitmaps which have storage and is defined in the descendant interface .

+
+ + ee690171 + IWICBitmapSource + IWICBitmapSource +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the pixel width and height of the bitmap.

+
+

A reference that receives the pixel width of the bitmap.

+

A reference that receives the pixel height of the bitmap

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690185 + HRESULT IWICBitmapSource::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + IWICBitmapSource::GetSize +
+ + +

Retrieves the pixel format of the bitmap source..

+
+

Receives the pixel format the bitmap is stored in. For a list of available pixel formats, see the Native Pixel Formats topic.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The pixel format returned by this method is not necessarily the pixel format the image is stored as. The codec may perform a format conversion from the storage pixel format to an output pixel format.

+
+ + ee690181 + HRESULT IWICBitmapSource::GetPixelFormat([Out] GUID* pPixelFormat) + IWICBitmapSource::GetPixelFormat +
+ + +

Retrieves the sampling rate between pixels and physical world measurements.

+
+

A reference that receives the x-axis dpi resolution.

+

A reference that receives the y-axis dpi resolution.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Some formats, such as GIF and ICO, do not have full DPI support. For GIF, this method calculates the DPI values from the aspect ratio, using a base DPI of (96.0, 96.0). The ICO format does not support DPI at all, and the method always returns (96.0,96.0) for ICO images.

Additionally, WIC itself does not transform images based on the DPI values in an image. It is up to the caller to transform an image based on the resolution returned.

+
+ + ee690183 + HRESULT IWICBitmapSource::GetResolution([Out] double* pDpiX,[Out] double* pDpiY) + IWICBitmapSource::GetResolution +
+ + +

Retrieves the color table for indexed pixel formats.

+
+

An . A palette can be created using the CreatePalette method.

+

Returns one of the following values.

Return codeDescription

The palette was unavailable.

The palette was successfully copied.

?

+ +

If the is an , the function may return the image's global palette if a frame-level palette is not available. The global palette may also be retrieved using the CopyPalette method.

+
+ + ee690177 + HRESULT IWICBitmapSource::CopyPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmapSource::CopyPalette +
+ + +

Instructs the object to produce pixels.

+
+

The rectangle to copy. A null value specifies the entire bitmap.

+

The stride of the bitmap

+

The size of the buffer.

+

A reference to the buffer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ + ee690179 + HRESULT IWICBitmapSource::CopyPixels([In] const void* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+

The rectangle to copy. A null value specifies the entire bitmap.

+

The stride of the bitmap

+

A reference to the buffer.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+

The stride of the bitmap

+

A reference to the buffer.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+

The stride of the bitmap

+

A reference to the buffer.

+ Size of the buffer in bytes. + +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+

The rectangle to copy. A null value specifies the entire bitmap.

+ The destination array. The size of the array must be sizeof(pixel) * rectangle.Width * rectangle.Height +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Instructs the object to produce pixels.

+
+ The destination array. The size of the array must be sizeof(pixel) * Width * Height +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned. +

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

+
+ ee690179 + HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSource::CopyPixels +
+ + +

Retrieves the pixel format of the bitmap source..

+
+ +

The pixel format returned by this method is not necessarily the pixel format the image is stored as. The codec may perform a format conversion from the storage pixel format to an output pixel format.

+
+ + ee690181 + GetPixelFormat + GetPixelFormat + HRESULT IWICBitmapSource::GetPixelFormat([Out] GUID* pPixelFormat) +
+ + +

Retrieves the pixel width and height of the bitmap.

+
+ HRESULT IWICBitmapSource::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + ee690185 + HRESULT IWICBitmapSource::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + IWICBitmapSource::GetSize +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Provides access to a rectangular area of the bitmap.

+
+

The rectangle to be accessed.

+

The access mode you wish to obtain for the lock. This is a bitwise combination of for read, write, or read and write access.

ValueMeaning

The read access lock.

The write access lock.

?

+

A reference that receives the locked memory location.

+ +

Locks are exclusive for writing but can be shared for reading. You cannot call CopyPixels while the is locked for writing. Doing so will return an error, since locks are exclusive.

+
+ + ee690187 + HRESULT IWICBitmap::Lock([In] const void* prcLock,[In] WICBitmapLockFlags flags,[Out] IWICBitmapLock** ppILock) + IWICBitmap::Lock +
+ + +

Provides access for palette modifications.

+
+

The palette to use for conversion.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690189 + HRESULT IWICBitmap::SetPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmap::SetPalette +
+ + +

Changes the physical resolution of the image.

+
+

The horizontal resolution.

+

The vertical resolution.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method has no effect on the actual pixels or samples stored in the bitmap. Instead the interpretation of the sampling rate is modified. This means that a 96 DPI image which is 96 pixels wide is one inch. If the physical resolution is modified to 48 DPI, then the bitmap is considered to be 2 inches wide but has the same number of pixels. If the resolution is less than REAL_EPSILON (1.192092896e-07F) the error code is returned.

+
+ + ee690191 + HRESULT IWICBitmap::SetResolution([In] double dpiX,[In] double dpiY) + IWICBitmap::SetResolution +
+ + + Initializes a new instance of the class. + + The factory. + The width. + The height. + The pixel format. for a list of valid formats. + The option. + ee690282 + HRESULT IWICImagingFactory::CreateBitmap([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmap + + + + Initializes a new instance of the class from a memory location using . + + The factory. + The width. + The height. + The pixel format. + The data rectangle. + Size of the buffer in . If == 0, calculate the size automatically based on the height and row pitch. + ee690291 + HRESULT IWICImagingFactory::CreateBitmapFromMemory([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromMemory + + + + Initializes a new instance of the class from a + + The factory. + The bitmap source ref. + The option. + ee690293 + HRESULT IWICImagingFactory::CreateBitmapFromSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromSource + + + + Initializes a new instance of the class from a . + + The factory. + The bitmap source. + The rectangle. + ee690294 + HRESULT IWICImagingFactory::CreateBitmapFromSourceRect([In, Optional] IWICBitmapSource* pIBitmapSource,[In] unsigned int x,[In] unsigned int y,[In] unsigned int width,[In] unsigned int height,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromSourceRect + + + + Initializes a new instance of the class from an array of pixel data. + + The factory. + The width. + The height. + The pixel format. + The pixel data. + Stride of a row of pixels (number of bytes per row). By default the stride is == 0, and calculated by taking the sizeof(T) * width. + ee690291 + HRESULT IWICImagingFactory::CreateBitmapFromMemory([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromMemory + + + +

Provides access to a rectangular area of the bitmap.

+
+

The access mode you wish to obtain for the lock. This is a bitwise combination of for read, write, or read and write access.

ValueMeaning

The read access lock.

The write access lock.

?

+

A reference that receives the locked memory location.

+ +

Locks are exclusive for writing but can be shared for reading. You cannot call CopyPixels while the is locked for writing. Doing so will return an error, since locks are exclusive.

+
+ ee690187 + HRESULT IWICBitmap::Lock([In, Optional] const WICRect* prcLock,[In] WICBitmapLockFlags flags,[Out] IWICBitmapLock** ppILock) + IWICBitmap::Lock +
+ + +

Provides access to a rectangular area of the bitmap.

+
+

The rectangle to be accessed.

+

The access mode you wish to obtain for the lock. This is a bitwise combination of for read, write, or read and write access.

ValueMeaning

The read access lock.

The write access lock.

?

+

A reference that receives the locked memory location.

+ +

Locks are exclusive for writing but can be shared for reading. You cannot call CopyPixels while the is locked for writing. Doing so will return an error, since locks are exclusive.

+
+ ee690187 + HRESULT IWICBitmap::Lock([In, Optional] const WICRect* prcLock,[In] WICBitmapLockFlags flags,[Out] IWICBitmapLock** ppILock) + IWICBitmap::Lock +
+ + +

Provides access for palette modifications.

+
+ + ee690189 + SetPalette + SetPalette + HRESULT IWICBitmap::SetPalette([In, Optional] IWICPalette* pIPalette) +
+ + +

Exposes methods that produce a clipped version of the input bitmap for a specified rectangular region of interest.

+
+ + ee719676 + IWICBitmapClipper + IWICBitmapClipper +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the bitmap clipper with the provided parameters.

+
+

he input bitmap source.

+

The rectangle of the bitmap source to clip.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719677 + HRESULT IWICBitmapClipper::Initialize([In, Optional] IWICBitmapSource* pISource,[In] const void* prc) + IWICBitmapClipper::Initialize +
+ + + Initializes a new instance of the class. + + The factory. + + + +

Initializes the bitmap clipper with the provided parameters.

+
+

he input bitmap source.

+

The rectangle of the bitmap source to clip.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ ee719677 + HRESULT IWICBitmapClipper::Initialize([In, Optional] IWICBitmapSource* pISource,[In] const WICRect* prc) + IWICBitmapClipper::Initialize +
+ + +

Exposes methods that provide information about a particular codec.

+
+ + ee719679 + IWICBitmapCodecInfo + IWICBitmapCodecInfo +
+ + +

Exposes methods that provide component information.

+
+ + ee690213 + IWICComponentInfo + IWICComponentInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the component's .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690218 + HRESULT IWICComponentInfo::GetComponentType([Out] WICComponentType* pType) + IWICComponentInfo::GetComponentType +
+ + +

Retrieves the component's class identifier (CLSID)

+
+

A reference that receives the component's CLSID.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690216 + HRESULT IWICComponentInfo::GetCLSID([Out] GUID* pclsid) + IWICComponentInfo::GetCLSID +
+ + +

Retrieves the signing status of the component.

+
+

A reference that receives the status of the component.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Signing is unused by WIC. Therefore, all components .

This function can be used to determine whether a component has no binary component or has been added to the disabled components list in the registry.

+
+ + ee690221 + HRESULT IWICComponentInfo::GetSigningStatus([Out] unsigned int* pStatus) + IWICComponentInfo::GetSigningStatus +
+ + +

Retrieves the name of component's author.

+
+

The size of the wzAuthor buffer.

+

A reference that receives the name of the component's author. The locale of the string depends on the value that the codec wrote to the registry at install time. For built-in components, these strings are always in English.

+

A reference that receives the actual length of the component's authors name. The author name is optional; if an author name is not specified by the component, the length returned is 0.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If cchAuthor is 0 and wzAuthor is null, the required buffer size is returned in pccchActual.

+
+ + ee690214 + HRESULT IWICComponentInfo::GetAuthor([In] unsigned int cchAuthor,[In] void* wzAuthor,[Out] unsigned int* pcchActual) + IWICComponentInfo::GetAuthor +
+ + +

Retrieves the vendor .

+
+

A reference that receives the component's vendor .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690225 + HRESULT IWICComponentInfo::GetVendorGUID([Out] GUID* pguidVendor) + IWICComponentInfo::GetVendorGUID +
+ + +

Retrieves the component's version.

+
+

The size of the wzVersion buffer.

+

A reference that receives a culture invariant string of the component's version.

+

A reference that receives the actual length of the component's version. The version is optional; if a value is not specified by the component, the length returned is 0.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

All built-in components return "1.0.0.0", except for pixel formats, which do not have a version.

If cchAuthor is 0 and wzAuthor is null, the required buffer size is returned in pccchActual.

+
+ + ee690226 + HRESULT IWICComponentInfo::GetVersion([In] unsigned int cchVersion,[In] void* wzVersion,[Out] unsigned int* pcchActual) + IWICComponentInfo::GetVersion +
+ + +

Retrieves the component's specification version.

+
+

The size of the wzSpecVersion buffer.

+

When this method returns, contain a culture invarient string of the component's specification version. The version form is NN.NN.NN.NN.

+

A reference that receives the actual length of the component's specification version. The specification version is optional; if a value is not specified by the component, the length returned is 0.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

All built-in components return "1.0.0.0", except for pixel formats, which do not have a spec version.

If cchAuthor is 0 and wzAuthor is null, the required buffer size is returned in pccchActual.

+
+ + ee690223 + HRESULT IWICComponentInfo::GetSpecVersion([In] unsigned int cchSpecVersion,[In] void* wzSpecVersion,[Out] unsigned int* pcchActual) + IWICComponentInfo::GetSpecVersion +
+ + +

Retrieves the component's friendly name, which is a human-readable display name for the component.

+
+

The size of the wzFriendlyName buffer.

+

A reference that receives the friendly name of the component. The locale of the string depends on the value that the codec wrote to the registry at install time. For built-in components, these strings are always in English.

+

A reference that receives the actual length of the component's friendly name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If cchFriendlyName is 0 and wzFriendlyName is null, the required buffer size is returned in pccchActual.

+
+ + ee690219 + HRESULT IWICComponentInfo::GetFriendlyName([In] unsigned int cchFriendlyName,[In] void* wzFriendlyName,[Out] unsigned int* pcchActual) + IWICComponentInfo::GetFriendlyName +
+ + + Initializes a new instance of the class. + + The factory. + The CLSID component. + + + +

Retrieves the component's .

+
+ + ee690218 + GetComponentType + GetComponentType + HRESULT IWICComponentInfo::GetComponentType([Out] WICComponentType* pType) +
+ + +

Retrieves the component's class identifier (CLSID)

+
+ + ee690216 + GetCLSID + GetCLSID + HRESULT IWICComponentInfo::GetCLSID([Out] GUID* pclsid) +
+ + +

Retrieves the signing status of the component.

+
+ +

Signing is unused by WIC. Therefore, all components .

This function can be used to determine whether a component has no binary component or has been added to the disabled components list in the registry.

+
+ + ee690221 + GetSigningStatus + GetSigningStatus + HRESULT IWICComponentInfo::GetSigningStatus([Out] unsigned int* pStatus) +
+ + +

Retrieves the vendor .

+
+ + ee690225 + GetVendorGUID + GetVendorGUID + HRESULT IWICComponentInfo::GetVendorGUID([Out] GUID* pguidVendor) +
+ + + Gets the author. + + HRESULT IWICComponentInfo::GetAuthor([In] unsigned int cchAuthor,[InOut, Buffer, Optional] wchar_t* wzAuthor,[Out] unsigned int* pcchActual) + + + + Gets the version. + + HRESULT IWICComponentInfo::GetVersion([In] unsigned int cchVersion,[InOut, Buffer, Optional] wchar_t* wzVersion,[Out] unsigned int* pcchActual) + + + + Gets the spec version. + + HRESULT IWICComponentInfo::GetSpecVersion([In] unsigned int cchSpecVersion,[InOut, Buffer, Optional] wchar_t* wzSpecVersion,[Out] unsigned int* pcchActual) + + + + Gets the friendly name. + + + The name of the friendly. + + HRESULT IWICComponentInfo::GetFriendlyName([In] unsigned int cchFriendlyName,[InOut, Buffer, Optional] wchar_t* wzFriendlyName,[Out] unsigned int* pcchActual) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the container associated with the codec.

+
+

Receives the container .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719688 + HRESULT IWICBitmapCodecInfo::GetContainerFormat([Out] GUID* pguidContainerFormat) + IWICBitmapCodecInfo::GetContainerFormat +
+ + +

Retrieves the pixel formats the codec supports.

+
+

The size of the pguidPixelFormats array. Use 0 on first call to determine the needed array size.

+

Receives the supported pixel formats. Use null on first call to determine needed array size.

+

The array size needed to retrieve all supported pixel formats.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the array size needed to retrieve all the supported pixel formats by calling it with cFormats set to 0 and pguidPixelFormats set to null. This call sets pcActual to the array size needed. Once the needed array size is determined, a second GetPixelFormats call with pguidPixelFormats set to an array of the appropriate size will retrieve the pixel formats.

+
+ + ee690082 + HRESULT IWICBitmapCodecInfo::GetPixelFormats([In] unsigned int cFormats,[In, Buffer] GUID* pguidPixelFormats,[Out] unsigned int* pcActual) + IWICBitmapCodecInfo::GetPixelFormats +
+ + +

Retrieves the color manangement version number the codec supports.

+
+

The size of the version buffer. Use 0 on first call to determine needed buffer size.

+

Receives the color management version number. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve the full color management version number.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchColorManagementVersion set to 0 and wzColorManagementVersion set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetColorManagementVersion call with cchColorManagementVersion set to the buffer size and wzColorManagementVersion set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719687 + HRESULT IWICBitmapCodecInfo::GetColorManagementVersion([In] unsigned int cchColorManagementVersion,[In] void* wzColorManagementVersion,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetColorManagementVersion +
+ + +

Retrieves the name of the device manufacture associated with the codec.

+
+

The size of the device manufacture's name. Use 0 on first call to determine needed buffer size.

+

Receives the device manufacture's name. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve the device manufacture's name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchDeviceManufacturer set to 0 and wzDeviceManufacturer set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetDeviceManufacturer call with cchDeviceManufacturer set to the buffer size and wzDeviceManufacturer set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719690 + HRESULT IWICBitmapCodecInfo::GetDeviceManufacturer([In] unsigned int cchDeviceManufacturer,[In] void* wzDeviceManufacturer,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetDeviceManufacturer +
+ + +

Retrieves a comma delimited list of device models associated with the codec.

+
+

The size of the device models buffer. Use 0 on first call to determine needed buffer size.

+

Receives a comma delimited list of device model names associated with the codec. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve all of the device model names.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchDeviceModels set to 0 and wzDeviceModels set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetDeviceModels call with cchDeviceModels set to the buffer size and wzDeviceModels set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719692 + HRESULT IWICBitmapCodecInfo::GetDeviceModels([In] unsigned int cchDeviceModels,[In] void* wzDeviceModels,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetDeviceModels +
+ + +

Retrieves a comma delimited sequence of mime types associated with the codec.

+
+

The size of the mime types buffer. Use 0 on first call to determine needed buffer size.

+

Receives the mime types associated with the codec. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve all mime types associated with the codec.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchMimeTypes set to 0 and wzMimeTypes set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetMimeTypes call with cchMimeTypes set to the buffer size and wzMimeTypes set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719696 + HRESULT IWICBitmapCodecInfo::GetMimeTypes([In] unsigned int cchMimeTypes,[In] void* wzMimeTypes,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetMimeTypes +
+ + +

Retrieves a comma delimited list of the file name extensions associated with the codec.

+
+

The size of the file name extension buffer. Use 0 on first call to determine needed buffer size.

+

Receives a comma delimited list of file name extensions associated with the codec. Use null on first call to determine needed buffer size.

+

The actual buffer size needed to retrieve all file name extensions associated with the codec.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The default extension for an image encoder is the first item in the list of returned extensions.

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchFileExtensions set to 0 and wzFileExtensions set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetFileExtensions call with cchFileExtensions set to the buffer size and wzFileExtensions set to a buffer of the appropriate size will retrieve the pixel formats.

+
+ + ee719694 + HRESULT IWICBitmapCodecInfo::GetFileExtensions([In] unsigned int cchFileExtensions,[In] void* wzFileExtensions,[Out] unsigned int* pcchActual) + IWICBitmapCodecInfo::GetFileExtensions +
+ + +

Retrieves a value indicating whether the codec supports animation.

+
+

Receives TRUE if the codec supports images with timing information; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719680 + HRESULT IWICBitmapCodecInfo::DoesSupportAnimation([Out] BOOL* pfSupportAnimation) + IWICBitmapCodecInfo::DoesSupportAnimation +
+ + +

Retrieves a value indicating whether the codec supports chromakeys.

+
+

Receives TRUE if the codec supports chromakeys; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719682 + HRESULT IWICBitmapCodecInfo::DoesSupportChromakey([Out] BOOL* pfSupportChromakey) + IWICBitmapCodecInfo::DoesSupportChromakey +
+ + +

Retrieves a value indicating whether the codec supports lossless formats.

+
+

Receives TRUE if the codec supports lossless formats; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719683 + HRESULT IWICBitmapCodecInfo::DoesSupportLossless([Out] BOOL* pfSupportLossless) + IWICBitmapCodecInfo::DoesSupportLossless +
+ + +

Retrieves a value indicating whether the codec supports multi frame images.

+
+

Receives TRUE if the codec supports multi frame images; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719685 + HRESULT IWICBitmapCodecInfo::DoesSupportMultiframe([Out] BOOL* pfSupportMultiframe) + IWICBitmapCodecInfo::DoesSupportMultiframe +
+ + +

Retrieves a value indicating whether the given mime type matches the mime type of the codec.

+
+

The mime type to compare.

+

Receives TRUE if the mime types match; otherwise, .

+ + ee690083 + HRESULT IWICBitmapCodecInfo::MatchesMimeType([In] const wchar_t* wzMimeType,[Out] BOOL* pfMatches) + IWICBitmapCodecInfo::MatchesMimeType +
+ + +

Retrieves the container associated with the codec.

+
+ + ee719688 + GetContainerFormat + GetContainerFormat + HRESULT IWICBitmapCodecInfo::GetContainerFormat([Out] GUID* pguidContainerFormat) +
+ + +

Retrieves a value indicating whether the codec supports animation.

+
+ + ee719680 + DoesSupportAnimation + DoesSupportAnimation + HRESULT IWICBitmapCodecInfo::DoesSupportAnimation([Out] BOOL* pfSupportAnimation) +
+ + +

Retrieves a value indicating whether the codec supports chromakeys.

+
+ + ee719682 + DoesSupportChromakey + DoesSupportChromakey + HRESULT IWICBitmapCodecInfo::DoesSupportChromakey([Out] BOOL* pfSupportChromakey) +
+ + +

Retrieves a value indicating whether the codec supports lossless formats.

+
+ + ee719683 + DoesSupportLossless + DoesSupportLossless + HRESULT IWICBitmapCodecInfo::DoesSupportLossless([Out] BOOL* pfSupportLossless) +
+ + +

Retrieves a value indicating whether the codec supports multi frame images.

+
+ + ee719685 + DoesSupportMultiframe + DoesSupportMultiframe + HRESULT IWICBitmapCodecInfo::DoesSupportMultiframe([Out] BOOL* pfSupportMultiframe) +
+ + + Gets the pixel formats the codec supports. + + + + + Gets the color management version number the codec supports. + + + + + Gets the name of the device manufacture associated with the codec. + + + + + Gets a comma delimited list of device models associated with the codec. + + + + + Gets a comma delimited sequence of mime types associated with the codec. + + + + + Gets a comma delimited list of the file name extensions associated with the codec. + + + + + No documentation. + + + ee719890 + IWICBitmapCodecProgressNotification + IWICBitmapCodecProgressNotification + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Registers a progress notification callback function.

+
+

A function reference to the application defined progress notification callback function. See ProgressNotificationCallback for the callback signature.

+

A reference to component data for the callback method.

+

The and flags to use for progress notification.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Applications can only register a single callback. Subsequent registration calls will replace the previously registered callback. To unregister a callback, pass in null or register a new callback function.

Progress is reported in an increasing order between 0.0 and 1.0. If dwProgressFlags includes , the callback is guaranteed to be called with progress 0.0. If dwProgressFlags includes , the callback is guaranteed to be called with progress 1.0.

increases the frequency in which the callback is called. If an operation is expected to take more than 30 seconds, should be added to dwProgressFlags.

+
+ + ee690085 + HRESULT IWICBitmapCodecProgressNotification::RegisterProgressNotification([In, Optional] __function__stdcall* pfnProgressNotification,[In, Optional] void* pvData,[In] unsigned int dwProgressFlags) + IWICBitmapCodecProgressNotification::RegisterProgressNotification +
+ + +

Exposes methods that represent a decoder.

The interface provides access to the decoder's properties such as global thumbnails (if supported), frames, and palette.

+
+ +

There are a number of concrete implemenations of this interface representing each of the standard decoders provided by the platform including bitmap (BMP), Portable Network Graphics (PNG), icon (ICO), Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP). The following table includes the class identifier (CLSID) for each native decoder.

CLSID NameCLSID
0x6b462062, 0x7cbf, 0x400d, 0x9f, 0xdb, 0x81, 0x3d, 0xd1, 0xf, 0x27, 0x78
0x389ea17b, 0x5078, 0x4cde, 0xb6, 0xef, 0x25, 0xc1, 0x51, 0x75, 0xc7, 0x51
0xc61bfcdf, 0x2e0f, 0x4aad, 0xa8, 0xd7, 0xe0, 0x6b, 0xaf, 0xeb, 0xcd, 0xfe
0x9456a480, 0xe88b, 0x43ea, 0x9e, 0x73, 0xb, 0x2d, 0x9b, 0x71, 0xb1, 0xca
0x381dda3c, 0x9ce9, 0x4834, 0xa2, 0x3e, 0x1f, 0x98, 0xf8, 0xfc, 0x52, 0xbe
0xb54e85d9, 0xfe23, 0x499f, 0x8b, 0x88, 0x6a, 0xce, 0xa7, 0x13, 0x75, 0x2b
0xa26cec36, 0x234c, 0x4950, 0xae, 0x16, 0xe3, 0x4a, 0xac, 0xe7, 0x1d, 0x0d

?

This interface may be sub-classed to provide support for third party codecs as part of the extensibility model. See the AITCodec Sample CODEC.

Codecs written as TIFF container formats that are not register will decode as a TIFF image. Client applications should check for a zero frame count to determine if the codec is valid.

+
+ + ee690086 + IWICBitmapDecoder + IWICBitmapDecoder +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the capabilities of the decoder based on the specified stream.

+
+

The stream to retrieve the decoder capabilities from.

+

The of the decoder.

+ +

Custom decoder implementations should save the current position of the specified , read whatever information is necessary in order to determine which capabilities it can provide for the supplied stream, and restore the stream position.

+
+ + ee690109 + HRESULT IWICBitmapDecoder::QueryCapability([In, Optional] IStream* pIStream,[Out] WICBitmapDecoderCapabilities* pdwCapability) + IWICBitmapDecoder::QueryCapability +
+ + +

Initializes the decoder with the provided stream.

+
+

The stream to use for initialization.

The stream contains the encoded pixels which are decoded each time the CopyPixels method on the interface (see GetFrame) is invoked.

+

The to use for initialization.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690108 + HRESULT IWICBitmapDecoder::Initialize([In, Optional] IStream* pIStream,[In] WICDecodeOptions cacheOptions) + IWICBitmapDecoder::Initialize +
+ + +

Retrieves the image's container format.

+
+

A reference that receives the image's container format .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690095 + HRESULT IWICBitmapDecoder::GetContainerFormat([Out] GUID* pguidContainerFormat) + IWICBitmapDecoder::GetContainerFormat +
+ + +

Retrieves an for the image.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690096 + HRESULT IWICBitmapDecoder::GetDecoderInfo([Out] IWICBitmapDecoderInfo** ppIDecoderInfo) + IWICBitmapDecoder::GetDecoderInfo +
+ + +

Copies the decoder's .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

CopyPalette returns a global palette (a palette that applies to all the frames in the image) if there is one; otherwise, it returns . If an image doesn't have a global palette, it may still have a frame-level palette, which can be retrieved using IWICBitmapFrameDecode::CopyPalette.

+
+ + ee690091 + HRESULT IWICBitmapDecoder::CopyPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmapDecoder::CopyPalette +
+ + +

Retrieves the metadata query reader from the decoder.

+
+

Receives a reference to the decoder's .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690102 + HRESULT IWICBitmapDecoder::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) + IWICBitmapDecoder::GetMetadataQueryReader +
+ + +

Retrieves a preview image, if supported.

+
+

Receives a reference to the preview bitmap if supported.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Not all formats support previews. Only the native Microsoft?Windows Digital Photo (WDP) codec support previews.

+
+ + ee690104 + HRESULT IWICBitmapDecoder::GetPreview([Out] IWICBitmapSource** ppIBitmapSource) + IWICBitmapDecoder::GetPreview +
+ + +

Retrieves the objects of the image.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690093 + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + IWICBitmapDecoder::GetColorContexts +
+ + +

Retrieves the objects of the image.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690093 + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + IWICBitmapDecoder::GetColorContexts +
+ + +

Retrieves a bitmap thumbnail of the image, if one exists

+
+

Receives a reference to the of the thumbnail.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

None of the native formats support global thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support frame level thumbnails that can be accessed through a frame's GetThumbnail method.

+
+ + ee690106 + HRESULT IWICBitmapDecoder::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) + IWICBitmapDecoder::GetThumbnail +
+ + +

Retrieves the total number of frames in the image.

+
+

A reference that receives the total number of frames in the image.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690099 + HRESULT IWICBitmapDecoder::GetFrameCount([Out] unsigned int* pCount) + IWICBitmapDecoder::GetFrameCount +
+ + +

Retrieves the specified frame of the image.

+
+

The particular frame to retrieve.

+

A reference that receives a reference to the .

+ + ee690098 + HRESULT IWICBitmapDecoder::GetFrame([In] unsigned int index,[Out] IWICBitmapFrameDecode** ppIBitmapFrame) + IWICBitmapDecoder::GetFrame +
+ + + Initializes a new instance of the class from a . + + The bitmap decoder info. + HRESULT IWICBitmapDecoderInfo::CreateInstance([Out, Fast] IWICBitmapDecoder** ppIBitmapDecoder) + + + + Initializes a new instance of the class from a guid. for a list of default supported decoder. + + The factory. + The container format GUID. + HRESULT IWICImagingFactory::CreateDecoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. + The GUID vendor ref. + HRESULT IWICImagingFactory::CreateDecoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a . + + The factory. + The stream ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a . + + The factory. + The stream ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a . + + The factory. + The stream ref. + The GUID vendor ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a . + + The factory. + The stream ref. + The GUID vendor ref. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file in read mode. + + The factory. + The filename. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file. + + The factory. + The filename. + The desired access. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Initializes a new instance of the class from a file. + + The factory. + The filename. + The GUID vendor ref. + The desired access. + The metadata options. + HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + + + + Queries the capabilities of the decoder based on the specified stream. + + The stream to retrieve the decoder capabilities from.. + Capabilities of the decoder + HRESULT IWICBitmapDecoder::QueryCapability([In, Optional] IStream* pIStream,[Out] WICBitmapDecoderCapabilities* pdwCapability) + + + + Initializes the decoder with the provided stream. + + The stream to use for initialization. + The cache options. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapDecoder::Initialize([In, Optional] IStream* pIStream,[In] WICDecodeOptions cacheOptions) + + + + Get the of the image (if any) + + The factory for creating new color contexts + The color context array, or null + + When the image format does not support color contexts, + is returned. + + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + + + + Get the of the image (if any) + + + null if the decoder does not support color contexts; + otherwise an array of zero or more ColorContext objects + + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] + + + +

Retrieves the image's container format.

+
+ + ee690095 + GetContainerFormat + GetContainerFormat + HRESULT IWICBitmapDecoder::GetContainerFormat([Out] GUID* pguidContainerFormat) +
+ + +

Retrieves an for the image.

+
+ + ee690096 + GetDecoderInfo + GetDecoderInfo + HRESULT IWICBitmapDecoder::GetDecoderInfo([Out] IWICBitmapDecoderInfo** ppIDecoderInfo) +
+ + +

Retrieves the metadata query reader from the decoder.

+
+ + ee690102 + GetMetadataQueryReader + GetMetadataQueryReader + HRESULT IWICBitmapDecoder::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) +
+ + +

Retrieves a preview image, if supported.

+
+ +

Not all formats support previews. Only the native Microsoft?Windows Digital Photo (WDP) codec support previews.

+
+ + ee690104 + GetPreview + GetPreview + HRESULT IWICBitmapDecoder::GetPreview([Out] IWICBitmapSource** ppIBitmapSource) +
+ + +

Retrieves a bitmap thumbnail of the image, if one exists

+
+ +

None of the native formats support global thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support frame level thumbnails that can be accessed through a frame's GetThumbnail method.

+
+ + ee690106 + GetThumbnail + GetThumbnail + HRESULT IWICBitmapDecoder::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) +
+ + +

Retrieves the total number of frames in the image.

+
+ + ee690099 + GetFrameCount + GetFrameCount + HRESULT IWICBitmapDecoder::GetFrameCount([Out] unsigned int* pCount) +
+ + +

Exposes methods that provide information about a decoder.

+
+ + ee690087 + IWICBitmapDecoderInfo + IWICBitmapDecoderInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the file pattern signatures supported by the decoder.

+
+

The array size of the pPatterns array.

+

Receives a list of objects supported by the decoder.

+

Receives the number of patterns the decoder supports.

+

Receives the actual buffer size needed to retrieve all pattern signatures supported by the decoder.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To retrieve all pattern signatures, this method should first be called with pPatterns set to null to retrieve the actual buffer size needed through pcbPatternsActual. Once the needed buffer size is known, allocate a buffer of the needed size and call GetPatterns again with the allocated buffer.

+
+ + ee690089 + HRESULT IWICBitmapDecoderInfo::GetPatterns([In] unsigned int cbSizePatterns,[Out, Buffer, Optional] WICBitmapPattern* pPatterns,[Out] unsigned int* pcPatterns,[Out] unsigned int* pcbPatternsActual) + IWICBitmapDecoderInfo::GetPatterns +
+ + +

Retrieves a value that indicates whether the codec recognizes the pattern within a specified stream.

+
+

The stream to pattern match within.

+

A reference that receives TRUE if the patterns match; otherwise, .

+ + ee690090 + HRESULT IWICBitmapDecoderInfo::MatchesPattern([In, Optional] IStream* pIStream,[Out] BOOL* pfMatches) + IWICBitmapDecoderInfo::MatchesPattern +
+ + +

Creates a new instance.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690088 + HRESULT IWICBitmapDecoderInfo::CreateInstance([Out, Fast] IWICBitmapDecoder** ppIBitmapDecoder) + IWICBitmapDecoderInfo::CreateInstance +
+ + + Retrieves a value that indicates whether the codec recognizes the pattern within a specified stream. + + The stream to pattern match within. + true if the patterns match; otherwise, false. + HRESULT IWICBitmapDecoderInfo::MatchesPattern([In, Optional] IStream* pIStream,[Out] BOOL* pfMatches) + + + + Gets the file pattern signatures supported by the decoder. + + HRESULT IWICBitmapDecoderInfo::GetPatterns([In] unsigned int cbSizePatterns,[Out, Buffer, Optional] WICBitmapPattern* pPatterns,[Out] unsigned int* pcPatterns,[Out] unsigned int* pcbPatternsActual) + + + +

Defines methods for setting an encoder's properties such as thumbnails, frames, and palettes.

+
+ +

There are a number of concrete implemenations of this interface representing each of the standard encoders provided by the platform including bitmap (BMP), Portable Network Graphics (PNG), Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP). The following table includes the class identifier (CLSID) for each native encoder.

CLSID NameCLSID
0x69be8bb4, 0xd66d, 0x47c8, 0x86, 0x5a, 0xed, 0x15, 0x89, 0x43, 0x37, 0x82
0x27949969, 0x876a, 0x41d7, 0x94, 0x47, 0x56, 0x8f, 0x6a, 0x35, 0xa4, 0xdc
0x1a34f5c1, 0x4a5a, 0x46dc, 0xb6, 0x44, 0x1f, 0x45, 0x67, 0xe7, 0xa6, 0x76
0x114f5598, 0xb22, 0x40a0, 0x86, 0xa1, 0xc8, 0x3e, 0xa4, 0x95, 0xad, 0xbd
0x0131be10, 0x2001, 0x4c5f, 0xa9, 0xb0, 0xcc, 0x88, 0xfa, 0xb6, 0x4c, 0xe8
0xac4ce3cb, 0xe1c1, 0x44cd, 0x82, 0x15, 0x5a, 0x16, 0x65, 0x50, 0x9e, 0xc2

?

Additionally this interface may be sub-classed to provide support for third party codecs as part of the extensibility model. See the AITCodec Sample CODEC.

+
+ + ee690110 + IWICBitmapEncoder + IWICBitmapEncoder +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the encoder with an which tells the encoder where to encode the bits.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690123 + HRESULT IWICBitmapEncoder::Initialize([In, Optional] IStream* pIStream,[In] WICBitmapEncoderCacheOption cacheOption) + IWICBitmapEncoder::Initialize +
+ + +

Retrieves the encoder's container format.

+
+

A reference that receives the encoder's container format .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690118 + HRESULT IWICBitmapEncoder::GetContainerFormat([Out] GUID* pguidContainerFormat) + IWICBitmapEncoder::GetContainerFormat +
+ + +

Retrieves an for the encoder.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690119 + HRESULT IWICBitmapEncoder::GetEncoderInfo([Out] IWICBitmapEncoderInfo** ppIEncoderInfo) + IWICBitmapEncoder::GetEncoderInfo +
+ + +

Sets the objects for the encoder.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690125 + HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + IWICBitmapEncoder::SetColorContexts +
+ + +

Sets the objects for the encoder.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690125 + HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + IWICBitmapEncoder::SetColorContexts +
+ + +

Sets the global palette for the image.

+
+

The to use as the global palette.

+

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

+ + ee690126 + HRESULT IWICBitmapEncoder::SetPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmapEncoder::SetPalette +
+ + +

Sets the global thumbnail for the image.

+
+

The to set as the global thumbnail.

+

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

+ + ee690129 + HRESULT IWICBitmapEncoder::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) + IWICBitmapEncoder::SetThumbnail +
+ + +

Sets the global preview for the image.

+
+

The to use as the global preview.

+

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

+ + ee690128 + HRESULT IWICBitmapEncoder::SetPreview([In, Optional] IWICBitmapSource* pIPreview) + IWICBitmapEncoder::SetPreview +
+ + +

Creates a new instance.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The parameter ppIEncoderOptions can be used to receive an that can then be used to specify encoder options. This is done by passing a reference to a null reference in ppIEncoderOptions. You should then set your desired encoder options on the returned, and pass this to .

Note??Do not pass in a reference to an initialized . The reference will be overwritten, and the original will not be freed.

Otherwise, you can pass null in ppIEncoderOptions if you do not intend to specify encoder options.

See Encoding Overview for an example of how to set encoder options.

+
+ + ee690116 + HRESULT IWICBitmapEncoder::CreateNewFrame([Out, Fast] IWICBitmapFrameEncode** ppIFrameEncode,[Out, Fast] IPropertyBag2** ppIEncoderOptions) + IWICBitmapEncoder::CreateNewFrame +
+ + +

Commits all changes for the image and closes the stream.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To finalize an image, both the frame Commit and the encoder Commit must be called. However, only call the encoder Commit method after all frames have been committed.

+
+ + ee690114 + HRESULT IWICBitmapEncoder::Commit() + IWICBitmapEncoder::Commit +
+ + +

Retrieves a metadata query writer for the encoder.

+
+

When this method returns, contains a reference to the encoder's metadata query writer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690121 + HRESULT IWICBitmapEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) + IWICBitmapEncoder::GetMetadataQueryWriter +
+ + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + The GUID vendor ref. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + A stream to use as the output of this bitmap encoder. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + A stream to use as the output of this bitmap encoder. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + The GUID vendor ref. + A stream to use as the output of this bitmap encoder. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes a new instance of the class. + + The factory. + The container format GUID. List from + The GUID vendor ref. + A stream to use as the output of this bitmap encoder. + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) + + + + Initializes the encoder with the provided stream. + + The stream to use for initialization. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapEncoder::Initialize([In, Optional] IStream* pIStream,[In] WICBitmapEncoderCacheOption cacheOption) + + + + Initializes the encoder with the provided stream. + + The stream to use for initialization. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapEncoder::Initialize([In, Optional] IStream* pIStream,[In] WICBitmapEncoderCacheOption cacheOption) + + + + Sets the objects for the encoder. + + The color contexts to set for the encoder. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + + + +

Retrieves the encoder's container format.

+
+ + ee690118 + GetContainerFormat + GetContainerFormat + HRESULT IWICBitmapEncoder::GetContainerFormat([Out] GUID* pguidContainerFormat) +
+ + +

Retrieves an for the encoder.

+
+ + ee690119 + GetEncoderInfo + GetEncoderInfo + HRESULT IWICBitmapEncoder::GetEncoderInfo([Out] IWICBitmapEncoderInfo** ppIEncoderInfo) +
+ + +

Sets the global palette for the image.

+
+ + ee690126 + SetPalette + SetPalette + HRESULT IWICBitmapEncoder::SetPalette([In, Optional] IWICPalette* pIPalette) +
+ + +

Sets the global thumbnail for the image.

+
+ + ee690129 + SetThumbnail + SetThumbnail + HRESULT IWICBitmapEncoder::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) +
+ + +

Sets the global preview for the image.

+
+ + ee690128 + SetPreview + SetPreview + HRESULT IWICBitmapEncoder::SetPreview([In, Optional] IWICBitmapSource* pIPreview) +
+ + +

Retrieves a metadata query writer for the encoder.

+
+ + ee690121 + GetMetadataQueryWriter + GetMetadataQueryWriter + HRESULT IWICBitmapEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) +
+ + +

Exposes methods that provide information about an encoder.

+
+ + ee690112 + IWICBitmapEncoderInfo + IWICBitmapEncoderInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a new instance.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690113 + HRESULT IWICBitmapEncoderInfo::CreateInstance([Out] IWICBitmapEncoder** ppIBitmapEncoder) + IWICBitmapEncoderInfo::CreateInstance +
+ + +

Exposes methods that produce a flipped (horizontal or vertical) and/or rotated (by 90 degree increments) bitmap source. Rotations are done before the flip.

+
+ +

IWICBitmapFipRotator requests data on a per-pixel basis, while WIC codecs provide data on a per-scanline basis. This causes the fliprotator object to exhibit n2 behavior if there is no buffering. This occures because each pixel in the transformed image requires an entire scanline to be decoded in the file. It is recommended that you buffer the image using , or flip/rotate the image using Direct2D.

+
+ + ee690131 + IWICBitmapFlipRotator + IWICBitmapFlipRotator +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the bitmap flip rotator with the provided parameters.

+
+

The input bitmap source.

+

The to flip or rotate the image.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690132 + HRESULT IWICBitmapFlipRotator::Initialize([In, Optional] IWICBitmapSource* pISource,[In] WICBitmapTransformOptions options) + IWICBitmapFlipRotator::Initialize +
+ + + Initializes a new instance of the class. + + The factory. + + + +

Defines methods for decoding individual image frames of an encoded file.

+
+ + ee690134 + IWICBitmapFrameDecode + IWICBitmapFrameDecode +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves a metadata query reader for the frame.

+
+

When this method returns, contains a reference to the frame's metadata query reader.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690137 + HRESULT IWICBitmapFrameDecode::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) + IWICBitmapFrameDecode::GetMetadataQueryReader +
+ + +

Retrieves the associated with the image frame.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690135 + HRESULT IWICBitmapFrameDecode::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + IWICBitmapFrameDecode::GetColorContexts +
+ + +

Retrieves the associated with the image frame.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690135 + HRESULT IWICBitmapFrameDecode::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + IWICBitmapFrameDecode::GetColorContexts +
+ + +

Retrieves a small preview of the frame, if supported by the codec.

+
+

A reference that receives a reference to the of the thumbnail.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Not all formats support thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support thumbnails.

Note to Implementers

If the codec does not support thumbnails, return WINCODEC_ERROR_CODECNOTHUMBNAIL rather than E_NOTIMPL.

+
+ + ee690139 + HRESULT IWICBitmapFrameDecode::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) + IWICBitmapFrameDecode::GetThumbnail +
+ + + Get the of the image (if any) + + The factory for creating new color contexts + The color context array, or null + + When the image format does not support color contexts, + is returned. + + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) + + + + Get the of the image (if any) + + + null if the decoder does not support color contexts; + otherwise an array of zero or more ColorContext objects + + HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] + + + +

Retrieves a metadata query reader for the frame.

+
+ + ee690137 + GetMetadataQueryReader + GetMetadataQueryReader + HRESULT IWICBitmapFrameDecode::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) +
+ + +

Retrieves a small preview of the frame, if supported by the codec.

+
+ +

Not all formats support thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support thumbnails.

Note to Implementers

If the codec does not support thumbnails, return WINCODEC_ERROR_CODECNOTHUMBNAIL rather than E_NOTIMPL.

+
+ + ee690139 + GetThumbnail + GetThumbnail + HRESULT IWICBitmapFrameDecode::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) +
+ + +

Represents an encoder's individual image frames.

+
+ + ee690141 + IWICBitmapFrameEncode + IWICBitmapFrameEncode +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the frame encoder using the given properties.

+
+

The set of properties to use for initialization.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690146 + HRESULT IWICBitmapFrameEncode::Initialize([In, Optional] IPropertyBag2* pIEncoderOptions) + IWICBitmapFrameEncode::Initialize +
+ + +

Sets the output image dimensions for the frame.

+
+

The width of the output image.

+

The height of the output image.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690154 + HRESULT IWICBitmapFrameEncode::SetSize([In] unsigned int uiWidth,[In] unsigned int uiHeight) + IWICBitmapFrameEncode::SetSize +
+ + +

Sets the physical resolution of the output image.

+
+

The horizontal resolution value.

+

The vertical resolution value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690152 + HRESULT IWICBitmapFrameEncode::SetResolution([In] double dpiX,[In] double dpiY) + IWICBitmapFrameEncode::SetResolution +
+ + +

Requests that the encoder use the specified pixel format.

+
+

If the method succeeds, contains the specified pixel format ; otherwise, contains the closest supported pixel format . For a list of pixel format GUIDs, see Native Pixel Formats.

+

Possible return values include the following.

Return codeDescription

Success.

The method was not called.

?

+ + ee690151 + HRESULT IWICBitmapFrameEncode::SetPixelFormat([InOut] GUID* pPixelFormat) + IWICBitmapFrameEncode::SetPixelFormat +
+ + +

Sets a given number profiles to the frame.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690148 + HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + IWICBitmapFrameEncode::SetColorContexts +
+ + +

Sets a given number profiles to the frame.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690148 + HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + IWICBitmapFrameEncode::SetColorContexts +
+ + +

Sets the for indexed pixel formats.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method does not fail if called on a frame whose pixel format is set to a non-indexed pixel format. The target pixel format is a non-indexed format, the palette will be ignored.

+
+ + ee690150 + HRESULT IWICBitmapFrameEncode::SetPalette([In, Optional] IWICPalette* pIPalette) + IWICBitmapFrameEncode::SetPalette +
+ + +

Sets the frame thumbnail if supported by the codec.

+
+

The bitmap source to use as the thumbnail.

+

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

+ +

SetThumbnail should be called before calling WritePixels or WriteSource. The thumbnail will not be added to the encoded file if SetThumbnail after a call to WritePixels or WriteSource.

+
+ + ee690156 + HRESULT IWICBitmapFrameEncode::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) + IWICBitmapFrameEncode::SetThumbnail +
+ + +

Encodes the frame scanlines.

+
+

The number of lines to encode.

+

The stride of the image pixels.

+

The size of the pixel buffer.

+

A reference to the pixel buffer.

+

Possible return values include the following.

Return codeDescription

Success.

The value of lineCount is larger than the number of scan lines in the image.

?

+ +

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

+
+ + ee690158 + HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) + IWICBitmapFrameEncode::WritePixels +
+ + +

Encodes a bitmap source.

+
+

The bitmap source to encode.

+

The size rectangle of the bitmap source.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If SetSize is not called prior to calling WriteSource, the size given in prc is used if not null. Otherwise, the size of the given in pIBitmapSource is used.

If SetPixelFormat is not called prior to calling WriteSource, the pixel format of the given in pIBitmapSource is used.

If SetResolution is not called prior to calling WriteSource, the pixel format of pIBitmapSource is used.

If SetPalette is not called prior to calling WriteSource, the target pixel format is indexed, and the pixel format of pIBitmapSource matches the encoder frame's pixel format, then the pIBitmapSource pixel format is used.

When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, WriteSource will use the global palette to encode the frame even when pIBitmapSource has a frame level palette.

Windows Vista:The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

+
+ + ee690159 + HRESULT IWICBitmapFrameEncode::WriteSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In] void* prc) + IWICBitmapFrameEncode::WriteSource +
+ + +

Commits the frame to the image.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To finalize the image, both the frame Commit and the encoder Commit must be called. However, only call the encoder Commit method after all frames have been committed.

+
+ + ee690142 + HRESULT IWICBitmapFrameEncode::Commit() + IWICBitmapFrameEncode::Commit +
+ + +

Gets the metadata query writer for the encoder frame.

+
+

When this method returns, contains a reference to metadata query writer for the encoder frame.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690144 + HRESULT IWICBitmapFrameEncode::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) + IWICBitmapFrameEncode::GetMetadataQueryWriter +
+ + + Initializes a new instance of the class. + + The encoder. + HRESULT IWICBitmapEncoder::CreateNewFrame([Out] IWICBitmapFrameEncode** ppIFrameEncode,[Out] IPropertyBag2** ppIEncoderOptions) + + + + Initializes this instance. + + HRESULT IWICBitmapFrameEncode::Initialize([In, Optional] IPropertyBag2* pIEncoderOptions) + + + + Sets the objects for this frame encoder. + + The color contexts to set for the encoder. + If the method succeeds, it returns . Otherwise, it throws an exception. + HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) + + + +

Encodes the frame scanlines.

+
+

The number of lines to encode.

+ A data buffer containing the pixels to copy from. + Total size in bytes of pixels to write. If == 0, size is calculated with lineCount * rowStride. + +

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

+
+ ee690158 + HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) + IWICBitmapFrameEncode::WritePixels +
+ + +

Encodes the frame scanlines.

+
+

The number of lines to encode.

+ A data buffer containing the pixels to copy from. + The stride of one row. + Total size in bytes of pixels to write. If == 0, size is calculated with lineCount * rowStride. + +

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

+
+ ee690158 + HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) + IWICBitmapFrameEncode::WritePixels +
+ + +

Encodes the frame scanlines.

+
+

The number of lines to encode.

+

The stride of the image pixels.

+

A reference to the pixel buffer.

+ +

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

+
+ ee690158 + HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) + IWICBitmapFrameEncode::WritePixels +
+ + +

Encodes a bitmap source.

+
+

The bitmap source to encode.

+ +

If SetSize is not called prior to calling WriteSource, the size given in prc is used if not null. Otherwise, the size of the given in pIBitmapSource is used.

If SetPixelFormat is not called prior to calling WriteSource, the pixel format of the given in pIBitmapSource is used.

If SetResolution is not called prior to calling WriteSource, the pixel format of pIBitmapSource is used.

If SetPalette is not called prior to calling WriteSource, the target pixel format is indexed, and the pixel format of pIBitmapSource matches the encoder frame's pixel format, then the pIBitmapSource pixel format is used.

When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, WriteSource will use the global palette to encode the frame even when pIBitmapSource has a frame level palette.

Windows Vista:The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

+
+ + ee690159 + HRESULT IWICBitmapFrameEncode::WriteSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In, Optional] WICRect* prc) + IWICBitmapFrameEncode::WriteSource +
+ + +

Encodes a bitmap source.

+
+

The bitmap source to encode.

+

The size rectangle of the bitmap source.

+ +

If SetSize is not called prior to calling WriteSource, the size given in prc is used if not null. Otherwise, the size of the given in pIBitmapSource is used.

If SetPixelFormat is not called prior to calling WriteSource, the pixel format of the given in pIBitmapSource is used.

If SetResolution is not called prior to calling WriteSource, the pixel format of pIBitmapSource is used.

If SetPalette is not called prior to calling WriteSource, the target pixel format is indexed, and the pixel format of pIBitmapSource matches the encoder frame's pixel format, then the pIBitmapSource pixel format is used.

When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, WriteSource will use the global palette to encode the frame even when pIBitmapSource has a frame level palette.

Windows Vista:The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

+
+ + ee690159 + HRESULT IWICBitmapFrameEncode::WriteSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In, Optional] WICRect* prc) + IWICBitmapFrameEncode::WriteSource +
+ + +

Sets the for indexed pixel formats.

+
+ +

This method does not fail if called on a frame whose pixel format is set to a non-indexed pixel format. The target pixel format is a non-indexed format, the palette will be ignored.

+
+ + ee690150 + SetPalette + SetPalette + HRESULT IWICBitmapFrameEncode::SetPalette([In, Optional] IWICPalette* pIPalette) +
+ + +

Sets the frame thumbnail if supported by the codec.

+
+ +

SetThumbnail should be called before calling WritePixels or WriteSource. The thumbnail will not be added to the encoded file if SetThumbnail after a call to WritePixels or WriteSource.

+
+ + ee690156 + SetThumbnail + SetThumbnail + HRESULT IWICBitmapFrameEncode::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) +
+ + +

Gets the metadata query writer for the encoder frame.

+
+ + ee690144 + GetMetadataQueryWriter + GetMetadataQueryWriter + HRESULT IWICBitmapFrameEncode::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) +
+ + + Gets the properties to setup before . + + + + +

Exposes methods that support the Lock method.

+
+ +

The bitmap lock is simply an abstraction for a rectangular memory window into the bitmap. For the simplest case, a system memory bitmap, this is simply a reference to the top left corner of the rectangle and a stride value.

To release the exclusive lock set by Lock method and the associated object, call IUnknown::Release on the object.

+
+ + ee690161 + IWICBitmapLock + IWICBitmapLock +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the width and height, in pixels, of the locked rectangle.

+
+

A reference that receives the width of the locked rectangle.

+

A reference that receives the height of the locked rectangle.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690165 + HRESULT IWICBitmapLock::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + IWICBitmapLock::GetSize +
+ + +

Provides access to the stride value for the memory.

+
+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Note the stride value is specific to the , not the bitmap. For example, two consecutive locks on the same rectangle of a bitmap may return different references and stride values, depending on internal implementation.

+
+ + ee690166 + HRESULT IWICBitmapLock::GetStride([Out] unsigned int* pcbStride) + IWICBitmapLock::GetStride +
+ + +

Gets the reference to the top left pixel in the locked rectangle.

+
+

A reference that receives the size of the buffer.

+

A reference that receives a reference to the top left pixel in the locked rectangle.

+ +

The reference provided by this method should not be used outside of the lifetime of the lock itself.

GetDataPointer is not available in multi-threaded apartment applications.

+
+ + ee690162 + HRESULT IWICBitmapLock::GetDataPointer([Out] unsigned int* pcbBufferSize,[Out] void** ppbData) + IWICBitmapLock::GetDataPointer +
+ + +

Gets the pixel format of for the locked area of pixels. This can be used to compute the number of bytes-per-pixel in the locked area.

+
+

A reference that receives the pixel format of the locked area.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690164 + HRESULT IWICBitmapLock::GetPixelFormat([Out] GUID* pPixelFormat) + IWICBitmapLock::GetPixelFormat +
+ + +

Provides access to the stride value for the memory.

+
+ +

Note the stride value is specific to the , not the bitmap. For example, two consecutive locks on the same rectangle of a bitmap may return different references and stride values, depending on internal implementation.

+
+ + ee690166 + GetStride + GetStride + HRESULT IWICBitmapLock::GetStride([Out] unsigned int* pcbStride) +
+ + +

Gets the pixel format of for the locked area of pixels. This can be used to compute the number of bytes-per-pixel in the locked area.

+
+ + ee690164 + GetPixelFormat + GetPixelFormat + HRESULT IWICBitmapLock::GetPixelFormat([Out] GUID* pPixelFormat) +
+ + + Gets the size. + + HRESULT IWICBitmapLock::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) + + + + Gets a pointer to the data. + + + + +

Represents a resized version of the input bitmap using a resampling or filtering algorithm.

+
+ +

Images can be scaled to larger sizes; however, even with sophisticated scaling algorithms, there is only so much information in the image and artifacts tend to worsen the more you scale up.

The scaler will reapply the resampling algorithm every time CopyPixels is called. If the scaled image is to be animated, the scaled image should be created once and cached in a new bitmap, after which the may be released. In this way the scaling algorithm - which may be computationally expensive relative to drawing - is performed only once and the result displayed many times.

The scaler is optimized to use the minimum amount of memory required to scale the image correctly. The scaler may be used to produce parts of the image incrementally (banding) by calling CopyPixels with different rectangles representing the output bands of the image. Resampling typically requires overlapping rectangles from the source image and thus may need to request the same pixels from the source bitmap multiple times. Requesting scanlines out-of-order from some image decoders can have a significant performance penalty. Because of this reason, the scaler is optimized to handle consecutive horizontal bands of scanlines (rectangle width equal to the bitmap width). In this case the accumulator from the previous vertically adjacent rectangle is re-used to avoid duplicate scanline requests from the source. This implies that banded output from the scaler may have better performance if the bands are requested sequentially. Of course if the scaler is simply used to produce a single rectangle output, this concern is eliminated because the scaler will internally request scanlines in the correct order.

+
+ + ee690168 + IWICBitmapScaler + IWICBitmapScaler +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the bitmap scaler with the provided parameters.

+
+

The input bitmap source.

+

The destination width.

+

The desination height.

+

The to use when scaling.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690169 + HRESULT IWICBitmapScaler::Initialize([In, Optional] IWICBitmapSource* pISource,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] WICBitmapInterpolationMode mode) + IWICBitmapScaler::Initialize +
+ + + Initializes a new instance of the class. + + The factory. + + + + No documentation. + + + ee719897 + IWICBitmapSourceTransform + IWICBitmapSourceTransform + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Copies pixel data using the supplied input parameters.

+
+

The rectangle of pixels to copy.

+

The width to scale the source bitmap. This parameter must equal the value obtainable through .

+

The height to scale the source bitmap. This parameter must equal the value obtainable through .

+

The of desired pixel format in which the pixels should be returned.

This must be a format obtained through an GetClosestPixelFormat call.

+

The desired rotation or flip to perform prior to the pixel copy.

The transform must be an operation supported by an DoesSupportTransform call.

If a dstTransform is specified, nStride is the transformed stride and is based on the pguidDstFormat pixel format, not the original source's pixel format.

+

The stride of the destination buffer.

+

The size of the destination buffer.

+

The output buffer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + Codec Developer Remarks

For codec developer implementation details for this method, see Implementing .

When multiple transform operations are requested, the result is dependent on the order in which the operations are performed. To ensure predictability and consistency across CODECs, it's important that all CODECs perform these operations in the same order. The recommended order of these operations is:

  1. Scale
  2. Crop
  3. Flip/Rotate

Pixel format conversion can be performed at any time, since it has no effect on the other transforms.

The first parameter, prc is used to specify the region of interest for clipping the image. By convention, scaling is performed before clipping so, if the image is to be scaled as well as clipped, the region of interest should be determined after the image has been scaled.

If a dstTransform is specified, the stride is the transformed stride, and is based on the pixelFormat specified in the CopyPixels call, not the original frame's pixel format.

+
+ + ee690173 + HRESULT IWICBitmapSourceTransform::CopyPixels([In] const void* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + IWICBitmapSourceTransform::CopyPixels +
+ + +

Returns the closest dimensions the implementation can natively scale to given the desired dimensions.

+
+

The desired width. A reference that receives the closest supported width.

+

The desired height.A reference that receives the closest supported height.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690176 + HRESULT IWICBitmapSourceTransform::GetClosestSize([InOut] unsigned int* puiWidth,[InOut] unsigned int* puiHeight) + IWICBitmapSourceTransform::GetClosestSize +
+ + +

Retrieves the closest pixel format to which the implementation of can natively copy pixels, given a desired format.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690175 + HRESULT IWICBitmapSourceTransform::GetClosestPixelFormat([InOut] GUID* pguidDstFormat) + IWICBitmapSourceTransform::GetClosestPixelFormat +
+ + +

Determines whether a specific transform option is supported natively by the implementation of the interface.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690174 + HRESULT IWICBitmapSourceTransform::DoesSupportTransform([In] WICBitmapTransformOptions dstTransform,[Out] BOOL* pfIsSupported) + IWICBitmapSourceTransform::DoesSupportTransform +
+ + + Copies pixel data using the supplied input parameters. + + The width. + The height. + The stride. + The output. + + HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + + + + Copies pixel data using the supplied input parameters. + + The width. + The height. + The DST transform. + The stride. + The output. + + HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + + + + Copies pixel data using the supplied input parameters. + + The width. + The height. + The GUID DST format. + The DST transform. + The stride. + The output. + + HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + + + + Copies pixel data using the supplied input parameters. + + The rectangle. + The width. + The height. + The GUID DST format. + The DST transform. + The stride. + The output. + + HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) + + + + Returns the closest dimensions the implementation can natively scale to given the desired dimensions. + + The size. + + HRESULT IWICBitmapSourceTransform::GetClosestSize([InOut] unsigned int* puiWidth,[InOut] unsigned int* puiHeight) + + + +

Exposes methods for color management.

+
+ +

A Color Context is an abstraction for a color profile. The profile can be loaded from a file (ie. "sRGB Color Space Profile.icm") or from a memory buffer obtained by reading. The color profile directory can be obtained by calling the GetColorDirectory API (See http://msdn.microsoft.com/library/en-us/icm/icm_58xl.asp).

+
+ + ee690193 + IWICColorContext + IWICColorContext +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the color context from the given file.

+
+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690198 + HRESULT IWICColorContext::InitializeFromFilename([In] const wchar_t* wzFilename) + IWICColorContext::InitializeFromFilename +
+ + +

Initializes the color context from a memory block.

+
+

The buffer used to initialize the .

+

The size of the pbBuffer buffer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690199 + HRESULT IWICColorContext::InitializeFromMemory([In] const void* pbBuffer,[In] unsigned int cbBufferSize) + IWICColorContext::InitializeFromMemory +
+ + +

Initializes the color context using an Exchangeable Image File (EXIF) color space.

+
+

The value of the EXIF color space.

ValueMeaning
1

A sRGB color space.

2

An Adobe RGB color space.

?

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690197 + HRESULT IWICColorContext::InitializeFromExifColorSpace([In] unsigned int value) + IWICColorContext::InitializeFromExifColorSpace +
+ + +

Retrieves the color context type.

+
+

A reference that receives the of the color context.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690196 + HRESULT IWICColorContext::GetType([Out] WICColorContextType* pType) + IWICColorContext::GetType +
+ + +

Retrieves the color context profile.

+
+

The size of the pbBuffer buffer.

+

A reference that receives the color context profile.

+

A reference that receives the actual buffer size needed to retrieve the entire color context profile.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690195 + HRESULT IWICColorContext::GetProfileBytes([In] unsigned int cbBuffer,[In] void* pbBuffer,[Out] unsigned int* pcbActual) + IWICColorContext::GetProfileBytes +
+ + +

Retrieves the Exchangeable Image File (EXIF) color space color context.

+
+

A reference that receives the EXIF color space color context.

ValueMeaning
1

A sRGB color space.

2

An Adobe RGB color space.

3 through 65534

Unused.

?

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690194 + HRESULT IWICColorContext::GetExifColorSpace([Out] unsigned int* pValue) + IWICColorContext::GetExifColorSpace +
+ + + Initializes a new instance of the class. + + The factory. + HRESULT IWICImagingFactory::CreateColorContext([Out, Fast] IWICColorContext** ppIWICColorContext) + + + + Initializes from memory. + + The data pointer. + + HRESULT IWICColorContext::InitializeFromMemory([In] const void* pbBuffer,[In] unsigned int cbBufferSize) + + + +

Retrieves the color context type.

+
+ + ee690196 + GetType + GetType + HRESULT IWICColorContext::GetType([Out] WICColorContextType* pType) +
+ + +

Retrieves the Exchangeable Image File (EXIF) color space color context.

+
+ + ee690194 + GetExifColorSpace + GetExifColorSpace + HRESULT IWICColorContext::GetExifColorSpace([Out] unsigned int* pValue) +
+ + + Gets the color context profile. + + + + +

Exposes methods that transforms an from one color context to another.

+
+ +

A is an imaging pipeline component that knows how to pull pixels obtained from a given through a color transform. The color transform is defined by mapping colors from the source color context to the destination color context in a given output pixel format.

+
+ + ee690201 + IWICColorTransform + IWICColorTransform +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes an with a and transforms it from one to another.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690202 + HRESULT IWICColorTransform::Initialize([In, Optional] IWICBitmapSource* pIBitmapSource,[In, Optional] IWICColorContext* pIContextSource,[In, Optional] IWICColorContext* pIContextDest,[In] const GUID& pixelFmtDest) + IWICColorTransform::Initialize +
+ + + Initializes a new instance of the class. + + The factory. + HRESULT IWICImagingFactory::CreateColorTransformer([Out, Fast] IWICColorTransform** ppIWICColorTransform) + + + +

Exposes methods that provide access to the capabilites of a raw codec format.

+
+ + ee690228 + IWICDevelopRaw + IWICDevelopRaw +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves information about which capabilities are supported for a raw image.

+
+

A reference that receives that provides the capabilities supported by the raw image.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

It is recommended that a codec report that a capability is supported even if the results at the outer range limits are not of perfect quality.

+
+ + ee690248 + HRESULT IWICDevelopRaw::QueryRawCapabilitiesInfo([In] WICRawCapabilitiesInfo* pInfo) + IWICDevelopRaw::QueryRawCapabilitiesInfo +
+ + +

Sets the desired option.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690247 + HRESULT IWICDevelopRaw::LoadParameterSet([In] WICRawParameterSet ParameterSet) + IWICDevelopRaw::LoadParameterSet +
+ + +

Gets the current set of parameters.

+
+

A reference that receives a reference to the current set of parameters.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690233 + HRESULT IWICDevelopRaw::GetCurrentParameterSet([Out] IPropertyBag2** ppCurrentParameterSet) + IWICDevelopRaw::GetCurrentParameterSet +
+ + +

Sets the exposure compensation stop value.

+
+

The exposure compensation value. The value range for exposure compensation is -5.0 through +5.0, which equates to 10 full stops.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

It is recommended that a codec report that this method is supported even if the results at the outer range limits are not of perfect quality.

+
+ + ee690251 + HRESULT IWICDevelopRaw::SetExposureCompensation([In] double ev) + IWICDevelopRaw::SetExposureCompensation +
+ + +

Gets the exposure compensation stop value of the raw image.

+
+

A reference that receives the exposure compensation stop value. The default is the "as-shot" setting.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690234 + HRESULT IWICDevelopRaw::GetExposureCompensation([Out] double* pEV) + IWICDevelopRaw::GetExposureCompensation +
+ + +

Sets the white point RGB values.

+
+

The red white point value.

+

The green white point value.

+

The blue white point value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Due to other white point setting methods (e.g. SetWhitePointKelvin), care must be taken by codec implementers to ensure proper interoperability. For instance, if the caller sets via a named white point then the codec implementer may whis to disable reading back the correspoinding Kelvin temperature. In specific cases where the codec implementer wishes to deny a given action because of previous calls, should be returned.

+
+ + ee690263 + HRESULT IWICDevelopRaw::SetWhitePointRGB([In] unsigned int Red,[In] unsigned int Green,[In] unsigned int Blue) + IWICDevelopRaw::SetWhitePointRGB +
+ + +

Gets the white point RGB values.

+
+

A reference that receives the red white point value.

+

A reference that receives the green white point value.

+

A reference that receives the blue white point value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690246 + HRESULT IWICDevelopRaw::GetWhitePointRGB([Out] unsigned int* pRed,[Out] unsigned int* pGreen,[Out] unsigned int* pBlue) + IWICDevelopRaw::GetWhitePointRGB +
+ + +

Sets the named white point of the raw file.

+
+

A bitwise combination of the enumeration values.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the named white points are not supported by the raw image or the raw file contains named white points that are not supported by this API, the codec implementer should still mark this capability as supported.

If the named white points are not supported by the raw image, a best effort should be made to adjust the image to the named white point even when it isn't a pre-defined white point of the raw file.

If the raw file containes named white points not supported by this API, the codec implementer should support the named white points in the API.

Due to other white point setting methods (e.g. SetWhitePointKelvin), care must be taken by codec implementers to ensure proper interoperability. For instance, if the caller sets via a named white point then the codec implementer may whis to disable reading back the correspoinding Kelvin temperature. In specific cases where the codec implementer wishes to deny a given action because of previous calls, should be returned.

+
+ + ee690253 + HRESULT IWICDevelopRaw::SetNamedWhitePoint([In] WICNamedWhitePoint WhitePoint) + IWICDevelopRaw::SetNamedWhitePoint +
+ + +

Gets the named white point of the raw image.

+
+

A reference that receives the bitwise combination of the enumeration values.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the named white points are not supported by the raw image or the raw file contains named white points that are not supported by this API, the codec implementer should still mark this capability as supported.

If the named white points are not supported by the raw image, a best effort should be made to adjust the image to the named white point even when it isn't a pre-defined white point of the raw file.

If the raw file containes named white points not supported by this API, the codec implementer should support the named white points in .

+
+ + ee690237 + HRESULT IWICDevelopRaw::GetNamedWhitePoint([Out] WICNamedWhitePoint* pWhitePoint) + IWICDevelopRaw::GetNamedWhitePoint +
+ + +

Sets the white point Kelvin value.

+
+

The white point Kelvin value. Acceptable Kelvin values are 1,500 through 30,000.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Codec implementers should faithfully adjust the color temperature within the range supported natively by the raw image. For values outside the native support range, the codec implementer should provide a best effort representation of the image at that color temperature.

Codec implementers should return if the value is out of defined acceptable range.

Codec implementers must ensure proper interoperability with other white point setting methods such as SetWhitePointRGB. For example, if the caller sets the white point via SetNamedWhitePoint then the codec implementer may want to disable reading back the correspoinding Kelvin temperature. In specific cases where the codec implementer wants to deny a given action because of previous calls, should be returned.

+
+ + ee690262 + HRESULT IWICDevelopRaw::SetWhitePointKelvin([In] unsigned int WhitePointKelvin) + IWICDevelopRaw::SetWhitePointKelvin +
+ + +

Gets the white point Kelvin temperature of the raw image.

+
+

A reference that receives the white point Kelvin temperature of the raw image. The default is the "as-shot" setting value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690245 + HRESULT IWICDevelopRaw::GetWhitePointKelvin([Out] unsigned int* pWhitePointKelvin) + IWICDevelopRaw::GetWhitePointKelvin +
+ + +

Gets the information about the current Kelvin range of the raw image.

+
+

A reference that receives the minimum Kelvin temperature.

+

A reference that receives the maximum Kelvin temperature.

+

A reference that receives the Kelvin step value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690236 + HRESULT IWICDevelopRaw::GetKelvinRangeInfo([Out] unsigned int* pMinKelvinTemp,[Out] unsigned int* pMaxKelvinTemp,[Out] unsigned int* pKelvinTempStepValue) + IWICDevelopRaw::GetKelvinRangeInfo +
+ + +

Sets the contrast value of the raw image.

+
+

The contrast value of the raw image. The default value is the "as-shot" setting. The value range for contrast is 0.0 through 1.0. The 0.0 lower limit represents no contrast applied to the image, while the 1.0 upper limit represents the highest amount of contrast that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

+
+ + ee690249 + HRESULT IWICDevelopRaw::SetContrast([In] double Contrast) + IWICDevelopRaw::SetContrast +
+ + +

Gets the contrast value of the raw image.

+
+

A reference that receives the contrast value of the raw image. The default value is the "as-shot" setting. The value range for contrast is 0.0 through 1.0. The 0.0 lower limit represents no contrast applied to the image, while the 1.0 upper limit represents the highest amount of contrast that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690232 + HRESULT IWICDevelopRaw::GetContrast([Out] double* pContrast) + IWICDevelopRaw::GetContrast +
+ + +

Sets the desired gamma value.

+
+

The desired gamma value.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690252 + HRESULT IWICDevelopRaw::SetGamma([In] double Gamma) + IWICDevelopRaw::SetGamma +
+ + +

Gets the current gamma setting of the raw image.

+
+

A reference that receives the current gamma setting.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690235 + HRESULT IWICDevelopRaw::GetGamma([Out] double* pGamma) + IWICDevelopRaw::GetGamma +
+ + +

Sets the sharpness value of the raw image.

+
+

The sharpness value of the raw image. The default value is the "as-shot" setting. The value range for sharpness is 0.0 through 1.0. The 0.0 lower limit represents no sharpening applied to the image, while the 1.0 upper limit represents the highest amount of sharpness that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

+
+ + ee690259 + HRESULT IWICDevelopRaw::SetSharpness([In] double Sharpness) + IWICDevelopRaw::SetSharpness +
+ + +

Gets the sharpness value of the raw image.

+
+

A reference that receives the sharpness value of the raw image. The default value is the "as-shot" setting. The value range for sharpness is 0.0 through 1.0. The 0.0 lower limit represents no sharpening applied to the image, while the 1.0 upper limit represents the highest amount of sharpness that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690242 + HRESULT IWICDevelopRaw::GetSharpness([Out] double* pSharpness) + IWICDevelopRaw::GetSharpness +
+ + +

Sets the saturation value of the raw image.

+
+

The saturation value of the raw image. The value range for saturation is 0.0 through 1.0. A value of 0.0 represents an image with a fully de-saturated image, while a value of 1.0 represents the highest amount of saturation that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

+
+ + ee690258 + HRESULT IWICDevelopRaw::SetSaturation([In] double Saturation) + IWICDevelopRaw::SetSaturation +
+ + +

Gets the saturation value of the raw image.

+
+

A reference that receives the saturation value of the raw image. The default value is the "as-shot" setting. The value range for saturation is 0.0 through 1.0. A value of 0.0 represents an image with a fully de-saturated image, while a value of 1.0 represents the highest amount of saturation that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690241 + HRESULT IWICDevelopRaw::GetSaturation([Out] double* pSaturation) + IWICDevelopRaw::GetSaturation +
+ + +

Sets the tint value of the raw image.

+
+

The tint value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for sharpness is -1.0 through +1.0. The -1.0 lower limit represents a full green bias to the image, while the 1.0 upper limit represents a full magenta bias.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the outer range values represent and must determine how to map the values to their image processing routines.

+
+ + ee690260 + HRESULT IWICDevelopRaw::SetTint([In] double Tint) + IWICDevelopRaw::SetTint +
+ + +

Gets the tint value of the raw image.

+
+

A reference that receives the tint value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for sharpness is -1.0 through +1.0. The -1.0 lower limit represents a full green bias to the image, while the 1.0 upper limit represents a full magenta bias.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690243 + HRESULT IWICDevelopRaw::GetTint([Out] double* pTint) + IWICDevelopRaw::GetTint +
+ + +

Sets the noise reduction value of the raw image.

+
+

The noise reduction value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for noise reduction is 0.0 through 1.0. The 0.0 lower limit represents no noise reduction applied to the image, while the 1.0 upper limit represents highest noise reduction amount that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

+
+ + ee690254 + HRESULT IWICDevelopRaw::SetNoiseReduction([In] double NoiseReduction) + IWICDevelopRaw::SetNoiseReduction +
+ + +

Gets the noise reduction value of the raw image.

+
+

A reference that receives the noise reduction value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for noise reduction is 0.0 through 1.0. The 0.0 lower limit represents no noise reduction applied to the image, while the 1.0 upper limit represents full highest noise reduction amount that can be applied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690238 + HRESULT IWICDevelopRaw::GetNoiseReduction([Out] double* pNoiseReduction) + IWICDevelopRaw::GetNoiseReduction +
+ + +

Sets the destination color context.

+
+

The destination color context.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690250 + HRESULT IWICDevelopRaw::SetDestinationColorContext([In, Optional] IWICColorContext* pColorContext) + IWICDevelopRaw::SetDestinationColorContext +
+ + +

Sets the tone curve for the raw image.

+
+

The size of the pToneCurve structure.

+

The desired tone curve.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690261 + HRESULT IWICDevelopRaw::SetToneCurve([In] unsigned int cbToneCurveSize,[In, Buffer] const WICRawToneCurve* pToneCurve) + IWICDevelopRaw::SetToneCurve +
+ + +

Gets the tone curve of the raw image.

+
+

The size of the pToneCurve buffer.

+

A reference that receives the of the raw image.

+

A reference that receives the size needed to obtain the tone curve structure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690244 + HRESULT IWICDevelopRaw::GetToneCurve([In] unsigned int cbToneCurveBufferSize,[Out, Buffer, Optional] WICRawToneCurve* pToneCurve,[InOut, Optional] unsigned int* pcbActualToneCurveBufferSize) + IWICDevelopRaw::GetToneCurve +
+ + +

Sets the desired rotation angle.

+
+

The desired rotation angle.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690257 + HRESULT IWICDevelopRaw::SetRotation([In] double Rotation) + IWICDevelopRaw::SetRotation +
+ + +

Gets the current rotation angle.

+
+

A reference that receives the current rotation angle.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690240 + HRESULT IWICDevelopRaw::GetRotation([Out] double* pRotation) + IWICDevelopRaw::GetRotation +
+ + +

Sets the current .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690256 + HRESULT IWICDevelopRaw::SetRenderMode([In] WICRawRenderMode RenderMode) + IWICDevelopRaw::SetRenderMode +
+ + +

Gets the current .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690239 + HRESULT IWICDevelopRaw::GetRenderMode([Out] WICRawRenderMode* pRenderMode) + IWICDevelopRaw::GetRenderMode +
+ + +

Sets the notification callback method.

+
+

Pointer to the notification callback method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690255 + HRESULT IWICDevelopRaw::SetNotificationCallback([In, Optional] IWICDevelopRawNotificationCallback* pCallback) + IWICDevelopRaw::SetNotificationCallback +
+ + +

Gets the current set of parameters.

+
+ + ee690233 + GetCurrentParameterSet + GetCurrentParameterSet + HRESULT IWICDevelopRaw::GetCurrentParameterSet([Out] IPropertyBag2** ppCurrentParameterSet) +
+ + +

Gets or sets the exposure compensation stop value of the raw image.

+
+ + ee690234 + GetExposureCompensation / SetExposureCompensation + GetExposureCompensation + HRESULT IWICDevelopRaw::GetExposureCompensation([Out] double* pEV) +
+ + +

Gets or sets the named white point of the raw image.

+
+ +

If the named white points are not supported by the raw image or the raw file contains named white points that are not supported by this API, the codec implementer should still mark this capability as supported.

If the named white points are not supported by the raw image, a best effort should be made to adjust the image to the named white point even when it isn't a pre-defined white point of the raw file.

If the raw file containes named white points not supported by this API, the codec implementer should support the named white points in .

+
+ + ee690237 + GetNamedWhitePoint / SetNamedWhitePoint + GetNamedWhitePoint + HRESULT IWICDevelopRaw::GetNamedWhitePoint([Out] WICNamedWhitePoint* pWhitePoint) +
+ + +

Gets or sets the white point Kelvin temperature of the raw image.

+
+ + ee690245 + GetWhitePointKelvin / SetWhitePointKelvin + GetWhitePointKelvin + HRESULT IWICDevelopRaw::GetWhitePointKelvin([Out] unsigned int* pWhitePointKelvin) +
+ + +

Gets or sets the contrast value of the raw image.

+
+ + ee690232 + GetContrast / SetContrast + GetContrast + HRESULT IWICDevelopRaw::GetContrast([Out] double* pContrast) +
+ + +

Gets or sets the current gamma setting of the raw image.

+
+ + ee690235 + GetGamma / SetGamma + GetGamma + HRESULT IWICDevelopRaw::GetGamma([Out] double* pGamma) +
+ + +

Gets or sets the sharpness value of the raw image.

+
+ + ee690242 + GetSharpness / SetSharpness + GetSharpness + HRESULT IWICDevelopRaw::GetSharpness([Out] double* pSharpness) +
+ + +

Gets or sets the saturation value of the raw image.

+
+ + ee690241 + GetSaturation / SetSaturation + GetSaturation + HRESULT IWICDevelopRaw::GetSaturation([Out] double* pSaturation) +
+ + +

Gets or sets the tint value of the raw image.

+
+ + ee690243 + GetTint / SetTint + GetTint + HRESULT IWICDevelopRaw::GetTint([Out] double* pTint) +
+ + +

Gets or sets the noise reduction value of the raw image.

+
+ + ee690238 + GetNoiseReduction / SetNoiseReduction + GetNoiseReduction + HRESULT IWICDevelopRaw::GetNoiseReduction([Out] double* pNoiseReduction) +
+ + +

Sets the destination color context.

+
+ + ee690250 + SetDestinationColorContext + SetDestinationColorContext + HRESULT IWICDevelopRaw::SetDestinationColorContext([In, Optional] IWICColorContext* pColorContext) +
+ + +

Gets or sets the current rotation angle.

+
+ + ee690240 + GetRotation / SetRotation + GetRotation + HRESULT IWICDevelopRaw::GetRotation([Out] double* pRotation) +
+ + +

Gets or sets the current .

+
+ + ee690239 + GetRenderMode / SetRenderMode + GetRenderMode + HRESULT IWICDevelopRaw::GetRenderMode([Out] WICRawRenderMode* pRenderMode) +
+ + +

Sets the notification callback method.

+
+ + ee690255 + SetNotificationCallback + SetNotificationCallback + HRESULT IWICDevelopRaw::SetNotificationCallback([In, Optional] IWICDevelopRawNotificationCallback* pCallback) +
+ + +

Flags used to by to indicate which members have changed.

+
+ + ee690231 + IWICDevelopRawNotificationCallback + IWICDevelopRawNotificationCallback +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

An application-defined callback method used for raw image parameter change notifications.

+
+

A set of Constants parameter notification flags.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690230 + HRESULT IWICDevelopRawNotificationCallback::Notify([In] unsigned int NotificationMask) + IWICDevelopRawNotificationCallback::Notify +
+ + +

Exposes methods that provide enumeration services for individual metadata items.

+
+ + ee690264 + IWICEnumMetadataItem + IWICEnumMetadataItem +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Skips to given number of objects.

+
+

The number of objects to skip.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690268 + HRESULT IWICEnumMetadataItem::Skip([In] unsigned int celt) + IWICEnumMetadataItem::Skip +
+ + +

Resets the current position to the beginning of the enumeration.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690267 + HRESULT IWICEnumMetadataItem::Reset() + IWICEnumMetadataItem::Reset +
+ + +

Creates a copy of the current .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690265 + HRESULT IWICEnumMetadataItem::Clone([Out] IWICEnumMetadataItem** ppIEnumMetadataItem) + IWICEnumMetadataItem::Clone +
+ + +

Exposes methods used for in-place metadata editing. A fast metadata encoder enables you to add and remove metadata to an image without having to fully re-encode the image.

+
+ +

A decoder must be created using the value to perform in-place metadata updates. Using the option causes the decoder to release the file stream necessary to perform the metadata updates.

Not all metadata formats support fast metadata encoding. The native metadata handlers that support metadata are IFD, Exif, XMP, and GPS.

If a fast metadata encoder fails, the image will need to be fully re-encoded to add the metadata.

+
+ + ee690269 + IWICFastMetadataEncoder + IWICFastMetadataEncoder +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Finalizes metadata changes to the image stream.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the commit fails and returns , ensure that the image decoder was loaded using the option. A fast metadata encoder is not supported when the decoder is created using the option.

If the commit fails for any reason, you will need to re-encode the image to ensure the new metadata is added to the image.

+
+ + ee690270 + HRESULT IWICFastMetadataEncoder::Commit() + IWICFastMetadataEncoder::Commit +
+ + +

Retrieves a metadata query writer for fast metadata encoding.

+
+

When this method returns, contains a reference to the fast metadata encoder's metadata query writer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690272 + HRESULT IWICFastMetadataEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) + IWICFastMetadataEncoder::GetMetadataQueryWriter +
+ + + Initializes a new instance of the class from a + + The factory. + The decoder. + + + + Initializes a new instance of the class from a + + The factory. + The frame decoder. + + + +

Retrieves a metadata query writer for fast metadata encoding.

+
+ + ee690272 + GetMetadataQueryWriter + GetMetadataQueryWriter + HRESULT IWICFastMetadataEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) +
+ + +

Represents an that provides converts the image data from one pixel format to another, handling dithering and halftoning to indexed formats, palette translation and alpha thresholding.

+
+ + ee690274 + IWICFormatConverter + IWICFormatConverter +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the format converter.

+
+

The input bitmap to convert

+

The destination pixel format .

+

The used for conversion.

+

The palette to use for conversion.

+

The alpha threshold to use for conversion.

+

The palette translation type to use for conversion.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If you do not have a predefined palette, you must first create one. Use InitializeFromBitmap to create the palette object, then pass it in along with your other parameters.

dither, pIPalette, alphaThresholdPercent, and paletteTranslate are used to mitigate color loss when converting to a reduced bit-depth format. For conversions that do not need these settings, the following parameters values should be used: dither set to , pIPalette set to null, alphaThresholdPercent set to 0.0f, and paletteTranslate set to .

The basic algorithm involved when using an ordered dither requires a fixed palette, found in the enumeration, in a specific order. Often, the actual palette provided for the output may have a different ordering or some slight variation in the actual colors. This is the case when using the Microsoft?Windows palette which has slight differences among versions of Windows. To provide for this, a palette and a palette translation are given to the format converter. The pIPalette is the actual destination palette to be used and the paletteTranslate is a fixed palette. Once the conversion is complete, the colors are mapped from the fixed palette to the actual colors in pIPalette using a nearest color matching algorithm.

If colors in pIPalette do not closely match those in paletteTranslate, the mapping may produce undesireable results.

can be useful in format conversions from 8-bit formats to 5- or 6-bit formats as there is no way to accurately convert color data.

selects the error diffusion algorithm and may be used with any palette. If an arbitrary palette is provided, WICBitmapPaletteCustom should be passed in as the paletteTranslate. Error diffusion often provides superior results compared to the ordered dithering algorithms especially when combined with the optimized palette generation functionality on the .

When converting a bitmap which has an alpha channel, such as a Portable Network Graphics (PNG), to 8bpp, the alpha channel is normally ignored. Any pixels which were transparent in the original bitmap show up as black in the final output because both transparent and black have pixel values of zero in the respective formats.

Some 8bpp content can contains an alpha color; for instance, the Graphics Interchange Format (GIF) format allows for a single palette entry to be used as a transparent color. For this type of content, alphaThresholdPercent specifies what percentage of transparency should map to the transparent color. Because the alpha value is directly proportional to the opacity (not transparency) of a pixel, the alphaThresholdPercent indicates what level of opacity is mapped to the fully transparent color. For instance, 9.8% implies that any pixel with an alpha value of less than 25 will be mapped to the transparent color. A value of 100% maps all pixels which are not fully opaque to the transparent color. Note that the palette should provide a transparent color. If it does not, the 'transparent' color will be the one closest to zero - often black.

+
+ + ee690279 + HRESULT IWICFormatConverter::Initialize([In, Optional] IWICBitmapSource* pISource,[In] const GUID& dstFormat,[In] WICBitmapDitherType dither,[In, Optional] IWICPalette* pIPalette,[In] double alphaThresholdPercent,[In] WICBitmapPaletteType paletteTranslate) + IWICFormatConverter::Initialize +
+ + +

Determines if the source pixel format can be converted to the destination pixel format.

+
+

The source pixel format.

+

The destionation pixel format.

+

A reference that receives a value indicating whether the source pixel format can be converted to the destination pixel format.

+ + ee690278 + HRESULT IWICFormatConverter::CanConvert([In] const GUID& srcPixelFormat,[In] const GUID& dstPixelFormat,[Out] BOOL* pfCanConvert) + IWICFormatConverter::CanConvert +
+ + + Initializes a new instance of the class. + + The converter info. + + + + Initializes this instance with the specified bitmap source and format + + The source ref. + The destination format. + + + + + Initializes a new instance of the class. + + The factory. + + + +

Exposes methods that provide information about a pixel format converter.

+
+ + ee690275 + IWICFormatConverterInfo + IWICFormatConverterInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves a list of GUIDs that signify which pixel formats the converter supports.

+
+

The size of the pPixelFormatGUIDs array.

+

Pointer to a array that receives the pixel formats the converter supports.

+

The actual array size needed to retrieve all pixel formats supported by the converter.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The format converter does not necessarily guarantee symmetricality with respect to conversion; that is, a converter may be able to convert FROM a particular format without actually being able to convert TO a particular format. In order to test symmetricality, use CanConvert.

To determine the number of pixel formats a coverter can handle, set cFormats to 0 and pPixelFormatGUIDs to null. The converter will fill pcActual with the number of formats supported by that converter.

+
+ + ee690277 + HRESULT IWICFormatConverterInfo::GetPixelFormats([In] unsigned int cFormats,[In] void* pPixelFormatGUIDs,[Out] unsigned int* pcActual) + IWICFormatConverterInfo::GetPixelFormats +
+ + +

Creates a new instance.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690276 + HRESULT IWICFormatConverterInfo::CreateInstance([Out, Fast] IWICFormatConverter** ppIConverter) + IWICFormatConverterInfo::CreateInstance +
+ + + Gets the supported pixel formats. + + + + +

This section contains information about the Windows Imaging Component (WIC) interfaces.

+
+ + ee719673 + IWICImageEncoder + IWICImageEncoder +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + + HRESULT IWICImageEncoder::WriteFrame([In] ID2D1Image* pImage,[In] IWICBitmapFrameEncode* pFrameEncode,[In, Value] const WICImageParameters* pImageParameters) + IWICImageEncoder::WriteFrame + + + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + + HRESULT IWICImageEncoder::WriteFrameThumbnail([In] ID2D1Image* pImage,[In] IWICBitmapFrameEncode* pFrameEncode,[In, Value] const WICImageParameters* pImageParameters) + IWICImageEncoder::WriteFrameThumbnail + + + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + + HRESULT IWICImageEncoder::WriteThumbnail([In] ID2D1Image* pImage,[In] IWICBitmapEncoder* pEncoder,[In, Value] const WICImageParameters* pImageParameters) + IWICImageEncoder::WriteThumbnail + + + + Creates a new image encoder object. + + The WIC factory. + The object on which the corresponding image encoder is created. + hh880849 + HRESULT IWICImagingFactory2::CreateImageEncoder([In] ID2D1Device* pD2DDevice,[In] IWICImageEncoder** ppWICImageEncoder) + IWICImagingFactory2::CreateImageEncoder + + + +

Exposes methods used to create components for the Windows Imaging Component (WIC) such as decoders, encoders and pixel format converters.

+
+ + ee690281 + IWICImagingFactory + IWICImagingFactory +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + Constant WICImagingFactoryClsid. + CLSID_WICImagingFactory + + + +

Creates a new instance of the class based on the given file.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690307 + HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + IWICImagingFactory::CreateDecoderFromFilename +
+ + +

Creates a new instance of the class based on the given .

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690309 + HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + IWICImagingFactory::CreateDecoderFromStream +
+ + +

Creates a new instance of the based on the given file handle.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

When a decoder is created using this method, the file handle must remain alive during the lifetime of the decoder.

+
+ + ee690305 + HRESULT IWICImagingFactory::CreateDecoderFromFileHandle([In] ULONG_PTR hFile,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + IWICImagingFactory::CreateDecoderFromFileHandle +
+ + +

Creates a new instance of the class for the given component class identifier (CLSID).

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690302 + HRESULT IWICImagingFactory::CreateComponentInfo([In] const GUID& clsidComponent,[Out, Fast] IWICComponentInfo** ppIInfo) + IWICImagingFactory::CreateComponentInfo +
+ + +

Creates a new instance of the interface.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690304 + HRESULT IWICImagingFactory::CreateDecoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapDecoder** ppIDecoder) + IWICImagingFactory::CreateDecoder +
+ + +

Creates a new instance of the class.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Other values may be available for both guidContainerFormat and pguidVendor depending on the installed WIC-enabled encoders. The values listed are those that are natively supported by the operating system.

+
+ + ee690311 + HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapEncoder** ppIEncoder) + IWICImagingFactory::CreateEncoder +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690319 + HRESULT IWICImagingFactory::CreatePalette([Out, Fast] IWICPalette** ppIPalette) + IWICImagingFactory::CreatePalette +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690317 + HRESULT IWICImagingFactory::CreateFormatConverter([Out, Fast] IWICFormatConverter** ppIFormatConverter) + IWICImagingFactory::CreateFormatConverter +
+ + +

Creates a new instance of an .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690296 + HRESULT IWICImagingFactory::CreateBitmapScaler([Out, Fast] IWICBitmapScaler** ppIBitmapScaler) + IWICImagingFactory::CreateBitmapScaler +
+ + +

Creates a new instance of an object.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690283 + HRESULT IWICImagingFactory::CreateBitmapClipper([Out, Fast] IWICBitmapClipper** ppIBitmapClipper) + IWICImagingFactory::CreateBitmapClipper +
+ + +

Creates a new instance of an object.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690285 + HRESULT IWICImagingFactory::CreateBitmapFlipRotator([Out, Fast] IWICBitmapFlipRotator** ppIBitmapFlipRotator) + IWICImagingFactory::CreateBitmapFlipRotator +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690325 + HRESULT IWICImagingFactory::CreateStream([Out, Fast] IWICStream** ppIWICStream) + IWICImagingFactory::CreateStream +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690299 + HRESULT IWICImagingFactory::CreateColorContext([Out, Fast] IWICColorContext** ppIWICColorContext) + IWICImagingFactory::CreateColorContext +
+ + +

Creates a new instance of the class.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690300 + HRESULT IWICImagingFactory::CreateColorTransformer([Out, Fast] IWICColorTransform** ppIWICColorTransform) + IWICImagingFactory::CreateColorTransformer +
+ + +

Creates an object.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690282 + HRESULT IWICImagingFactory::CreateBitmap([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmap +
+ + +

Creates a from a .

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690293 + HRESULT IWICImagingFactory::CreateBitmapFromSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromSource +
+ + +

Creates an from a specified rectangle of an .

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690294 + HRESULT IWICImagingFactory::CreateBitmapFromSourceRect([In, Optional] IWICBitmapSource* pIBitmapSource,[In] unsigned int x,[In] unsigned int y,[In] unsigned int width,[In] unsigned int height,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromSourceRect +
+ + +

Creates an from a memory block.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690291 + HRESULT IWICImagingFactory::CreateBitmapFromMemory([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromMemory +
+ + +

Creates an from a bitmap handle.

+
+ No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690287 + HRESULT IWICImagingFactory::CreateBitmapFromHBITMAP([In] HBITMAP hBitmap,[In, Optional] HPALETTE hPalette,[In] WICBitmapAlphaChannelOption options,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromHBITMAP +
+ + +

Creates an from an icon handle.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690289 + HRESULT IWICImagingFactory::CreateBitmapFromHICON([In] HICON hIcon,[Out, Fast] IWICBitmap** ppIBitmap) + IWICImagingFactory::CreateBitmapFromHICON +
+ + +

Creates an object of the specified component types.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Component types must be enumerated seperately. Combinations of component types and are unsupported.

+
+ + ee690301 + HRESULT IWICImagingFactory::CreateComponentEnumerator([In] unsigned int componentTypes,[In] unsigned int options,[Out, Fast] IEnumUnknown** ppIEnumUnknown) + IWICImagingFactory::CreateComponentEnumerator +
+ + +

Creates a new instance of the fast metadata encoder based on the given .

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The native image formats provided by Windows Imaging Component (WIC) do not support metadata at the decoder level. WIC codecs only support metadata on image frames. To create a fast metadata encoder from an image frame, see the image factory's CreateFastMetadataEncoderFromFrameDecode method.

+
+ + ee690313 + HRESULT IWICImagingFactory::CreateFastMetadataEncoderFromDecoder([In, Optional] IWICBitmapDecoder* pIDecoder,[Out, Fast] IWICFastMetadataEncoder** ppIFastEncoder) + IWICImagingFactory::CreateFastMetadataEncoderFromDecoder +
+ + +

Creates a new instance of the fast metadata encoder based on the given image frame.

+
+

The to create the from.

+

When this method returns, contains a reference to a new fast metadata encoder.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690315 + HRESULT IWICImagingFactory::CreateFastMetadataEncoderFromFrameDecode([In, Optional] IWICBitmapFrameDecode* pIFrameDecoder,[Out, Fast] IWICFastMetadataEncoder** ppIFastEncoder) + IWICImagingFactory::CreateFastMetadataEncoderFromFrameDecode +
+ + +

Creates a new instance of a query writer.

+
+

The for the desired metadata format.

+

The for the preferred metadata writer vendor. Use null if no preferred vendor.

+

When this method returns, contains a reference to a new .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690321 + HRESULT IWICImagingFactory::CreateQueryWriter([In] const GUID& guidMetadataFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) + IWICImagingFactory::CreateQueryWriter +
+ + +

Creates a new instance of a query writer based on the given query reader. The query writer will be pre-populated with metadata from the query reader.

+
+

The to create the from.

+

The for the preferred metadata writer vendor. Use null if no preferred vendor.

+

When this method returns, contains a reference to a new metadata writer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee690322 + HRESULT IWICImagingFactory::CreateQueryWriterFromReader([In, Optional] IWICMetadataQueryReader* pIQueryReader,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) + IWICImagingFactory::CreateQueryWriterFromReader +
+ + + Initializes a new instance of the class. + + + + +

Applies to: desktop apps | Metro style apps

Exposes methods used to create components for the Windows Imaging Component (WIC) such as decoders, encoders and pixel format converters.

+
+ + ee690281 + IWICImagingFactory2 + IWICImagingFactory2 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + No documentation. + + No documentation. + No documentation. + No documentation. + + HRESULT IWICImagingFactory2::CreateImageEncoder([In] ID2D1Device* pD2DDevice,[Out, Fast] IWICImageEncoder** ppWICImageEncoder) + IWICImagingFactory2::CreateImageEncoder + + + + Initializes a new instance of the class. + + + + +

Exposes methods for retrieving metadata blocks and items from a decoder or its image frames using a metadata query expression.

+
+ +

A metadata query reader uses metadata query expressions to access embedded metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

+
+ + ee719708 + IWICMetadataQueryReader + IWICMetadataQueryReader +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the metadata query readers container format.

+
+

Pointer that receives the cointainer format .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719709 + HRESULT IWICMetadataQueryReader::GetContainerFormat([Out] GUID* pguidContainerFormat) + IWICMetadataQueryReader::GetContainerFormat +
+ + +

Retrieves the current path relative to the root metadata block.

+
+

The length of the wzNamespace buffer.

+

Pointer that receives the current namespace location.

+

The actual buffer length that was needed to retrieve the current namespace location.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If the query reader is relative to the top of the metadata hierarchy it will return an empty string.

If the query reader is relative to a nested metadata block this method will return the path to the current query reader.

+
+ + ee719713 + HRESULT IWICMetadataQueryReader::GetLocation([In] unsigned int cchMaxLength,[In] void* wzNamespace,[Out] unsigned int* pcchActualLength) + IWICMetadataQueryReader::GetLocation +
+ + +

Retrieves the metadata block or item identified by a metadata query expression.

+
+

The query expression to the requested metadata block or item.

+

When this method returns, contains the metadata block or item requested.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

GetMetadataByName uses metadata query expressions to access embedded metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

If multiple blocks or items exist that are expressed by the same query expression, the first metadata block or item found will be returned.

+
+ + ee719715 + HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[In] void* pvarValue) + IWICMetadataQueryReader::GetMetadataByName +
+ + +

Gets an enumerator of all metadata items at the current relative location within the metadata hierachy.

+
+

When this method returns, contais a reference to an enumerator that contains the metadata items.

+ +

If a metadata item is a nested metadata block it will be passed back as a VT_UNKNOWN; otherwise, the "name" of the property will be passed back as a VT_LPWSTR. The enumerator does not enumerate content within nested metadata blocks.

+
+ + ee719711 + HRESULT IWICMetadataQueryReader::GetEnumerator([Out] void** ppIEnumString) + IWICMetadataQueryReader::GetEnumerator +
+ + + Try to get the metadata value by name. + + The name. + The metadata value, or null if the metadata was not found or an error occurred + The WIC error code + HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[InOut, Optional] PROPVARIANT* pvarValue) + + + + Try to get the metadata value by name. + + The name. + the metadata value, or null if the metadata was not found + HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[InOut, Optional] PROPVARIANT* pvarValue) + + + + Gets the metadata value by name. + + The name. + Value of the metadata + HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[InOut, Optional] PROPVARIANT* pvarValue) + + + + Dumps all metadata. + + The text writer output. + The level of tabulations. + + This is a simple helper method to dump metadata stored in this instance. + + + + +

Gets the metadata query readers container format.

+
+ + ee719709 + GetContainerFormat + GetContainerFormat + HRESULT IWICMetadataQueryReader::GetContainerFormat([Out] GUID* pguidContainerFormat) +
+ + + Gets the enumerator on the metadata names. + + + + + Gets the enumerator on all the metadata query paths. + http://msdn.microsoft.com/en-us/library/windows/desktop/ee719796(v=vs.85).aspx#expressionanatomy + + + + + Gets the location. + + HRESULT IWICMetadataQueryReader::GetLocation([In] unsigned int cchMaxLength,[InOut, Buffer, Optional] wchar_t* wzNamespace,[Out] unsigned int* pcchActualLength) + + + +

Exposes methods for setting or removing metadata blocks and items to an encoder or its image frames using a metadata query expression.

+
+ +

A metadata query writer uses metadata query expressions to set or remove metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

+
+ + ee719717 + IWICMetadataQueryWriter + IWICMetadataQueryWriter +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets a metadata item to a specific location.

+
+

The name of the metadata item.

+

The metadata to set.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

SetMetadataByName uses metadata query expressions to remove metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

If the value set is a nested metadata block then use variant type VT_UNKNOWN and pvarValue pointing to the of the new metadata block. The ordering of metadata items is at the discretion of the query writer since relative locations are not specified.

+
+ + ee719720 + HRESULT IWICMetadataQueryWriter::SetMetadataByName([In] const wchar_t* wzName,[In] const void* pvarValue) + IWICMetadataQueryWriter::SetMetadataByName +
+ + +

Removes a metadata item from a specific location using a metadata query expression.

+
+

The name of the metadata item to remove.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

RemoveMetadataByName uses metadata query expressions to remove metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

If the metadata item is a metadata block, it is removed from the metadata hierarchy.

+
+ + ee719718 + HRESULT IWICMetadataQueryWriter::RemoveMetadataByName([In] const wchar_t* wzName) + IWICMetadataQueryWriter::RemoveMetadataByName +
+ + + Initializes a new instance of the class. + + The factory. + The GUID metadata format. + + + + Initializes a new instance of the class. + + The factory. + The GUID metadata format. + The GUID vendor ref. + HRESULT IWICImagingFactory::CreateQueryWriter([In] const GUID& guidMetadataFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) + + + + Initializes a new instance of the class from a . + + The factory. + The metadata query reader. + + + + Initializes a new instance of the class from a . + + The factory. + The metadata query reader. + The GUID vendor ref. + + + + Sets the value for a metadata name + + The name of the metadata. + The value. + + + + +

Exposes methods for accessing and building a color table, primarily for indexed pixel formats.

+
+ +

If the is not WICBitmapPaletteCustom, then the colors are automatically generated based on the table above. If the user subsequently changes a color palette entry the WICBitmapPalette is set to Custom by that action.

InitializeFromBitmap's fAddTransparentColor parameter will add a transparent color to the end of the color collection if its size if less than 256, otherwise index 255 will be replaced with the transparent color. If a pre-defined palette type is used, it will change to BitmapPaletteTypeCustom since it no longer matches the predefined palette.

The palette interface is an auxiliary imaging interface in that it does not directly concern bitmaps and pixels; rather it provides indexed color translation for indexed bitmaps. For an indexed pixel format with M bits per pixels: (The number of colors in the palette) greater than 2^M.

Traditionally the basic operation of the palette is to provide a translation from a byte (or smaller) index into a 32bpp color value. This is often accomplished by a 256 entry table of color values.

+
+ + ee719741 + IWICPalette + IWICPalette +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes the palette to one of the pre-defined palettes specified by and optionally adds a transparent color.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719756 + HRESULT IWICPalette::InitializePredefined([In] WICBitmapPaletteType ePaletteType,[In] BOOL fAddTransparentColor) + IWICPalette::InitializePredefined +
+ + +

Initializes a palette to the custom color entries provided.

+
+

Pointer to the color array.

+

The number of colors in pColors.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If a transparent color is required, it should be provided as part of the custom entries.

The entry count is limited to 256.

+
+ + ee719750 + HRESULT IWICPalette::InitializeCustom([In, Buffer] void* pColors,[In] unsigned int cCount) + IWICPalette::InitializeCustom +
+ + +

Initializes a palette using a computed optimized values based on the reference bitmap.

+
+

Pointer to the source bitmap.

+

The number of colors to initialize the palette with.

+

A value to indicate whether to add a transparent color.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The resulting palette contains the specified number of colors which best represent the colors present in the bitmap. The algorithm operates on the opaque RGB color value of each pixel in the reference bitmap and hence ignores any alpha values. If a transparent color is required, set the fAddTransparentColor parameter to TRUE and one fewer optimized color will be computed, reducing the colorCount, and a fully transparent color entry will be added.

+
+ + ee719752 + HRESULT IWICPalette::InitializeFromBitmap([In, Optional] IWICBitmapSource* pISurface,[In] unsigned int cCount,[In] BOOL fAddTransparentColor) + IWICPalette::InitializeFromBitmap +
+ + +

Initialize the palette based on a given palette.

+
+

Pointer to the source palette.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719754 + HRESULT IWICPalette::InitializeFromPalette([In, Optional] IWICPalette* pIPalette) + IWICPalette::InitializeFromPalette +
+ + +

Retrieves the that describes the palette.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

WICBitmapPaletteCustom is used for palettes initialized from both InitializeCustom and InitializeFromBitmap. There is no distinction is made between optimized and custom palettes.

+
+ + ee719746 + HRESULT IWICPalette::GetType([Out] WICBitmapPaletteType* pePaletteType) + IWICPalette::GetType +
+ + +

Retrieves the number of colors in the color table.

+
+

Pointer that receives the number of colors in the color table.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719742 + HRESULT IWICPalette::GetColorCount([Out] unsigned int* pcCount) + IWICPalette::GetColorCount +
+ + +

Fills out the supplied color array with the colors from the internal color table. The color array should be sized according to the return results from GetColorCount.

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719744 + HRESULT IWICPalette::GetColors([In] unsigned int cCount,[Out, Buffer] void* pColors,[Out] unsigned int* pcActualColors) + IWICPalette::GetColors +
+ + +

Retrieves a value that describes whether the palette is black and white.

+
+

Pointer that receives TRUE if the palette is black and white; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719758 + HRESULT IWICPalette::IsBlackWhite([Out] BOOL* pfIsBlackWhite) + IWICPalette::IsBlackWhite +
+ + +

Retrieves a value that describes whether a palette is grayscale.

+
+

Pointer that receives TRUE if the palette is grayscale; otherwise .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719759 + HRESULT IWICPalette::IsGrayscale([Out] BOOL* pfIsGrayscale) + IWICPalette::IsGrayscale +
+ + +

Retrieves a value that describes whether the palette contains an alpha transparent color.

+
+

Pointer that receives TRUE if the palette contains a transparent color; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719748 + HRESULT IWICPalette::HasAlpha([Out] BOOL* pfHasAlpha) + IWICPalette::HasAlpha +
+ + + Initializes a new instance of the class. + + The factory. + ee690319 + HRESULT IWICImagingFactory::CreatePalette([Out, Fast] IWICPalette** ppIPalette) + IWICImagingFactory::CreatePalette + + + + Initializes with the specified colors. + + The colors. + ee719750 + HRESULT IWICPalette::InitializeCustom([In, Buffer] void* pColors,[In] unsigned int cCount) + IWICPalette::InitializeCustom + + + + Initializes with the specified colors. + + The colors. + ee719750 + HRESULT IWICPalette::InitializeCustom([In, Buffer] void* pColors,[In] unsigned int cCount) + IWICPalette::InitializeCustom + + + +

Retrieves the that describes the palette.

+
+ +

WICBitmapPaletteCustom is used for palettes initialized from both InitializeCustom and InitializeFromBitmap. There is no distinction is made between optimized and custom palettes.

+
+ + ee719746 + GetType + GetType + HRESULT IWICPalette::GetType([Out] WICBitmapPaletteType* pePaletteType) +
+ + +

Retrieves the number of colors in the color table.

+
+ + ee719742 + GetColorCount + GetColorCount + HRESULT IWICPalette::GetColorCount([Out] unsigned int* pcCount) +
+ + +

Retrieves a value that describes whether the palette is black and white.

+
+ + ee719758 + IsBlackWhite + IsBlackWhite + HRESULT IWICPalette::IsBlackWhite([Out] BOOL* pfIsBlackWhite) +
+ + +

Retrieves a value that describes whether a palette is grayscale.

+
+ + ee719759 + IsGrayscale + IsGrayscale + HRESULT IWICPalette::IsGrayscale([Out] BOOL* pfIsGrayscale) +
+ + + Gets the colors. + + ee719744 + HRESULT IWICPalette::GetColors([In] unsigned int cCount,[Out, Buffer] void* pColors,[Out] unsigned int* pcActualColors) + IWICPalette::GetColors + + + +

Exposes methods that provide information about a pixel format.

+
+ + ee719763 + IWICPixelFormatInfo + IWICPixelFormatInfo +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the pixel format .

+
+

Pointer that receives the pixel format .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719774 + HRESULT IWICPixelFormatInfo::GetFormatGUID([Out] GUID* pFormat) + IWICPixelFormatInfo::GetFormatGUID +
+ + +

Gets the pixel format's .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719773 + HRESULT IWICPixelFormatInfo::GetColorContext([Out] IWICColorContext** ppIColorContext) + IWICPixelFormatInfo::GetColorContext +
+ + +

Gets the bits per pixel (BPP) of the pixel format.

+
+

Pointer that receives the BPP of the pixel format.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719767 + HRESULT IWICPixelFormatInfo::GetBitsPerPixel([Out] unsigned int* puiBitsPerPixel) + IWICPixelFormatInfo::GetBitsPerPixel +
+ + +

Gets the number of channels the pixel format contains.

+
+

Pointer that receives the channel count.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719769 + HRESULT IWICPixelFormatInfo::GetChannelCount([Out] unsigned int* puiChannelCount) + IWICPixelFormatInfo::GetChannelCount +
+ + +

Gets the pixel format's channel mask.

+
+

The index to the channel mask to retrieve.

+

The size of the pbMaskBuffer buffer.

+

Pointer to the mask buffer.

+

The actual buffer size needed to obtain the channel mask.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719771 + HRESULT IWICPixelFormatInfo::GetChannelMask([In] unsigned int uiChannelIndex,[In] unsigned int cbMaskBuffer,[In] void* pbMaskBuffer,[Out] unsigned int* pcbActual) + IWICPixelFormatInfo::GetChannelMask +
+ + + Gets the channel mask. + + Index of the channel. + + HRESULT IWICPixelFormatInfo::GetChannelMask([In] unsigned int uiChannelIndex,[In] unsigned int cbMaskBuffer,[In] void* pbMaskBuffer,[Out] unsigned int* pcbActual) + + + +

Gets the pixel format .

+
+ + ee719774 + GetFormatGUID + GetFormatGUID + HRESULT IWICPixelFormatInfo::GetFormatGUID([Out] GUID* pFormat) +
+ + +

Gets the pixel format's .

+
+ + ee719773 + GetColorContext + GetColorContext + HRESULT IWICPixelFormatInfo::GetColorContext([Out] IWICColorContext** ppIColorContext) +
+ + +

Gets the bits per pixel (BPP) of the pixel format.

+
+ + ee719767 + GetBitsPerPixel + GetBitsPerPixel + HRESULT IWICPixelFormatInfo::GetBitsPerPixel([Out] unsigned int* puiBitsPerPixel) +
+ + +

Gets the number of channels the pixel format contains.

+
+ + ee719769 + GetChannelCount + GetChannelCount + HRESULT IWICPixelFormatInfo::GetChannelCount([Out] unsigned int* puiChannelCount) +
+ + +

Extends by providing additional information about a pixel format.

+
+ + ee719764 + IWICPixelFormatInfo2 + IWICPixelFormatInfo2 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Returns whether the format supports transparent pixels.

+
+

Returns TRUE if the pixel format supports transparency; otherwise, false.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719766 + HRESULT IWICPixelFormatInfo2::SupportsTransparency([Out] BOOL* pfSupportsTransparency) + IWICPixelFormatInfo2::SupportsTransparency +
+ + + No documentation. + +

Returns the of the pixel format.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719765 + HRESULT IWICPixelFormatInfo2::GetNumericRepresentation([Out] WICPixelFormatNumericRepresentation* pNumericRepresentation) + IWICPixelFormatInfo2::GetNumericRepresentation +
+ + +

Returns whether the format supports transparent pixels.

+
+ + ee719766 + SupportsTransparency + SupportsTransparency + HRESULT IWICPixelFormatInfo2::SupportsTransparency([Out] BOOL* pfSupportsTransparency) +
+ + + No documentation. + + + ee719765 + GetNumericRepresentation + GetNumericRepresentation + HRESULT IWICPixelFormatInfo2::GetNumericRepresentation([Out] WICPixelFormatNumericRepresentation* pNumericRepresentation) + + + +

interface is documented only for compliance; its use is not recommended and may be altered or unavailable in the future. Instead, and use RegisterProgressNotification. +

+
+ + ee719775 + IWICProgressCallback + IWICProgressCallback +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Notify method is documented only for compliance; its use is not recommended and may be altered or unavailable in the future. Instead, and use RegisterProgressNotification. +

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719776 + HRESULT IWICProgressCallback::Notify([In] unsigned int uFrameNum,[In] WICProgressOperation operation,[In] double dblProgress) + IWICProgressCallback::Notify +
+ + +

Exposes methods for obtaining information about and controlling progressive decoding.

+
+ +

Images can only be progressively decoded if they were progressively encoded. The native encoders supplied by Windows Imaging Component (WIC) do not

E_NOTIMPL is returned if the codec does not support progressive level decoding.

+
+ + ee719778 + IWICProgressiveLevelControl + IWICProgressiveLevelControl +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the number of levels of progressive decoding supported by the CODEC.

+
+

Indicates the number of levels supported by the CODEC.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Users should not use this function to iterate through the progressive levels of a progressive JPEG image. JPEG progressive levels are determined by the image and do not have a fixed level count. Using this method will force the application to wait for all progressive levels to be downloaded before it can return. Instead, applications should use the following code to iterate through the progressive levels of a progressive JPEG image.

+
+ + ee719780 + HRESULT IWICProgressiveLevelControl::GetLevelCount([Out] unsigned int* pcLevels) + IWICProgressiveLevelControl::GetLevelCount +
+ + +

Gets the last level set by the SetCurrentLevel call.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719779 + HRESULT IWICProgressiveLevelControl::GetCurrentLevel([Out] unsigned int* pnLevel) + IWICProgressiveLevelControl::GetCurrentLevel +
+ + +

Specifies the level to retrieve on the next call to CopyPixels.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

A call does not have to request every level supported. If a caller requests level 1, without having previously requested level 0, the bits returned by the next call to CopyPixels will include both levels.

+
+ + ee719781 + HRESULT IWICProgressiveLevelControl::SetCurrentLevel([In] unsigned int nLevel) + IWICProgressiveLevelControl::SetCurrentLevel +
+ + +

Gets the number of levels of progressive decoding supported by the CODEC.

+
+ +

Users should not use this function to iterate through the progressive levels of a progressive JPEG image. JPEG progressive levels are determined by the image and do not have a fixed level count. Using this method will force the application to wait for all progressive levels to be downloaded before it can return. Instead, applications should use the following code to iterate through the progressive levels of a progressive JPEG image.

+
+ + ee719780 + GetLevelCount + GetLevelCount + HRESULT IWICProgressiveLevelControl::GetLevelCount([Out] unsigned int* pcLevels) +
+ + +

Gets or sets the last level set by the SetCurrentLevel call.

+
+ + ee719779 + GetCurrentLevel / SetCurrentLevel + GetCurrentLevel + HRESULT IWICProgressiveLevelControl::GetCurrentLevel([Out] unsigned int* pnLevel) +
+ + +

Represents a Windows Imaging Component (WIC) stream for referencing imaging and metadata content.

+
+ +

Decoders and metadata handlers are expected to create sub streams of whatever stream they hold when handing off control for embedded metadata to another metadata handler. If the stream is not restricted then use MAXLONGLONG as the max size and offset 0.

The interface methods do not enable you to provide a file sharing option. To create a file stream for an image, use the SHCreateStreamOnFileEx function. This stream can then be used to create an using the CreateDecoderFromStream method.

+
+ + ee719782 + IWICStream + IWICStream +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Initializes a stream from another stream. Access rights are inherited from the underlying stream.

+
+

The initialize stream.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + ee719789 + HRESULT IWICStream::InitializeFromIStream([In, Optional] IStream* pIStream) + IWICStream::InitializeFromIStream +
+ + +

Initializes a stream from a particular file.

+
+

The file used to initialize the stream.

+

The desired file access mode.

ValueMeaning
GENERIC_READ

Read access.

GENERIC_WRITE

Write access.

?

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The interface methods do not enable you to provide a file sharing option. To create a shared file stream for an image, use the SHCreateStreamOnFileEx function. This stream can then be used to create an using the CreateDecoderFromStream method.

+
+ + ee719788 + HRESULT IWICStream::InitializeFromFilename([In] const wchar_t* wzFileName,[In] unsigned int dwDesiredAccess) + IWICStream::InitializeFromFilename +
+ + +

Initializes a stream to treat a block of memory as a stream. The stream cannot grow beyond the buffer size.

+
+

Pointer to the buffer used to initialize the stream.

+

The size of buffer.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method should be avoided whenever possible. The caller is responsible for ensuring the memory block is valid for the lifetime of the stream when using InitializeFromMemory. A workaround for this behavior is to create an and use InitializeFromIStream to create the .

If you require a growable memory stream, use CreateStreamOnHGlobal.

+
+ + ee719792 + HRESULT IWICStream::InitializeFromMemory([In] void* pbBuffer,[In] unsigned int cbBufferSize) + IWICStream::InitializeFromMemory +
+ + +

Initializes the stream as a substream of another stream.

+
+

Pointer to the input stream.

+

The stream offset used to create the new stream.

+

The maximum size of the stream.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The stream functions with its own stream position, independent of the underlying stream but restricted to a region. All seek positions are relative to the sub region. It is allowed, though not recommended, to have multiple writable sub streams overlapping the same range.

+
+ + ee719790 + HRESULT IWICStream::InitializeFromIStreamRegion([In, Optional] IStream* pIStream,[In] ULARGE_INTEGER ulOffset,[In] ULARGE_INTEGER ulMaxSize) + IWICStream::InitializeFromIStreamRegion +
+ + + Initializes a new instance of the class from a file. + + The factory. + Name of the file. + The file access. + ee690325 + HRESULT IWICImagingFactory::CreateStream([Out, Fast] IWICStream** ppIWICStream) + + + + Initializes a new instance of the class from a . + + The factory. + The stream. + ee719789 + HRESULT IWICStream::InitializeFromIStream([In, Optional] IStream* pIStream) + IWICStream::InitializeFromIStream + + + + Initializes a new instance of the class from an unmanaged memory through a . + + The factory. + The unmanaged memory stream. + ee719792 + HRESULT IWICStream::InitializeFromMemory([In] void* pbBuffer,[In] unsigned int cbBufferSize) + IWICStream::InitializeFromMemory + + + +

Contains members that identify a pattern within an image file which can be used to identify a particular format.

+
+ + ee719813 + WICBitmapPattern + WICBitmapPattern +
+ + +

The offset the pattern is located in the file.

+
+ + ee719813 + ULARGE_INTEGER Position + ULARGE_INTEGER Position +
+ + +

The pattern length.

+
+ + ee719813 + unsigned int Length + unsigned int Length +
+ + +

The actual pattern.

+
+ + ee719813 + unsigned char* Pattern + unsigned char Pattern +
+ + +

The pattern mask.

+
+ + ee719813 + unsigned char* Mask + unsigned char Mask +
+ + +

The end of the stream.

+
+ + ee719813 + BOOL EndOfStream + BOOL EndOfStream +
+ + + No documentation. + + + WICImageParameters + WICImageParameters + + + + No documentation. + + + D2D1_PIXEL_FORMAT PixelFormat + D2D1_PIXEL_FORMAT PixelFormat + + + + No documentation. + + + float DpiX + float DpiX + + + + No documentation. + + + float DpiY + float DpiY + + + + No documentation. + + + float Top + float Top + + + + No documentation. + + + float Left + float Left + + + + No documentation. + + + unsigned int PixelWidth + unsigned int PixelWidth + + + + No documentation. + + + unsigned int PixelHeight + unsigned int PixelHeight + + + + Initializes a new instance of the struct. + + The pixel format. + The dpi X. + The dpi Y. + The top. + The left. + Width in pixel. + Height in pixel. + + + +

Defines raw codec capabilites.

+
+ + ee719857 + WICRawCapabilitiesInfo + WICRawCapabilitiesInfo +
+ + +

Size of the structure.

+
+ + ee719857 + unsigned int cbSize + unsigned int cbSize +
+ + +

The codec's major version.

+
+ + ee719857 + unsigned int CodecMajorVersion + unsigned int CodecMajorVersion +
+ + +

The codec's minor version.

+
+ + ee719857 + unsigned int CodecMinorVersion + unsigned int CodecMinorVersion +
+ + +

The of exposure compensation support.

+
+ + ee719857 + WICRawCapabilities ExposureCompensationSupport + WICRawCapabilities ExposureCompensationSupport +
+ + +

The of contrast support.

+
+ + ee719857 + WICRawCapabilities ContrastSupport + WICRawCapabilities ContrastSupport +
+ + +

The of RGB white point support.

+
+ + ee719857 + WICRawCapabilities RGBWhitePointSupport + WICRawCapabilities RGBWhitePointSupport +
+ + +

The of support.

+
+ + ee719857 + WICRawCapabilities NamedWhitePointSupport + WICRawCapabilities NamedWhitePointSupport +
+ + +

The mask.

+
+ + ee719857 + unsigned int NamedWhitePointSupportMask + unsigned int NamedWhitePointSupportMask +
+ + +

The of kelvin white point support.

+
+ + ee719857 + WICRawCapabilities KelvinWhitePointSupport + WICRawCapabilities KelvinWhitePointSupport +
+ + +

The of gamma support.

+
+ + ee719857 + WICRawCapabilities GammaSupport + WICRawCapabilities GammaSupport +
+ + +

The of tint support.

+
+ + ee719857 + WICRawCapabilities TintSupport + WICRawCapabilities TintSupport +
+ + +

The of saturation support.

+
+ + ee719857 + WICRawCapabilities SaturationSupport + WICRawCapabilities SaturationSupport +
+ + +

The of sharpness support.

+
+ + ee719857 + WICRawCapabilities SharpnessSupport + WICRawCapabilities SharpnessSupport +
+ + +

The of noise reduction support.

+
+ + ee719857 + WICRawCapabilities NoiseReductionSupport + WICRawCapabilities NoiseReductionSupport +
+ + +

The of destination color profile support.

+
+ + ee719857 + WICRawCapabilities DestinationColorProfileSupport + WICRawCapabilities DestinationColorProfileSupport +
+ + +

The of tone curve support.

+
+ + ee719857 + WICRawCapabilities ToneCurveSupport + WICRawCapabilities ToneCurveSupport +
+ + +

The of rotation support.

+
+ + ee719857 + WICRawRotationCapabilities RotationSupport + WICRawRotationCapabilities RotationSupport +
+ + +

The of support.

+
+ + ee719857 + WICRawCapabilities RenderModeSupport + WICRawCapabilities RenderModeSupport +
+ + +

Represents a raw image tone curve.

+
+ + ee719861 + WICRawToneCurve + WICRawToneCurve +
+ + +

The number of tone curve points.

+
+ + ee719861 + unsigned int cPoints + unsigned int cPoints +
+ + +

The array of tone curve points.

+
+ + ee719861 + WICRawToneCurvePoint aPoints[1] + WICRawToneCurvePoint aPoints +
+ + +

Represents a raw image tone curve point.

+
+ + ee719862 + WICRawToneCurvePoint + WICRawToneCurvePoint +
+ + +

The tone curve input.

+
+ + ee719862 + double Input + double Input +
+ + +

The tone curve output.

+
+ + ee719862 + double Output + double Output +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Copies the gradient stops from the collecton into memory.

+
+ +

If the object was created using , this method returns the same values specified in the creation method. If the object was created using , the stops returned here will first be transformed into the gamma space specified by the colorInterpolationGamma parameter.

If gradientStopsCount is less than the number of gradient stops in the collection, the remaining gradient stops are omitted. If gradientStopsCount is larger than the number of gradient stops in the collection, the extra gradient stops are set to null. To obtain the number of gradient stops in the collection, use the GetGradientStopCount method.

+
+ + hh446798 + ID2D1GradientStopCollection1 + ID2D1GradientStopCollection1 +
+ + +

Represents an collection of objects for linear and radial gradient brushes.

+
+ + Creating Objects

To create an , use the method.

A gradient stop collection is a device-dependent resource: your application should create gradient stop collections after it initializes the render target with which the gradient stop collection will be used, and recreate the gradient stop collection whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd316783 + ID2D1GradientStopCollection + ID2D1GradientStopCollection +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the number of gradient stops in the collection.

+
+

The number of gradient stops in the collection.

+ + dd371454 + unsigned int ID2D1GradientStopCollection::GetGradientStopCount() + ID2D1GradientStopCollection::GetGradientStopCount +
+ + +

Copies the gradient stops from the collection into an array of structures.

+
+ No documentation. + No documentation. + +

Gradient stops are copied in order of position, starting with the gradient stop with the smallest position value and progressing to the gradient stop with the largest position value.

+
+ + dd371457 + void ID2D1GradientStopCollection::GetGradientStops([Out, Buffer] D2D1_GRADIENT_STOP* gradientStops,[In] unsigned int gradientStopsCount) + ID2D1GradientStopCollection::GetGradientStops +
+ + +

Indicates the gamma space in which the gradient stops are interpolated.

+
+

The gamma space in which the gradient stops are interpolated.

+ + dd316786 + D2D1_GAMMA ID2D1GradientStopCollection::GetColorInterpolationGamma() + ID2D1GradientStopCollection::GetColorInterpolationGamma +
+ + +

Indicates the behavior of the gradient outside the normalized gradient range.

+
+

The behavior of the gradient outside the [0,1] normalized gradient range.

+ + dd316789 + D2D1_EXTEND_MODE ID2D1GradientStopCollection::GetExtendMode() + ID2D1GradientStopCollection::GetExtendMode +
+ + + Creates an from the specified gradient stops, a Gamma StandardRgb, and ExtendMode.Clamp. + + an instance of + A pointer to an array of D2D1_GRADIENT_STOP structures. + HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) + + + + Creates an from the specified gradient stops, color Gamma.StandardRgb, and extend mode. + + an instance of + A pointer to an array of D2D1_GRADIENT_STOP structures. + The behavior of the gradient outside the [0,1] normalized range. + HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) + + + + Creates an from the specified gradient stops, color interpolation gamma, and ExtendMode.Clamp. + + an instance of + A pointer to an array of D2D1_GRADIENT_STOP structures. + The space in which color interpolation between the gradient stops is performed. + HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) + + + + Creates an from the specified gradient stops, color interpolation gamma, and extend mode. + + an instance of + A pointer to an array of D2D1_GRADIENT_STOP structures. + The space in which color interpolation between the gradient stops is performed. + The behavior of the gradient outside the [0,1] normalized range. + HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) + + + +

Retrieves the number of gradient stops in the collection.

+
+ + dd371454 + GetGradientStopCount + GetGradientStopCount + unsigned int ID2D1GradientStopCollection::GetGradientStopCount() +
+ + +

Indicates the gamma space in which the gradient stops are interpolated.

+
+ + dd316786 + GetColorInterpolationGamma + GetColorInterpolationGamma + D2D1_GAMMA ID2D1GradientStopCollection::GetColorInterpolationGamma() +
+ + +

Indicates the behavior of the gradient outside the normalized gradient range.

+
+ + dd316789 + GetExtendMode + GetExtendMode + D2D1_EXTEND_MODE ID2D1GradientStopCollection::GetExtendMode() +
+ + + Initializes a new instance of the class. + + The context. + An array of color values and offsets. + Specifies both the input color space and the space in which the color interpolation occurs. + The color space that colors will be converted to after interpolation occurs. + The precision of the texture used to hold interpolated values. + Defines how colors outside of the range defined by the stop collection are determined. + The new gradient stop collection. + HRESULT ID2D1DeviceContext::CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* straightAlphaGradientStops,[In] unsigned int straightAlphaGradientStopsCount,[In] D2D1_COLOR_SPACE preInterpolationSpace,[In] D2D1_COLOR_SPACE postInterpolationSpace,[In] D2D1_BUFFER_PRECISION bufferPrecision,[In] D2D1_EXTEND_MODE extendMode,[In] D2D1_COLOR_INTERPOLATION_MODE colorInterpolationMode,[Out, Fast] ID2D1GradientStopCollection1** gradientStopCollection1) + + This method linearly interpolates between the color stops. An optional color space conversion is applied after interpolation. Whether and how this gamma conversion is applied is determined before and after interpolation. This method will fail if the device context does not support the requested buffer precision.Additional ReferencesD2D1_GRADIENT_STOP, D2D1_GAMMA_CONVERSION, , , RequirementsMinimum supported operating systemSame as Interface / Class Highest IRQL levelN/A (user mode) Callable from DlllMain()No Callable from services and session 0Yes Callable from UI threadYes? + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Copies the gradient stops from the collecton into memory.

+
+

When this method returns, contains a reference to a one-dimensional array of structures.

+

The number of gradient stops to copy.

+ +

If the object was created using , this method returns the same values specified in the creation method. If the object was created using , the stops returned here will first be transformed into the gamma space specified by the colorInterpolationGamma parameter.

If gradientStopsCount is less than the number of gradient stops in the collection, the remaining gradient stops are omitted. If gradientStopsCount is larger than the number of gradient stops in the collection, the extra gradient stops are set to null. To obtain the number of gradient stops in the collection, use the GetGradientStopCount method.

+
+ + hh446798 + void ID2D1GradientStopCollection1::GetGradientStops1([Out, Buffer] D2D1_GRADIENT_STOP* gradientStops,[In] unsigned int gradientStopsCount) + ID2D1GradientStopCollection1::GetGradientStops1 +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the color space before interpolation occurs.

+
+

This method returns the color space.

+ + hh446802 + D2D1_COLOR_SPACE ID2D1GradientStopCollection1::GetPreInterpolationSpace() + ID2D1GradientStopCollection1::GetPreInterpolationSpace +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets thecolor space after interpolation has occured.

+
+

This method returns the color space.

+ + hh446800 + D2D1_COLOR_SPACE ID2D1GradientStopCollection1::GetPostInterpolationSpace() + ID2D1GradientStopCollection1::GetPostInterpolationSpace +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Gets the precision of the gradient buffer.

+
+

The buffer precision of the gradient buffer.

+ +

The buffer precision can be one of the following.

ValueDevice requirements
Available on all devices.
The device must support 16-bit high color.
The device must support 16-bit high color.
The device must support 32-bit high color.

?

+
+ + hh446796 + D2D1_BUFFER_PRECISION ID2D1GradientStopCollection1::GetBufferPrecision() + ID2D1GradientStopCollection1::GetBufferPrecision +
+ + + No documentation. + + No documentation. + + D2D1_COLOR_INTERPOLATION_MODE ID2D1GradientStopCollection1::GetColorInterpolationMode() + ID2D1GradientStopCollection1::GetColorInterpolationMode + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the color space before interpolation occurs.

+
+ + hh446802 + GetPreInterpolationSpace + GetPreInterpolationSpace + D2D1_COLOR_SPACE ID2D1GradientStopCollection1::GetPreInterpolationSpace() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets thecolor space after interpolation has occured.

+
+ + hh446800 + GetPostInterpolationSpace + GetPostInterpolationSpace + D2D1_COLOR_SPACE ID2D1GradientStopCollection1::GetPostInterpolationSpace() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Gets the precision of the gradient buffer.

+
+ +

The buffer precision can be one of the following.

ValueDevice requirements
Available on all devices.
The device must support 16-bit high color.
The device must support 16-bit high color.
The device must support 32-bit high color.

?

+
+ + hh446796 + GetBufferPrecision + GetBufferPrecision + D2D1_BUFFER_PRECISION ID2D1GradientStopCollection1::GetBufferPrecision() +
+ + + No documentation. + + + GetColorInterpolationMode + GetColorInterpolationMode + D2D1_COLOR_INTERPOLATION_MODE ID2D1GradientStopCollection1::GetColorInterpolationMode() + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents a brush based on an .

+
+ + hh446804 + ID2D1ImageBrush + ID2D1ImageBrush +
+ + + Initializes a new instance of the class. + + The context. + The image. + The image brush properties. + HRESULT ID2D1DeviceContext::CreateImageBrush([In] ID2D1Image* image,[In] const D2D1_IMAGE_BRUSH_PROPERTIES* imageBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1ImageBrush** imageBrush) + + + + Initializes a new instance of the class. + + The context. + The image. + The image brush properties. + The brush properties. + HRESULT ID2D1DeviceContext::CreateImageBrush([In] ID2D1Image* image,[In] const D2D1_IMAGE_BRUSH_PROPERTIES* imageBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1ImageBrush** imageBrush) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the image associated with the provided image brush.

+
+

The image to be associated with the image brush.

+ + hh446812 + void ID2D1ImageBrush::SetImage([In, Optional] ID2D1Image* image) + ID2D1ImageBrush::SetImage +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets how the content inside the source rectangle in the image brush will be extended on the x-axis.

+
+

The extend mode on the x-axis of the image.

+ + hh446810 + void ID2D1ImageBrush::SetExtendModeX([In] D2D1_EXTEND_MODE extendModeX) + ID2D1ImageBrush::SetExtendModeX +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the extend mode on the y-axis.

+
+

The extend mode on the y-axis of the image.

+ + hh446811 + void ID2D1ImageBrush::SetExtendModeY([In] D2D1_EXTEND_MODE extendModeY) + ID2D1ImageBrush::SetExtendModeY +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the interpolation mode for the image brush.

+
+

How the contents of the image will be interpolated to handle the brush transform.

+ + hh446813 + void ID2D1ImageBrush::SetInterpolationMode([In] D2D1_INTERPOLATION_MODE interpolationMode) + ID2D1ImageBrush::SetInterpolationMode +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Sets the source rectangle in the image brush.

+
+

The source rectangle that defines the portion of the image to tilet.

+ +

The top left corner of the sourceRectangle parameter maps to the brush space origin. That is, if the brush and world transforms are both identity, the portion of the image in the top left corner of the source rectangle will be rendered at (0,0) in the render target.

The source rectangle will be expanded differently depending on whether the input image is based on pixels (a bitmap or effect) or by a command list.

  • If the input image is a bitmap or an effect, the rectangle will be expanded to encapsulate a full input pixel before being additionally down-scaled to ensure that the projected rectangle will be correct in the final scene-space.
  • If the input image is a command list, the command list will be slightly expanded to encapsulate a full input pixel. +
+
+ + hh446815 + void ID2D1ImageBrush::SetSourceRectangle([In] const D2D_RECT_F* sourceRectangle) + ID2D1ImageBrush::SetSourceRectangle +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the image associated with the image brush.

+
+

When this method returns, contains the address of a reference to the image associated with this brush.

+ + hh446807 + void ID2D1ImageBrush::GetImage([Out] ID2D1Image** image) + ID2D1ImageBrush::GetImage +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the extend mode of the image brush on the x-axis.

+
+

This method returns the x-extend mode.

+ + hh446805 + D2D1_EXTEND_MODE ID2D1ImageBrush::GetExtendModeX() + ID2D1ImageBrush::GetExtendModeX +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the extend mode of the image brush on the y-axis of the image.

+
+

This method returns the y-extend mode.

+ + hh446806 + D2D1_EXTEND_MODE ID2D1ImageBrush::GetExtendModeY() + ID2D1ImageBrush::GetExtendModeY +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the interpolation mode of the image brush.

+
+

This method returns the interpolation mode.

+ + hh446808 + D2D1_INTERPOLATION_MODE ID2D1ImageBrush::GetInterpolationMode() + ID2D1ImageBrush::GetInterpolationMode +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the rectangle that will be used as the bounds of the image when drawn as an image brush.

+
+

When this method returns, contains the address of the output source rectangle.

+ + hh446809 + void ID2D1ImageBrush::GetSourceRectangle([Out] D2D_RECT_F* sourceRectangle) + ID2D1ImageBrush::GetSourceRectangle +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the image associated with the image brush.

+
+ + hh446807 + GetImage / SetImage + GetImage + void ID2D1ImageBrush::GetImage([Out] ID2D1Image** image) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the extend mode of the image brush on the x-axis.

+
+ + hh446805 + GetExtendModeX / SetExtendModeX + GetExtendModeX + D2D1_EXTEND_MODE ID2D1ImageBrush::GetExtendModeX() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the extend mode of the image brush on the y-axis of the image.

+
+ + hh446806 + GetExtendModeY / SetExtendModeY + GetExtendModeY + D2D1_EXTEND_MODE ID2D1ImageBrush::GetExtendModeY() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the interpolation mode of the image brush.

+
+ + hh446808 + GetInterpolationMode / SetInterpolationMode + GetInterpolationMode + D2D1_INTERPOLATION_MODE ID2D1ImageBrush::GetInterpolationMode() +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the rectangle that will be used as the bounds of the image when drawn as an image brush.

+
+ + hh446809 + GetSourceRectangle / SetSourceRectangle + GetSourceRectangle + void ID2D1ImageBrush::GetSourceRectangle([Out] D2D_RECT_F* sourceRectangle) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Contains the content bounds, mask information, opacity settings, and other options for a layer resource.

+
+ + hh847947 + D2D1_LAYER_PARAMETERS1 + D2D1_LAYER_PARAMETERS1 +
+ + + Initializes a new instance of the struct. + + The content bounds. + The geometry mask. + The mask antialias mode. + The mask transform. + The opacity. + The opacity brush. + The layer options. + + + +

The content bounds of the layer. Content outside these bounds is not guaranteed to render.

+
+ + hh847947 + D2D_RECT_F contentBounds + D2D_RECT_F contentBounds +
+ + +

The geometric mask specifies the area of the layer that is composited into the render target.

+
+ + hh847947 + ID2D1Geometry* geometricMask + ID2D1Geometry geometricMask +
+ + +

A value that specifies the antialiasing mode for the geometricMask.

+
+ + hh847947 + D2D1_ANTIALIAS_MODE maskAntialiasMode + D2D1_ANTIALIAS_MODE maskAntialiasMode +
+ + +

A value that specifies the transform that is applied to the geometric mask when composing the layer.

+
+ + hh847947 + D2D_MATRIX_3X2_F maskTransform + D2D_MATRIX_3X2_F maskTransform +
+ + +

An opacity value that is applied uniformly to all resources in the layer when compositing to the target.

+
+ + hh847947 + float opacity + float opacity +
+ + +

A brush that is used to modify the opacity of the layer. The brush + is mapped to the layer, and the alpha channel of each mapped brush pixel is multiplied against the corresponding layer pixel.

+
+ + hh847947 + ID2D1Brush* opacityBrush + ID2D1Brush opacityBrush +
+ + +

Additional options for the layer creation.

+
+ + hh847947 + D2D1_LAYER_OPTIONS1 layerOptions + D2D1_LAYER_OPTIONS1 layerOptions +
+ + + Sets the geometric mask. + + + The geometric mask. + + ID2D1Geometry* geometricMask + + + + Sets the opacity brush. + + + The opacity brush. + + ID2D1Brush* opacityBrush + + + + Internal class used to initialize this assembly. + + + + + Initializes this assembly. + + + This method is called when the assembly is loaded. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents an abstract shape that may be composed of arcs, curves, and lines.

+
+ +

This interface adds functionality to .

+
+ + hh446826 + ID2D1PathGeometry1 + ID2D1PathGeometry1 +
+ + +

Represents a complex shape that may be composed of arcs, curves, and lines.

+
+ +

An object enables you to describe a geometric path. To describe an object's path, use the object's Open method to retrieve an . Use the sink to populate the path geometry with figures and segments.

Creating Objects

To create a path geometry, use the method.

objects are device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd371512 + ID2D1PathGeometry + ID2D1PathGeometry +
+ + +

Represents a geometry resource and defines a set of helper methods for manipulating and measuring geometric shapes. Interfaces that inherit from define specific shapes.

+
+ +

There are several types of Direct2D geometry objects: a simple geometry (, , or ), a path geometry (), or a composite geometry ( and ).

Direct2D geometries enable you to describe two-dimensional figures and also offer many uses, such as defining hit-test regions, clip regions, and even animation paths.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd316578 + ID2D1Geometry + ID2D1Geometry +
+ + + Default flattening tolerance used for all methods that are not explicitly using it. Default is set to 0.25f. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + Retrieves the bounds of the geometry.Overload list + + No documentation. + No documentation. + + dd742751 + HRESULT ID2D1Geometry::GetBounds([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[Out] D2D_RECT_F* bounds) + ID2D1Geometry::GetBounds + + + +

Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix.

+
+

The amount by which to widen the geometry by stroking its outline.

+

The style of the stroke that widens the geometry.

+

A transform to apply to the geometry after the geometry is transformed and after the geometry has been stroked.

+

When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.

+ No documentation. + + dd316714 + HRESULT ID2D1Geometry::GetWidenedBounds([In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] D2D_RECT_F* bounds) + ID2D1Geometry::GetWidenedBounds +
+ + +

Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform.

+
+

The point to test for containment.

+

The thickness of the stroke to apply.

+

The style of stroke to apply.

+

The transform to apply to the stroked geometry.

+

When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter.

+ No documentation. + + dd316742 + HRESULT ID2D1Geometry::StrokeContainsPoint([In] D2D_POINT_2F point,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] BOOL* contains) + ID2D1Geometry::StrokeContainsPoint +
+ + +

Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance.

+
+

The point to test.

+

The transform to apply to the geometry prior to testing for containment, or null.

+

The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution.

+

When this method returns, contains a value that is TRUE if the area filled by the geometry contains point; otherwise, .You must allocate storage for this parameter.

+ + dd316687 + HRESULT ID2D1Geometry::FillContainsPoint([In] D2D_POINT_2F point,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] BOOL* contains) + ID2D1Geometry::FillContainsPoint +
+ + +

Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance.

+
+

The geometry to test.

+

The transform to apply to inputGeometry, or null.

+

The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution.

+

When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter.

+ +

When interpreting the returned relation value, it is important to remember that the member of the enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry.

For more information about how to interpret other possible return values, see .

+
+ + dd316630 + HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D_MATRIX_3X2_F* inputGeometryTransform,[In] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation) + ID2D1Geometry::CompareWithGeometry +
+ + + Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an .Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742770 + HRESULT ID2D1Geometry::Simplify([In] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + ID2D1Geometry::Simplify + + + + 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.Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + + dd742772 + HRESULT ID2D1Geometry::Tessellate([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) + ID2D1Geometry::Tessellate + + + + Combines this geometry with the specified geometry and stores the result in an .Overload list + + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + dd742739 + HRESULT ID2D1Geometry::CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[In] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D_MATRIX_3X2_F* inputGeometryTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + ID2D1Geometry::CombineWithGeometry + + + +

Computes the outline of the geometry and writes the result to an .

+
+ No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The Outline method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties:

  • The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.
  • The outermost figures in the output geometry are all oriented counterclockwise.
  • The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .

Additionally, the Outline method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. +

+
+ + dd316717 + HRESULT ID2D1Geometry::Outline([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + ID2D1Geometry::Outline +
+ + +

Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance.

+
+

The transform to apply to this geometry before computing its area, or null.

+

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

+

When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter.

+ + dd316641 + HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] float* area) + ID2D1Geometry::ComputeArea +
+ + + Calculates the length of the geometry as though each segment were unrolled into a line.Overload list + + No documentation. + No documentation. + No documentation. + + dd742744 + HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] float* length) + ID2D1Geometry::ComputeLength + + + +

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.

+
+

The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry.

+

The transform to apply to the geometry before calculating the specified point and tangent, or null.

+

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

+

When this method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter.

+

The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values.

+ + dd316676 + HRESULT ID2D1Geometry::ComputePointAtLength([In] float length,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out, Optional] D2D_POINT_2F* point,[Out, Optional] D2D_POINT_2F* unitTangentVector) + ID2D1Geometry::ComputePointAtLength +
+ + +

Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the default tolerance.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316770 + HRESULT ID2D1Geometry::Widen([In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + ID2D1Geometry::Widen +
+ + + Combines this geometry with the specified geometry and stores the result in an . + + The geometry to combine with this instance. + The type of combine operation to perform. + The result of the combine operation. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[None] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Combines this geometry with the specified geometry and stores the result in an . + + The geometry to combine with this instance. + The type of combine operation to perform. + The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. + The result of the combine operation. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[None] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Combines this geometry with the specified geometry and stores the result in an . + + The geometry to combine with this instance. + The type of combine operation to perform. + The transform to apply to inputGeometry before combining, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. + The result of the combine operation. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[None] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance. + + + When interpreting the returned relation value, it is important to remember that the member of the D2D1_GEOMETRY_RELATION enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry. For more information about how to interpret other possible return values, see . + + The geometry to test. + When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation) + + + + Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance. + + + When interpreting the returned relation value, it is important to remember that the member of the D2D1_GEOMETRY_RELATION enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry. For more information about how to interpret other possible return values, see . + + The geometry to test. + The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation) + + + + Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. + + When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* area) + + + + Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* area) + + + + Calculates the length of the geometry as though each segment were unrolled into a line. + + When this method returns, contains a reference to the length of the geometry. For closed geometries, the length includes an implicit closing segment. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* length) + + + + Calculates the length of the geometry as though each segment were unrolled into a line. + + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a reference to the length of the geometry. For closed geometries, the length includes an implicit closing segment. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* length) + + + + 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. + + The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry. + When this method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter. + The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values. + HRESULT ID2D1Geometry::ComputePointAtLength([None] float length,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out, Optional] D2D1_POINT_2F* point,[Out, Optional] D2D1_POINT_2F* unitTangentVector) + + + + 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. + + The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter. + The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values. + HRESULT ID2D1Geometry::ComputePointAtLength([None] float length,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out, Optional] D2D1_POINT_2F* point,[Out, Optional] D2D1_POINT_2F* unitTangentVector) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. + + The point to test. + The transform to apply to the geometry prior to testing for containment, or NULL. + The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. + HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Retrieves the bounds of the geometry. + + When this method returns, contains the bounds of this geometry. If the bounds are empty, this will be a rect where bounds.left > bounds.right. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::GetBounds([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[Out] D2D1_RECT_F* bounds) + + + + Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. + + The amount by which to widen the geometry by stroking its outline. + When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::GetWidenedBounds([None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] D2D1_RECT_F* bounds) + + + + Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. + + The amount by which to widen the geometry by stroking its outline. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::GetWidenedBounds([None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] D2D1_RECT_F* bounds) + + + + Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. + + The amount by which to widen the geometry by stroking its outline. + The style of the stroke that widens the geometry. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::GetWidenedBounds([None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] D2D1_RECT_F* bounds) + + + + Computes the outline of the geometry and writes the result to an . + + + The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. + + The to which the geometry's transformed outline is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Outline([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Computes the outline of the geometry and writes the result to an . + + + The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. + + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the geometry's transformed outline is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Outline([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Computes the outline of the geometry and writes the result to an . + + + The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. + + The transform to apply to the geometry outline, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the geometry's transformed outline is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Outline([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an . + + A value that specifies whether the simplified geometry should contain curves. + The to which the simplified geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Simplify([None] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an . + + A value that specifies whether the simplified geometry should contain curves. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the simplified geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Simplify([None] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an . + + A value that specifies whether the simplified geometry should contain curves. + The transform to apply to the simplified geometry, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the simplified geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Simplify([None] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + The transform to apply to the stroked geometry. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + The transform to apply to the stroked geometry. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. + + The point to test for containment. + The thickness of the stroke to apply. + The style of stroke to apply. + The transform to apply to the stroked geometry. + The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the stroke by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. + When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. + HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) + + + + 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 + + The to which the tessellated is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Tessellate([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) + + + + 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 + + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the tessellated is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Tessellate([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) + + + + 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 + + The transform to apply to this geometry, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the tessellated is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Tessellate([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) + + + + Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The amount by which to widen the geometry. + The to which the widened geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The amount by which to widen the geometry. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the widened geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The amount by which to widen the geometry. + The style of stroke to apply to the geometry, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the widened geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. + + The amount by which to widen the geometry. + The style of stroke to apply to the geometry, or NULL. + The transform to apply to the geometry after widening it, or NULL. + The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. + The to which the widened geometry is appended. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) + + + + Get or set the default flattening tolerance used for all methods that are not explicitly using it. Default is set to 0.25f. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the geometry sink that is used to populate the path geometry with figures and segments.

+
+

When this method returns, geometrySink contains the address of a reference to the geometry sink that is used to populate the path geometry with figures and segments. This parameter is passed uninitialized.

+ +

Because path geometries are immutable and can only be populated once, it is an error to call Open on a path geometry more than once.

Note that the fill mode defaults to . To set the fill mode, call SetFillMode before the first call to BeginFigure. Failure to do so will put the geometry sink in an error state.

+
+ + dd371522 + HRESULT ID2D1PathGeometry::Open([Out] ID2D1GeometrySink** geometrySink) + ID2D1PathGeometry::Open +
+ + +

Copies the contents of the path geometry to the specified .

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371525 + HRESULT ID2D1PathGeometry::Stream([In] ID2D1GeometrySink* geometrySink) + ID2D1PathGeometry::Stream +
+ + +

Retrieves the number of segments in the path geometry.

+
+

A reference that receives the number of segments in the path geometry when this method returns. You must allocate storage for this parameter.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371520 + HRESULT ID2D1PathGeometry::GetSegmentCount([Out] unsigned int* count) + ID2D1PathGeometry::GetSegmentCount +
+ + +

Retrieves the number of figures in the path geometry.

+
+

A reference that receives the number of figures in the path geometry when this method returns. You must allocate storage for this parameter.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371515 + HRESULT ID2D1PathGeometry::GetFigureCount([Out] unsigned int* count) + ID2D1PathGeometry::GetFigureCount +
+ + + Creates an empty . + + an instance of + + + + Copies the contents of the path geometry to the specified . + + The sink to which the path geometry's contents are copied. Modifying this sink does not change the contents of this path geometry. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Stream([In] ID2D1GeometrySink* geometrySink) + + + +

Retrieves the number of segments in the path geometry.

+
+ + dd371520 + GetSegmentCount + GetSegmentCount + HRESULT ID2D1PathGeometry::GetSegmentCount([Out] unsigned int* count) +
+ + +

Retrieves the number of figures in the path geometry.

+
+ + dd371515 + GetFigureCount + GetFigureCount + HRESULT ID2D1PathGeometry::GetFigureCount([Out] unsigned int* count) +
+ + + Initializes a new instance of the class. + + The factory. + HRESULT ID2D1Factory1::CreatePathGeometry([Out, Fast] ID2D1PathGeometry1** pathGeometry) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

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.

+
+

The distance to walk along the path.

+

The index of the segment at which to begin walking. Note: This index is global to the entire path, not just a particular figure.

+

The transform to apply to the path prior to walking.

+

The flattening tolerance to use when walking along an arc or Bezier segment.

+

When this method returns, contains a description of the point that can be found at the given location.

+

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGOne of the inputs was in an invalid range.

?

+ +

A length that is less than 0 or is not a number is treated as if it were 0.

If length is greater than the total length of the path, then the end point of the path is returned.

+
+ + hh446851 + HRESULT ID2D1PathGeometry1::ComputePointAndSegmentAtLength([In] float length,[In] unsigned int startSegment,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] D2D1_POINT_DESCRIPTION* pointDescription) + ID2D1PathGeometry1::ComputePointAndSegmentAtLength +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

+
+ + hh847997 + ID2D1PrintControl + ID2D1PrintControl +
+ + + Initializes a new instance of the class. + + The device. + The WIC factory. + The document target. + HRESULT ID2D1Device::CreatePrintControl([In] IWICImagingFactory* wicFactory,[In] IPrintDocumentPackageTarget* documentTarget,[In, Optional] const D2D1_PRINT_CONTROL_PROPERTIES* printControlProperties,[Out] ID2D1PrintControl** printControl) + + + HRESULT ID2D1Device::CreatePrintControl([In] IWICImagingFactory* wicFactory,[In] IPrintDocumentPackageTarget* documentTarget,[In, Optional] const D2D1_PRINT_CONTROL_PROPERTIES* printControlProperties,[Out] ID2D1PrintControl** printControl) + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

+
+ No documentation. + No documentation. + No documentation. + hh847997 + HRESULT ID2D1PrintControl::AddPage([In] ID2D1CommandList* commandList,[In] D2D_SIZE_F pageSize,[In, Optional] IStream* pagePrintTicketStream,[Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) + ID2D1PrintControl::AddPage +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + hh847997 + HRESULT ID2D1PrintControl::AddPage([In] ID2D1CommandList* commandList,[In] D2D_SIZE_F pageSize,[In, Optional] IStream* pagePrintTicketStream,[Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) + ID2D1PrintControl::AddPage +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + + hh847997 + HRESULT ID2D1PrintControl::AddPage([In] ID2D1CommandList* commandList,[In] D2D_SIZE_F pageSize,[In, Optional] IStream* pagePrintTicketStream,[Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) + ID2D1PrintControl::AddPage +
+ + + No documentation. + + No documentation. + + HRESULT ID2D1PrintControl::Close() + ID2D1PrintControl::Close + + + + Helper functions for . + + + + + Converts a property type to a text. + + The property type + A string representing this property type. + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes the caps, miter limit, line join, and dash information for a stroke.

+
+ +

This interface adds functionality to .

+
+ + hh446914 + ID2D1StrokeStyle1 + ID2D1StrokeStyle1 +
+ + +

Describes the caps, miter limit, line join, and dash information for a stroke.

+
+ + Creating Objects

To create a stroke style, use the method.

A stroke style is a device-indenpendent resource; you can create it once then retain it for the life of your application. For more information about resources, see the Resources Overview.

+
+ + dd372217 + ID2D1StrokeStyle + ID2D1StrokeStyle +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the type of shape used at the beginning of a stroke.

+
+

The type of shape used at the beginning of a stroke.

+ + dd372244 + D2D1_CAP_STYLE ID2D1StrokeStyle::GetStartCap() + ID2D1StrokeStyle::GetStartCap +
+ + +

Retrieves the type of shape used at the end of a stroke.

+
+

The type of shape used at the end of a stroke.

+ + dd372238 + D2D1_CAP_STYLE ID2D1StrokeStyle::GetEndCap() + ID2D1StrokeStyle::GetEndCap +
+ + +

Gets a value that specifies how the ends of each dash are drawn.

+
+

A value that specifies how the ends of each dash are drawn.

+ + dd372218 + D2D1_CAP_STYLE ID2D1StrokeStyle::GetDashCap() + ID2D1StrokeStyle::GetDashCap +
+ + +

Retrieves the limit on the ratio of the miter length to half the stroke's thickness.

+
+

A positive number greater than or equal to 1.0f that describes the limit on the ratio of the miter length to half the stroke's thickness.

+ + dd372242 + float ID2D1StrokeStyle::GetMiterLimit() + ID2D1StrokeStyle::GetMiterLimit +
+ + +

Retrieves the type of joint used at the vertices of a shape's outline.

+
+

A value that specifies the type of joint used at the vertices of a shape's outline.

+ + dd372240 + D2D1_LINE_JOIN ID2D1StrokeStyle::GetLineJoin() + ID2D1StrokeStyle::GetLineJoin +
+ + +

Retrieves a value that specifies how far in the dash sequence the stroke will start.

+
+

A value that specifies how far in the dash sequence the stroke will start.

+ + dd372234 + float ID2D1StrokeStyle::GetDashOffset() + ID2D1StrokeStyle::GetDashOffset +
+ + +

Gets a value that describes the stroke's dash pattern.

+
+

A value that describes the predefined dash pattern used, or if a custom dash style is used.

+ +

If a custom dash style is specified, the dash pattern is described by the dashes array, which can be retrieved by calling the GetDashes method.

+
+ + dd372236 + D2D1_DASH_STYLE ID2D1StrokeStyle::GetDashStyle() + ID2D1StrokeStyle::GetDashStyle +
+ + +

Retrieves the number of entries in the dashes array.

+
+

The number of entries in the dashes array if the stroke is dashed; otherwise, 0.

+ + dd372232 + unsigned int ID2D1StrokeStyle::GetDashesCount() + ID2D1StrokeStyle::GetDashesCount +
+ + +

Copies the dash pattern to the specified array.

+
+

A reference to an array that will receive the dash pattern. The array must be able to contain at least as many elements as specified by dashesCount. You must allocate storage for this array.

+

The number of dashes to copy. If this value is less than the number of dashes in the stroke style's dashes array, the returned dashes are truncated to dashesCount. If this value is greater than the number of dashes in the stroke style's dashes array, the extra dashes are set to 0.0f. To obtain the actual number of dashes in the stroke style's dashes array, use the GetDashesCount method.

+ +

The dashes are specified in units that are a multiple of the stroke width, with subsequent members of the array indicating the dashes and gaps between dashes: the first entry indicates a filled dash, the second a gap, and so on.

+
+ + dd372230 + void ID2D1StrokeStyle::GetDashes([Out, Buffer] float* dashes,[In] unsigned int dashesCount) + ID2D1StrokeStyle::GetDashes +
+ + + Creates an that describes start cap, dash pattern, and other features of a stroke. + + an instance of + a definition for this render target + + + + Creates an that describes start cap, dash pattern, and other features of a stroke. + + an instance of + A structure that describes the stroke's line cap, dash offset, and other details of a stroke. + An array whose elements are set to the length of each dash and space in the dash pattern. The first element sets the length of a dash, the second element sets the length of a space, the third element sets the length of a dash, and so on. The length of each dash and space in the dash pattern is the product of the element value in the array and the stroke width. + + + +

Retrieves the type of shape used at the beginning of a stroke.

+
+ + dd372244 + GetStartCap + GetStartCap + D2D1_CAP_STYLE ID2D1StrokeStyle::GetStartCap() +
+ + +

Retrieves the type of shape used at the end of a stroke.

+
+ + dd372238 + GetEndCap + GetEndCap + D2D1_CAP_STYLE ID2D1StrokeStyle::GetEndCap() +
+ + +

Gets a value that specifies how the ends of each dash are drawn.

+
+ + dd372218 + GetDashCap + GetDashCap + D2D1_CAP_STYLE ID2D1StrokeStyle::GetDashCap() +
+ + +

Retrieves the limit on the ratio of the miter length to half the stroke's thickness.

+
+ + dd372242 + GetMiterLimit + GetMiterLimit + float ID2D1StrokeStyle::GetMiterLimit() +
+ + +

Retrieves the type of joint used at the vertices of a shape's outline.

+
+ + dd372240 + GetLineJoin + GetLineJoin + D2D1_LINE_JOIN ID2D1StrokeStyle::GetLineJoin() +
+ + +

Retrieves a value that specifies how far in the dash sequence the stroke will start.

+
+ + dd372234 + GetDashOffset + GetDashOffset + float ID2D1StrokeStyle::GetDashOffset() +
+ + +

Gets a value that describes the stroke's dash pattern.

+
+ +

If a custom dash style is specified, the dash pattern is described by the dashes array, which can be retrieved by calling the GetDashes method.

+
+ + dd372236 + GetDashStyle + GetDashStyle + D2D1_DASH_STYLE ID2D1StrokeStyle::GetDashStyle() +
+ + +

Retrieves the number of entries in the dashes array.

+
+ + dd372232 + GetDashesCount + GetDashesCount + unsigned int ID2D1StrokeStyle::GetDashesCount() +
+ + + Initializes a new instance of the class. + + The factory. + No documentation. + HRESULT ID2D1Factory1::CreateStrokeStyle([In] const D2D1_STROKE_STYLE_PROPERTIES1* strokeStyleProperties,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[Out, Fast] ID2D1StrokeStyle1** strokeStyle) + + + + Initializes a new instance of the class. + + The factory. + No documentation. + No documentation. + HRESULT ID2D1Factory1::CreateStrokeStyle([In] const D2D1_STROKE_STYLE_PROPERTIES1* strokeStyleProperties,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[Out, Fast] ID2D1StrokeStyle1** strokeStyle) + + HRESULT ID2D1Factory1::CreateStrokeStyle([In] const D2D1_STROKE_STYLE_PROPERTIES1* strokeStyleProperties,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[Out, Fast] ID2D1StrokeStyle1** strokeStyle) + + It is valid to specify a dash array only if is also specified. + + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the stroke transform type.

+
+

This method returns the stroke transform type.

+ + hh446916 + D2D1_STROKE_TRANSFORM_TYPE ID2D1StrokeStyle1::GetStrokeTransformType() + ID2D1StrokeStyle1::GetStrokeTransformType +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Gets the stroke transform type.

+
+ + hh446916 + GetStrokeTransformType + GetStrokeTransformType + D2D1_STROKE_TRANSFORM_TYPE ID2D1StrokeStyle1::GetStrokeTransformType() +
+ + + A WIC RenderTarget. + + + + + Initializes a new instance of the class from a . + + The factory. + The WIC bitmap. + The render target properties. + + + +

Encapsulates a 32-bit device independent bitmap and device context, which can be used for rendering glyphs.

+
+ +

You create an by using the method, as shown in the following code.

if (SUCCEEDED(hr))	
+            { hr = g_pGdiInterop->CreateBitmapRenderTarget(hdc, r.right, r.bottom, &g_pBitmapRenderTarget);	
+            }	
+            

takes a handle to a DC and the desired width and height. In the above example, the width and height given are the size of the window rect.

Rendering

One way to use a , for rendering to a bitmap, is to implement a custom renderer interface derived from the interface. In your implementation of the DrawGlyphRun method of your custom renderer, call the method to draw the glyphs as shown in the following code.

STDMETHODIMP GdiTextRenderer::DrawGlyphRun( __maybenull void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY,  measuringMode, __in  const* glyphRun, __in  const* glyphRunDescription, * clientDrawingEffect )	
+            {  hr = ; // Pass on the drawing call to the render target to do the real work.  dirtyRect = {0}; hr = pRenderTarget_->DrawGlyphRun( baselineOriginX, baselineOriginY, measuringMode, glyphRun, pRenderingParams_, RGB(0,200,255), &dirtyRect ); return hr;	
+            }	
+            

The encapsulates and renders to a bitmap in memory. The GetMemoryDC function returns a handle to the device context of this bitmap.

+
+ + dd368165 + IDWriteBitmapRenderTarget + IDWriteBitmapRenderTarget +
+ + + Draws a run of glyphs to a bitmap target at the specified position. + + + You can use the IDWriteBitmapRenderTarget::DrawGlyphRun to render to a bitmap from a custom text renderer that you implement. The custom text renderer should call this method from within the callback method as shown in the following code. + STDMETHODIMP GdiTextRenderer::DrawGlyphRun( __maybenull void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE measuringMode, __in DWRITE_GLYPH_RUN const* glyphRun, __in DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription, IUnknown* clientDrawingEffect ) + { HRESULT hr = S_OK; // Pass on the drawing call to the render target to do the real work. RECT dirtyRect = {0}; hr = pRenderTarget_->DrawGlyphRun( baselineOriginX, baselineOriginY, measuringMode, glyphRun, pRenderingParams_, RGB(0,200,255), &dirtyRect ); return hr; + } + + The baselineOriginX, baslineOriginY, measuringMethod, and glyphRun parameters are provided (as arguments) when the callback method is invoked. The renderingParams, textColor and blackBoxRect are not. Default rendering params can be retrieved by using the method. + + The horizontal position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB. + The vertical position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB. + The measuring method for glyphs in the run, used with the other properties to determine the rendering mode. + The structure containing the properties of the glyph run. + The object that controls rendering behavior. + The foreground color of the text. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteBitmapRenderTarget::DrawGlyphRun([None] float baselineOriginX,[None] float baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[None] IDWriteRenderingParams* renderingParams,[None] COLORREF textColor,[Out, Optional] RECT* blackBoxRect) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Draws a run of glyphs to a bitmap target at the specified position.

+
+

The horizontal position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

+

The vertical position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

+

The measuring method for glyphs in the run, used with the other properties to determine the rendering mode.

+

The structure containing the properties of the glyph run.

+

The object that controls rendering behavior.

+

The foreground color of the text.

+

The optional rectangle that receives the bounding box (in pixels not DIPs) of all the pixels affected by drawing the glyph run. The black box rectangle may extend beyond the dimensions of the bitmap.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

You can use the to render to a bitmap from a custom text renderer that you implement. The custom text renderer should call this method from within the callback method as shown in the following code.

STDMETHODIMP GdiTextRenderer::DrawGlyphRun( __maybenull void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY,  measuringMode, __in  const* glyphRun, __in  const* glyphRunDescription, * clientDrawingEffect )	
+            {  hr = ; // Pass on the drawing call to the render target to do the real work.  dirtyRect = {0}; hr = pRenderTarget_->DrawGlyphRun( baselineOriginX, baselineOriginY, measuringMode, glyphRun, pRenderingParams_, RGB(0,200,255), &dirtyRect ); return hr;	
+            }	
+            

The baselineOriginX, baslineOriginY, measuringMethod, and glyphRun parameters are provided (as arguments) when the callback method is invoked. The renderingParams, textColor and blackBoxRect are not.

Default rendering params can be retrieved by using the method.

+
+ + dd368167 + HRESULT IDWriteBitmapRenderTarget::DrawGlyphRun([In] float baselineOriginX,[In] float baselineOriginY,[In] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] IDWriteRenderingParams* renderingParams,[In] COLORREF textColor,[Out, Optional] RECT* blackBoxRect) + IDWriteBitmapRenderTarget::DrawGlyphRun +
+ + +

Gets a handle to the memory device context.

+
+

Returns a device context handle to the memory device context.

+ +

An application can use the device context to draw using GDI functions. An application can obtain the bitmap handle () by calling GetCurrentObject. An application that wants information about the underlying bitmap, including a reference to the pixel data, can call GetObject to fill in a DIBSECTION structure. The bitmap is always a 32-bit top-down DIB.

Note that this method takes no parameters and returns an variable, not an .

memoryHdc = g_pBitmapRenderTarget->GetMemoryDC();	
+            

The returned here is still owned by the bitmap render targer object and should not be released or deleted by the client.

+
+ + dd368171 + HDC IDWriteBitmapRenderTarget::GetMemoryDC() + IDWriteBitmapRenderTarget::GetMemoryDC +
+ + +

Gets the number of bitmap pixels per DIP.

+
+

The number of bitmap pixels per DIP.

+ +

A DIP (device-independent pixel) is 1/96 inch. Therefore, this value is the number if pixels per inch divided by 96.

+
+ + dd368173 + float IDWriteBitmapRenderTarget::GetPixelsPerDip() + IDWriteBitmapRenderTarget::GetPixelsPerDip +
+ + +

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.

+
+

A value that specifies the number of pixels per DIP.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368182 + HRESULT IDWriteBitmapRenderTarget::SetPixelsPerDip([In] float pixelsPerDip) + IDWriteBitmapRenderTarget::SetPixelsPerDip +
+ + +

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.

+
+

When this method returns, contains a transform matrix.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368169 + HRESULT IDWriteBitmapRenderTarget::GetCurrentTransform([Out] DWRITE_MATRIX* transform) + IDWriteBitmapRenderTarget::GetCurrentTransform +
+ + +

Sets the transform that maps abstract coordinate to DIPs (device-independent pixel). This does not affect the world transform of the underlying device context.

+
+

Specifies the new transform. This parameter can be null, in which case the identity transform is implied.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368179 + HRESULT IDWriteBitmapRenderTarget::SetCurrentTransform([In, Optional] const DWRITE_MATRIX* transform) + IDWriteBitmapRenderTarget::SetCurrentTransform +
+ + +

Gets the dimensions of the target bitmap.

+
+

Returns the width and height of the bitmap in pixels.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368176 + HRESULT IDWriteBitmapRenderTarget::GetSize([Out] SIZE* size) + IDWriteBitmapRenderTarget::GetSize +
+ + +

Resizes the bitmap.

+
+

The new bitmap width, in pixels.

+

The new bitmap height, in pixels.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368177 + HRESULT IDWriteBitmapRenderTarget::Resize([In] unsigned int width,[In] unsigned int height) + IDWriteBitmapRenderTarget::Resize +
+ + +

Gets a handle to the memory device context.

+
+ +

An application can use the device context to draw using GDI functions. An application can obtain the bitmap handle () by calling GetCurrentObject. An application that wants information about the underlying bitmap, including a reference to the pixel data, can call GetObject to fill in a DIBSECTION structure. The bitmap is always a 32-bit top-down DIB.

Note that this method takes no parameters and returns an variable, not an .

memoryHdc = g_pBitmapRenderTarget->GetMemoryDC();	
+            

The returned here is still owned by the bitmap render targer object and should not be released or deleted by the client.

+
+ + dd368171 + GetMemoryDC + GetMemoryDC + HDC IDWriteBitmapRenderTarget::GetMemoryDC() +
+ + +

Gets or sets the number of bitmap pixels per DIP.

+
+ +

A DIP (device-independent pixel) is 1/96 inch. Therefore, this value is the number if pixels per inch divided by 96.

+
+ + dd368173 + GetPixelsPerDip / SetPixelsPerDip + GetPixelsPerDip + float IDWriteBitmapRenderTarget::GetPixelsPerDip() +
+ + +

Gets or sets 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.

+
+ + dd368169 + GetCurrentTransform / SetCurrentTransform + GetCurrentTransform + HRESULT IDWriteBitmapRenderTarget::GetCurrentTransform([Out] DWRITE_MATRIX* transform) +
+ + +

Gets the dimensions of the target bitmap.

+
+ + dd368176 + GetSize + GetSize + HRESULT IDWriteBitmapRenderTarget::GetSize([Out] SIZE* size) +
+ + + An inline object for trimming, using an ellipsis as the omission sign. + + + + +

Wraps an application-defined inline graphic, allowing DWrite to query metrics as if the graphic were a glyph inline with the text.

+
+ + dd371221 + IDWriteInlineObject + IDWriteInlineObject +
+ + +

Wraps an application-defined inline graphic, allowing DWrite to query metrics as if the graphic were a glyph inline with the text.

+
+ + dd371221 + IDWriteInlineObject + IDWriteInlineObject +
+ + + The application implemented rendering callback () 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. + + The drawing context passed to . This parameter may be NULL. + The same renderer passed to as the object's containing parent. This is useful if the inline object is recursive such as a nested layout. + The x-coordinate at the upper-left corner of the inline object. + The y-coordinate at the upper-left corner of the inline object. + A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. + A Boolean flag that indicates whether the object is in a right-to-left context and should be drawn flipped. + The drawing effect set in . Usually this effect is a foreground brush that is used in glyph drawing. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteInlineObject::Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] float originX,[None] float originY,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + + Layout uses this to determine the line-breaking behavior of the inline object among the text. + + When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately preceding it. + When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately following it. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) + + + + calls this callback function to get the measurement of the inline object. + + A structure describing the geometric measurement of an application-defined inline object. These metrics are in relation to the baseline of the adjacent text. + HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) + + + + TextLayout 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. + + Overshoot of visible extents (in DIPs) outside the object. + HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + + + + The application implemented rendering callback () 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. + + The drawing context passed to . This parameter may be NULL. + The same renderer passed to as the object's containing parent. This is useful if the inline object is recursive such as a nested layout. + The x-coordinate at the upper-left corner of the inline object. + The y-coordinate at the upper-left corner of the inline object. + A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. + A Boolean flag that indicates whether the object is in a right-to-left context and should be drawn flipped. + The drawing effect set in . Usually this effect is a foreground brush that is used in glyph drawing. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteInlineObject::Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] float originX,[None] float originY,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + + Layout uses this to determine the line-breaking behavior of the inline object among the text. + + When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately preceding it. + When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately following it. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

The application implemented rendering callback () 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.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371225 + HRESULT IDWriteInlineObject::Draw([In, Optional] void* clientDrawingContext,[In] IDWriteTextRenderer* renderer,[In] float originX,[In] float originY,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In, Optional] void* clientDrawingEffect) + IDWriteInlineObject::Draw +
+ + +

calls this callback function to get the measurement of the inline object.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371232 + HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) + IDWriteInlineObject::GetMetrics +
+ + +

TextLayout 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.

The overhangs should be returned relative to the reported size of the object (see ), and should not be baseline adjusted.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371235 + HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + IDWriteInlineObject::GetOverhangMetrics +
+ + +

Layout uses this to determine the line-breaking behavior of the inline object among the text.

+
+

When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately preceding it.

+

When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately following it.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371229 + HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) + IDWriteInlineObject::GetBreakConditions +
+ + + calls this callback function to get the measurement of the inline object. + + A structure describing the geometric measurement of an application-defined inline object. These metrics are in relation to the baseline of the adjacent text. + HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) + + + + TextLayout 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. + + Overshoot of visible extents (in DIPs) outside the object. + HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + + + + Initializes a new instance of the class. + + The native PTR. + + + + Creates an inline object for trimming, using an ellipsis as the omission sign. + + + The ellipsis will be created using the current settings of the format, including base font, style, and any effects. Alternate omission signs can be created by the application by implementing . + + a + A text format object, created with {{CreateTextFormat}}, used for text layout. + HRESULT IDWriteFactory::CreateEllipsisTrimmingSign([None] IDWriteTextFormat* textFormat,[Out] IDWriteInlineObject** trimmingSign) + + + +

Used to create all subsequent DirectWrite objects. This interface is the root factory interface for all DirectWrite objects.

+
+ +

Create an object by using the function.

 if (SUCCEEDED(hr))	
+            { hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory_) );	
+            } 

An object holds state information, such as font loader registration and cached font data. This state can be shared or isolated. Shared is recommended for most applications because it saves memory. However, isolated can be useful in situations where you want to have a separate state for some objects.

+
+ + dd368183 + IDWriteFactory + IDWriteFactory +
+ + + Default Constructor for a . + + + + + Default Constructor for a . + + + + + Registers a custom font collection loader with the factory object. + + + This function registers a font collection loader with DirectWrite. The font collection loader interface, which should be implemented by a singleton object, handles enumerating font files in a font collection given a particular type of key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistration operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation. + + Reference to a object to be registered. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFactory::RegisterFontCollectionLoader([None] IDWriteFontCollectionLoader* fontCollectionLoader) + + + + Unregisters a custom font collection loader that was previously registered using {{RegisterFontCollectionLoader}}. + + Pointer to a object to be unregistered. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFactory::UnregisterFontCollectionLoader([None] IDWriteFontCollectionLoader* fontCollectionLoader) + + + + Registers a font file loader with DirectWrite. + + + This function registers a font file loader with DirectWrite. The font file loader interface, which should be implemented by a singleton object, handles loading font file resources of a particular type from a key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistration operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation. + + Pointer to a object for a particular file resource type. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFactory::RegisterFontFileLoader([None] IDWriteFontFileLoader* fontFileLoader) + + + + Unregisters a font file loader that was previously registered with the DirectWrite font system using {{RegisterFontFileLoader}}. + + + This function unregisters font file loader callbacks with the DirectWrite font system. You should implement the font file loader interface by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors and must not unregister themselves in their destructors, because registration and unregistration operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite should be performed outside of the font file loader implementation. + + Pointer to the file loader that was previously registered with the DirectWrite font system using {{RegisterFontFileLoader}}. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFactory::UnregisterFontFileLoader([None] IDWriteFontFileLoader* fontFileLoader) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets an object which represents the set of installed fonts.

+
+

If this parameter is nonzero, the function performs an immediate check for changes to the set of installed fonts. If this parameter is , the function will still detect changes if the font cache service is running, but there may be some latency. For example, an application might specify TRUE if it has itself just installed a font and wants to be sure the font collection contains that font.

+

When this method returns, contains the address of a reference to the system font collection object, or null in case of failure.

+ + dd368208 + HRESULT IDWriteFactory::GetSystemFontCollection([Out] IDWriteFontCollection** fontCollection,[In] BOOL checkForUpdates) + IDWriteFactory::GetSystemFontCollection +
+ + +

Creates a font collection using a custom font collection loader.

+
+

An application-defined font collection loader, which must have been previously registered using RegisterFontCollectionLoader.

+

The key used by the loader to identify a collection of font files. The buffer allocated for this key should at least be the size of collectionKeySize.

+

The size, in bytes, of the collection key.

+

Contains an address of a reference to the system font collection object if the method succeeds, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368186 + HRESULT IDWriteFactory::CreateCustomFontCollection([In] IDWriteFontCollectionLoader* collectionLoader,[In, Buffer] const void* collectionKey,[In] unsigned int collectionKeySize,[Out, Fast] IDWriteFontCollection** fontCollection) + IDWriteFactory::CreateCustomFontCollection +
+ + +

Registers a custom font collection loader with the factory object.

+
+

Pointer to a object to be registered.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function registers a font collection loader with DirectWrite. The font collection loader interface, which should be implemented by a singleton object, handles enumerating font files in a font collection given a particular type of key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation.

+
+ + dd368209 + HRESULT IDWriteFactory::RegisterFontCollectionLoader([In] IDWriteFontCollectionLoader* fontCollectionLoader) + IDWriteFactory::RegisterFontCollectionLoader +
+ + +

Unregisters a custom font collection loader that was previously registered using RegisterFontCollectionLoader.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368211 + HRESULT IDWriteFactory::UnregisterFontCollectionLoader([In] IDWriteFontCollectionLoader* fontCollectionLoader) + IDWriteFactory::UnregisterFontCollectionLoader +
+ + +

Creates a font file reference object from a local font file.

+
+

An array of characters that contains the absolute file path for the font file. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk.

+

The last modified time of the input file path. If the parameter is omitted, the function will access the font file to obtain its last write time. You should specify this value to avoid extra disk access. Subsequent operations on the constructed object may fail if the user provided lastWriteTime doesn't match the file on the disk.

+

When this method returns, contains an address of a reference to the newly created font file reference object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368197 + HRESULT IDWriteFactory::CreateFontFileReference([In] const wchar_t* filePath,[In, Optional] const FILETIME* lastWriteTime,[Out, Fast] IDWriteFontFile** fontFile) + IDWriteFactory::CreateFontFileReference +
+ + +

Creates a reference to an application-specific font file resource.

+
+

A font file reference key that uniquely identifies the font file resource during the lifetime of fontFileLoader.

+

The size of the font file reference key in bytes.

+

The font file loader that will be used by the font system to load data from the file identified by fontFileReferenceKey.

+

Contains an address of a reference to the newly created font file object when this method succeeds, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function is provided for cases when an application or a document needs to use a private font without having to install it on the system. fontFileReferenceKey has to be unique only in the scope of the fontFileLoader used in this call.

+
+ + dd368188 + HRESULT IDWriteFactory::CreateCustomFontFileReference([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[In] IDWriteFontFileLoader* fontFileLoader,[Out, Fast] IDWriteFontFile** fontFile) + IDWriteFactory::CreateCustomFontFileReference +
+ + +

Creates an object that represents a font face.

+
+

A value that indicates the type of file format of the font face.

+

The number of font files, in element count, required to represent the font face.

+

A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call.

+

The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero.

+

A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face.

+

When this method returns, contains an address of a reference to the newly created font face object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368196 + HRESULT IDWriteFactory::CreateFontFace([In] DWRITE_FONT_FACE_TYPE fontFaceType,[In] unsigned int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out, Fast] IDWriteFontFace** fontFace) + IDWriteFactory::CreateFontFace +
+ + +

Creates an object that represents a font face.

+
+

A value that indicates the type of file format of the font face.

+

The number of font files, in element count, required to represent the font face.

+

A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call.

+

The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero.

+

A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face.

+

When this method returns, contains an address of a reference to the newly created font face object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368196 + HRESULT IDWriteFactory::CreateFontFace([In] DWRITE_FONT_FACE_TYPE fontFaceType,[In] unsigned int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out, Fast] IDWriteFontFace** fontFace) + IDWriteFactory::CreateFontFace +
+ + +

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.

+
+ No documentation. +

Standard error code.

+ + dd368201 + HRESULT IDWriteFactory::CreateRenderingParams([Out, Fast] IDWriteRenderingParams** renderingParams) + IDWriteFactory::CreateRenderingParams +
+ + +

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.

+
+

A handle for the specified monitor.

+

When this method returns, contains an address of a reference to the rendering parameters object created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368199 + HRESULT IDWriteFactory::CreateMonitorRenderingParams([In] HMONITOR monitor,[Out, Fast] IDWriteRenderingParams** renderingParams) + IDWriteFactory::CreateMonitorRenderingParams +
+ + +

Creates a rendering parameters object with the specified properties.

+
+

The gamma level to be set for the new rendering parameters object.

+

The enhanced contrast level to be set for the new rendering parameters object.

+

The ClearType level to be set for the new rendering parameters object.

+

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.

+

A value that represents the method (for example, ClearType natural quality) for rendering glyphs.

+

When this method returns, contains an address of a reference to the newly created rendering parameters object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368190 + HRESULT IDWriteFactory::CreateCustomRenderingParams([In] float gamma,[In] float enhancedContrast,[In] float clearTypeLevel,[In] DWRITE_PIXEL_GEOMETRY pixelGeometry,[In] DWRITE_RENDERING_MODE renderingMode,[Out, Fast] IDWriteRenderingParams** renderingParams) + IDWriteFactory::CreateCustomRenderingParams +
+ + +

Registers a font file loader with DirectWrite.

+
+

Pointer to a object for a particular file resource type.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function registers a font file loader with DirectWrite. The font file loader interface, which should be implemented by a singleton object, handles loading font file resources of a particular type from a key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation.

+
+ + dd368210 + HRESULT IDWriteFactory::RegisterFontFileLoader([In] IDWriteFontFileLoader* fontFileLoader) + IDWriteFactory::RegisterFontFileLoader +
+ + +

Unregisters a font file loader that was previously registered with the DirectWrite font system using RegisterFontFileLoader.

+
+ No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This function unregisters font file loader callbacks with the DirectWrite font system. You should implement the font file loader interface by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite should be performed outside of the font file loader implementation.

+
+ + dd368212 + HRESULT IDWriteFactory::UnregisterFontFileLoader([In] IDWriteFontFileLoader* fontFileLoader) + IDWriteFactory::UnregisterFontFileLoader +
+ + +

Creates a text format object used for text layout.

+
+

An array of characters that contains the name of the font family

+

A reference to a font collection object. When this is null, indicates the system font collection.

+

A value that indicates the font weight for the text object created by this method.

+

A value that indicates the font style for the text object created by this method.

+

A value that indicates the font stretch for the text object created by this method.

+

The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch.

+

An array of characters that contains the locale name.

+

When this method returns, contains an address of a reference to a newly created text format object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368203 + HRESULT IDWriteFactory::CreateTextFormat([In] const wchar_t* fontFamilyName,[In, Optional] IDWriteFontCollection* fontCollection,[In] DWRITE_FONT_WEIGHT fontWeight,[In] DWRITE_FONT_STYLE fontStyle,[In] DWRITE_FONT_STRETCH fontStretch,[In] float fontSize,[In] const wchar_t* localeName,[Out, Fast] IDWriteTextFormat** textFormat) + IDWriteFactory::CreateTextFormat +
+ + +

Creates a typography object for use in a text layout.

+
+

When this method returns, contains the address of a reference to a newly created typography object, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368206 + HRESULT IDWriteFactory::CreateTypography([Out, Fast] IDWriteTypography** typography) + IDWriteFactory::CreateTypography +
+ + +

Creates an object that is used for interoperability with GDI.

+
+

When this method returns, contains an address of a reference to a GDI interop object if successful, or null in case of failure.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368207 + HRESULT IDWriteFactory::GetGdiInterop([Out] IDWriteGdiInterop** gdiInterop) + IDWriteFactory::GetGdiInterop +
+ + +

Takes a string, text format, and associated constraints, and produces an object that represents the fully analyzed and formatted result.

+
+

An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded null characters.

+

The number of characters in the string.

+

A reference to an object that indicates the format to apply to the string.

+

The width of the layout box.

+

The height of the layout box.

+

When this method returns, contains an address of a reference to the resultant text layout object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368205 + HRESULT IDWriteFactory::CreateTextLayout([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] float maxWidth,[In] float maxHeight,[Out, Fast] IDWriteTextLayout** textLayout) + IDWriteFactory::CreateTextLayout +
+ + +

Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode.

+
+

An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded null characters.

+

The length of the string, in character count.

+

The text formatting object to apply to the string.

+

The width of the layout box.

+

The height of the layout box.

+

The number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI device pixelsPerDip is 1. If rendering onto a 120 DPI device pixelsPerDip is 1.25 (120/96).

+

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specifies the font size and pixels per DIP.

+

Instructs the text layout to use the same metrics as GDI bi-level text when set to . When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.

+

When this method returns, contains an address to the reference of the resultant text layout object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The resulting text layout should only be used for the intended resolution, and for cases where text scalability is desired CreateTextLayout should be used instead.

+
+ + dd368192 + HRESULT IDWriteFactory::CreateGdiCompatibleTextLayout([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] float layoutWidth,[In] float layoutHeight,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[Out, Fast] IDWriteTextLayout** textLayout) + IDWriteFactory::CreateGdiCompatibleTextLayout +
+ + +

Creates an inline object for trimming, using an ellipsis as the omission sign.

+
+

A text format object, created with CreateTextFormat, used for text layout.

+

When this method returns, contains an address of a reference to the omission (that is, ellipsis trimming) sign created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The ellipsis will be created using the current settings of the format, including base font, style, and any effects. Alternate omission signs can be created by the application by implementing .

+
+ + dd368194 + HRESULT IDWriteFactory::CreateEllipsisTrimmingSign([In] IDWriteTextFormat* textFormat,[Out, Fast] IDWriteInlineObject** trimmingSign) + IDWriteFactory::CreateEllipsisTrimmingSign +
+ + +

Returns an interface for performing text analysis.

+
+

When this method returns, contains an address of a reference to the newly created text analyzer object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368202 + HRESULT IDWriteFactory::CreateTextAnalyzer([Out, Fast] IDWriteTextAnalyzer** textAnalyzer) + IDWriteFactory::CreateTextAnalyzer +
+ + +

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).

+
+

A value that specifies how to apply number substitution on digits and related punctuation.

+

The name of the locale to be used in the numberSubstitution object.

+

A Boolean flag that indicates whether to ignore user overrides.

+

When this method returns, contains an address to a reference to the number substitution object created by this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd368200 + HRESULT IDWriteFactory::CreateNumberSubstitution([In] DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod,[In] const wchar_t* localeName,[In] BOOL ignoreUserOverride,[Out, Fast] IDWriteNumberSubstitution** numberSubstitution) + IDWriteFactory::CreateNumberSubstitution +
+ + +

Creates a glyph run analysis object, which encapsulates information used to render a glyph run.

+
+

A structure that contains the properties of the glyph run (font face, advances, and so on).

+

Number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI bitmap then pixelsPerDip is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 1.25.

+

Optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified the emSize and pixelsPerDip.

+

A value that specifies the rendering mode, which must be one of the raster rendering modes (that is, not default and not outline).

+

Specifies the measuring mode to use with glyphs.

+

The horizontal position (X-coordinate) of the baseline origin, in DIPs.

+

Vertical position (Y-coordinate) of the baseline origin, in DIPs.

+

When this method returns, contains an address of a reference to the newly created glyph run analysis object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The glyph run analysis object contains the results of analyzing the glyph run, including the positions of all the glyphs and references to all of the rasterized glyphs in the font cache.

+
+ + dd368198 + HRESULT IDWriteFactory::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] DWRITE_RENDERING_MODE renderingMode,[In] DWRITE_MEASURING_MODE measuringMode,[In] float baselineOriginX,[In] float baselineOriginY,[Out, Fast] IDWriteGlyphRunAnalysis** glyphRunAnalysis) + IDWriteFactory::CreateGlyphRunAnalysis +
+ + +

Creates an object that is used for interoperability with GDI.

+
+ + dd368207 + GetGdiInterop + GetGdiInterop + HRESULT IDWriteFactory::GetGdiInterop([Out] IDWriteGdiInterop** gdiInterop) +
+ + +

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. The font collection API can be used to discover what font families and fonts are available, and to obtain some metadata about the fonts.

+
+ +

The method will give you an object, which encapsulates the set of fonts installed on the system, as shown in the following code example.

* pFontCollection = null; // Get the system font collection.	
+            if (SUCCEEDED(hr))	
+            { hr = pDWriteFactory->GetSystemFontCollection(&pFontCollection);	
+            }	
+            

and both have a GetFontCollection method that returns the font collection being used by the object. These interfaces use the system font collection by default, but can use a custom font collection instead.

To determine what fonts are available on the system, get a reference to the system font collection. You can then use the method to determine the number of fonts and loop through the list. The following example enumerates the fonts in the system font collection, and prints the font family names to the console.

 #include <dwrite.h>	
+            #include <string.h>	
+            #include <stdio.h>	
+            #include <new> // SafeRelease inline function.	
+            template <class T> inline void SafeRelease(T **ppT)	
+            { if (*ppT) { (*ppT)->Release(); *ppT = null; }	
+            } void wmain()	
+            { * pDWriteFactory = null;  hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory) ); * pFontCollection = null; // Get the system font collection. if (SUCCEEDED(hr)) { hr = pDWriteFactory->GetSystemFontCollection(&pFontCollection); } UINT32 familyCount = 0; // Get the number of font families in the collection. if (SUCCEEDED(hr)) { familyCount = pFontCollection->GetFontFamilyCount(); } for (UINT32 i = 0; i < familyCount; ++i) { * pFontFamily = null; // Get the font family. if (SUCCEEDED(hr)) { hr = pFontCollection->GetFontFamily(i, &pFontFamily); } * pFamilyNames = null; // Get a list of localized strings for the family name. if (SUCCEEDED(hr)) { hr = pFontFamily->GetFamilyNames(&pFamilyNames); } UINT32 index = 0;  exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr)) { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); } } // If the specified locale doesn't exist, select the first on the list. if (!exists) index = 0; UINT32 length = 0; // Get the string length. if (SUCCEEDED(hr)) { hr = pFamilyNames->GetStringLength(index, &length); } // Allocate a string big enough to hold the name. wchar_t* name = new (std::nothrow) wchar_t[length+1]; if (name == null) { hr = E_OUTOFMEMORY; } // Get the family name. if (SUCCEEDED(hr)) { hr = pFamilyNames->GetString(index, name, length+1); } if (SUCCEEDED(hr)) { // Print out the family name. wprintf(L"%s\n", name); } SafeRelease(&pFontFamily); SafeRelease(&pFamilyNames); delete [] name; } SafeRelease(&pFontCollection); SafeRelease(&pDWriteFactory);	
+            } 
+
+ + dd368214 + IDWriteFontCollection + IDWriteFontCollection +
+ + + Creates a font collection using a custom font collection loader. + + A reference to a DirectWrite factory + An application-defined font collection loader, which must have been previously registered using . + The key used by the loader to identify a collection of font files. The buffer allocated for this key should at least be the size of collectionKeySize. + HRESULT IDWriteFactory::CreateCustomFontCollection([None] IDWriteFontCollectionLoader* collectionLoader,[In, Buffer] const void* collectionKey,[None] int collectionKeySize,[Out] IDWriteFontCollection** fontCollection) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the number of font families in the collection.

+
+

The number of font families in the collection.

+ + dd370974 + unsigned int IDWriteFontCollection::GetFontFamilyCount() + IDWriteFontCollection::GetFontFamilyCount +
+ + +

Creates a font family object given a zero-based font family index.

+
+

Zero-based index of the font family.

+

When this method returns, contains the address of a reference to the newly created font family object.

+ + dd370970 + HRESULT IDWriteFontCollection::GetFontFamily([In] unsigned int index,[Out] IDWriteFontFamily** fontFamily) + IDWriteFontCollection::GetFontFamily +
+ + +

Finds the font family with the specified family name.

+
+

An array of characters, which is null-terminated, containing the name of the font family. The name is not case-sensitive but must otherwise exactly match a family name in the collection.

+

When this method returns, contains the zero-based index of the matching font family if the family name was found; otherwise, UINT_MAX.

+

When this method returns, TRUE if the family name exists; otherwise, .

+ + dd368217 + HRESULT IDWriteFontCollection::FindFamilyName([In] const wchar_t* familyName,[Out] unsigned int* index,[Out] BOOL* exists) + IDWriteFontCollection::FindFamilyName +
+ + +

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.

+
+

A font face object that specifies the physical font.

+

When this method returns, contains the address of a reference to the newly created font object if successful; otherwise, null.

+ + dd370978 + HRESULT IDWriteFontCollection::GetFontFromFontFace([In] IDWriteFontFace* fontFace,[Out] IDWriteFont** font) + IDWriteFontCollection::GetFontFromFontFace +
+ + +

Gets the number of font families in the collection.

+
+ + dd370974 + GetFontFamilyCount + GetFontFamilyCount + unsigned int IDWriteFontCollection::GetFontFamilyCount() +
+ + +

Used to construct a collection of fonts given a particular type of key.

+
+ +

The font collection loader interface is recommended to be implemented by a singleton object. Note that font collection loader implementations must not register themselves with DirectWrite factory inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed outside of the font file loader implementation as a separate step.

+
+ + dd368215 + IDWriteFontCollectionLoader + IDWriteFontCollectionLoader +
+ + + 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. + + Pointer to the object that was used to create the current font collection. + A font collection key that uniquely identifies the collection of font files within the scope of the font collection loader being used. The buffer allocated for this key must be at least the size, in bytes, specified by collectionKeySize. + a reference to the newly created font file enumerator. + HRESULT IDWriteFontCollectionLoader::CreateEnumeratorFromKey([None] IDWriteFactory* factory,[In, Buffer] const void* collectionKey,[None] int collectionKeySize,[Out] IDWriteFontFileEnumerator** fontFileEnumerator) + + + + Internal FontCollectionLoader Callback + + + + HRESULT IDWriteFontCollectionLoader::CreateEnumeratorFromKey([None] IDWriteFactory* factory,[In, Buffer] const void* collectionKey,[None] int collectionKeySize,[Out] IDWriteFontFileEnumerator** fontFileEnumerator) + + + +

Represents an absolute reference to a font face which contains font face type, appropriate file references, face identification data and various font data such as metrics, names and glyph outlines.

+
+ + dd370983 + IDWriteFontFace + IDWriteFontFace +
+ + + Creates an object that represents a font face. + + A reference to a DirectWrite factory + A value that indicates the type of file format of the font face. + A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call. + The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero. + A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face. + HRESULT IDWriteFactory::CreateFontFace([None] DWRITE_FONT_FACE_TYPE fontFaceType,[None] int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[None] int faceIndex,[None] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out] IDWriteFontFace** fontFace) + + + + Creates a font face object for the font. + + the to create the FontFace from. + HRESULT IDWriteFont::CreateFontFace([Out] IDWriteFontFace** fontFace) + + + + Obtains ideal (resolution-independent) glyph metrics in font design units. + + + Design glyph metrics are used for glyph positioning. + + An array of glyph indices for which to compute metrics. The array must contain at least as many elements as specified by glyphCount. + Indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation + an array of structures. + HRESULT IDWriteFontFace::GetDesignGlyphMetrics([In, Buffer] const short* glyphIndices,[None] int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[None] BOOL isSideways) + + + + Obtains glyph metrics in font design units with the return values compatible with what GDI would produce. + + The logical size of the font in DIP units. + The number of physical pixels per DIP. + An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip. + When set to FALSE, the metrics are the same as the metrics of GDI aliased text. When set to TRUE, the metrics are the same as the metrics of text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY. + An array of glyph indices for which to compute the metrics. + A BOOL value that indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation. + An array of structures filled by this function. The metrics are in font design units. + HRESULT IDWriteFontFace::GetGdiCompatibleGlyphMetrics([None] float emSize,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] BOOL useGdiNatural,[In, Buffer] const short* glyphIndices,[None] int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[None] BOOL isSideways) + + + + Returns the nominal mapping of UCS4 Unicode code points to glyph indices as defined by the font 'CMAP' table. + + + Note that this mapping is primarily provided for line layout engines built on top of the physical font API. Because of OpenType glyph substitution and line layout character substitution, the nominal conversion does not always correspond to how a Unicode string will map to glyph indices when rendering using a particular font face. Also, note that Unicode variant selectors provide for alternate mappings for character to glyph. This call will always return the default variant. + + An array of USC4 code points from which to obtain nominal glyph indices. The array must be allocated and be able to contain the number of elements specified by codePointCount. + a reference to an array of nominal glyph indices filled by this function. + HRESULT IDWriteFontFace::GetGlyphIndices([In, Buffer] const int* codePoints,[None] int codePointCount,[Out, Buffer] short* glyphIndices) + + + + Obtains the font files representing a font face. + + + The IDWriteFontFace::GetFiles method should be called twice. The first time you call GetFilesfontFiles should be NULL. When the method returns, numberOfFiles receives the number of font files that represent the font face. Then, call the method a second time, passing the numberOfFiles value that was output the first call, and a non-null buffer of the correct size to store the references. + + An array that stores references to font files representing the font face. This parameter can be NULL if the user wants only the number of files representing the font face. This API increments reference count of the font file references returned according to COM conventions, and the client should release them when finished. + HRESULT IDWriteFontFace::GetFiles([InOut] int* numberOfFiles,[Out, Buffer, Optional] IDWriteFontFile** fontFiles) + + + + Finds the specified OpenType font table if it exists and returns a reference to it. The function accesses the underlying font data through the interface implemented by the font file loader. + + + The context for the same tag may be different for each call, so each one must be held and released separately. + + The four-character tag of a OpenType font table to find. Use the DWRITE_MAKE_OPENTYPE_TAG macro to create it as an UINT32. Unlike GDI, it does not support the special TTCF and null tags to access the whole font. + When this method returns, contains the address of a reference to the base of the table in memory. The reference is valid only as long as the font face used to get the font table still exists; (not any other font face, even if it actually refers to the same physical font). + When this method returns, the address of a reference to the opaque context, which must be freed by calling {{ReleaseFontTable}}. The context actually comes from the lower-level , which may be implemented by the application or DWrite itself. It is possible for a NULL tableContext to be returned, especially if the implementation performs direct memory mapping on the whole file. Nevertheless, always release it later, and do not use it as a test for function success. The same table can be queried multiple times, but because each returned context can be different, you must release each context separately. + TRUE if the font table exists; otherwise, FALSE. + HRESULT IDWriteFontFace::TryGetFontTable([In] int openTypeTableTag,[Out, Buffer] const void** tableData,[Out] int* tableSize,[Out] void** tableContext,[Out] BOOL* exists) + + + + Computes the outline of a run of glyphs by calling back to the outline sink interface. + + The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch. + An array of glyph indices. The glyphs are in logical order and the advance direction depends on the isRightToLeft parameter. The array must be allocated and be able to contain the number of elements specified by glyphCount. + An optional array of glyph advances in DIPs. The advance of a glyph is the amount to advance the position (in the direction of the baseline) after drawing the glyph. glyphAdvances contains the number of elements specified by glyphIndices.Length. + An optional array of glyph offsets, each of which specifies the offset along the baseline and offset perpendicular to the baseline of a glyph relative to the current pen position. glyphOffsets contains the number of elements specified by glyphIndices.Length. + If TRUE, the ascender of the glyph runs alongside the baseline. If FALSE, the glyph ascender runs perpendicular to the baseline. For example, an English alphabet on a vertical baseline would have isSideways set to FALSE. A client can render a vertical run by setting isSideways to TRUE and rotating the resulting geometry 90 degrees to the right using a transform. The isSideways and isRightToLeft parameters cannot both be true. + The visual order of the glyphs. If this parameter is FALSE, then glyph advances are from left to right. If TRUE, the advance direction is right to left. By default, the advance direction is left to right. + A reference to the interface that is called back to perform outline drawing operations. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteFontFace::GetGlyphRunOutline([None] float emSize,[In, Buffer] const short* glyphIndices,[In, Buffer, Optional] const float* glyphAdvances,[In, Buffer, Optional] const DWRITE_GLYPH_OFFSET* glyphOffsets,[None] int glyphCount,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IDWriteGeometrySink* geometrySink) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Obtains the file format type of a font face.

+
+

A value that indicates the type of format for the font face (such as Type 1, TrueType, vector, or bitmap).

+ + dd371031 + DWRITE_FONT_FACE_TYPE IDWriteFontFace::GetType() + IDWriteFontFace::GetType +
+ + +

Obtains the font files representing a font face.

+
+

If fontFiles is null, receives the number of files representing the font face. Otherwise, the number of font files being requested should be passed. See the Remarks section below for more information.

+

When this method returns, contains a reference to a user-provided array that stores references to font files representing the font face. This parameter can be null if the user wants only the number of files representing the font face. This API increments reference count of the font file references returned according to COM conventions, and the client should release them when finished.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The method should be called twice. The first time you call GetFilesfontFiles should be null. When the method returns, numberOfFiles receives the number of font files that represent the font face.

Then, call the method a second time, passing the numberOfFiles value that was output the first call, and a non-null buffer of the correct size to store the references.

+
+ + dd370989 + HRESULT IDWriteFontFace::GetFiles([InOut] unsigned int* numberOfFiles,[Out, Buffer, Optional] IDWriteFontFile** fontFiles) + IDWriteFontFace::GetFiles +
+ + +

Obtains the index of a font face in the context of its font files.

+
+

The zero-based index of a font face in cases when the font files contain a collection of font faces. If the font files contain a single face, this value is zero.

+ + dd371007 + unsigned int IDWriteFontFace::GetIndex() + IDWriteFontFace::GetIndex +
+ + +

Obtains the algorithmic style simulation flags of a font face.

+
+

Font face simulation flags for algorithmic means of making text bold or italic.

+ + dd371018 + DWRITE_FONT_SIMULATIONS IDWriteFontFace::GetSimulations() + IDWriteFontFace::GetSimulations +
+ + +

Determines whether the font is a symbol font.

+
+

Returns TRUE if the font is a symbol font, otherwise .

+ + dd371034 + BOOL IDWriteFontFace::IsSymbolFont() + IDWriteFontFace::IsSymbolFont +
+ + +

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.

+
+

When this method returns, a? structure that holds metrics (such as ascent, descent, or cap height) for the current font face element. The metrics returned by this function are in font design units.

+ + dd371011 + void IDWriteFontFace::GetMetrics([Out] DWRITE_FONT_METRICS* fontFaceMetrics) + IDWriteFontFace::GetMetrics +
+ + +

Obtains the number of glyphs in the font face.

+
+

The number of glyphs in the font face.

+ + dd370993 + unsigned short IDWriteFontFace::GetGlyphCount() + IDWriteFontFace::GetGlyphCount +
+ + +

Obtains ideal (resolution-independent) glyph metrics in font design units.

+
+

An array of glyph indices for which to compute metrics. The array must contain at least as many elements as specified by glyphCount.

+

The number of elements in the glyphIndices array.

+

When this method returns, contains an array of structures. glyphMetrics must be initialized with an empty buffer that contains at least as many elements as glyphCount. The metrics returned by this function are in font design units.

+

Indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Design glyph metrics are used for glyph positioning.

+
+ + dd370986 + HRESULT IDWriteFontFace::GetDesignGlyphMetrics([In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[In] BOOL isSideways) + IDWriteFontFace::GetDesignGlyphMetrics +
+ + +

Returns the nominal mapping of UCS4 Unicode code points to glyph indices as defined by the font 'CMAP' table.

+
+

An array of USC4 code points from which to obtain nominal glyph indices. The array must be allocated and be able to contain the number of elements specified by codePointCount.

+

The number of elements in the codePoints array.

+

When this method returns, contains a reference to an array of nominal glyph indices filled by this function.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Note that this mapping is primarily provided for line layout engines built on top of the physical font API. Because of OpenType glyph substitution and line layout character substitution, the nominal conversion does not always correspond to how a Unicode string will map to glyph indices when rendering using a particular font face. Also, note that Unicode variant selectors provide for alternate mappings for character to glyph. This call will always return the default variant.

+
+ + dd370998 + HRESULT IDWriteFontFace::GetGlyphIndices([In, Buffer] const unsigned int* codePoints,[In] unsigned int codePointCount,[Out, Buffer] unsigned short* glyphIndices) + IDWriteFontFace::GetGlyphIndices +
+ + +

Finds the specified OpenType font table if it exists and returns a reference to it. The function accesses the underlying font data through the interface implemented by the font file loader.

+
+ No documentation. + No documentation. + No documentation. + No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The context for the same tag may be different for each call, so each one must be held and released separately.

+
+ + dd371039 + HRESULT IDWriteFontFace::TryGetFontTable([In] unsigned int openTypeTableTag,[Out, Buffer] const void** tableData,[Out] unsigned int* tableSize,[Out] void** tableContext,[Out] BOOL* exists) + IDWriteFontFace::TryGetFontTable +
+ + +

Releases the table obtained earlier from TryGetFontTable.

+
+ No documentation. + + dd371036 + void IDWriteFontFace::ReleaseFontTable([In] void* tableContext) + IDWriteFontFace::ReleaseFontTable +
+ + +

Computes the outline of a run of glyphs by calling back to the outline sink interface.

+
+

The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch.

+

An array of glyph indices. The glyphs are in logical order and the advance direction depends on the isRightToLeft parameter. The array must be allocated and be able to contain the number of elements specified by glyphCount.

+

An optional array of glyph advances in DIPs. The advance of a glyph is the amount to advance the position (in the direction of the baseline) after drawing the glyph. glyphAdvances contains the number of elements specified by glyphCount.

+

An optional array of glyph offsets, each of which specifies the offset along the baseline and offset perpendicular to the baseline of a glyph relative to the current pen position. glyphOffsets contains the number of elements specified by glyphCount.

+

The number of glyphs in the run.

+

If TRUE, the ascender of the glyph runs alongside the baseline. If , the glyph ascender runs perpendicular to the baseline. For example, an English alphabet on a vertical baseline would have isSideways set to .

A client can render a vertical run by setting isSideways to TRUE and rotating the resulting geometry 90 degrees to the right using a transform. The isSideways and isRightToLeft parameters cannot both be true.

+

The visual order of the glyphs. If this parameter is , then glyph advances are from left to right. If TRUE, the advance direction is right to left. By default, the advance direction is left to right.

+

A reference to the interface that is called back to perform outline drawing operations.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371003 + HRESULT IDWriteFontFace::GetGlyphRunOutline([In] float emSize,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer, Optional] const float* glyphAdvances,[In, Buffer, Optional] const DWRITE_GLYPH_OFFSET* glyphOffsets,[In] unsigned int glyphCount,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] ID2D1SimplifiedGeometrySink* geometrySink) + IDWriteFontFace::GetGlyphRunOutline +
+ + +

Determines the recommended rendering mode for the font, using the specified size and rendering parameters.

+
+

The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch.

+

The number of physical pixels per DIP. For example, if the DPI of the rendering surface is 96, this value is 1.0f. If the DPI is 120, this value is 120.0f/96.

+

The measuring method that will be used for glyphs in the font. Renderer implementations may choose different rendering modes for different measuring methods, for example:

  • for
  • for
  • for
+

A reference to an object that contains rendering settings such as gamma level, enhanced contrast, and ClearType level. This parameter is necessary in case the rendering parameters object overrides the rendering mode.

+

When this method returns, contains a value that indicates the recommended rendering mode to use.

+ + dd371015 + HRESULT IDWriteFontFace::GetRecommendedRenderingMode([In] float emSize,[In] float pixelsPerDip,[In] DWRITE_MEASURING_MODE measuringMode,[In] IDWriteRenderingParams* renderingParams,[Out] DWRITE_RENDERING_MODE* renderingMode) + IDWriteFontFace::GetRecommendedRenderingMode +
+ + +

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.

+
+

The logical size of the font in DIP units.

+

The number of physical pixels per DIP.

+

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip.

+

A reference to a DWRITE_FONT_METRICS structure to fill in. The metrics returned by this function are in font design units.

+ + dd941789 + HRESULT IDWriteFontFace::GetGdiCompatibleMetrics([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[Out] DWRITE_FONT_METRICS* fontFaceMetrics) + IDWriteFontFace::GetGdiCompatibleMetrics +
+ + +

Obtains glyph metrics in font design units with the return values compatible with what GDI would produce.

+
+

The ogical size of the font in DIP units.

+

The number of physical pixels per DIP.

+

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip.

+

When set to , the metrics are the same as the metrics of GDI aliased text. When set to TRUE, the metrics are the same as the metrics of text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.

+

An array of glyph indices for which to compute the metrics.

+

The number of elements in the glyphIndices array.

+

An array of structures filled by this function. The metrics are in font design units.

+

A value that indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation.

+

Standard error code. If any of the input glyph indices are outside of the valid glyph index range for the current font face, E_INVALIDARG will be returned.

+ + dd941788 + HRESULT IDWriteFontFace::GetGdiCompatibleGlyphMetrics([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[In] BOOL isSideways) + IDWriteFontFace::GetGdiCompatibleGlyphMetrics +
+ + +

Obtains the file format type of a font face.

+
+ + dd371031 + GetType + GetType + DWRITE_FONT_FACE_TYPE IDWriteFontFace::GetType() +
+ + +

Obtains the index of a font face in the context of its font files.

+
+ + dd371007 + GetIndex + GetIndex + unsigned int IDWriteFontFace::GetIndex() +
+ + +

Obtains the algorithmic style simulation flags of a font face.

+
+ + dd371018 + GetSimulations + GetSimulations + DWRITE_FONT_SIMULATIONS IDWriteFontFace::GetSimulations() +
+ + +

Determines whether the font is a symbol font.

+
+ + dd371034 + IsSymbolFont + IsSymbolFont + BOOL IDWriteFontFace::IsSymbolFont() +
+ + +

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.

+
+ + dd371011 + GetMetrics + GetMetrics + void IDWriteFontFace::GetMetrics([Out] DWRITE_FONT_METRICS* fontFaceMetrics) +
+ + +

Obtains the number of glyphs in the font face.

+
+ + dd370993 + GetGlyphCount + GetGlyphCount + unsigned short IDWriteFontFace::GetGlyphCount() +
+ + +

Specifies properties used to identify and execute typographic features in the current font face.

+
+ +

A non-zero value generally enables the feature execution, while the zero value disables it. A feature requiring a selector uses this value to indicate the selector index.

The OpenType standard provides access to typographic features available in the font by means of a feature tag with the associated parameters. The OpenType feature tag is a 4-byte identifier of the registered name of a feature. For example, the 'kern' feature name tag is used to identify the 'Kerning' feature in OpenType font. Similarly, the OpenType feature tag for 'Standard Ligatures' and 'Fractions' is 'liga' and 'frac' respectively. Since a single run can be associated with more than one typographic features, the Text String API accepts typographic settings for a run as a list of features and are executed in the order they are specified.

The value of the tag member represents the OpenType name tag of the feature, while the param value represents additional parameter for the execution of the feature referred by the tag member. Both nameTag and parameter are stored as little endian, the same convention followed by GDI. Most features treat the Param value as a binary value that indicates whether to turn the execution of the feature on or off, with it being off by default in the majority of cases. Some features, however, treat this value as an integral value representing the integer index to the list of alternate results it may produce during the execution; for instance, the feature 'Stylistic Alternates' or 'salt' uses the parameter value as an index to the list of alternate substituting glyphs it could produce for a specified glyph.

+
+ + dd368066 + DWRITE_FONT_FEATURE + DWRITE_FONT_FEATURE +
+ + + Initializes a new instance of the struct. + + The name tag. + The parameter. + + + +

The feature OpenType name identifier.

+
+ + dd368066 + DWRITE_FONT_FEATURE_TAG nameTag + DWRITE_FONT_FEATURE_TAG nameTag +
+ + +

The execution parameter of the feature.

+
+ + dd368066 + unsigned int parameter + unsigned int parameter +
+ + +

Represents a font file. Applications such as font managers or font viewers can call 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.

+
+ + dd371060 + IDWriteFontFile + IDWriteFontFile +
+ + + Creates a font file reference object from a local font file. + + A reference to a DirectWrite factory + An array of characters that contains the absolute file path for the font file. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk. + HRESULT IDWriteFactory::CreateFontFileReference([In] const wchar_t* filePath,[In, Optional] const __int64* lastWriteTime,[Out] IDWriteFontFile** fontFile) + + + + Creates a font file reference object from a local font file. + + A reference to a DirectWrite factory + An array of characters that contains the absolute file path for the font file. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk. + The last modified time of the input file path. If the parameter is omitted, the function will access the font file to obtain its last write time. You should specify this value to avoid extra disk access. Subsequent operations on the constructed object may fail if the user provided lastWriteTime doesn't match the file on the disk. + HRESULT IDWriteFactory::CreateFontFileReference([In] const wchar_t* filePath,[In, Optional] const __int64* lastWriteTime,[Out] IDWriteFontFile** fontFile) + + + + Creates a reference to an application-specific font file resource. + + A reference to a DirectWrite factory + A font file reference key that uniquely identifies the font file resource during the lifetime of fontFileLoader. + The size of the font file reference key in bytes. + The font file loader that will be used by the font system to load data from the file identified by fontFileReferenceKey. + + This function is provided for cases when an application or a document needs to use a private font without having to install it on the system. fontFileReferenceKey has to be unique only in the scope of the fontFileLoader used in this call. + + HRESULT IDWriteFactory::CreateCustomFontFileReference([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[None] IDWriteFontFileLoader* fontFileLoader,[Out] IDWriteFontFile** fontFile) + + + + Obtains the reference to the reference key of a font file. The returned reference is valid until the font file object is released. + + the reference to the reference key of a font file. + HRESULT IDWriteFontFile::GetReferenceKey([Out, Buffer] const void** fontFileReferenceKey,[Out] int* fontFileReferenceKeySize) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Obtains the reference to the reference key of a font file. The returned reference is valid until the font file object is released.

+
+

When this method returns, contains an address of a reference to the font file reference key. Note that the reference value is only valid until the font file object it is obtained from is released. This parameter is passed uninitialized.

+

When this method returns, contains the size of the font file reference key in bytes. This parameter is passed uninitialized.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371108 + HRESULT IDWriteFontFile::GetReferenceKey([Out, Buffer] const void** fontFileReferenceKey,[Out] unsigned int* fontFileReferenceKeySize) + IDWriteFontFile::GetReferenceKey +
+ + +

Obtains the file loader associated with a font file object.

+
+

When this method returns, contains the address of a reference to the font file loader associated with the font file object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371104 + HRESULT IDWriteFontFile::GetLoader([Out] IDWriteFontFileLoader** fontFileLoader) + IDWriteFontFile::GetLoader +
+ + +

Analyzes a file and returns whether it represents a font, and whether the font type is supported by the font system.

+
+

TRUE if the font type is supported by the font system; otherwise, .

+

When this method returns, contains a value that indicates the type of the font file. Note that even if isSupportedFontType is , the fontFileType value may be different from .

+

When this method returns, contains a value that indicates the type of the font face. If fontFileType is not equal to , then that can be constructed from the font file.

+

When this method returns, contains the number of font faces contained in the font file.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Important??Certain font file types are recognized, but not supported by the font system. For example, the font system will recognize a file as a Type 1 font file but will not be able to construct a font face object from it. In such situations, Analyze will set isSupportedFontType output parameter to .

+
+ + dd371099 + HRESULT IDWriteFontFile::Analyze([Out] BOOL* isSupportedFontType,[Out] DWRITE_FONT_FILE_TYPE* fontFileType,[Out, Optional] DWRITE_FONT_FACE_TYPE* fontFaceType,[Out] unsigned int* numberOfFaces) + IDWriteFontFile::Analyze +
+ + + Obtains the file loader associated with a font file object. + + HRESULT IDWriteFontFile::GetLoader([Out] IDWriteFontFileLoader** fontFileLoader) + + + +

Encapsulates a collection of font files. The font system uses this interface to enumerate font files when building a font collection.

+
+ + dd371063 + IDWriteFontFileEnumerator + IDWriteFontFileEnumerator +
+ + + 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. + + the value TRUE if the enumerator advances to a file; otherwise, FALSE if the enumerator advances past the last file in the collection. + HRESULT IDWriteFontFileEnumerator::MoveNext([Out] BOOL* hasCurrentFile) + + + + Gets a reference to the current font file. + + a reference to the newly created object. + HRESULT IDWriteFontFileEnumerator::GetCurrentFontFile([Out] IDWriteFontFile** fontFile) + + + + Internal FontFileEnumerator Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + + 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. + + the value TRUE if the enumerator advances to a file; otherwise, FALSE if the enumerator advances past the last file in the collection. + HRESULT IDWriteFontFileEnumerator::MoveNext([Out] BOOL* hasCurrentFile) + + + + Gets a reference to the current font file. + + a reference to the newly created object. + HRESULT IDWriteFontFileEnumerator::GetCurrentFontFile([Out] IDWriteFontFile** fontFile) + + + +

Handles loading font file resources of a particular type from a font file reference key into a font file stream object.

+
+ +

The font file loader interface is recommended to be implemented by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite factory inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed outside of the font file loader implementation as a separate step.

+
+ + dd371075 + IDWriteFontFileLoader + IDWriteFontFileLoader +
+ + + Creates a font file stream object that encapsulates an open file resource. + + + The resource is closed when the last reference to fontFileStream is released. + + A reference to a font file reference key that uniquely identifies the font file resource within the scope of the font loader being used. The buffer allocated for this key must at least be the size, in bytes, specified by fontFileReferenceKeySize. + a reference to the newly created object. + HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) + + + + Internal FontFileLoader Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) + + + +

Handles loading font file resources of a particular type from a font file reference key into a font file stream object.

+
+ +

The font file loader interface is recommended to be implemented by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite factory inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed outside of the font file loader implementation as a separate step.

+
+ + dd371075 + IDWriteFontFileLoader + IDWriteFontFileLoader +
+ + + Creates a font file stream object that encapsulates an open file resource. + + + The resource is closed when the last reference to fontFileStream is released. + + A reference to a font file reference key that uniquely identifies the font file resource within the scope of the font loader being used. The buffer allocated for this key must at least be the size, in bytes, specified by fontFileReferenceKeySize. + a reference to the newly created object. + HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a font file stream object that encapsulates an open file resource.

+
+

A reference to a font file reference key that uniquely identifies the font file resource within the scope of the font loader being used. The buffer allocated for this key must at least be the size, in bytes, specified by fontFileReferenceKeySize.

+

The size of font file reference key, in bytes.

+

When this method returns, contains the address of a reference to the newly created object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The resource is closed when the last reference to fontFileStream is released.

+
+ + dd371077 + HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) + IDWriteFontFileLoader::CreateStreamFromKey +
+ + +

Loads font file data from a custom font file loader.

+
+ + dd371081 + IDWriteFontFileStream + IDWriteFontFileStream +
+ + + Reads a fragment from a font file. + + + Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment. {{DirectWrite}} may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section. + + When this method returns, contains an address of a reference to the start of the font file fragment. This parameter is passed uninitialized. + The offset of the fragment, in bytes, from the beginning of the font file. + The size of the file fragment, in bytes. + When this method returns, contains the address of + a reference to a reference to the client-defined context to be passed to {{ReleaseFileFragment}}. + HRESULT IDWriteFontFileStream::ReadFileFragment([Out, Buffer] const void** fragmentStart,[None] __int64 fileOffset,[None] __int64 fragmentSize,[Out] void** fragmentContext) + + + + Releases a fragment from a file. + + A reference to the client-defined context of a font fragment returned from {{ReadFileFragment}}. + void IDWriteFontFileStream::ReleaseFileFragment([None] void* fragmentContext) + + + + Obtains the total size of a file. + + + Implementing GetFileSize() for asynchronously loaded font files may require downloading the complete file contents. Therefore, this method should be used only for operations that either require a complete font file to be loaded (for example, copying a font file) or that need to make decisions based on the value of the file size (for example, validation against a persisted file size). + + the total size of the file. + HRESULT IDWriteFontFileStream::GetFileSize([Out] __int64* fileSize) + + + + Obtains the last modified time of the file. + + + The "last modified time" is used by DirectWrite font selection algorithms to determine whether one font resource is more up to date than another one. + + the last modified time of the file in the format that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC). + HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] __int64* lastWriteTime) + + + + Internal FontFileStream Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteFontFileStream::ReadFileFragment([Out, Buffer] const void** fragmentStart,[None] __int64 fileOffset,[None] __int64 fragmentSize,[Out] void** fragmentContext) + + + void IDWriteFontFileStream::ReleaseFileFragment([None] void* fragmentContext) + + + HRESULT IDWriteFontFileStream::GetFileSize([Out] __int64* fileSize) + + + HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] __int64* lastWriteTime) + + + +

Loads font file data from a custom font file loader.

+
+ + dd371081 + IDWriteFontFileStream + IDWriteFontFileStream +
+ + + Reads a fragment from a font file. + + + Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment. {{DirectWrite}} may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section. + + When this method returns, contains an address of a reference to the start of the font file fragment. This parameter is passed uninitialized. + The offset of the fragment, in bytes, from the beginning of the font file. + The size of the file fragment, in bytes. + When this method returns, contains the address of + a reference to a reference to the client-defined context to be passed to {{ReleaseFileFragment}}. + HRESULT IDWriteFontFileStream::ReadFileFragment([Out, Buffer] const void** fragmentStart,[None] __int64 fileOffset,[None] __int64 fragmentSize,[Out] void** fragmentContext) + + + + Releases a fragment from a file. + + A reference to the client-defined context of a font fragment returned from {{ReadFileFragment}}. + void IDWriteFontFileStream::ReleaseFileFragment([None] void* fragmentContext) + + + + Obtains the total size of a file. + + + Implementing GetFileSize() for asynchronously loaded font files may require downloading the complete file contents. Therefore, this method should be used only for operations that either require a complete font file to be loaded (for example, copying a font file) or that need to make decisions based on the value of the file size (for example, validation against a persisted file size). + + the total size of the file. + HRESULT IDWriteFontFileStream::GetFileSize([Out] __int64* fileSize) + + + + Obtains the last modified time of the file. + + + The "last modified time" is used by DirectWrite font selection algorithms to determine whether one font resource is more up to date than another one. + + the last modified time of the file in the format that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC). + HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] __int64* lastWriteTime) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Reads a fragment from a font file.

+
+

When this method returns, contains an address of a reference to the start of the font file fragment. This parameter is passed uninitialized.

+

The offset of the fragment, in bytes, from the beginning of the font file.

+

The size of the file fragment, in bytes.

+

When this method returns, contains the address of a reference to a reference to the client-defined context to be passed to ReleaseFileFragment.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment.

DirectWrite may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section.

+
+ + dd371091 + HRESULT IDWriteFontFileStream::ReadFileFragment([Out] const void** fragmentStart,[In] unsigned longlong fileOffset,[In] unsigned longlong fragmentSize,[Out] void** fragmentContext) + IDWriteFontFileStream::ReadFileFragment +
+ + +

Releases a fragment from a file.

+
+

A reference to the client-defined context of a font fragment returned from ReadFileFragment.

+ + dd371095 + void IDWriteFontFileStream::ReleaseFileFragment([In] void* fragmentContext) + IDWriteFontFileStream::ReleaseFileFragment +
+ + +

Obtains the total size of a file.

+
+

When this method returns, contains the total size of the file.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Implementing GetFileSize() for asynchronously loaded font files may require downloading the complete file contents. Therefore, this method should be used only for operations that either require a complete font file to be loaded (for example, copying a font file) or that need to make decisions based on the value of the file size (for example, validation against a persisted file size).

+
+ + dd371084 + HRESULT IDWriteFontFileStream::GetFileSize([Out] unsigned longlong* fileSize) + IDWriteFontFileStream::GetFileSize +
+ + +

Obtains the last modified time of the file.

+
+

When this method returns, contains the last modified time of the file in the format that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC).

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The "last modified time" is used by DirectWrite font selection algorithms to determine whether one font resource is more up to date than another one.

+
+ + dd371089 + HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] unsigned longlong* lastWriteTime) + IDWriteFontFileStream::GetLastWriteTime +
+ + +

Provides interoperability with GDI, such as methods to convert a font face to a structure, or to convert a GDI font description into a font face. It is also used to create bitmap render target objects.

+
+ + dd371172 + IDWriteGdiInterop + IDWriteGdiInterop +
+ + + Creates a font object that matches the properties specified by the LOGFONT structure. + + A structure containing a GDI-compatible font description. + a reference to a newly created . + HRESULT IDWriteGdiInterop::CreateFontFromLOGFONT([In] const LOGFONTW* logFont,[Out] IDWriteFont** font) + + + + Initializes a LOGFONT structure based on the GDI-compatible properties of the specified font. + + + The conversion to a LOGFONT by using ConvertFontToLOGFONT operates at the logical font level and does not guarantee that it will map to a specific physical font. It is not guaranteed that GDI will select the same physical font for displaying text formatted by a LOGFONT as the object that was converted. + + An object to be converted into a GDI-compatible LOGFONT structure. + When this method returns, contains a structure that receives a GDI-compatible font description. + TRUE if the specified font object is part of the system font collection; otherwise, FALSE. + HRESULT IDWriteGdiInterop::ConvertFontToLOGFONT([None] IDWriteFont* font,[In] LOGFONTW* logFont,[Out] BOOL* isSystemFont) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a font object that matches the properties specified by the structure.

+
+

A structure containing a GDI-compatible font description.

+

When this method returns, contains an address of a reference to a newly created object if successful; otherwise, null.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371187 + HRESULT IDWriteGdiInterop::CreateFontFromLOGFONT([In] const void* logFont,[Out] IDWriteFont** font) + IDWriteGdiInterop::CreateFontFromLOGFONT +
+ + +

Initializes a structure based on the GDI-compatible properties of the specified font.

+
+

An object to be converted into a GDI-compatible structure.

+

When this method returns, contains a structure that receives a GDI-compatible font description.

+

When this method returns, contains TRUE if the specified font object is part of the system font collection; otherwise, .

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The conversion to a by using ConvertFontToLOGFONT operates at the logical font level and does not guarantee that it will map to a specific physical font. It is not guaranteed that GDI will select the same physical font for displaying text formatted by a as the object that was converted.

+
+ + dd371177 + HRESULT IDWriteGdiInterop::ConvertFontToLOGFONT([In] IDWriteFont* font,[In] void* logFont,[Out] BOOL* isSystemFont) + IDWriteGdiInterop::ConvertFontToLOGFONT +
+ + +

Initializes a structure based on the GDI-compatible properties of the specified font.

+
+

An object to be converted into a GDI-compatible structure.

+

When this method returns, contains a reference to a structure that receives a GDI-compatible font description.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The conversion to a by using ConvertFontFaceToLOGFONT operates at the logical font level and does not guarantee that it will map to a specific physical font. It is not guaranteed that GDI will select the same physical font for displaying text formatted by a as the object that was converted.

+
+ + dd371175 + HRESULT IDWriteGdiInterop::ConvertFontFaceToLOGFONT([In] IDWriteFontFace* font,[In] void* logFont) + IDWriteGdiInterop::ConvertFontFaceToLOGFONT +
+ + +

Creates an object that corresponds to the currently selected HFONT of the specified .

+
+

A handle to a device context into which a font has been selected. It is assumed that the client has already performed font mapping and that the font selected into the device context is the actual font to be used for rendering glyphs.

+

Contains an address of a reference to the newly created font face object, or null in case of failure. The font face returned is guaranteed to reference the same physical typeface that would be used for drawing glyphs (but not necessarily characters) using ExtTextOut.

+ +

This function is intended for scenarios in which an application wants to use GDI and Uniscribe 1.x for text layout and shaping, but DirectWrite for final rendering. This function assumes the client is performing text output using glyph indexes.

+
+ + dd371185 + HRESULT IDWriteGdiInterop::CreateFontFaceFromHdc([In] HDC hdc,[Out] IDWriteFontFace** fontFace) + IDWriteGdiInterop::CreateFontFaceFromHdc +
+ + +

Creates an object that encapsulates a bitmap and memory DC (device context) which can be used for rendering glyphs.

+
+

A handle to the optional device context used to create a compatible memory DC (device context).

+

The width of the bitmap render target.

+

The height of the bitmap render target.

+

When this method returns, contains an address of a reference to the newly created object.

+ + dd371182 + HRESULT IDWriteGdiInterop::CreateBitmapRenderTarget([In, Optional] HDC hdc,[In] unsigned int width,[In] unsigned int height,[Out] IDWriteBitmapRenderTarget** renderTarget) + IDWriteGdiInterop::CreateBitmapRenderTarget +
+ + +

Contains the information needed by renderers to draw glyph runs. All coordinates are in device independent pixels (DIPs).

+
+ + dd368089 + DWRITE_GLYPH_RUN + DWRITE_GLYPH_RUN +
+ + +

The physical font face object to draw with.

+
+ + dd368089 + IDWriteFontFace* fontFace + IDWriteFontFace fontFace +
+ + +

The logical size of the font in DIPs (equals 1/96 inch), not points.

+
+ + dd368089 + float fontEmSize + float fontEmSize +
+ + +

The number of glyphs in the glyph run.

+
+ + dd368089 + unsigned int glyphCount + unsigned int glyphCount +
+ + +

A reference to an array of indices to render for the glyph run.

+
+ + dd368089 + const unsigned short* glyphIndices + unsigned short glyphIndices +
+ + +

A reference to an array containing glyph advance widths for the glyph run.

+
+ + dd368089 + const float* glyphAdvances + float glyphAdvances +
+ + +

A reference to an array containing glyph offsets for the glyph run.

+
+ + dd368089 + const DWRITE_GLYPH_OFFSET* glyphOffsets + DWRITE_GLYPH_OFFSET glyphOffsets +
+ + +

If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used. Vertical writing is achieved by specifying isSideways = true and rotating the entire run 90 degrees to the right via a rotate transform.

+
+ + dd368089 + BOOL isSideways + BOOL isSideways +
+ + +

The implicit resolved bidi level of the run. Odd levels indicate right-to-left languages like Hebrew and Arabic, while even levels indicate left-to-right languages like English and Japanese (when written horizontally). For right-to-left languages, the text origin is on the right, and text should be drawn to the left.

+
+ + dd368089 + unsigned int bidiLevel + unsigned int bidiLevel +
+ + + Gets or sets the associated with this GlypRun. + + The font face. + + + + An array of glyph indices. This array contains elements. + + + + + An optional array of glyph advances. This array could be null or contains elements. + + + + + An optional array of glyph offsets. This array could be null or contains elements. + + + + +

Contains low-level information used to render a glyph run.

+
+ +

The alpha texture can be a bi-level alpha texture or a ClearType alpha texture.

A bi-level alpha texture contains one byte per pixel, therefore the size of the buffer for a bi-level texture will be the area of the texture bounds, in bytes. Each byte in a bi-level alpha texture created by CreateAlphaTexture is either set to DWRITE_ALPHA_MAX (that is, 255) or zero.

A ClearType alpha texture contains three bytes per pixel, therefore the size of the buffer for a ClearType alpha texture is three times the area of the texture bounds, in bytes.

+
+ + dd371188 + IDWriteGlyphRunAnalysis + IDWriteGlyphRunAnalysis +
+ + + Creates a glyph run analysis object, which encapsulates information used to render a glyph run. + + The factory. + A structure that contains the properties of the glyph run (font face, advances, and so on). + Number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI bitmap then pixelsPerDip is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 1.25. + A value that specifies the rendering mode, which must be one of the raster rendering modes (that is, not default and not outline). + Specifies the measuring mode to use with glyphs. + The horizontal position (X-coordinate) of the baseline origin, in DIPs. + Vertical position (Y-coordinate) of the baseline origin, in DIPs. + + The glyph run analysis object contains the results of analyzing the glyph run, including the positions of all the glyphs and references to all of the rasterized glyphs in the font cache. + + HRESULT IDWriteFactory::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] DWRITE_RENDERING_MODE renderingMode,[None] DWRITE_MEASURING_MODE measuringMode,[None] float baselineOriginX,[None] float baselineOriginY,[Out] IDWriteGlyphRunAnalysis** glyphRunAnalysis) + + + + Creates a glyph run analysis object, which encapsulates information used to render a glyph run. + + The factory. + A structure that contains the properties of the glyph run (font face, advances, and so on). + Number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI bitmap then pixelsPerDip is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 1.25. + Optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified the emSize and pixelsPerDip. + A value that specifies the rendering mode, which must be one of the raster rendering modes (that is, not default and not outline). + Specifies the measuring mode to use with glyphs. + The horizontal position (X-coordinate) of the baseline origin, in DIPs. + Vertical position (Y-coordinate) of the baseline origin, in DIPs. + + The glyph run analysis object contains the results of analyzing the glyph run, including the positions of all the glyphs and references to all of the rasterized glyphs in the font cache. + + HRESULT IDWriteFactory::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] DWRITE_RENDERING_MODE renderingMode,[None] DWRITE_MEASURING_MODE measuringMode,[None] float baselineOriginX,[None] float baselineOriginY,[Out] IDWriteGlyphRunAnalysis** glyphRunAnalysis) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the bounding rectangle of the physical pixels affected by the glyph run.

+
+

Specifies the type of texture requested. If a bi-level texture is requested, the bounding rectangle includes only bi-level glyphs. Otherwise, the bounding rectangle includes only antialiased glyphs.

+

When this method returns, contains the bounding rectangle of the physical pixels affected by the glyph run, or an empty rectangle if there are no glyphs of the specified texture type.

+ + dd371215 + HRESULT IDWriteGlyphRunAnalysis::GetAlphaTextureBounds([In] DWRITE_TEXTURE_TYPE textureType,[Out] RECT* textureBounds) + IDWriteGlyphRunAnalysis::GetAlphaTextureBounds +
+ + +

Creates an alpha texture of the specified type for glyphs within a specified bounding rectangle.

+
+

A value that specifies the type of texture requested. This can be DWRITE_TEXTURE_BILEVEL_1x1 or . If a bi-level texture is requested, the texture contains only bi-level glyphs. Otherwise, the texture contains only antialiased glyphs.

+

The bounding rectangle of the texture, which can be different than the bounding rectangle returned by GetAlphaTextureBounds.

+

When this method returns, contains the array of alpha values from the texture. The buffer allocated for this array must be at least the size of bufferSize.

+

The size of the alphaValues array, in bytes. The minimum size depends on the dimensions of the rectangle and the type of texture requested.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371189 + HRESULT IDWriteGlyphRunAnalysis::CreateAlphaTexture([In] DWRITE_TEXTURE_TYPE textureType,[In] const RECT* textureBounds,[Out, Buffer] unsigned char* alphaValues,[In] unsigned int bufferSize) + IDWriteGlyphRunAnalysis::CreateAlphaTexture +
+ + +

Gets alpha blending properties required for ClearType blending.

+
+

An object that specifies the ClearType level and enhanced contrast, gamma, pixel geometry, and rendering mode. In most cases, the values returned by the output parameters of this method are based on the properties of this object, unless a GDI-compatible rendering mode was specified.

+

When this method returns, contains the gamma value to use for gamma correction.

+

When this method returns, contains the enhanced contrast value to be used for blending.

+

When this method returns, contains the ClearType level used in the alpha blending.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371190 + HRESULT IDWriteGlyphRunAnalysis::GetAlphaBlendParams([In] IDWriteRenderingParams* renderingParams,[Out] float* blendGamma,[Out] float* blendEnhancedContrast,[Out] float* blendClearTypeLevel) + IDWriteGlyphRunAnalysis::GetAlphaBlendParams +
+ + +

Contains additional properties related to those in .

+
+ + dd368091 + DWRITE_GLYPH_RUN_DESCRIPTION + DWRITE_GLYPH_RUN_DESCRIPTION +
+ + +

An array of characters containing the locale name associated with this run.

+
+ + dd368091 + const wchar_t* localeName + wchar_t localeName +
+ + +

An array of characters containing the text associated with the glyphs.

+
+ + dd368091 + const wchar_t* string + wchar_t string +
+ + +

The number of characters in UTF16 code-units. Note that this may be different than the number of glyphs.

+
+ + dd368091 + unsigned int stringLength + unsigned int stringLength +
+ + +

An array of indices to the glyph indices array, of the first glyphs of all the glyph clusters of the glyphs to render.

+
+ + dd368091 + const unsigned short* clusterMap + unsigned short clusterMap +
+ + +

Corresponding text position in the string this glyph run came from. This is relative to the beginning of the string represented by the object.

+
+ + dd368091 + unsigned int textPosition + unsigned int textPosition +
+ + + A Item. + + + + + A glyph index + + + + + A glyph advance + + + + + A glyph offset + + + + + Internal InlineObject Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT IDWriteInlineObject::Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] float originX,[None] float originY,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) + + + HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + + + HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) + + + +

Line breakpoint characteristics of a character.

+
+ + dd368098 + DWRITE_LINE_BREAKPOINT + DWRITE_LINE_BREAKPOINT +
+ + + Indicates a breaking condition before the character. + + byte breakConditionBefore + + + + Indicates a breaking condition after the character. + + byte breakConditionAfter + + + +

Indicates a breaking condition before the character.

+
+ + dd368098 + unsigned char breakConditionBefore + unsigned char breakConditionBefore +
+ + +

Indicates a breaking condition after the character.

+
+ + dd368098 + unsigned char breakConditionAfter + unsigned char breakConditionAfter +
+ + +

Indicates that the character is some form of whitespace, which may be meaningful for justification.

+
+ + dd368098 + unsigned char isWhitespace + unsigned char isWhitespace +
+ + +

Indicates that the character is a soft hyphen, often used to indicate hyphenation points inside words.

+
+ + dd368098 + unsigned char isSoftHyphen + unsigned char isSoftHyphen +
+ + +

Reserved for future use.

+
+ + dd368098 + unsigned char padding + unsigned char padding +
+ + +

Represents a collection of strings indexed by locale name.

+
+ +

The set of strings represented by an are indexed by a zero based UINT32 number that maps to a locale. The numeric index for a specific locale is retreived by using the FindLocaleName method.

A common use for the interface is to hold a list of localized font family names created by using the method. The following example shows how to get the family name for the "en-us" locale.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
+            } UINT32 index = 0;	
+             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
+            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
+            } // If the specified locale doesn't exist, select the first on the list.	
+            if (!exists) index = 0; UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371250 + IDWriteLocalizedStrings + IDWriteLocalizedStrings +
+ + + Get the locale name from the language. + + Zero-based index of the locale name to be retrieved. + The locale name from the language + HRESULT IDWriteLocalizedStrings::GetLocaleName([None] int index,[Out, Buffer] wchar_t* localeName,[None] int size) + + + + Get the string from the language/string pair. + + Zero-based index of the string from the language/string pair to be retrieved. + The locale name from the language + HRESULT IDWriteLocalizedStrings::GetLocaleName([None] int index,[Out, Buffer] wchar_t* localeName,[None] int size) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the number of language/string pairs.

+
+

The number of language/string pairs.

+ + dd371256 + unsigned int IDWriteLocalizedStrings::GetCount() + IDWriteLocalizedStrings::GetCount +
+ + +

Gets the zero-based index of the locale name/string pair with the specified locale name.

+
+

A null-terminated array of characters containing the locale name to look for.

+

The zero-based index of the locale name/string pair. This method initializes index to UINT_MAX.

+

When this method returns, contains TRUE if the locale name exists; otherwise, . This method initializes exists to .

+ +

Note that if the locale name does not exist, the return value is a success and the exists parameter is . If you are getting the font family name for a font and the specified locale name does not exist, one option is to set the index to 0 as shown below. There is always at least one locale for a font family.

UINT32 index = 0;	
+             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
+            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
+            } // If the specified locale doesn't exist, select the first on the list.	
+            if (!exists) index = 0;	
+            
+
+ + dd371254 + HRESULT IDWriteLocalizedStrings::FindLocaleName([In] const wchar_t* localeName,[Out] unsigned int* index,[Out] BOOL* exists) + IDWriteLocalizedStrings::FindLocaleName +
+ + +

Gets the length in characters (not including the null terminator) of the locale name with the specified index.

+
+

Zero-based index of the locale name to be retrieved.

+

When this method returns, contains the length in characters of the locale name, not including the null terminator.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371262 + HRESULT IDWriteLocalizedStrings::GetLocaleNameLength([In] unsigned int index,[Out] unsigned int* length) + IDWriteLocalizedStrings::GetLocaleNameLength +
+ + +

Copies the locale name with the specified index to the specified array.

+
+

Zero-based index of the locale name to be retrieved.

+

When this method returns, contains a character array, which is null-terminated, that receives the locale name from the language/string pair. The buffer allocated for this array must be at least the size of size, in element count.

+

The size of the array in characters. The size must include space for the terminating null character.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371259 + HRESULT IDWriteLocalizedStrings::GetLocaleName([In] unsigned int index,[Out, Buffer] wchar_t* localeName,[In] unsigned int size) + IDWriteLocalizedStrings::GetLocaleName +
+ + +

Gets the length in characters (not including the null terminator) of the string with the specified index.

+
+

A zero-based index of the language/string pair.

+

The length in characters of the string, not including the null terminator, from the language/string pair.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Use GetStringLength to get the string length before calling the method, as shown in the following code.

UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371269 + HRESULT IDWriteLocalizedStrings::GetStringLength([In] unsigned int index,[Out] unsigned int* length) + IDWriteLocalizedStrings::GetStringLength +
+ + +

Copies the string with the specified index to the specified array.

+
+

The zero-based index of the language/string pair to be examined.

+

The null terminated array of characters that receives the string from the language/string pair. The buffer allocated for this array should be at least the size of size. GetStringLength can be used to get the size of the array before using this method.

+

The size of the array in characters. The size must include space for the terminating null character. GetStringLength can be used to get the size of the array before using this method.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The string returned must be allocated by the caller. You can get the size of the string by using the GetStringLength method prior to calling GetString, as shown in the following example.

UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371267 + HRESULT IDWriteLocalizedStrings::GetString([In] unsigned int index,[Out, Buffer] wchar_t* stringBuffer,[In] unsigned int size) + IDWriteLocalizedStrings::GetString +
+ + +

Gets the number of language/string pairs.

+
+ + dd371256 + GetCount + GetCount + unsigned int IDWriteLocalizedStrings::GetCount() +
+ + +

Holds the appropriate digits and numeric punctuation for a specified locale.

+
+ + dd371271 + IDWriteNumberSubstitution + IDWriteNumberSubstitution +
+ + + 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). + + A reference to a DirectWrite factory + A value that specifies how to apply number substitution on digits and related punctuation. + The name of the locale to be used in the numberSubstitution object. + A Boolean flag that indicates whether to ignore user overrides. + HRESULT IDWriteFactory::CreateNumberSubstitution([In] DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod,[In] const wchar_t* localeName,[In] BOOL ignoreUserOverride,[Out] IDWriteNumberSubstitution** numberSubstitution) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Defines the pixel snapping properties such as pixels per DIP(device-independent pixel) and the current transform matrix of a text renderer.

+
+ + dd371274 + IDWritePixelSnapping + IDWritePixelSnapping +
+ + + Determines whether pixel snapping is disabled. The recommended default is FALSE, + unless doing animation that requires subpixel vertical placement. + + The context passed to IDWriteTextLayout::Draw. + Receives TRUE if pixel snapping is disabled or FALSE if it not. + HRESULT IsPixelSnappingDisabled([None] void* clientDrawingContext,[Out] BOOL* isDisabled) + + + + Gets a transform that maps abstract coordinates to DIPs. + + The drawing context passed to . + a structure which has transform information for pixel snapping. + HRESULT GetCurrentTransform([None] void* clientDrawingContext,[Out] DWRITE_MATRIX* transform) + + + + Gets the number of physical pixels per DIP. + + + Because a DIP (device-independent pixel) is 1/96 inch, the pixelsPerDip value is the number of logical pixels per inch divided by 96. + + The drawing context passed to . + the number of physical pixels per DIP + HRESULT GetPixelsPerDip([None] void* clientDrawingContext,[Out] FLOAT* pixelsPerDip) + + + + Internal TessellationSink Callback + + + + + Determines whether pixel snapping is disabled. The recommended default is FALSE, + unless doing animation that requires subpixel vertical placement. + + This pointer + The context passed to IDWriteTextLayout::Draw. + Output disabled + Receives TRUE if pixel snapping is disabled or FALSE if it not. + HRESULT IsPixelSnappingDisabled([None] void* clientDrawingContext,[Out] BOOL* isDisabled) + + + + Gets a transform that maps abstract coordinates to DIPs. + + This pointer + The drawing context passed to . + Matrix transform + a structure which has transform information for pixel snapping. + HRESULT GetCurrentTransform([None] void* clientDrawingContext,[Out] DWRITE_MATRIX* transform) + + + + Gets the number of physical pixels per DIP. + + + Because a DIP (device-independent pixel) is 1/96 inch, the pixelsPerDip value is the number of logical pixels per inch divided by 96. + + This pointer + The drawing context passed to . + Dip + the number of physical pixels per DIP + HRESULT GetPixelsPerDip([None] void* clientDrawingContext,[Out] FLOAT* pixelsPerDip) + + + +

Represents text rendering settings such as ClearType level, enhanced contrast, and gamma correction for glyph rasterization and filtering.

An application typically obtains a rendering parameters object by calling the method.

+
+ + dd371285 + IDWriteRenderingParams + IDWriteRenderingParams +
+ + + 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. + + A reference to a DirectWrite factory + HRESULT IDWriteFactory::CreateRenderingParams([Out] IDWriteRenderingParams** renderingParams) + + + + 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. + + A reference to a DirectWrite factory + A handle for the specified monitor. + HRESULT IDWriteFactory::CreateMonitorRenderingParams([None] void* monitor,[Out] IDWriteRenderingParams** renderingParams) + + + + Creates a rendering parameters object with the specified properties. + + A reference to a DirectWrite factory + The gamma level to be set for the new rendering parameters object. + The enhanced contrast level to be set for the new rendering parameters object. + The ClearType level to be set for the new rendering parameters object. + 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. + A value that represents the method (for example, ClearType natural quality) for rendering glyphs. + HRESULT IDWriteFactory::CreateCustomRenderingParams([None] float gamma,[None] float enhancedContrast,[None] float clearTypeLevel,[None] DWRITE_PIXEL_GEOMETRY pixelGeometry,[None] DWRITE_RENDERING_MODE renderingMode,[Out] IDWriteRenderingParams** renderingParams) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.

+
+

Returns the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.

+ +

The gamma value is used for gamma correction, which compensates for the non-linear luminosity response of most monitors.

+
+ + dd371295 + float IDWriteRenderingParams::GetGamma() + IDWriteRenderingParams::GetGamma +
+ + +

Gets the enhanced contrast property of the rendering parameters object. Valid values are greater than or equal to zero.

+
+

Returns the amount of contrast enhancement. Valid values are greater than or equal to zero.

+ +

Enhanced contrast is the amount to increase the darkness of text, and typically ranges from 0 to 1. Zero means no contrast enhancement.

+
+ + dd371290 + float IDWriteRenderingParams::GetEnhancedContrast() + IDWriteRenderingParams::GetEnhancedContrast +
+ + +

Gets the ClearType level of the rendering parameters object.

+
+

The ClearType level of the rendering parameters object.

+ +

The ClearType level represents the amount of ClearType ? that is, the degree to which the red, green, and blue subpixels of each pixel are treated differently. Valid values range from zero (meaning no ClearType, which is equivalent to grayscale anti-aliasing) to one (meaning full ClearType)

+
+ + dd371288 + float IDWriteRenderingParams::GetClearTypeLevel() + IDWriteRenderingParams::GetClearTypeLevel +
+ + +

Gets the pixel geometry of the rendering parameters object.

+
+

A value that indicates the type of pixel geometry used in the rendering parameters object.

+ + dd371297 + DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams::GetPixelGeometry() + IDWriteRenderingParams::GetPixelGeometry +
+ + +

Gets the rendering mode of the rendering parameters object.

+
+

A value that indicates the rendering mode of the rendering parameters object.

+ +

By default, the rendering mode is initialized to , which means the rendering mode is determined automatically based on the font and size. To determine the recommended rendering mode to use for a given font and size and rendering parameters object, use the method.

+
+ + dd371300 + DWRITE_RENDERING_MODE IDWriteRenderingParams::GetRenderingMode() + IDWriteRenderingParams::GetRenderingMode +
+ + +

Gets the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.

+
+ +

The gamma value is used for gamma correction, which compensates for the non-linear luminosity response of most monitors.

+
+ + dd371295 + GetGamma + GetGamma + float IDWriteRenderingParams::GetGamma() +
+ + +

Gets the enhanced contrast property of the rendering parameters object. Valid values are greater than or equal to zero.

+
+ +

Enhanced contrast is the amount to increase the darkness of text, and typically ranges from 0 to 1. Zero means no contrast enhancement.

+
+ + dd371290 + GetEnhancedContrast + GetEnhancedContrast + float IDWriteRenderingParams::GetEnhancedContrast() +
+ + +

Gets the ClearType level of the rendering parameters object.

+
+ +

The ClearType level represents the amount of ClearType ? that is, the degree to which the red, green, and blue subpixels of each pixel are treated differently. Valid values range from zero (meaning no ClearType, which is equivalent to grayscale anti-aliasing) to one (meaning full ClearType)

+
+ + dd371288 + GetClearTypeLevel + GetClearTypeLevel + float IDWriteRenderingParams::GetClearTypeLevel() +
+ + +

Gets the pixel geometry of the rendering parameters object.

+
+ + dd371297 + GetPixelGeometry + GetPixelGeometry + DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams::GetPixelGeometry() +
+ + +

Gets the rendering mode of the rendering parameters object.

+
+ +

By default, the rendering mode is initialized to , which means the rendering mode is determined automatically based on the font and size. To determine the recommended rendering mode to use for a given font and size and rendering parameters object, use the method.

+
+ + dd371300 + GetRenderingMode + GetRenderingMode + DWRITE_RENDERING_MODE IDWriteRenderingParams::GetRenderingMode() +
+ + + Defines glyph characteristic information that an application needs to implement justification. + + + + + Justification cannot be applied at the glyph. + + + + + The glyph represents a blank in an Arabic run. + + + + + An inter-character justification point follows the glyph. + + + + + The glyph represents a blank outside an Arabic run. + + + + + Normal middle-of-word glyph that connects to the right (begin). + + + + + Kashida (U+0640) in the middle of the word. + + + + + Final form of an alef-like (U+0627, U+0625, U+0623, U+0622). + + + + + Final form of Ha (U+0647). + + + + + Final form of Ra (U+0631). + + + + + Final form of Ba (U+0628). + + + + + Ligature of alike (U+0628,U+0631). + + + + + Highest priority: initial shape of Seen class (U+0633). + + + + + Highest priority: medial shape of Seen class (U+0633). + + + + +

Contains shaping output properties for an output glyph.

+
+ + dd368123 + DWRITE_SHAPING_GLYPH_PROPERTIES + DWRITE_SHAPING_GLYPH_PROPERTIES +
+ + + Indicates that the glyph has justification applied. + + short justification + + + +

Indicates that the glyph has justification applied.

+
+ + dd368123 + unsigned short justification + unsigned short justification +
+ + +

Indicates that the glyph is the start of a cluster.

+
+ + dd368123 + unsigned short isClusterStart + unsigned short isClusterStart +
+ + +

Indicates that the glyph is a diacritic mark.

+
+ + dd368123 + unsigned short isDiacritic + unsigned short isDiacritic +
+ + +

Indicates that the glyph is a word boundary with no visible space.

+
+ + dd368123 + unsigned short isZeroWidthSpace + unsigned short isZeroWidthSpace +
+ + +

Reserved for future use.

+
+ + dd368123 + unsigned short reserved + unsigned short reserved +
+ + +

The interface describes the font and paragraph properties used to format text, and it describes locale information.

+
+ +

To get a reference to the interface, the application must call the method as shown in the following code.

 if (SUCCEEDED(hr))	
+            { hr = pDWriteFactory_->CreateTextFormat( L"Gabriola", null, , , , 72.0f, L"en-us", &pTextFormat_ );	
+            } 

When creating an object using the CreateTextFormat function, the application specifies the font family, font collection, font weight, font size, and locale name for the text format.

These properties cannot be changed after the object is created. To change these properties, a new object must be created with the desired properties.

The interface is used to draw text with a single format

To draw text with multiple formats, or to use a custom text renderer, use the interface. enables the application to change the format for ranges of text within the string. The takes an object as a parameter and initially applies the format information to the entire string.

This object may not be thread-safe, and it may carry the state of text format change.

DirectWrite and Direct2D

To draw simple text with a single format, Direct2D provides the method, which draws a string using the format information provided by an object.

+
+ + dd316628 + IDWriteTextFormat + IDWriteTextFormat +
+ + + Creates a text format object used for text layout with normal weight, style and stretch. + + an instance of + An array of characters that contains the name of the font family + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + + Creates a text format object used for text layout with normal stretch. + + an instance of + An array of characters that contains the name of the font family + A value that indicates the font weight for the text object created by this method. + A value that indicates the font style for the text object created by this method. + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + + Creates a text format object used for text layout. + + an instance of + An array of characters that contains the name of the font family + A value that indicates the font weight for the text object created by this method. + A value that indicates the font style for the text object created by this method. + A value that indicates the font stretch for the text object created by this method. + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + + Creates a text format object used for text layout. + + an instance of + An array of characters that contains the name of the font family + A pointer to a font collection object. When this is NULL, indicates the system font collection. + A value that indicates the font weight for the text object created by this method. + A value that indicates the font style for the text object created by this method. + A value that indicates the font stretch for the text object created by this method. + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + + Creates a text format object used for text layout. + + an instance of + An array of characters that contains the name of the font family + A pointer to a font collection object. When this is NULL, indicates the system font collection. + A value that indicates the font weight for the text object created by this method. + A value that indicates the font style for the text object created by this method. + A value that indicates the font stretch for the text object created by this method. + The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. + An array of characters that contains the locale name. + HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) + + + +

Sets trimming options for text overflowing the layout width.

+
+

Text trimming options.

+

Application-defined omission sign. This parameter may be null. See for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ dd316712 + HRESULT IDWriteTextFormat::SetTrimming([In] const DWRITE_TRIMMING* trimmingOptions,[In] IDWriteInlineObject* trimmingSign) + IDWriteTextFormat::SetTrimming +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the alignment of text in a paragraph, relative to the leading and trailing edge of a layout box for a interface.

+
+ No documentation. +

This method can return one of the following values.

Return codeDescription

The method succeeded.

E_INVALIDARG

The textAlignment argument is invalid.

?

+ +

The text can be aligned to the leading or trailing edge of the layout box, or it can be centered. The following illustration shows text with the alignment set to , , and , respectively.

Note??The alignment is dependent on reading direction, the above is for left-to-right reading direction. For right-to-left reading direction it would be the opposite.

See for more information.

+
+ + dd316709 + HRESULT IDWriteTextFormat::SetTextAlignment([In] DWRITE_TEXT_ALIGNMENT textAlignment) + IDWriteTextFormat::SetTextAlignment +
+ + +

Sets the alignment option of a paragraph relative to the layout box's top and bottom edge.

+
+

The paragraph alignment option being set for a paragraph; see for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316702 + HRESULT IDWriteTextFormat::SetParagraphAlignment([In] DWRITE_PARAGRAPH_ALIGNMENT paragraphAlignment) + IDWriteTextFormat::SetParagraphAlignment +
+ + +

Sets the word wrapping option.

+
+

The word wrapping option being set for a paragraph; see for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316715 + HRESULT IDWriteTextFormat::SetWordWrapping([In] DWRITE_WORD_WRAPPING wordWrapping) + IDWriteTextFormat::SetWordWrapping +
+ + +

Sets the paragraph reading direction.

+
+

The text reading direction (for example, for languages, such as Arabic, that read from right to left) for a paragraph.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316705 + HRESULT IDWriteTextFormat::SetReadingDirection([In] DWRITE_READING_DIRECTION readingDirection) + IDWriteTextFormat::SetReadingDirection +
+ + +

Sets the paragraph flow direction.

+
+

The paragraph flow direction; see for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316691 + HRESULT IDWriteTextFormat::SetFlowDirection([In] DWRITE_FLOW_DIRECTION flowDirection) + IDWriteTextFormat::SetFlowDirection +
+ + +

Sets a fixed distance between two adjacent tab stops.

+
+

The fixed distance between two adjacent tab stops.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316695 + HRESULT IDWriteTextFormat::SetIncrementalTabStop([In] float incrementalTabStop) + IDWriteTextFormat::SetIncrementalTabStop +
+ + +

Sets trimming options for text overflowing the layout width.

+
+

Text trimming options.

+

Application-defined omission sign. This parameter may be null. See for more information.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316712 + HRESULT IDWriteTextFormat::SetTrimming([In] const DWRITE_TRIMMING* trimmingOptions,[In] IDWriteInlineObject* trimmingSign) + IDWriteTextFormat::SetTrimming +
+ + +

Sets the line spacing.

+
+

Specifies how line height is being determined; see for more information.

+

The line height, or distance between one baseline to another.

+

The distance from top of line to baseline. A reasonable ratio to lineSpacing is 80 percent.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

For the default method, spacing depends solely on the content. For uniform spacing, the specified line height overrides the content.

+
+ + dd316698 + HRESULT IDWriteTextFormat::SetLineSpacing([In] DWRITE_LINE_SPACING_METHOD lineSpacingMethod,[In] float lineSpacing,[In] float baseline) + IDWriteTextFormat::SetLineSpacing +
+ + +

Gets the alignment option of text relative to the layout box's leading and trailing edge.

+
+

Returns the text alignment option of the current paragraph.

+ + dd316681 + DWRITE_TEXT_ALIGNMENT IDWriteTextFormat::GetTextAlignment() + IDWriteTextFormat::GetTextAlignment +
+ + +

Gets the alignment option of a paragraph which is relative to the top and bottom edges of a layout box.

+
+

A value that indicates the current paragraph alignment option.

+ + dd316675 + DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat::GetParagraphAlignment() + IDWriteTextFormat::GetParagraphAlignment +
+ + +

Gets the word wrapping option.

+
+

Returns the word wrapping option; see for more information.

+ + dd316688 + DWRITE_WORD_WRAPPING IDWriteTextFormat::GetWordWrapping() + IDWriteTextFormat::GetWordWrapping +
+ + +

Gets the current reading direction for text in a paragraph.

+
+

A value that indicates the current reading direction for text in a paragraph.

+ + dd316678 + DWRITE_READING_DIRECTION IDWriteTextFormat::GetReadingDirection() + IDWriteTextFormat::GetReadingDirection +
+ + +

Gets the direction that text lines flow.

+
+

The direction that text lines flow within their parent container. For example, indicates that text lines are placed from top to bottom.

+ + dd316631 + DWRITE_FLOW_DIRECTION IDWriteTextFormat::GetFlowDirection() + IDWriteTextFormat::GetFlowDirection +
+ + +

Gets the incremental tab stop position.

+
+

The incremental tab stop value.

+ + dd316655 + float IDWriteTextFormat::GetIncrementalTabStop() + IDWriteTextFormat::GetIncrementalTabStop +
+ + +

Gets the trimming options for text that overflows the layout box.

+
+

When this method returns, it contains a reference to a structure that holds the text trimming options for the overflowing text.

+

When this method returns, contains an address of a reference to a trimming omission sign. This parameter may be null.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316684 + HRESULT IDWriteTextFormat::GetTrimming([Out] DWRITE_TRIMMING* trimmingOptions,[Out] IDWriteInlineObject** trimmingSign) + IDWriteTextFormat::GetTrimming +
+ + +

Gets the line spacing adjustment set for a multiline text paragraph.

+
+

A value that indicates how line height is determined.

+

When this method returns, contains the line height, or distance between one baseline to another.

+

When this method returns, contains the distance from top of line to baseline. A reasonable ratio to lineSpacing is 80 percent.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316657 + HRESULT IDWriteTextFormat::GetLineSpacing([Out] DWRITE_LINE_SPACING_METHOD* lineSpacingMethod,[Out] float* lineSpacing,[Out] float* baseline) + IDWriteTextFormat::GetLineSpacing +
+ + +

Gets the current font collection.

+
+

When this method returns, contains an address of a reference to the font collection being used for the current text.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316633 + HRESULT IDWriteTextFormat::GetFontCollection([Out] IDWriteFontCollection** fontCollection) + IDWriteTextFormat::GetFontCollection +
+ + +

Gets the length of the font family name.

+
+

The size of the character array, in character count, not including the terminated null character.

+ + dd316640 + unsigned int IDWriteTextFormat::GetFontFamilyNameLength() + IDWriteTextFormat::GetFontFamilyNameLength +
+ + +

Gets a copy of the font family name.

+
+

When this method returns, contains a reference to a character array, which is null-terminated, that receives the current font family name. The buffer allocated for this array should be at least the size, in elements, of nameSize.

+

The size of the fontFamilyName character array, in character count, including the terminated null character. To find the size of fontFamilyName, use GetFontFamilyNameLength.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316636 + HRESULT IDWriteTextFormat::GetFontFamilyName([Out, Buffer] wchar_t* fontFamilyName,[In] unsigned int nameSize) + IDWriteTextFormat::GetFontFamilyName +
+ + +

Gets the font weight of the text.

+
+

A value that indicates the type of weight (such as normal, bold, or black).

+ + dd316652 + DWRITE_FONT_WEIGHT IDWriteTextFormat::GetFontWeight() + IDWriteTextFormat::GetFontWeight +
+ + +

Gets the font style of the text.

+
+

A value which indicates the type of font style (such as slope or incline).

+ + dd316649 + DWRITE_FONT_STYLE IDWriteTextFormat::GetFontStyle() + IDWriteTextFormat::GetFontStyle +
+ + +

Gets the font stretch of the text.

+
+

A value which indicates the type of font stretch (such as normal or condensed).

+ + dd316646 + DWRITE_FONT_STRETCH IDWriteTextFormat::GetFontStretch() + IDWriteTextFormat::GetFontStretch +
+ + +

Gets the font size in DIP unites.

+
+

The current font size in DIP units.

+ + dd316643 + float IDWriteTextFormat::GetFontSize() + IDWriteTextFormat::GetFontSize +
+ + +

Gets the length of the locale name.

+
+

The size of the character array in character count, not including the terminated null character.

+ + dd316674 + unsigned int IDWriteTextFormat::GetLocaleNameLength() + IDWriteTextFormat::GetLocaleNameLength +
+ + +

Gets a copy of the locale name.

+
+

Contains a character array that receives the current locale name.

+

The size of the character array, in character count, including the terminated null character. Use GetLocaleNameLength to get the size of the locale name character array.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316659 + HRESULT IDWriteTextFormat::GetLocaleName([Out, Buffer] wchar_t* localeName,[In] unsigned int nameSize) + IDWriteTextFormat::GetLocaleName +
+ + + Gets a copy of the font family name. + + the current font family name. + HRESULT IDWriteTextFormat::GetFontFamilyName([Out, Buffer] wchar_t* fontFamilyName,[None] int nameSize) + + + + Gets a copy of the locale name. + + the current locale name. + HRESULT IDWriteTextFormat::GetLocaleName([Out, Buffer] wchar_t* localeName,[None] int nameSize) + + + +

Gets or sets the alignment option of text relative to the layout box's leading and trailing edge.

+
+ + dd316681 + GetTextAlignment / SetTextAlignment + GetTextAlignment + DWRITE_TEXT_ALIGNMENT IDWriteTextFormat::GetTextAlignment() +
+ + +

Gets or sets the alignment option of a paragraph which is relative to the top and bottom edges of a layout box.

+
+ + dd316675 + GetParagraphAlignment / SetParagraphAlignment + GetParagraphAlignment + DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat::GetParagraphAlignment() +
+ + +

Gets or sets the word wrapping option.

+
+ + dd316688 + GetWordWrapping / SetWordWrapping + GetWordWrapping + DWRITE_WORD_WRAPPING IDWriteTextFormat::GetWordWrapping() +
+ + +

Gets or sets the current reading direction for text in a paragraph.

+
+ + dd316678 + GetReadingDirection / SetReadingDirection + GetReadingDirection + DWRITE_READING_DIRECTION IDWriteTextFormat::GetReadingDirection() +
+ + +

Gets or sets the direction that text lines flow.

+
+ + dd316631 + GetFlowDirection / SetFlowDirection + GetFlowDirection + DWRITE_FLOW_DIRECTION IDWriteTextFormat::GetFlowDirection() +
+ + +

Gets or sets the incremental tab stop position.

+
+ + dd316655 + GetIncrementalTabStop / SetIncrementalTabStop + GetIncrementalTabStop + float IDWriteTextFormat::GetIncrementalTabStop() +
+ + +

Gets the current font collection.

+
+ + dd316633 + GetFontCollection + GetFontCollection + HRESULT IDWriteTextFormat::GetFontCollection([Out] IDWriteFontCollection** fontCollection) +
+ + +

Gets the font weight of the text.

+
+ + dd316652 + GetFontWeight + GetFontWeight + DWRITE_FONT_WEIGHT IDWriteTextFormat::GetFontWeight() +
+ + +

Gets the font style of the text.

+
+ + dd316649 + GetFontStyle + GetFontStyle + DWRITE_FONT_STYLE IDWriteTextFormat::GetFontStyle() +
+ + +

Gets the font stretch of the text.

+
+ + dd316646 + GetFontStretch + GetFontStretch + DWRITE_FONT_STRETCH IDWriteTextFormat::GetFontStretch() +
+ + +

Gets the font size in DIP unites.

+
+ + dd316643 + GetFontSize + GetFontSize + float IDWriteTextFormat::GetFontSize() +
+ + +

The interface represents a block of text after it has been fully analyzed and formatted.

+
+ +

To get a reference to the interface, the application must call the method, as shown in the following code.

 // Create a text layout using the text format.	
+            if (SUCCEEDED(hr))	
+            {  rect; GetClientRect(hwnd_, &rect);  float width  = rect.right  / dpiScaleX_; float height = rect.bottom / dpiScaleY_; hr = pDWriteFactory_->CreateTextLayout( wszText_,      // The string to be laid out and formatted. cTextLength_,  // The length of the string. pTextFormat_,  // The text format to apply to the string (contains font information, etc). width,         // The width of the layout box. height,        // The height of the layout box. &pTextLayout_  // The  interface reference. );	
+            } 

The interface allows the application to change the format for ranges of the text it represents, specified by a structure. The following example shows how to set the font weight for a text range.

 // Set the font weight to bold for the first 5 letters.	
+             textRange = {0, 4}; if (SUCCEEDED(hr))	
+            { hr = pTextLayout_->SetFontWeight(, textRange);	
+            } 

also provides methods for adding strikethrough, underline, and inline objects to the text.

To draw the block of text represented by an object, Direct2D provides the method. To draw using a custom renderer implement an interface and call the method

DirectWrite and Direct2D

To draw a formatted string represented by an object, Direct2D provides the method.

Other Rendering Options

To render using a custom renderer, use the method, which takes a callback interface derived from as an argument, as shown in the following code.

 // Draw the text layout using DirectWrite and the CustomTextRenderer class.	
+            hr = pTextLayout_->Draw( null, pTextRenderer_,  // Custom text renderer. origin.x, origin.y ); 

declares methods for drawing a glyph run, underline, strikethrough and inline objects. It is up to the application to implement these methods. Creating a custom text renderer allows the application to apply additional effects when rendering text, such as a custom fill or outline.

Using a custom text renderer also enables you to render using another technology, such as GDI.

+
+ + dd316718 + IDWriteTextLayout + IDWriteTextLayout +
+ + + Takes a string, text format, and associated constraints, and produces an object that represents the fully analyzed and formatted result. + + an instance of + An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded NULL characters. + A pointer to an object that indicates the format to apply to the string. + The width of the layout box. + The height of the layout box. + HRESULT CreateTextLayout([In, Buffer] const wchar* string,[None] UINT32 stringLength,[None] IDWriteTextFormat* textFormat,[None] FLOAT maxWidth,[None] FLOAT maxHeight,[Out] IDWriteTextLayout** textLayout) + + + + Create a Gdi Compatible TextLayout. Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode. + + + The resulting text layout should only be used for the intended resolution, and for cases where text scalability is desired {{CreateTextLayout}} should be used instead. + + an instance of + An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded NULL characters. + The text formatting object to apply to the string. + The width of the layout box. + The height of the layout box. + The number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI device pixelsPerDip is 1. If rendering onto a 120 DPI device pixelsPerDip is 1.25 (120/96). + Instructs the text layout to use the same metrics as GDI bi-level text when set to FALSE. When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY. + HRESULT IDWriteFactory::CreateGdiCompatibleTextLayout([In, Buffer] const wchar_t* string,[None] int stringLength,[None] IDWriteTextFormat* textFormat,[None] float layoutWidth,[None] float layoutHeight,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] BOOL useGdiNatural,[Out] IDWriteTextLayout** textLayout) + + + + Create a GDI Compatible TextLayout. Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode. + + + The resulting text layout should only be used for the intended resolution, and for cases where text scalability is desired {{CreateTextLayout}} should be used instead. + + an instance of + An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded NULL characters. + The text formatting object to apply to the string. + The width of the layout box. + The height of the layout box. + The number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI device pixelsPerDip is 1. If rendering onto a 120 DPI device pixelsPerDip is 1.25 (120/96). + An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specifies the font size and pixels per DIP. + Instructs the text layout to use the same metrics as GDI bi-level text when set to FALSE. When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY. + HRESULT IDWriteFactory::CreateGdiCompatibleTextLayout([In, Buffer] const wchar_t* string,[None] int stringLength,[None] IDWriteTextFormat* textFormat,[None] float layoutWidth,[None] float layoutHeight,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] BOOL useGdiNatural,[Out] IDWriteTextLayout** textLayout) + + + + Draws text using the specified client drawing context. + + + To draw text with this method, a textLayout object needs to be created by the application using . After the textLayout object is obtained, the application calls the IDWriteTextLayout::Draw method to draw the text, decorations, and inline objects. The actual drawing is done through the callback interface passed in as the textRenderer argument; there, the corresponding DrawGlyphRun API is called. + + Pointer to the set of callback functions used to draw parts of a text string. + The x-coordinate of the layout's left side. + The y-coordinate of the layout's top side. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] FLOAT originX,[None] FLOAT originY) + + + + Draws text using the specified client drawing context. + + + To draw text with this method, a textLayout object needs to be created by the application using . After the textLayout object is obtained, the application calls the IDWriteTextLayout::Draw method to draw the text, decorations, and inline objects. The actual drawing is done through the callback interface passed in as the textRenderer argument; there, the corresponding DrawGlyphRun API is called. + + An application-defined drawing context. + Pointer to the set of callback functions used to draw parts of a text string. + The x-coordinate of the layout's left side. + The y-coordinate of the layout's top side. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] FLOAT originX,[None] FLOAT originY) + + + + Retrieves logical properties and measurements of each glyph cluster. + + + If maxClusterCount is not large enough, then E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), is returned and actualClusterCount is set to the number of clusters needed. + + Returns metrics, such as line-break or total advance width, for a glyph cluster. + HRESULT IDWriteTextLayout::GetClusterMetrics([Out, Buffer, Optional] DWRITE_CLUSTER_METRICS* clusterMetrics,[None] int maxClusterCount,[Out] int* actualClusterCount) + + + + Sets the application-defined drawing effect. + + + An , such as a color or gradient brush, can be set as a drawing effect if you are using the to draw text and that brush will be used to draw the specified range of text. This drawing effect is associated with the specified range and will be passed back to the application by way of the callback when the range is drawn at drawing time. + + Application-defined drawing effects that apply to the range. This data object will be passed back to the application's drawing callbacks for final rendering. + The text range to which this change applies. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteTextLayout::SetDrawingEffect([None] IUnknown* drawingEffect,[None] DWRITE_TEXT_RANGE textRange) + + + + Gets the application-defined drawing effect at the specified text position. + + The position of the text whose drawing effect is to be retrieved. + a reference to the current application-defined drawing effect. Usually this effect is a foreground brush that is used in glyph drawing. + HRESULT IDWriteTextLayout::GetDrawingEffect([None] int currentPosition,[Out] IUnknown** drawingEffect,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the application-defined drawing effect at the specified text position. + + The position of the text whose drawing effect is to be retrieved. + Contains the range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the drawing effect. + a reference to the current application-defined drawing effect. Usually this effect is a foreground brush that is used in glyph drawing. + HRESULT IDWriteTextLayout::GetDrawingEffect([None] int currentPosition,[Out] IUnknown** drawingEffect,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font collection associated with the text at the specified position. + + The position of the text to inspect. + a reference to the current font collection. + HRESULT IDWriteTextLayout::GetFontCollection([None] int currentPosition,[Out] IDWriteFontCollection** fontCollection,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font family name of the text at the specified position. + + The position of the text to examine. + the font family name + HRESULT IDWriteTextLayout::GetFontFamilyName([None] int currentPosition,[Out, Buffer] wchar_t* fontFamilyName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font family name of the text at the specified position. + + The position of the text to examine. + The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family name. + the font family name + HRESULT IDWriteTextLayout::GetFontFamilyName([None] int currentPosition,[Out, Buffer] wchar_t* fontFamilyName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font em height of the text at the specified position. + + The position of the text to inspect. + The size of the font in ems of the text at the specified position. + HRESULT IDWriteTextLayout::GetFontSize([None] int currentPosition,[Out] float* fontSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font stretch of the text at the specified position. + + The position of the text to inspect. + a value which indicates the type of font stretch (also known as width) being applied at the specified position. + HRESULT IDWriteTextLayout::GetFontStretch([None] int currentPosition,[Out] DWRITE_FONT_STRETCH* fontStretch,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font style (also known as slope) of the text at the specified position. + + The position of the text to inspect. + a value which indicates the type of font style (also known as slope or incline) being applied at the specified position. + HRESULT IDWriteTextLayout::GetFontStyle([None] int currentPosition,[Out] DWRITE_FONT_STYLE* fontStyle,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the font weight of the text at the specified position. + + The position of the text to inspect. + a value which indicates the type of font weight being applied at the specified position. + HRESULT IDWriteTextLayout::GetFontWeight([None] int currentPosition,[Out] DWRITE_FONT_WEIGHT* fontWeight,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the inline object at the specified position. + + The specified text position. + an application-defined inline object. + HRESULT IDWriteTextLayout::GetInlineObject([None] int currentPosition,[Out] IDWriteInlineObject** inlineObject,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Retrieves the information about each individual text line of the text string. + + + If maxLineCount is not large enough E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), is returned and *actualLineCount is set to the number of lines needed. + + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteTextLayout::GetLineMetrics([Out, Buffer, Optional] DWRITE_LINE_METRICS* lineMetrics,[None] int maxLineCount,[Out] int* actualLineCount) + + + + Gets the locale name of the text at the specified position. + + The position of the text to inspect. + the locale name of the text at the specified position. + HRESULT IDWriteTextLayout::GetLocaleName([None] int currentPosition,[Out, Buffer] wchar_t* localeName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the locale name of the text at the specified position. + + The position of the text to inspect. + The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name. + the locale name of the text at the specified position. + HRESULT IDWriteTextLayout::GetLocaleName([None] int currentPosition,[Out, Buffer] wchar_t* localeName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Get the strikethrough presence of the text at the specified position. + + The position of the text to inspect. + A Boolean flag that indicates whether strikethrough is present at the position indicated by currentPosition. + HRESULT IDWriteTextLayout::GetStrikethrough([None] int currentPosition,[Out] BOOL* hasStrikethrough,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the typography setting of the text at the specified position. + + The position of the text to inspect. + a reference to the current typography setting. + HRESULT IDWriteTextLayout::GetTypography([None] int currentPosition,[Out] IDWriteTypography** typography,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + Gets the underline presence of the text at the specified position. + + The current text position. + A Boolean flag that indicates whether underline is present at the position indicated by currentPosition. + HRESULT IDWriteTextLayout::GetUnderline([None] int currentPosition,[Out] BOOL* hasUnderline,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + + + + 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. + The function returns E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), + when the buffer size of hitTestMetrics is too small to hold all the regions calculated by the function. + In this situation, the function sets the output value *actualHitTestMetricsCount to the number of geometries calculated. + The application is responsible for allocating a new buffer of greater size and calling the function again. + A good value to use as an initial value for maxHitTestMetricsCount may be calculated from the following equation: + maxHitTestMetricsCount = lineCount * maxBidiReorderingDepth where lineCount is obtained from the value of the output argument *actualLineCount (from the function IDWriteTextLayout::GetLineLengths), and the maxBidiReorderingDepth value from the DWRITE_TEXT_METRICS structure of the output argument *textMetrics (from the function IDWriteFactory::CreateTextLayout). + + The first text position of the specified range. + The number of positions of the specified range. + The origin pixel location X at the left of the layout box. This offset is added to the hit-test metrics returned. + The origin pixel location Y at the top of the layout box. This offset is added to the hit-test metrics returned. + a reference to a buffer of the output geometry fully enclosing the specified position range. The buffer must be at least as large as maxHitTestMetricsCount. + HRESULT IDWriteTextLayout::HitTestTextRange([None] int textPosition,[None] int textLength,[None] float originX,[None] float originY,[Out, Buffer, Optional] DWRITE_HIT_TEST_METRICS* hitTestMetrics,[None] int maxHitTestMetricsCount,[Out] int* actualHitTestMetricsCount) + + + + Sets the inline object. + + + The application may call this function to specify the set of properties describing an application-defined inline object for specific range. This inline object applies to the specified range and will be passed back to the application by way of the DrawInlineObject callback when the range is drawn. Any text in that range will be suppressed. + + An application-defined inline object. + Text range to which this change applies. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT IDWriteTextLayout::SetInlineObject([None] IDWriteInlineObject* inlineObject,[None] DWRITE_TEXT_RANGE textRange) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the layout maximum width.

+
+

A value that indicates the maximum width of the layout box.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371511 + HRESULT IDWriteTextLayout::SetMaxWidth([In] float maxWidth) + IDWriteTextLayout::SetMaxWidth +
+ + +

Sets the layout maximum height.

+
+

A value that indicates the maximum height of the layout box.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371507 + HRESULT IDWriteTextLayout::SetMaxHeight([In] float maxHeight) + IDWriteTextLayout::SetMaxHeight +
+ + +

Sets the font collection.

+
+

The font collection to set.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371481 + HRESULT IDWriteTextLayout::SetFontCollection([In] IDWriteFontCollection* fontCollection,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontCollection +
+ + +

Sets null-terminated font family name for text within a specified text range.

+
+

The font family name that applies to the entire text string within the range specified by textRange.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371487 + HRESULT IDWriteTextLayout::SetFontFamilyName([In] const wchar_t* fontFamilyName,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontFamilyName +
+ + +

Sets the font weight for text within a text range specified by a structure.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The font weight can be set to one of the predefined font weight values provided in the enumeration or an integer from 1 to 999. Values outside this range will cause the method to fail with an E_INVALIDARG return value.

The following illustration shows an example of Normal and UltraBold weights for the Palatino Linotype typeface.

+
+ + dd371498 + HRESULT IDWriteTextLayout::SetFontWeight([In] DWRITE_FONT_WEIGHT fontWeight,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontWeight +
+ + +

Sets the font style for text within a text range specified by a structure.

+
+ No documentation. + No documentation. +

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The font style can be set to Normal, Italic or Oblique. The following illustration shows three styles for the Palatino font. For more information, see .

+
+ + dd371495 + HRESULT IDWriteTextLayout::SetFontStyle([In] DWRITE_FONT_STYLE fontStyle,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontStyle +
+ + +

Sets the font stretch for text within a specified text range.

+
+

A value which indicates the type of font stretch for text within the range specified by textRange.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371493 + HRESULT IDWriteTextLayout::SetFontStretch([In] DWRITE_FONT_STRETCH fontStretch,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontStretch +
+ + +

Sets the font size in DIP units for text within a specified text range.

+
+

The font size in DIP units to be set for text in the range specified by textRange.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371490 + HRESULT IDWriteTextLayout::SetFontSize([In] float fontSize,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetFontSize +
+ + +

Sets underlining for text within a specified text range.

+
+

A Boolean flag that indicates whether underline takes place within a specified text range.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371518 + HRESULT IDWriteTextLayout::SetUnderline([In] BOOL hasUnderline,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetUnderline +
+ + +

Sets strikethrough for text within a specified text range.

+
+

A Boolean flag that indicates whether strikethrough takes place in the range specified by textRange.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371514 + HRESULT IDWriteTextLayout::SetStrikethrough([In] BOOL hasStrikethrough,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetStrikethrough +
+ + +

Sets the application-defined drawing effect.

+
+

Application-defined drawing effects that apply to the range. This data object will be passed back to the application's drawing callbacks for final rendering.

+

The text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

An , such as a color or gradient brush, can be set as a drawing effect if you are using the to draw text and that brush will be used to draw the specified range of text.

This drawing effect is associated with the specified range and will be passed back to the application by way of the callback when the range is drawn at drawing time.

+
+ + dd371477 + HRESULT IDWriteTextLayout::SetDrawingEffect([In] void* drawingEffect,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetDrawingEffect +
+ + +

Sets the inline object.

+
+

An application-defined inline object.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The application may call this function to specify the set of properties describing an application-defined inline object for specific range.

This inline object applies to the specified range and will be passed back to the application by way of the DrawInlineObject callback when the range is drawn. Any text in that range will be suppressed.

+
+ + dd371500 + HRESULT IDWriteTextLayout::SetInlineObject([In] IDWriteInlineObject* inlineObject,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetInlineObject +
+ + +

Sets font typography features for text within a specified text range.

+
+

Pointer to font typography settings.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371517 + HRESULT IDWriteTextLayout::SetTypography([In] IDWriteTypography* typography,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetTypography +
+ + +

Sets the locale name for text within a specified text range.

+
+

A null-terminated locale name string.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371503 + HRESULT IDWriteTextLayout::SetLocaleName([In] const wchar_t* localeName,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout::SetLocaleName +
+ + +

Gets the layout maximum width.

+
+

Returns the layout maximum width.

+ + dd316781 + float IDWriteTextLayout::GetMaxWidth() + IDWriteTextLayout::GetMaxWidth +
+ + +

Gets the layout maximum height.

+
+

The layout maximum height.

+ + dd316776 + float IDWriteTextLayout::GetMaxHeight() + IDWriteTextLayout::GetMaxHeight +
+ + +

Gets the font collection associated with the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the underline.

+

Contains an address of a reference to the current font collection.

+ + dd316735 + HRESULT IDWriteTextLayout::GetFontCollection([In] unsigned int currentPosition,[Out] IDWriteFontCollection** fontCollection,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontCollection +
+ + +

Get the length of the font family name at the current position.

+
+

The current text position.

+

When this method returns, contains the size of the character array containing the font family name, in character count, not including the terminated null character.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316741 + HRESULT IDWriteTextLayout::GetFontFamilyNameLength([In] unsigned int currentPosition,[Out] unsigned int* nameLength,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontFamilyNameLength +
+ + +

Copies the font family name of the text at the specified position.

+
+

The position of the text to examine.

+

When this method returns, contains an array of characters that receives the current font family name. You must allocate storage for this parameter.

+

The size of the character array in character count including the terminated null character.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316738 + HRESULT IDWriteTextLayout::GetFontFamilyName([In] unsigned int currentPosition,[Out, Buffer] wchar_t* fontFamilyName,[In] unsigned int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontFamilyName +
+ + +

Gets the font weight of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font weight.

+

When this method returns, contains a value which indicates the type of font weight being applied at the specified position.

+ + dd316753 + HRESULT IDWriteTextLayout::GetFontWeight([In] unsigned int currentPosition,[Out] DWRITE_FONT_WEIGHT* fontWeight,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontWeight +
+ + +

Gets the font style (also known as slope) of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font style.

+

When this method returns, contains a value which indicates the type of font style (also known as slope or incline) being applied at the specified position.

+ + dd316750 + HRESULT IDWriteTextLayout::GetFontStyle([In] unsigned int currentPosition,[Out] DWRITE_FONT_STYLE* fontStyle,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontStyle +
+ + +

Gets the font stretch of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font stretch.

+

When this method returns, contains a value which indicates the type of font stretch (also known as width) being applied at the specified position.

+ + dd316747 + HRESULT IDWriteTextLayout::GetFontStretch([In] unsigned int currentPosition,[Out] DWRITE_FONT_STRETCH* fontStretch,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontStretch +
+ + +

Gets the font em height of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font size.

+

When this method returns, contains the size of the font in ems of the text at the specified position.

+ + dd316745 + HRESULT IDWriteTextLayout::GetFontSize([In] unsigned int currentPosition,[Out] float* fontSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetFontSize +
+ + +

Gets the underline presence of the text at the specified position.

+
+

The current text position.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the underline.

+

A Boolean flag that indicates whether underline is present at the position indicated by currentPosition.

+ + dd371463 + HRESULT IDWriteTextLayout::GetUnderline([In] unsigned int currentPosition,[Out] BOOL* hasUnderline,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetUnderline +
+ + +

Get the strikethrough presence of the text at the specified position.

+
+

The position of the text to inspect.

+

Contains the range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to strikethrough.

+

A Boolean flag that indicates whether strikethrough is present at the position indicated by currentPosition.

+ + dd316793 + HRESULT IDWriteTextLayout::GetStrikethrough([In] unsigned int currentPosition,[Out] BOOL* hasStrikethrough,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetStrikethrough +
+ + +

Gets the application-defined drawing effect at the specified text position.

+
+

The position of the text whose drawing effect is to be retrieved.

+

Contains the range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the drawing effect.

+

When this method returns, contains an address of a reference to the current application-defined drawing effect. Usually this effect is a foreground brush that is used in glyph drawing.

+ + dd316732 + HRESULT IDWriteTextLayout::GetDrawingEffect([In] unsigned int currentPosition,[Out] void** drawingEffect,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetDrawingEffect +
+ + +

Gets the inline object at the specified position.

+
+

The specified text position.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the inline object.

+

Contains the application-defined inline object.

+ + dd316758 + HRESULT IDWriteTextLayout::GetInlineObject([In] unsigned int currentPosition,[Out] IDWriteInlineObject** inlineObject,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetInlineObject +
+ + +

Gets the typography setting of the text at the specified position.

+
+

The position of the text to inspect.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the typography.

+

When this method returns, contains an address of a reference to the current typography setting.

+ + dd371459 + HRESULT IDWriteTextLayout::GetTypography([In] unsigned int currentPosition,[Out] IDWriteTypography** typography,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetTypography +
+ + +

Gets the length of the locale name of the text at the specified position.

+
+

The position of the text to inspect.

+

Size of the character array, in character count, not including the terminated null character.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316771 + HRESULT IDWriteTextLayout::GetLocaleNameLength([In] unsigned int currentPosition,[Out] unsigned int* nameLength,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetLocaleNameLength +
+ + +

Gets the locale name of the text at the specified position.

+
+

The position of the text to inspect.

+

When this method returns, contains the character array receiving the current locale name.

+

Size of the character array, in character count, including the terminated null character.

+

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316767 + HRESULT IDWriteTextLayout::GetLocaleName([In] unsigned int currentPosition,[Out, Buffer] wchar_t* localeName,[In] unsigned int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout::GetLocaleName +
+ + +

Draws text using the specified client drawing context.

+
+

An application-defined drawing context.

+

Pointer to the set of callback functions used to draw parts of a text string.

+

The x-coordinate of the layout's left side.

+

The y-coordinate of the layout's top side.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

To draw text with this method, a textLayout object needs to be created by the application using .

After the textLayout object is obtained, the application calls the method to draw the text, decorations, and inline objects. The actual drawing is done through the callback interface passed in as the textRenderer argument; there, the corresponding DrawGlyphRun API is called.

+
+ + dd316726 + HRESULT IDWriteTextLayout::Draw([In, Optional] void* clientDrawingContext,[In] IDWriteTextRenderer* renderer,[In] float originX,[In] float originY) + IDWriteTextLayout::Draw +
+ + +

Retrieves the information about each individual text line of the text string.

+
+

When this method returns, contains a reference to an array of structures containing various calculated length values of individual text lines.

+

The maximum size of the lineMetrics array.

+

When this method returns, contains the actual size of the lineMetrics array that is needed.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If maxLineCount is not large enough E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), is returned and *actualLineCount is set to the number of lines needed.

+
+ + dd316763 + HRESULT IDWriteTextLayout::GetLineMetrics([Out, Buffer, Optional] DWRITE_LINE_METRICS* lineMetrics,[In] unsigned int maxLineCount,[Out] unsigned int* actualLineCount) + IDWriteTextLayout::GetLineMetrics +
+ + +

Retrieves overall metrics for the formatted string.

+
+

When this method returns, contains the measured distances of text and associated content after being formatted.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd316785 + HRESULT IDWriteTextLayout::GetMetrics([Out] DWRITE_TEXT_METRICS* textMetrics) + IDWriteTextLayout::GetMetrics +
+ + +

Returns the overhangs (in DIPs) of the layout and all objects contained in it, including text glyphs and inline objects.

+
+

Overshoots of visible extents (in DIPs) outside the layout.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Underlines and strikethroughs do not contribute to the black box determination, since these are actually drawn by the renderer, which is allowed to draw them in any variety of styles.

+
+ + dd316790 + HRESULT IDWriteTextLayout::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) + IDWriteTextLayout::GetOverhangMetrics +
+ + +

Retrieves logical properties and measurements of each glyph cluster.

+
+

When this method returns, contains metrics, such as line-break or total advance width, for a glyph cluster.

+

The maximum size of the clusterMetrics array.

+

When this method returns, contains the actual size of the clusterMetrics array that is needed.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

If maxClusterCount is not large enough, then E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), is returned and actualClusterCount is set to the number of clusters needed.

+
+ + dd316729 + HRESULT IDWriteTextLayout::GetClusterMetrics([Out, Buffer, Optional] DWRITE_CLUSTER_METRICS* clusterMetrics,[In] unsigned int maxClusterCount,[Out] unsigned int* actualClusterCount) + IDWriteTextLayout::GetClusterMetrics +
+ + +

Determines the minimum possible width the layout can be set to without emergency breaking between the characters of whole words occurring.

+
+

Minimum width.

+ + dd316723 + HRESULT IDWriteTextLayout::DetermineMinWidth([Out] float* minWidth) + IDWriteTextLayout::DetermineMinWidth +
+ + +

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. When the specified pixel location is outside the text string, the function sets the output value *isInside to .

+
+

The pixel location X to hit-test, relative to the top-left location of the layout box.

+

The pixel location Y to hit-test, relative to the top-left location of the layout box.

+

An output flag that indicates whether the hit-test location is at the leading or the trailing side of the character. When the output *isInside value is set to , this value is set according to the output hitTestMetrics->textPosition value to represent the edge closest to the hit-test location.

+

An output flag that indicates whether the hit-test location is inside the text string. When , the position nearest the text's edge is returned.

+

The output geometry fully enclosing the hit-test location. When the output *isInside value is set to , this structure represents the geometry enclosing the edge closest to the hit-test location.

+ + dd371464 + HRESULT IDWriteTextLayout::HitTestPoint([In] float pointX,[In] float pointY,[Out] BOOL* isTrailingHit,[Out] BOOL* isInside,[Out] DWRITE_HIT_TEST_METRICS* hitTestMetrics) + IDWriteTextLayout::HitTestPoint +
+ + +

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. This function is normally used as part of caret positioning of text where the caret is drawn at the location corresponding to the current text editing position. It may also be used as a way to programmatically obtain the geometry of a particular text position in UI automation.

+
+

The text position used to get the pixel location.

+

A Boolean flag that indicates whether the pixel location is of the leading or the trailing side of the specified text position.

+

When this method returns, contains the output pixel location X, relative to the top-left location of the layout box.

+

When this method returns, contains the output pixel location Y, relative to the top-left location of the layout box.

+

When this method returns, contains the output geometry fully enclosing the specified text position.

+ + dd371469 + HRESULT IDWriteTextLayout::HitTestTextPosition([In] unsigned int textPosition,[In] BOOL isTrailingHit,[Out] float* pointX,[Out] float* pointY,[Out] DWRITE_HIT_TEST_METRICS* hitTestMetrics) + IDWriteTextLayout::HitTestTextPosition +
+ + +

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. The function returns E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), when the buffer size of hitTestMetrics is too small to hold all the regions calculated by the function. In this situation, the function sets the output value *actualHitTestMetricsCount to the number of geometries calculated. The application is responsible for allocating a new buffer of greater size and calling the function again. A good value to use as an initial value for maxHitTestMetricsCount may be calculated from the following equation: maxHitTestMetricsCount = lineCount * maxBidiReorderingDepth where lineCount is obtained from the value of the output argument *actualLineCount (from the function IDWriteTextLayout::GetLineLengths), and the maxBidiReorderingDepth value from the structure of the output argument *textMetrics (from the function ).

+
+

The first text position of the specified range.

+

The number of positions of the specified range.

+

The origin pixel location X at the left of the layout box. This offset is added to the hit-test metrics returned.

+

The origin pixel location Y at the top of the layout box. This offset is added to the hit-test metrics returned.

+

When this method returns, contains a reference to a buffer of the output geometry fully enclosing the specified position range. The buffer must be at least as large as maxHitTestMetricsCount.

+

Maximum number of boxes hitTestMetrics could hold in its buffer memory.

+

Actual number of geometries hitTestMetrics holds in its buffer memory.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371473 + HRESULT IDWriteTextLayout::HitTestTextRange([In] unsigned int textPosition,[In] unsigned int textLength,[In] float originX,[In] float originY,[Out, Buffer, Optional] DWRITE_HIT_TEST_METRICS* hitTestMetrics,[In] unsigned int maxHitTestMetricsCount,[Out] unsigned int* actualHitTestMetricsCount) + IDWriteTextLayout::HitTestTextRange +
+ + +

Gets or sets the layout maximum width.

+
+ + dd316781 + GetMaxWidth / SetMaxWidth + GetMaxWidth + float IDWriteTextLayout::GetMaxWidth() +
+ + +

Gets or sets the layout maximum height.

+
+ + dd316776 + GetMaxHeight / SetMaxHeight + GetMaxHeight + float IDWriteTextLayout::GetMaxHeight() +
+ + +

Retrieves overall metrics for the formatted string.

+
+ + dd316785 + GetMetrics + GetMetrics + HRESULT IDWriteTextLayout::GetMetrics([Out] DWRITE_TEXT_METRICS* textMetrics) +
+ + +

Returns the overhangs (in DIPs) of the layout and all objects contained in it, including text glyphs and inline objects.

+
+ +

Underlines and strikethroughs do not contribute to the black box determination, since these are actually drawn by the renderer, which is allowed to draw them in any variety of styles.

+
+ + dd316790 + GetOverhangMetrics + GetOverhangMetrics + HRESULT IDWriteTextLayout::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) +
+ + +

Specifies a range of text positions where format is applied in the text represented by an object.

+
+ + dd368137 + DWRITE_TEXT_RANGE + DWRITE_TEXT_RANGE +
+ + + Initializes a new instance of the struct. + + The start position. + The length. + + + + No documentation. + + + unsigned int startPosition + unsigned int startPosition + + + + No documentation. + + + unsigned int length + unsigned int length + + + +

Represents a set of application-defined callbacks that perform rendering of text, inline objects, and decorations such as underlines.

+
+ + dd371523 + IDWriteTextRenderer + IDWriteTextRenderer +
+ + + IDWriteTextLayout::Draw calls this function to instruct the client to render a run of glyphs. + + + The function calls this callback function with all the information about glyphs to render. The application implements this callback by mostly delegating the call to the underlying platform's graphics API such as {{Direct2D}} to draw glyphs on the drawing context. An application that uses GDI can implement this callback in terms of the method. + + The application-defined drawing context passed to . + The pixel location (X-coordinate) at the baseline origin of the glyph run. + The pixel location (Y-coordinate) at the baseline origin of the glyph run. + The measuring method for glyphs in the run, used with the other properties to determine the rendering mode. + Pointer to the glyph run instance to render. + A pointer to the optional glyph run description instance which contains properties of the characters associated with this run. + Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of text. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawGlyphRun([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to draw an underline. + + + A single underline can be broken into multiple calls, depending on how the formatting changes attributes. If font sizes/styles change within an underline, the thickness and offset will be averaged weighted according to characters. To get an appropriate starting pixel position, add underline::offset to the baseline. Otherwise there will be no spacing between the text. The x coordinate will always be passed as the left side, regardless of text directionality. This simplifies drawing and reduces the problem of round-off that could potentially cause gaps or a double stamped alpha blend. To avoid alpha overlap, round the end points to the nearest device pixel. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + The pixel location (X-coordinate) at the baseline origin of the run where underline applies. + The pixel location (Y-coordinate) at the baseline origin of the run where underline applies. + Pointer to a structure containing underline logical information. + Application-defined effect to apply to the underline. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawUnderline([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_UNDERLINE* underline,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to draw a strikethrough. + + + A single strikethrough can be broken into multiple calls, depending on how the formatting changes attributes. Strikethrough is not averaged across font sizes/styles changes. To get an appropriate starting pixel position, add strikethrough::offset to the baseline. Like underlines, the x coordinate will always be passed as the left side, regardless of text directionality. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + The pixel location (X-coordinate) at the baseline origin of the run where strikethrough applies. + The pixel location (Y-coordinate) at the baseline origin of the run where strikethrough applies. + Pointer to a structure containing strikethrough logical information. + Application-defined effect to apply to the strikethrough. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawStrikethrough([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_STRIKETHROUGH* strikethrough,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this application callback when it needs to draw an inline object. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + X-coordinate at the top-left corner of the inline object. + Y-coordinate at the top-left corner of the inline object. + The application-defined inline object set using IDWriteTextFormat::SetInlineObject. + A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. + A Boolean flag that indicates whether the object is in a right-to-left context, hinting that the drawing may want to mirror the normal image. + Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawInlineObject([None] void* clientDrawingContext,[None] FLOAT originX,[None] FLOAT originY,[None] IDWriteInlineObject* inlineObject,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + +

Describes the pixel format and dpi of a bitmap.

+
+ + dd368075 + D2D1_BITMAP_PROPERTIES + D2D1_BITMAP_PROPERTIES +
+ + + Initializes a new instance of the struct. + + The pixel format. + + + + Initializes a new instance of the struct. + + The pixel format. + The dpi X. + The dpi Y. + + + +

The bitmap's pixel format and alpha mode.

+
+ + dd368075 + D2D1_PIXEL_FORMAT pixelFormat + D2D1_PIXEL_FORMAT pixelFormat +
+ + +

The horizontal dpi of the bitmap.

+
+ + dd368075 + float dpiX + float dpiX +
+ + +

The vertical dpi of the bitmap.

+
+ + dd368075 + float dpiY + float dpiY +
+ + +

Renders to an intermediate texture created by the CreateCompatibleRenderTarget method.

+
+ +

An writes to an intermediate texture. It's useful for creating patterns for use with an or caching drawing data that will be used repeatedly.

To write directly to a WIC bitmap instead, use the method. This method returns an that writes to the specified WIC bitmap. For an example, see the Save as Image File Sample.

Creating Objects

To create a bitmap render target, call the method.

Like other render targets, an is a device-dependent resource and must be recreated when the associated device becomes unavailable. For more information, see the Resources Overview.

+
+ + dd371146 + ID2D1BitmapRenderTarget + ID2D1BitmapRenderTarget +
+ + + Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target with same size, pixel size and pixel format. + + an instance of + A value that specifies whether the new render target must be compatible with GDI. + HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) + + + + Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target with same pixel size and pixel format. + + an instance of + A value that specifies whether the new render target must be compatible with GDI. + The desired size of the new render target in device-independent pixels if it should be different from the original render target. For more information, see the Remarks section. + HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) + + + + Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target with same size and pixel size. + + an instance of + The desired pixel format and alpha mode of the new render target. If the pixel format is set to DXGI_FORMAT_UNKNOWN, the new render target uses the same pixel format as the original render target. If the alpha mode is , the alpha mode of the new render target defaults to D2D1_ALPHA_MODE_PREMULTIPLIED. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + A value that specifies whether the new render target must be compatible with GDI. + HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) + + + + Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target. + + + The pixel size and DPI of the new render target can be altered by specifying values for desiredSize or desiredPixelSize: If desiredSize is specified but desiredPixelSize is not, the pixel size is computed from the desired size using the parent target DPI. If the desiredSize maps to a integer-pixel size, the DPI of the compatible render target is the same as the DPI of the parent target. If desiredSize maps to a fractional-pixel size, the pixel size is rounded up to the nearest integer and the DPI for the compatible render target is slightly higher than the DPI of the parent render target. In all cases, the coordinate (desiredSize.width, desiredSize.height) maps to the lower-right corner of the compatible render target.If the desiredPixelSize is specified and desiredSize is not, the DPI of the new render target is the same as the original render target.If both desiredSize and desiredPixelSize are specified, the DPI of the new render target is computed to account for the difference in scale.If neither desiredSize nor desiredPixelSize is specified, the new render target size and DPI match the original render target. + + an instance of + The desired size of the new render target in device-independent pixels if it should be different from the original render target. For more information, see the Remarks section. + The desired size of the new render target in pixels if it should be different from the original render target. For more information, see the Remarks section. + The desired pixel format and alpha mode of the new render target. If the pixel format is set to DXGI_FORMAT_UNKNOWN, the new render target uses the same pixel format as the original render target. If the alpha mode is , the alpha mode of the new render target defaults to D2D1_ALPHA_MODE_PREMULTIPLIED. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + A value that specifies whether the new render target must be compatible with GDI. + HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the bitmap for this render target. The returned bitmap can be used for drawing operations.

+
+

When this method returns, contains the address of a reference to the bitmap for this render target. This bitmap can be used for drawing operations.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The DPI for the obtained from GetBitmap will be the DPI of the when the render target was created. Changing the DPI of the by calling SetDpi doesn't affect the DPI of the bitmap, even if SetDpi is called before GetBitmap. Using SetDpi to change the DPI of the does affect how contents are rendered into the bitmap: it just doesn't affect the DPI of the bitmap retrieved by GetBitmap.

+
+ + dd371150 + HRESULT ID2D1BitmapRenderTarget::GetBitmap([Out] ID2D1Bitmap** bitmap) + ID2D1BitmapRenderTarget::GetBitmap +
+ + +

Retrieves the bitmap for this render target. The returned bitmap can be used for drawing operations.

+
+ +

The DPI for the obtained from GetBitmap will be the DPI of the when the render target was created. Changing the DPI of the by calling SetDpi doesn't affect the DPI of the bitmap, even if SetDpi is called before GetBitmap. Using SetDpi to change the DPI of the does affect how contents are rendered into the bitmap: it just doesn't affect the DPI of the bitmap retrieved by GetBitmap.

+
+ + dd371150 + GetBitmap + GetBitmap + HRESULT ID2D1BitmapRenderTarget::GetBitmap([Out] ID2D1Bitmap** bitmap) +
+ + + Default abstract implementation of TextRenderer. Need to implement a least a DrawXXX method to use it. + + + + + Determines whether pixel snapping is disabled. The recommended default is FALSE, + unless doing animation that requires subpixel vertical placement. + + The context passed to IDWriteTextLayout::Draw. + Receives TRUE if pixel snapping is disabled or FALSE if it not. + HRESULT IsPixelSnappingDisabled([None] void* clientDrawingContext,[Out] BOOL* isDisabled) + + + + Gets a transform that maps abstract coordinates to DIPs. + + The drawing context passed to . + a structure which has transform information for pixel snapping. + HRESULT GetCurrentTransform([None] void* clientDrawingContext,[Out] DWRITE_MATRIX* transform) + + + + Gets the number of physical pixels per DIP. + + + Because a DIP (device-independent pixel) is 1/96 inch, the pixelsPerDip value is the number of logical pixels per inch divided by 96. + + The drawing context passed to . + the number of physical pixels per DIP + HRESULT GetPixelsPerDip([None] void* clientDrawingContext,[Out] FLOAT* pixelsPerDip) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to render a run of glyphs. + + + The function calls this callback function with all the information about glyphs to render. The application implements this callback by mostly delegating the call to the underlying platform's graphics API such as {{Direct2D}} to draw glyphs on the drawing context. An application that uses GDI can implement this callback in terms of the method. + + The application-defined drawing context passed to . + The pixel location (X-coordinate) at the baseline origin of the glyph run. + The pixel location (Y-coordinate) at the baseline origin of the glyph run. + The measuring method for glyphs in the run, used with the other properties to determine the rendering mode. + Pointer to the glyph run instance to render. + A pointer to the optional glyph run description instance which contains properties of the characters associated with this run. + Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of text. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawGlyphRun([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to draw an underline. + + + A single underline can be broken into multiple calls, depending on how the formatting changes attributes. If font sizes/styles change within an underline, the thickness and offset will be averaged weighted according to characters. To get an appropriate starting pixel position, add underline::offset to the baseline. Otherwise there will be no spacing between the text. The x coordinate will always be passed as the left side, regardless of text directionality. This simplifies drawing and reduces the problem of round-off that could potentially cause gaps or a double stamped alpha blend. To avoid alpha overlap, round the end points to the nearest device pixel. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + The pixel location (X-coordinate) at the baseline origin of the run where underline applies. + The pixel location (Y-coordinate) at the baseline origin of the run where underline applies. + Pointer to a structure containing underline logical information. + Application-defined effect to apply to the underline. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawUnderline([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_UNDERLINE* underline,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this function to instruct the client to draw a strikethrough. + + + A single strikethrough can be broken into multiple calls, depending on how the formatting changes attributes. Strikethrough is not averaged across font sizes/styles changes. To get an appropriate starting pixel position, add strikethrough::offset to the baseline. Like underlines, the x coordinate will always be passed as the left side, regardless of text directionality. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + The pixel location (X-coordinate) at the baseline origin of the run where strikethrough applies. + The pixel location (Y-coordinate) at the baseline origin of the run where strikethrough applies. + Pointer to a structure containing strikethrough logical information. + Application-defined effect to apply to the strikethrough. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawStrikethrough([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_STRIKETHROUGH* strikethrough,[None] IUnknown* clientDrawingEffect) + + + + IDWriteTextLayout::Draw calls this application callback when it needs to draw an inline object. + + The application-defined drawing context passed to IDWriteTextLayout::Draw. + X-coordinate at the top-left corner of the inline object. + Y-coordinate at the top-left corner of the inline object. + The application-defined inline object set using IDWriteTextFormat::SetInlineObject. + A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. + A Boolean flag that indicates whether the object is in a right-to-left context, hinting that the drawing may want to mirror the normal image. + Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of a line. + If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. + HRESULT DrawInlineObject([None] void* clientDrawingContext,[None] FLOAT originX,[None] FLOAT originY,[None] IDWriteInlineObject* inlineObject,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + + Internal TextRenderer Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + HRESULT DrawGlyphRun([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[None] IUnknown* clientDrawingEffect) + + + HRESULT DrawUnderline([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_UNDERLINE* underline,[None] IUnknown* clientDrawingEffect) + + + HRESULT DrawStrikethrough([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_STRIKETHROUGH* strikethrough,[None] IUnknown* clientDrawingEffect) + + + HRESULT DrawInlineObject([None] void* clientDrawingContext,[None] FLOAT originX,[None] FLOAT originY,[None] IDWriteInlineObject* inlineObject,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) + + + +

Gets the number of OpenType font features for the current font.

+
+ +

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

+
+ + dd371549 + IDWriteTypography + IDWriteTypography +
+ + + Creates a typography object for use in a text layout. + + an instance of + HRESULT IDWriteFactory::CreateTypography([Out] IDWriteTypography** typography) + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Adds an OpenType font feature.

+
+

A structure that contains the OpenType name identifier and the execution parameter for the font feature being added.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371545 + HRESULT IDWriteTypography::AddFontFeature([In] DWRITE_FONT_FEATURE fontFeature) + IDWriteTypography::AddFontFeature +
+ + +

Gets the number of OpenType font features for the current font.

+
+

The number of font features for the current text format.

+ +

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

+
+ + dd371549 + unsigned int IDWriteTypography::GetFontFeatureCount() + IDWriteTypography::GetFontFeatureCount +
+ + +

Gets the font feature at the specified index.

+
+

The zero-based index of the font feature to retrieve.

+

When this method returns, contains the font feature which is at the specified index.

+ +

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

+
+ + dd371546 + HRESULT IDWriteTypography::GetFontFeature([In] unsigned int fontFeatureIndex,[Out] DWRITE_FONT_FEATURE* fontFeature) + IDWriteTypography::GetFontFeature +
+ + +

Gets the number of OpenType font features for the current font.

+
+ +

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

+
+ + dd371549 + GetFontFeatureCount + GetFontFeatureCount + unsigned int IDWriteTypography::GetFontFeatureCount() +
+ + +

Contains the center point, x-radius, and y-radius of an ellipse.

+
+ + dd368097 + D2D1_ELLIPSE + D2D1_ELLIPSE +
+ + + Initializes a new instance of the struct. + + The center. + The radius X. + The radius Y. + + + +

The center point of the ellipse.

+
+ + dd368097 + D2D_POINT_2F point + D2D_POINT_2F point +
+ + +

The X-radius of the ellipse.

+
+ + dd368097 + float radiusX + float radiusX +
+ + +

The Y-radius of the ellipse.

+
+ + dd368097 + float radiusY + float radiusY +
+ + +

The enumeration contains values that specify the baseline for text alignment.

+
+ + jj126257 + DWRITE_BASELINE + DWRITE_BASELINE +
+ + +

The Roman baseline for horizontal; the Central baseline for vertical.

+
+ + jj126257 + DWRITE_BASELINE_DEFAULT + DWRITE_BASELINE_DEFAULT +
+ + +

The baseline that is used by alphabetic scripts such as Latin, Greek, and Cyrillic.

+
+ + jj126257 + DWRITE_BASELINE_ROMAN + DWRITE_BASELINE_ROMAN +
+ + +

Central baseline, which is generally used for vertical text.

+
+ + jj126257 + DWRITE_BASELINE_CENTRAL + DWRITE_BASELINE_CENTRAL +
+ + +

Mathematical baseline, which math characters are centered on.

+
+ + jj126257 + DWRITE_BASELINE_MATH + DWRITE_BASELINE_MATH +
+ + +

Hanging baseline, which is used in scripts like Devanagari.

+
+ + jj126257 + DWRITE_BASELINE_HANGING + DWRITE_BASELINE_HANGING +
+ + +

Ideographic bottom baseline for CJK, left in vertical.

+
+ + jj126257 + DWRITE_BASELINE_IDEOGRAPHIC_BOTTOM + DWRITE_BASELINE_IDEOGRAPHIC_BOTTOM +
+ + +

Ideographic top baseline for CJK, right in vertical.

+
+ + jj126257 + DWRITE_BASELINE_IDEOGRAPHIC_TOP + DWRITE_BASELINE_IDEOGRAPHIC_TOP +
+ + +

The bottom-most extent in horizontal, left-most in vertical.

+
+ + jj126257 + DWRITE_BASELINE_MINIMUM + DWRITE_BASELINE_MINIMUM +
+ + +

The top-most extent in horizontal, right-most in vertical.

+
+ + jj126257 + DWRITE_BASELINE_MAXIMUM + DWRITE_BASELINE_MAXIMUM +
+ + +

Indicates the condition at the edges of inline object or text used to determine line-breaking behavior.

+
+ + dd368051 + DWRITE_BREAK_CONDITION + DWRITE_BREAK_CONDITION +
+ + +

Indicates whether a break is allowed by determining the condition of the neighboring text span or inline object.

+
+ + dd368051 + DWRITE_BREAK_CONDITION_NEUTRAL + DWRITE_BREAK_CONDITION_NEUTRAL +
+ + +

Indicates that a line break is allowed, unless overruled by the condition of the neighboring text span or inline object, either prohibited by a "may not break" condition or forced by a "must break" condition.

+
+ + dd368051 + DWRITE_BREAK_CONDITION_CAN_BREAK + DWRITE_BREAK_CONDITION_CAN_BREAK +
+ + +

Indicates that there should be no line break, unless overruled by a "must break" condition from the neighboring text span or inline object.

+
+ + dd368051 + DWRITE_BREAK_CONDITION_MAY_NOT_BREAK + DWRITE_BREAK_CONDITION_MAY_NOT_BREAK +
+ + +

Indicates that the line break must happen, regardless of the condition of the adjacent text span or inline object.

+
+ + dd368051 + DWRITE_BREAK_CONDITION_MUST_BREAK + DWRITE_BREAK_CONDITION_MUST_BREAK +
+ + +

Specifies the type of DirectWrite factory object.

+
+ +

A DirectWrite factory object contains information about its internal state, such as font loader registration and cached font data. In most cases you should use the shared factory object, because it allows multiple components that use DirectWrite to share internal DirectWrite state information, thereby reducing memory usage. However, there are cases when it is desirable to reduce the impact of a component on the rest of the process, such as a plug-in from an untrusted source, by sandboxing and isolating it from the rest of the process components. In such cases, you should use an isolated factory for the sandboxed component.

+
+ + dd368057 + DWRITE_FACTORY_TYPE + DWRITE_FACTORY_TYPE +
+ + +

Indicates that the DirectWrite factory is a shared factory and that it allows for the reuse of cached font data across multiple in-process components. Such factories also take advantage of cross process font caching components for better performance.

+
+ + dd368057 + DWRITE_FACTORY_TYPE_SHARED + DWRITE_FACTORY_TYPE_SHARED +
+ + +

Indicates that the DirectWrite factory object is isolated. Objects created from the isolated factory do not interact with internal DirectWrite state from other components.

+
+ + dd368057 + DWRITE_FACTORY_TYPE_ISOLATED + DWRITE_FACTORY_TYPE_ISOLATED +
+ + +

Indicates the direction of flow for placing lines of text in a paragraph.

+
+ + dd368060 + DWRITE_FLOW_DIRECTION + DWRITE_FLOW_DIRECTION +
+ + +

Specifies that text lines are placed from top to bottom.

+
+ + dd368060 + DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM + DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM +
+ + +

Indicates the file format of a complete font face.

+
+ +

Font formats that consist of multiple files, such as Type 1 .PFM and .PFB, have a single enum entry.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE + DWRITE_FONT_FACE_TYPE +
+ + +

OpenType font face with CFF outlines.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_CFF + DWRITE_FONT_FACE_TYPE_CFF +
+ + +

OpenType font face with TrueType outlines.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_TRUETYPE + DWRITE_FONT_FACE_TYPE_TRUETYPE +
+ + +

OpenType font face that is a part of a TrueType collection.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION + DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION +
+ + +

A Type 1 font face.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_TYPE1 + DWRITE_FONT_FACE_TYPE_TYPE1 +
+ + +

A vector .FON format font face.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_VECTOR + DWRITE_FONT_FACE_TYPE_VECTOR +
+ + +

A bitmap .FON format font face.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_BITMAP + DWRITE_FONT_FACE_TYPE_BITMAP +
+ + +

Font face type is not recognized by the DirectWrite font system.

+
+ + dd368063 + DWRITE_FONT_FACE_TYPE_UNKNOWN + DWRITE_FONT_FACE_TYPE_UNKNOWN +
+ + + No documentation. + + + DWRITE_FONT_FACE_TYPE_RAW_CFF + DWRITE_FONT_FACE_TYPE_RAW_CFF + + + +

A value that indicates the typographic feature of text supplied by the font.

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG + DWRITE_FONT_FEATURE_TAG +
+ + +

Replaces figures separated by a slash with an alternative form.

Equivalent OpenType tag: 'afrc'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS + DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS +
+ + +

Turns capital characters into petite capitals. It is generally used for words which would otherwise be set in all caps, such as acronyms, but which are desired in petite-cap form to avoid disrupting the flow of text. See the pcap feature description for notes on the relationship of caps, smallcaps and petite caps.

Equivalent OpenType tag: 'c2pc'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS +
+ + +

Turns capital characters into small capitals. It is generally used for words which would otherwise be set in all caps, such as acronyms, but which are desired in small-cap form to avoid disrupting the flow of text.

Equivalent OpenType tag: 'c2sc'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS +
+ + +

In specified situations, replaces default glyphs with alternate forms which provide better joining behavior. Used in script typefaces which are designed to have some or all of their glyphs join.

Equivalent OpenType tag: 'calt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES +
+ + +

Shifts various punctuation marks up to a position that works better with all-capital sequences or sets of lining figures; also changes oldstyle figures to lining figures. By default, glyphs in a text face are designed to work with lowercase characters. Some characters should be shifted vertically to fit the higher visual center of all-capital or lining text. Also, lining figures are the same height (or close to it) as capitals, and fit much better with all-capital text.

Equivalent OpenType tag: 'case'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS + DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS +
+ + +

To minimize the number of glyph alternates, it is sometimes desired to decompose a character into two glyphs. Additionally, it may be preferable to compose two characters into a single glyph for better glyph processing. This feature permits such composition/decomposition. The feature should be processed as the first feature processed, and should be processed only when it is called.

Equivalent OpenType tag: 'ccmp'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION + DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION +
+ + +

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. Unlike other ligature features, clig specifies the context in which the ligature is recommended. This capability is important in some script designs and for swash ligatures.

Equivalent OpenType tag: 'clig'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES +
+ + +

Globally adjusts inter-glyph spacing for all-capital text. Most typefaces contain capitals and lowercase characters, and the capitals are positioned to work with the lowercase. When capitals are used for words, they need more space between them for legibility and esthetics. This feature would not apply to monospaced designs. Of course the user may want to override this behavior in order to do more pronounced letterspacing for esthetic reasons.

Equivalent OpenType tag: 'cpsp'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING + DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING +
+ + +

Replaces default character glyphs with corresponding swash glyphs in a specified context. Note that there may be more than one swash alternate for a given character.

Equivalent OpenType tag: 'cswh'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH +
+ + +

In cursive scripts like Arabic, this feature cursively positions adjacent glyphs.

Equivalent OpenType tag: 'curs'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING + DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING +
+ + +

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers those ligatures which may be used for special effect, at the user's preference.

Equivalent OpenType tag: 'dlig'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_DEFAULT + DWRITE_FONT_FEATURE_TAG_DEFAULT +
+ + +

Replaces standard forms in Japanese fonts with corresponding forms preferred by typographers. For example, a user would invoke this feature to replace kanji character U+5516 with U+555E. +

Equivalent OpenType tag: 'expt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES + DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES +
+ + +

Replaces figures separated by a slash with 'common' (diagonal) fractions.

Equivalent OpenType tag: 'frac'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS + DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS +
+ + +

Replaces glyphs set on other widths with glyphs set on full (usually em) widths. In a CJKV font, this may include "lower ASCII" Latin characters and various symbols. In a European font, this feature replaces proportionally-spaced glyphs with monospaced glyphs, which are generally set on widths of 0.6 em. For example, a user may invoke this feature in a Japanese font to get full monospaced Latin glyphs instead of the corresponding proportionally-spaced versions.

Equivalent OpenType tag: 'fwid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_FRACTIONS + DWRITE_FONT_FEATURE_TAG_FRACTIONS +
+ + +

Produces the half forms of consonants in Indic scripts. For example, in Hindi (Devanagari script), the conjunct KKa, obtained by doubling the Ka, is denoted with a half form of Ka followed by the full form.

Equivalent OpenType tag: 'half'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_FULL_WIDTH + DWRITE_FONT_FEATURE_TAG_FULL_WIDTH +
+ + +

Produces the halant forms of consonants in Indic scripts. For example, in Sanskrit (Devanagari script), syllable final consonants are frequently required in their halant form.

Equivalent OpenType tag: 'haln'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HALF_FORMS + DWRITE_FONT_FEATURE_TAG_HALF_FORMS +
+ + +

Respaces glyphs designed to be set on full-em widths, fitting them onto half-em widths. This differs from hwid in that it does not substitute new glyphs.

Equivalent OpenType tag: 'halt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HALANT_FORMS + DWRITE_FONT_FEATURE_TAG_HALANT_FORMS +
+ + +

Replaces the default (current) forms with the historical alternates. While some ligatures are also used for historical effect, this feature deals only with single characters. Some fonts include the historical forms as alternates, so they can be used for a 'period' effect.

Equivalent OpenType tag: 'hist'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH + DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH +
+ + +

Replaces standard kana with forms that have been specially designed for only horizontal writing. This is a typographic optimization for improved fit and more even color.

Equivalent OpenType tag: 'hkna'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS + DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS +
+ + +

Replaces the default (current) forms with the historical alternates. Some ligatures were in common use in the past, but appear anachronistic today. Some fonts include the historical forms as alternates, so they can be used for a 'period' effect.

Equivalent OpenType tag: 'hlig'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES + DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES +
+ + +

Replaces glyphs on proportional widths, or fixed widths other than half an em, with glyphs on half-em (en) widths. Many CJKV fonts have glyphs which are set on multiple widths; this feature selects the half-em version. There are various contexts in which this is the preferred behavior, including compatibility with older desktop documents.

Equivalent OpenType tag: 'hwid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES + DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES +
+ + +

Used to access the JIS X 0212-1990 glyphs for the cases when the JIS X 0213:2004 form is encoded. The JIS X 0212-1990 (aka, "Hojo Kanji") and JIS X 0213:2004 character sets overlap significantly. In some cases their prototypical glyphs differ. When building fonts that support both JIS X 0212-1990 and JIS X 0213:2004 (such as those supporting the Adobe-Japan 1-6 character collection), it is recommended that JIS X 0213:2004 forms be the preferred encoded form.

Equivalent OpenType tag: 'hojo'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HALF_WIDTH + DWRITE_FONT_FEATURE_TAG_HALF_WIDTH +
+ + +

The National Language Council (NLC) of Japan has defined new glyph shapes for a number of JIS characters, which were incorporated into JIS X 0213:2004 as new prototypical forms. The 'jp04' feature is A subset of the 'nlck' feature, and is used to access these prototypical glyphs in a manner that maintains the integrity of JIS X 0213:2004.

Equivalent OpenType tag: 'jp04'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS + DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS +
+ + +

Replaces default (JIS90) Japanese glyphs with the corresponding forms from the JIS C 6226-1978 (JIS78) specification.

Equivalent OpenType tag: 'jp78'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_JIS04_FORMS + DWRITE_FONT_FEATURE_TAG_JIS04_FORMS +
+ + +

Replaces default (JIS90) Japanese glyphs with the corresponding forms from the JIS X 0208-1983 (JIS83) specification.

Equivalent OpenType tag: 'jp83'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_JIS78_FORMS + DWRITE_FONT_FEATURE_TAG_JIS78_FORMS +
+ + +

Replaces Japanese glyphs from the JIS78 or JIS83 specifications with the corresponding forms from the JIS X 0208-1990 (JIS90) specification.

Equivalent OpenType tag: 'jp90'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_JIS83_FORMS + DWRITE_FONT_FEATURE_TAG_JIS83_FORMS +
+ + +

Adjusts amount of space between glyphs, generally to provide optically consistent spacing between glyphs. Although a well-designed typeface has consistent inter-glyph spacing overall, some glyph combinations require adjustment for improved legibility. Besides standard adjustment in the horizontal direction, this feature can supply size-dependent kerning data via device tables, "cross-stream" kerning in the Y text direction, and adjustment of glyph placement independent of the advance adjustment. Note that this feature may apply to runs of more than two glyphs, and would not be used in monospaced fonts. Also note that this feature does not apply to text set vertically.

Equivalent OpenType tag: 'kern'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_JIS90_FORMS + DWRITE_FONT_FEATURE_TAG_JIS90_FORMS +
+ + +

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers the ligatures which the designer/manufacturer judges should be used in normal conditions.

Equivalent OpenType tag: 'liga'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_KERNING + DWRITE_FONT_FEATURE_TAG_KERNING +
+ + +

Changes selected figures from oldstyle to the default lining form. For example, a user may invoke this feature in order to get lining figures, which fit better with all-capital text. This feature overrides results of the Oldstyle Figures feature (onum).

Equivalent OpenType tag: 'lnum'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES + DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES +
+ + +

Enables localized forms of glyphs to be substituted for default forms. Many scripts used to write multiple languages over wide geographical areas have developed localized variant forms of specific letters, which are used by individual literary communities. For example, a number of letters in the Bulgarian and Serbian alphabets have forms distinct from their Russian counterparts and from each other. In some cases the localized form differs only subtly from the script 'norm', in others the forms are radically distinct.

Equivalent OpenType tag: 'locl'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_LINING_FIGURES + DWRITE_FONT_FEATURE_TAG_LINING_FIGURES +
+ + +

Positions mark glyphs with respect to base glyphs. For example, in Arabic script positioning the Hamza above the Yeh.

Equivalent OpenType tag: 'mark'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS + DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS +
+ + +

Replaces standard typographic forms of Greek glyphs with corresponding forms commonly used in mathematical notation (which are a subset of the Greek alphabet).

Equivalent OpenType tag: 'mgrk'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING + DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING +
+ + +

Positions marks with respect to other marks. Required in various non-Latin scripts like Arabic. For example, in Arabic, the ligaturised mark Ha with Hamza above it can also be obtained by positioning these marks relative to one another.

Equivalent OpenType tag: 'mkmk'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK + DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK +
+ + +

Replaces default glyphs with various notational forms (such as glyphs placed in open or solid circles, squares, parentheses, diamonds or rounded boxes). In some cases an annotation form may already be present, but the user may want a different one.

Equivalent OpenType tag: 'nalt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING + DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING +
+ + +

Used to access glyphs made from glyph shapes defined by the National Language Council (NLC) of Japan for a number of JIS characters in 2000.

Equivalent OpenType tag: 'nlck'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS + DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS +
+ + +

Changes selected figures from the default lining style to oldstyle form. For example, a user may invoke this feature to get oldstyle figures, which fit better into the flow of normal upper- and lowercase text. This feature overrides results of the Lining Figures feature (lnum).

Equivalent OpenType tag: 'onum'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS + DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS +
+ + +

Replaces default alphabetic glyphs with the corresponding ordinal forms for use after figures. One exception to the follows-a-figure rule is the numero character (U+2116), which is actually a ligature substitution, but is best accessed through this feature.

Equivalent OpenType tag: 'ordn'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES + DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES +
+ + +

Respaces glyphs designed to be set on full-em widths, fitting them onto individual (more or less proportional) horizontal widths. This differs from pwid in that it does not substitute new glyphs (GPOS, not GSUB feature). The user may prefer the monospaced form, or may simply want to ensure that the glyph is well-fit and not rotated in vertical setting (Latin forms designed for proportional spacing would be rotated).

Equivalent OpenType tag: 'palt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_ORDINALS + DWRITE_FONT_FEATURE_TAG_ORDINALS +
+ + +

Turns lowercase characters into petite capitals. Forms related to petite capitals, such as specially designed figures, may be included. Some fonts contain an additional size of capital letters, shorter than the regular smallcaps and it is referred to as petite caps. Such forms are most likely to be found in designs with a small lowercase x-height, where they better harmonise with lowercase text than the taller smallcaps (for examples of petite caps, see the Emigre type families Mrs Eaves and Filosofia).

Equivalent OpenType tag: 'pcap'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH +
+ + +

Replaces figure glyphs set on uniform (tabular) widths with corresponding glyphs set on glyph-specific (proportional) widths. Tabular widths will generally be the default, but this cannot be safely assumed. Of course this feature would not be present in monospaced designs.

Equivalent OpenType tag: 'pnum'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS +
+ + +

Replaces glyphs set on uniform widths (typically full or half-em) with proportionally spaced glyphs. The proportional variants are often used for the Latin characters in CJKV fonts, but may also be used for Kana in Japanese fonts.

Equivalent OpenType tag: 'pwid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES +
+ + +

Replaces glyphs on other widths with glyphs set on widths of one quarter of an em (half an en). The characters involved are normally figures and some forms of punctuation.

Equivalent OpenType tag: 'qwid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS +
+ + +

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers those ligatures, which the script determines as required to be used in normal conditions. This feature is important for some scripts to ensure correct glyph formation.

Equivalent OpenType tag: 'rlig'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS + DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS +
+ + +

Identifies glyphs in the font which have been designed for "ruby", from the old typesetting term for four-point-sized type. Japanese typesetting often uses smaller kana glyphs, generally in superscripted form, to clarify the meaning of kanji which may be unfamiliar to the reader.

Equivalent OpenType tag: 'ruby'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES + DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES +
+ + +

Replaces the default forms with the stylistic alternates. Many fonts contain alternate glyph designs for a purely esthetic effect; these don't always fit into a clear category like swash or historical. As in the case of swash glyphs, there may be more than one alternate form.

Equivalent OpenType tag: 'salt'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS + DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS +
+ + +

Replaces lining or oldstyle figures with inferior figures (smaller glyphs which sit lower than the standard baseline, primarily for chemical or mathematical notation). May also replace lowercase characters with alphabetic inferiors.

Equivalent OpenType tag: 'sinf'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES + DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES +
+ + +

Turns lowercase characters into small capitals. This corresponds to the common SC font layout. It is generally used for display lines set in Large & small caps, such as titles. Forms related to small capitals, such as oldstyle figures, may be included.

Equivalent OpenType tag: 'smcp'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS + DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS +
+ + +

Replaces 'traditional' Chinese or Japanese forms with the corresponding 'simplified' forms.

Equivalent OpenType tag: 'smpl'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS +
+ + +

In addition to, or instead of, stylistic alternatives of individual glyphs (see 'salt' feature), some fonts may contain sets of stylistic variant glyphs corresponding to portions of the character set, such as multiple variants for lowercase letters in a Latin font. Glyphs in stylistic sets may be designed to harmonise visually, interract in particular ways, or otherwise work together. Examples of fonts including stylistic sets are Zapfino Linotype and Adobe's Poetica. Individual features numbered sequentially with the tag name convention 'ss01' 'ss02' 'ss03' . 'ss20' provide a mechanism for glyphs in these sets to be associated via GSUB lookup indexes to default forms and to each other, and for users to select from available stylistic sets

Equivalent OpenType tag: 'ss01'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS + DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS +
+ + +

See the description for .

Equivalent OpenType tag: 'ss02'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss03'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss04'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss05'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss06'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss07'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss08'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss09'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss10'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss11'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss12'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss13'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss14'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss15'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss16'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss17'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss18'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss19'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 +
+ + +

See the description for .

Equivalent OpenType tag: 'ss20'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 +
+ + +

May replace a default glyph with a subscript glyph, or it may combine a glyph substitution with positioning adjustments for proper placement.

Equivalent OpenType tag: 'subs'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 +
+ + +

Replaces lining or oldstyle figures with superior figures (primarily for footnote indication), and replaces lowercase letters with superior letters (primarily for abbreviated French titles).

Equivalent OpenType tag: 'sups'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SUBSCRIPT + DWRITE_FONT_FEATURE_TAG_SUBSCRIPT +
+ + +

Replaces default character glyphs with corresponding swash glyphs. Note that there may be more than one swash alternate for a given character.

Equivalent OpenType tag: 'swsh'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT + DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT +
+ + +

Replaces the default glyphs with corresponding forms designed specifically for titling. These may be all-capital and/or larger on the body, and adjusted for viewing at larger sizes.

Equivalent OpenType tag: 'titl'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_SWASH + DWRITE_FONT_FEATURE_TAG_SWASH +
+ + +

Replaces 'simplified' Japanese kanji forms with the corresponding 'traditional' forms. This is equivalent to the Traditional Forms feature, but explicitly limited to the traditional forms considered proper for use in personal names (as many as 205 glyphs in some fonts).

Equivalent OpenType tag: 'tnam'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_TITLING + DWRITE_FONT_FEATURE_TAG_TITLING +
+ + +

Replaces figure glyphs set on proportional widths with corresponding glyphs set on uniform (tabular) widths. Tabular widths will generally be the default, but this cannot be safely assumed. Of course this feature would not be present in monospaced designs.

Equivalent OpenType tag: 'tnum'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS +
+ + +

Replaces 'simplified' Chinese hanzi or Japanese kanji forms with the corresponding 'traditional' forms.

Equivalent OpenType tag: 'trad'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES + DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES +
+ + +

Replaces glyphs on other widths with glyphs set on widths of one third of an em. The characters involved are normally figures and some forms of punctuation.

Equivalent OpenType tag: 'twid'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS +
+ + +

Maps upper- and lowercase letters to a mixed set of lowercase and small capital forms, resulting in a single case alphabet (for an example of unicase, see the Emigre type family Filosofia). The letters substituted may vary from font to font, as appropriate to the design. If aligning to the x-height, smallcap glyphs may be substituted, or specially designed unicase forms might be used. Substitutions might also include specially designed figures. +

Equivalent OpenType tag: 'unic'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS + DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS +
+ + +

Allows the user to change from the default 0 to a slashed form. Some fonts contain both a default form of zero, and an alternative form which uses a diagonal slash through the counter. Especially in condensed designs, it can be difficult to distinguish between 0 and O (zero and capital O) in any situation where capitals and lining figures may be arbitrarily mixed.

Equivalent OpenType tag: 'zero'

+
+ + dd368069 + DWRITE_FONT_FEATURE_TAG_UNICASE + DWRITE_FONT_FEATURE_TAG_UNICASE +
+ + + No documentation. + + + DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING + DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING + + + + No documentation. + + + DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION + DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION + + + + No documentation. + + + DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO + DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO + + + +

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.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE + DWRITE_FONT_FILE_TYPE +
+ + +

Font type is not recognized by the DirectWrite font system.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_UNKNOWN + DWRITE_FONT_FILE_TYPE_UNKNOWN +
+ + +

OpenType font with CFF outlines.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_CFF + DWRITE_FONT_FILE_TYPE_CFF +
+ + +

OpenType font with TrueType outlines.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_TRUETYPE + DWRITE_FONT_FILE_TYPE_TRUETYPE +
+ + +

OpenType font that contains a TrueType collection.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION + DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION +
+ + +

Type 1 PFM font.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_TYPE1_PFM + DWRITE_FONT_FILE_TYPE_TYPE1_PFM +
+ + +

Type 1 PFB font.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_TYPE1_PFB + DWRITE_FONT_FILE_TYPE_TYPE1_PFB +
+ + +

Vector .FON font.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_VECTOR + DWRITE_FONT_FILE_TYPE_VECTOR +
+ + +

Bitmap .FON font.

+
+ + dd368072 + DWRITE_FONT_FILE_TYPE_BITMAP + DWRITE_FONT_FILE_TYPE_BITMAP +
+ + +

Specifies algorithmic style simulations to be applied to the font face. Bold and oblique simulations can be combined via bitwise OR operation.

+
+ +

Style simulations are not recommended for good typographic quality.

+
+ + dd368076 + DWRITE_FONT_SIMULATIONS + DWRITE_FONT_SIMULATIONS +
+ + +

Indicates that no simulations are applied to the font face.

+
+ + dd368076 + DWRITE_FONT_SIMULATIONS_NONE + DWRITE_FONT_SIMULATIONS_NONE +
+ + +

Indicates that algorithmic emboldening is applied to the font face. increases weight by applying a widening algorithm to the glyph outline. This may be used to simulate a bold weight where no designed bold weight is available.

+
+ + dd368076 + DWRITE_FONT_SIMULATIONS_BOLD + DWRITE_FONT_SIMULATIONS_BOLD +
+ + +

Indicates that algorithmic italicization is applied to the font face. applies obliquing (shear) to the glyph outline. This may be used to simulate an oblique/italic style where no designed oblique/italic style is available.

+
+ + dd368076 + DWRITE_FONT_SIMULATIONS_OBLIQUE + DWRITE_FONT_SIMULATIONS_OBLIQUE +
+ + +

Represents the degree to which a font has been stretched compared to a font's normal aspect ratio. The enumerated values correspond to the usWidthClass definition in the OpenType specification. The usWidthClass represents an integer value between 1 and 9?lower values indicate narrower widths; higher values indicate wider widths.

+
+ +

A font stretch describes the degree to which a font form is stretched from its normal aspect ratio, which is the original width to height ratio specified for the glyphs in the font. + The following illustration shows an example of Normal and Condensed stretches for the Rockwell Bold typeface.

Note??Values other than the ones defined in the enumeration are considered to be invalid, and are rejected by font API functions.

+
+ + dd368078 + DWRITE_FONT_STRETCH + DWRITE_FONT_STRETCH +
+ + +

Predefined font stretch : Not known (0).

+
+ + dd368078 + DWRITE_FONT_STRETCH_UNDEFINED + DWRITE_FONT_STRETCH_UNDEFINED +
+ + +

Predefined font stretch : Ultra-condensed (1).

+
+ + dd368078 + DWRITE_FONT_STRETCH_ULTRA_CONDENSED + DWRITE_FONT_STRETCH_ULTRA_CONDENSED +
+ + +

Predefined font stretch : Extra-condensed (2).

+
+ + dd368078 + DWRITE_FONT_STRETCH_EXTRA_CONDENSED + DWRITE_FONT_STRETCH_EXTRA_CONDENSED +
+ + +

Predefined font stretch : Condensed (3).

+
+ + dd368078 + DWRITE_FONT_STRETCH_CONDENSED + DWRITE_FONT_STRETCH_CONDENSED +
+ + +

Predefined font stretch : Semi-condensed (4).

+
+ + dd368078 + DWRITE_FONT_STRETCH_SEMI_CONDENSED + DWRITE_FONT_STRETCH_SEMI_CONDENSED +
+ + +

Predefined font stretch : Normal (5).

+
+ + dd368078 + DWRITE_FONT_STRETCH_NORMAL + DWRITE_FONT_STRETCH_NORMAL +
+ + +

Predefined font stretch : Medium (5).

+
+ + dd368078 + DWRITE_FONT_STRETCH_MEDIUM + DWRITE_FONT_STRETCH_MEDIUM +
+ + +

Predefined font stretch : Semi-expanded (6).

+
+ + dd368078 + DWRITE_FONT_STRETCH_SEMI_EXPANDED + DWRITE_FONT_STRETCH_SEMI_EXPANDED +
+ + +

Predefined font stretch : Expanded (7).

+
+ + dd368078 + DWRITE_FONT_STRETCH_EXPANDED + DWRITE_FONT_STRETCH_EXPANDED +
+ + +

Predefined font stretch : Extra-expanded (8).

+
+ + dd368078 + DWRITE_FONT_STRETCH_EXTRA_EXPANDED + DWRITE_FONT_STRETCH_EXTRA_EXPANDED +
+ + +

Predefined font stretch : Ultra-expanded (9).

+
+ + dd368078 + DWRITE_FONT_STRETCH_ULTRA_EXPANDED + DWRITE_FONT_STRETCH_ULTRA_EXPANDED +
+ + +

Represents the style of a font face as normal, italic, or oblique.

+
+ +

Three terms categorize the slant of a font: normal, italic, and oblique.

Font styleDescription
NormalThe characters in a normal, or roman, font are upright. +
Italic + The characters in an italic font are truly slanted and appear as they were designed. +
ObliqueThe characters in an oblique font are artificially slanted.

?

For Oblique, the slant is achieved by performing a shear transformation on the characters from a normal font. When a true italic font is not available on a computer or printer, an oblique style can be generated from the normal font and used to simulate an italic font. The following illustration shows the normal, italic, and oblique font styles for the Palatino Linotype font. Notice how the italic font style has a more flowing and visually appealing appearance than the oblique font style, which is simply created by skewing the normal font style version of the text.

Note?? Values other than the ones defined in the enumeration are considered to be invalid, and they are rejected by font API functions.

+
+ + dd368080 + DWRITE_FONT_STYLE + DWRITE_FONT_STYLE +
+ + +

Font style : Normal.

+
+ + dd368080 + DWRITE_FONT_STYLE_NORMAL + DWRITE_FONT_STYLE_NORMAL +
+ + +

Font style : Oblique.

+
+ + dd368080 + DWRITE_FONT_STYLE_OBLIQUE + DWRITE_FONT_STYLE_OBLIQUE +
+ + +

Font style : Italic.

+
+ + dd368080 + DWRITE_FONT_STYLE_ITALIC + DWRITE_FONT_STYLE_ITALIC +
+ + +

Represents the density of a typeface, in terms of the lightness or heaviness of the strokes. The enumerated values correspond to the usWeightClass definition in the OpenType specification. The usWeightClass represents an integer value between 1 and 999. Lower values indicate lighter weights; higher values indicate heavier weights.

+
+ +

Weight differences are generally differentiated by an increased stroke or thickness that is associated with a given character in a typeface, as compared to a "normal" character from that same typeface. + The following illustration shows an example of Normal and UltraBold weights for the Palatino Linotype typeface.

Note??Not all weights are available for all typefaces. When a weight is not available for a typeface, the closest matching weight is returned.

Font weight values less than 1 or greater than 999 are considered invalid, and they are rejected by font API functions.

+
+ + dd368082 + DWRITE_FONT_WEIGHT + DWRITE_FONT_WEIGHT +
+ + +

Predefined font weight : Thin (100).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_THIN + DWRITE_FONT_WEIGHT_THIN +
+ + +

Predefined font weight : Extra-light (200).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_EXTRA_LIGHT + DWRITE_FONT_WEIGHT_EXTRA_LIGHT +
+ + +

Predefined font weight : Ultra-light (200).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_ULTRA_LIGHT + DWRITE_FONT_WEIGHT_ULTRA_LIGHT +
+ + +

Predefined font weight : Light (300).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_LIGHT + DWRITE_FONT_WEIGHT_LIGHT +
+ + +

Predefined font weight : Normal (400).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_SEMI_LIGHT + DWRITE_FONT_WEIGHT_SEMI_LIGHT +
+ + +

Predefined font weight : Regular (400).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_NORMAL + DWRITE_FONT_WEIGHT_NORMAL +
+ + +

Predefined font weight : Medium (500).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_REGULAR + DWRITE_FONT_WEIGHT_REGULAR +
+ + +

Predefined font weight : Demi-bold (600).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_MEDIUM + DWRITE_FONT_WEIGHT_MEDIUM +
+ + +

Predefined font weight : Semi-bold (600).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_DEMI_BOLD + DWRITE_FONT_WEIGHT_DEMI_BOLD +
+ + +

Predefined font weight : Bold (700).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_SEMI_BOLD + DWRITE_FONT_WEIGHT_SEMI_BOLD +
+ + +

Predefined font weight : Extra-bold (800).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_BOLD + DWRITE_FONT_WEIGHT_BOLD +
+ + +

Predefined font weight : Ultra-bold (800).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_EXTRA_BOLD + DWRITE_FONT_WEIGHT_EXTRA_BOLD +
+ + +

Predefined font weight : Black (900).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_ULTRA_BOLD + DWRITE_FONT_WEIGHT_ULTRA_BOLD +
+ + +

Predefined font weight : Heavy (900).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_BLACK + DWRITE_FONT_WEIGHT_BLACK +
+ + +

Predefined font weight : Extra-black (950).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_HEAVY + DWRITE_FONT_WEIGHT_HEAVY +
+ + +

Predefined font weight : Ultra-black (950).

+
+ + dd368082 + DWRITE_FONT_WEIGHT_EXTRA_BLACK + DWRITE_FONT_WEIGHT_EXTRA_BLACK +
+ + + No documentation. + + + DWRITE_FONT_WEIGHT_ULTRA_BLACK + DWRITE_FONT_WEIGHT_ULTRA_BLACK + + + +

The enumeration contains values that specify how the glyph is oriented to the x-axis.

+
+ +

The text analyzer outputs values. The value that it outputs depends on the desired orientation, bidi level, and character properties.

+
+ + jj126260 + DWRITE_GLYPH_ORIENTATION_ANGLE + DWRITE_GLYPH_ORIENTATION_ANGLE +
+ + +

Glyph orientation is upright.

+
+ + jj126260 + DWRITE_GLYPH_ORIENTATION_ANGLE_0_DEGREES + DWRITE_GLYPH_ORIENTATION_ANGLE_0_DEGREES +
+ + +

Glyph orientation is rotated 90 degrees clockwise.

+
+ + jj126260 + DWRITE_GLYPH_ORIENTATION_ANGLE_90_DEGREES + DWRITE_GLYPH_ORIENTATION_ANGLE_90_DEGREES +
+ + +

Glyph orientation is upside-down.

+
+ + jj126260 + DWRITE_GLYPH_ORIENTATION_ANGLE_180_DEGREES + DWRITE_GLYPH_ORIENTATION_ANGLE_180_DEGREES +
+ + +

Glyph orientation is rotated 270 degrees clockwise.

+
+ + jj126260 + DWRITE_GLYPH_ORIENTATION_ANGLE_270_DEGREES + DWRITE_GLYPH_ORIENTATION_ANGLE_270_DEGREES +
+ + +

The informational string enumeration which identifies a string embedded in a font file.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_ID + DWRITE_INFORMATIONAL_STRING_ID +
+ + +

Indicates the string containing the unspecified name ID.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_NONE + DWRITE_INFORMATIONAL_STRING_NONE +
+ + +

Indicates the string containing the copyright notice provided by the font.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE + DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE +
+ + +

Indicates the string containing a version number.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS + DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS +
+ + +

Indicates the string containing the trademark information provided by the font.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_TRADEMARK + DWRITE_INFORMATIONAL_STRING_TRADEMARK +
+ + +

Indicates the string containing the name of the font manufacturer.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_MANUFACTURER + DWRITE_INFORMATIONAL_STRING_MANUFACTURER +
+ + +

Indicates the string containing the name of the font designer.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_DESIGNER + DWRITE_INFORMATIONAL_STRING_DESIGNER +
+ + +

Indicates the string containing the URL of the font designer (with protocol, e.g., http://, ftp://).

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_DESIGNER_URL + DWRITE_INFORMATIONAL_STRING_DESIGNER_URL +
+ + +

Indicates the string containing the description of the font. This may also contain revision information, usage recommendations, history, features, etc.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_DESCRIPTION + DWRITE_INFORMATIONAL_STRING_DESCRIPTION +
+ + +

Indicates the string containing the URL of the font vendor (with protocol, e.g., http://, ftp://). If a unique serial number is embedded in the URL, it can be used to register the font.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL + DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL +
+ + +

Indicates the string containing the description of how the font may be legally used, or different example scenarios for licensed use.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION + DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION +
+ + +

Indicates the string containing the URL where additional licensing information can be found.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL + DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL +
+ + +

Indicates the string containing the GDI-compatible family name. Since GDI allows a maximum of four fonts per family, fonts in the same family may have different GDI-compatible family names (e.g., "Arial", "Arial Narrow", "Arial Black").

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES +
+ + +

Indicates the string containing a GDI-compatible subfamily name.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES +
+ + +

Indicates the string containing the family name preferred by the designer. This enables font designers to group more than four fonts in a single family without losing compatibility with GDI. This name is typically only present if it differs from the GDI-compatible family name.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES +
+ + +

Indicates the string containing the subfamily name preferred by the designer. This name is typically only present if it differs from the GDI-compatible subfamily name.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES +
+ + +

Contains sample text for display in font lists. This can be the font name or any other text that the designer thinks is the best example to display the font in.

+
+ + dd368094 + DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT + DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT +
+ + + No documentation. + + + DWRITE_INFORMATIONAL_STRING_FULL_NAME + DWRITE_INFORMATIONAL_STRING_FULL_NAME + + + + No documentation. + + + DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME + DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME + + + + No documentation. + + + DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME + DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME + + + +

The method used for line spacing in a text layout.

+
+ +

The line spacing method is set by using the SetLineSpacing method of the or interfaces. To get the current line spacing method of a text format or text layou use the GetLineSpacing.

+
+ + dd368101 + DWRITE_LINE_SPACING_METHOD + DWRITE_LINE_SPACING_METHOD +
+ + +

Line spacing depends solely on the content, adjusting to accommodate the size of fonts and inline objects.

+
+ + dd368101 + DWRITE_LINE_SPACING_METHOD_DEFAULT + DWRITE_LINE_SPACING_METHOD_DEFAULT +
+ + +

Lines are explicitly set to uniform spacing, regardless of the size of fonts and inline objects. This can be useful to avoid the uneven appearance that can occur from font fallback.

+
+ + dd368101 + DWRITE_LINE_SPACING_METHOD_UNIFORM + DWRITE_LINE_SPACING_METHOD_UNIFORM +
+ + +

Specifies how to apply number substitution on digits and related punctuation.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD + DWRITE_NUMBER_SUBSTITUTION_METHOD +
+ + +

Specifies that the substitution method should be determined based on the LOCALE_IDIGITSUBSTITUTION value of the specified text culture.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE + DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE +
+ + +

If the culture is Arabic or Persian, specifies that the number shapes depend on the context. Either traditional or nominal number shapes are used, depending on the nearest preceding strong character or (if there is none) the reading direction of the paragraph.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL + DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL +
+ + +

Specifies that code points 0x30-0x39 are always rendered as nominal numeral shapes (ones of the European number), that is, no substitution is performed.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE + DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE +
+ + +

Specifies that numbers are rendered using the national number shapes as specified by the LOCALE_SNATIVEDIGITS value of the specified text culture.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL + DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL +
+ + +

Specifies that numbers are rendered using the traditional shapes for the specified culture. For most cultures, this is the same as NativeNational. However, NativeNational results in Latin numbers for some Arabic cultures, whereasDWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL results in arabic numbers for all Arabic cultures.

+
+ + dd368107 + DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL + DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL +
+ + +

The enumeration contains values that specify the policy used by the method to determine whether to render glyphs in outline mode.

+
+ +

Glyphs are rendered in outline mode by default at large sizes for performance reasons, but how large (that is, the outline threshold) depends on the quality of outline rendering. If the graphics system renders anti-aliased outlines, a relatively low threshold is used. But if the graphics system renders aliased outlines, a much higher threshold is used.

+
+ + jj126262 + DWRITE_OUTLINE_THRESHOLD + DWRITE_OUTLINE_THRESHOLD +
+ + + No documentation. + + + DWRITE_OUTLINE_THRESHOLD_ANTIALIASED + DWRITE_OUTLINE_THRESHOLD_ANTIALIASED + + + + No documentation. + + + DWRITE_OUTLINE_THRESHOLD_ALIASED + DWRITE_OUTLINE_THRESHOLD_ALIASED + + + +

The enumeration contains values that specify the style of termination of stems and rounded letterforms for text.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE + DWRITE_PANOSE_ARM_STYLE +
+ + +

Any arm style.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_ANY + DWRITE_PANOSE_ARM_STYLE_ANY +
+ + +

No fit arm style.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_NO_FIT + DWRITE_PANOSE_ARM_STYLE_NO_FIT +
+ + +

The arm style is straight horizontal.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORIZONTAL + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORIZONTAL +
+ + +

The arm style is straight wedge.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_WEDGE + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_WEDGE +
+ + +

The arm style is straight vertical.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERTICAL + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERTICAL +
+ + +

The arm style is straight single serif.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_SINGLE_SERIF + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_SINGLE_SERIF +
+ + +

The arm style is straight double serif.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_DOUBLE_SERIF + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_DOUBLE_SERIF +
+ + +

The arm style is non-straight horizontal.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_HORIZONTAL + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_HORIZONTAL +
+ + +

The arm style is non-straight wedge.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_WEDGE + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_WEDGE +
+ + +

The arm style is non-straight vertical.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_VERTICAL + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_VERTICAL +
+ + +

The arm style is non-straight single serif.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_SINGLE_SERIF + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_SINGLE_SERIF +
+ + +

The arm style is non-straight double serif.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_DOUBLE_SERIF + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_DOUBLE_SERIF +
+ + +

The arm style is straight horizontal.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORZ + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORZ +
+ + +

The arm style is straight vertical.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERT + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERT +
+ + +

The arm style is non-straight horizontal.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_HORZ + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_HORZ +
+ + +

The arm style is non-straight wedge.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_WEDGE + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_WEDGE +
+ + +

The arm style is non-straight vertical.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_VERT + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_VERT +
+ + +

The arm style is non-straight single serif.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_SINGLE_SERIF + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_SINGLE_SERIF +
+ + +

The arm style is non-straight double serif.

+
+ + hh997721 + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_DOUBLE_SERIF + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_DOUBLE_SERIF +
+ + +

The enumeration contains values that specify info about the ratio between width and height of the character face.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT + DWRITE_PANOSE_ASPECT +
+ + +

Any aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_ANY + DWRITE_PANOSE_ASPECT_ANY +
+ + +

No fit for aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_NO_FIT + DWRITE_PANOSE_ASPECT_NO_FIT +
+ + +

Very condensed aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_SUPER_CONDENSED + DWRITE_PANOSE_ASPECT_SUPER_CONDENSED +
+ + +

Condensed aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_VERY_CONDENSED + DWRITE_PANOSE_ASPECT_VERY_CONDENSED +
+ + +

Normal aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_CONDENSED + DWRITE_PANOSE_ASPECT_CONDENSED +
+ + +

Expanded aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_NORMAL + DWRITE_PANOSE_ASPECT_NORMAL +
+ + +

Very expanded aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_EXTENDED + DWRITE_PANOSE_ASPECT_EXTENDED +
+ + + No documentation. + + + DWRITE_PANOSE_ASPECT_VERY_EXTENDED + DWRITE_PANOSE_ASPECT_VERY_EXTENDED + + + + No documentation. + + + DWRITE_PANOSE_ASPECT_SUPER_EXTENDED + DWRITE_PANOSE_ASPECT_SUPER_EXTENDED + + + + No documentation. + + + DWRITE_PANOSE_ASPECT_MONOSPACED + DWRITE_PANOSE_ASPECT_MONOSPACED + + + +

The enumeration contains values that specify info about the ratio between width and height of the character face.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_RATIO + DWRITE_PANOSE_ASPECT_RATIO +
+ + +

Any aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_RATIO_ANY + DWRITE_PANOSE_ASPECT_RATIO_ANY +
+ + +

No fit for aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_RATIO_NO_FIT + DWRITE_PANOSE_ASPECT_RATIO_NO_FIT +
+ + +

Very condensed aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_RATIO_VERY_CONDENSED + DWRITE_PANOSE_ASPECT_RATIO_VERY_CONDENSED +
+ + +

Condensed aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_RATIO_CONDENSED + DWRITE_PANOSE_ASPECT_RATIO_CONDENSED +
+ + +

Normal aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_RATIO_NORMAL + DWRITE_PANOSE_ASPECT_RATIO_NORMAL +
+ + +

Expanded aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_RATIO_EXPANDED + DWRITE_PANOSE_ASPECT_RATIO_EXPANDED +
+ + +

Very expanded aspect ratio.

+
+ + hh997723 + DWRITE_PANOSE_ASPECT_RATIO_VERY_EXPANDED + DWRITE_PANOSE_ASPECT_RATIO_VERY_EXPANDED +
+ + +

The enumeration contains values that specify the type of characters available in the font.

+
+ + hh997724 + DWRITE_PANOSE_CHARACTER_RANGES + DWRITE_PANOSE_CHARACTER_RANGES +
+ + +

Any range.

+
+ + hh997724 + DWRITE_PANOSE_CHARACTER_RANGES_ANY + DWRITE_PANOSE_CHARACTER_RANGES_ANY +
+ + +

No fit for range.

+
+ + hh997724 + DWRITE_PANOSE_CHARACTER_RANGES_NO_FIT + DWRITE_PANOSE_CHARACTER_RANGES_NO_FIT +
+ + +

The range includes extended collection.

+
+ + hh997724 + DWRITE_PANOSE_CHARACTER_RANGES_EXTENDED_COLLECTION + DWRITE_PANOSE_CHARACTER_RANGES_EXTENDED_COLLECTION +
+ + +

The range includes literals.

+
+ + hh997724 + DWRITE_PANOSE_CHARACTER_RANGES_LITERALS + DWRITE_PANOSE_CHARACTER_RANGES_LITERALS +
+ + +

The range doesn't include lower case.

+
+ + hh997724 + DWRITE_PANOSE_CHARACTER_RANGES_NO_LOWER_CASE + DWRITE_PANOSE_CHARACTER_RANGES_NO_LOWER_CASE +
+ + +

The range includes small capitals.

+
+ + hh997724 + DWRITE_PANOSE_CHARACTER_RANGES_SMALL_CAPS + DWRITE_PANOSE_CHARACTER_RANGES_SMALL_CAPS +
+ + +

The enumeration contains values that specify the ratio between thickest and thinnest point of the stroke for a letter such as uppercase 'O'.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST + DWRITE_PANOSE_CONTRAST +
+ + +

Any contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_ANY + DWRITE_PANOSE_CONTRAST_ANY +
+ + +

No fit contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_NO_FIT + DWRITE_PANOSE_CONTRAST_NO_FIT +
+ + +

No contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_NONE + DWRITE_PANOSE_CONTRAST_NONE +
+ + +

Very low contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_VERY_LOW + DWRITE_PANOSE_CONTRAST_VERY_LOW +
+ + +

Low contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_LOW + DWRITE_PANOSE_CONTRAST_LOW +
+ + +

Medium low contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_MEDIUM_LOW + DWRITE_PANOSE_CONTRAST_MEDIUM_LOW +
+ + +

Medium contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_MEDIUM + DWRITE_PANOSE_CONTRAST_MEDIUM +
+ + +

Medium high contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_MEDIUM_HIGH + DWRITE_PANOSE_CONTRAST_MEDIUM_HIGH +
+ + +

High contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_HIGH + DWRITE_PANOSE_CONTRAST_HIGH +
+ + +

Very high contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_VERY_HIGH + DWRITE_PANOSE_CONTRAST_VERY_HIGH +
+ + +

Horizontal low contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_HORIZONTAL_LOW + DWRITE_PANOSE_CONTRAST_HORIZONTAL_LOW +
+ + +

Horizontal medium contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_HORIZONTAL_MEDIUM + DWRITE_PANOSE_CONTRAST_HORIZONTAL_MEDIUM +
+ + +

Horizontal high contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_HORIZONTAL_HIGH + DWRITE_PANOSE_CONTRAST_HORIZONTAL_HIGH +
+ + +

Broken contrast.

+
+ + hh997725 + DWRITE_PANOSE_CONTRAST_BROKEN + DWRITE_PANOSE_CONTRAST_BROKEN +
+ + +

The enumeration contains values that specify the general look of the character face.

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS + DWRITE_PANOSE_DECORATIVE_CLASS +
+ + +

Any class of decorative typeface.

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_ANY + DWRITE_PANOSE_DECORATIVE_CLASS_ANY +
+ + +

No fit for decorative typeface.

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_NO_FIT + DWRITE_PANOSE_DECORATIVE_CLASS_NO_FIT +
+ + +

Derivative decorative typeface.

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_DERIVATIVE + DWRITE_PANOSE_DECORATIVE_CLASS_DERIVATIVE +
+ + +

Nonstandard topology decorative typeface.

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_TOPOLOGY + DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_TOPOLOGY +
+ + +

Nonstandard elements decorative typeface.

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ELEMENTS + DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ELEMENTS +
+ + +

Nonstandard aspect decorative typeface.

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ASPECT + DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ASPECT +
+ + +

Initials decorative typeface.

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_INITIALS + DWRITE_PANOSE_DECORATIVE_CLASS_INITIALS +
+ + +

TBD

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_CARTOON + DWRITE_PANOSE_DECORATIVE_CLASS_CARTOON +
+ + +

TBD

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_PICTURE_STEMS + DWRITE_PANOSE_DECORATIVE_CLASS_PICTURE_STEMS +
+ + +

TBD

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_ORNAMENTED + DWRITE_PANOSE_DECORATIVE_CLASS_ORNAMENTED +
+ + +

TBD

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_TEXT_AND_BACKGROUND + DWRITE_PANOSE_DECORATIVE_CLASS_TEXT_AND_BACKGROUND +
+ + +

TBD

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_COLLAGE + DWRITE_PANOSE_DECORATIVE_CLASS_COLLAGE +
+ + +

TBD

+
+ + hh997726 + DWRITE_PANOSE_DECORATIVE_CLASS_MONTAGE + DWRITE_PANOSE_DECORATIVE_CLASS_MONTAGE +
+ + +

The enumeration contains values that specify the overall shape characteristics of the font.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY + DWRITE_PANOSE_DECORATIVE_TOPOLOGY +
+ + +

Any decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ANY + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ANY +
+ + +

No fit for decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_NO_FIT + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_NO_FIT +
+ + +

Standard decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_STANDARD + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_STANDARD +
+ + +

Square decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SQUARE + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SQUARE +
+ + +

Multiple segment decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_MULTIPLE_SEGMENT + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_MULTIPLE_SEGMENT +
+ + +

Art deco decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ART_DECO + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ART_DECO +
+ + +

Uneven weighting decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UNEVEN_WEIGHTING + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UNEVEN_WEIGHTING +
+ + +

Diverse arms decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_ARMS + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_ARMS +
+ + +

Diverse forms decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_FORMS + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_FORMS +
+ + +

Lombardic forms decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_LOMBARDIC_FORMS + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_LOMBARDIC_FORMS +
+ + +

Upper case in lower case decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UPPER_CASE_IN_LOWER_CASE + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UPPER_CASE_IN_LOWER_CASE +
+ + +

The decorative topology is implied.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_IMPLIED_TOPOLOGY + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_IMPLIED_TOPOLOGY +
+ + +

Horseshoe E and A decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_HORSESHOE_E_AND_A + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_HORSESHOE_E_AND_A +
+ + +

Cursive decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_CURSIVE + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_CURSIVE +
+ + +

Blackletter decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_BLACKLETTER + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_BLACKLETTER +
+ + +

Swash variance decorative topology.

+
+ + hh997727 + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SWASH_VARIANCE + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SWASH_VARIANCE +
+ + +

The enumeration contains values that specify the kind of typeface classification.

+
+ + hh995028 + DWRITE_PANOSE_FAMILY + DWRITE_PANOSE_FAMILY +
+ + +

Any typeface classification.

+
+ + hh995028 + DWRITE_PANOSE_FAMILY_ANY + DWRITE_PANOSE_FAMILY_ANY +
+ + +

No fit typeface classification.

+
+ + hh995028 + DWRITE_PANOSE_FAMILY_NO_FIT + DWRITE_PANOSE_FAMILY_NO_FIT +
+ + +

Text display typeface classification.

+
+ + hh995028 + DWRITE_PANOSE_FAMILY_TEXT_DISPLAY + DWRITE_PANOSE_FAMILY_TEXT_DISPLAY +
+ + +

Script (or hand written) typeface classification.

+
+ + hh995028 + DWRITE_PANOSE_FAMILY_SCRIPT + DWRITE_PANOSE_FAMILY_SCRIPT +
+ + +

Decorative typeface classification.

+
+ + hh995028 + DWRITE_PANOSE_FAMILY_DECORATIVE + DWRITE_PANOSE_FAMILY_DECORATIVE +
+ + +

Symbol typeface classification.

+
+ + hh995028 + DWRITE_PANOSE_FAMILY_SYMBOL + DWRITE_PANOSE_FAMILY_SYMBOL +
+ + +

Pictorial (or symbol) typeface classification.

+
+ + hh995028 + DWRITE_PANOSE_FAMILY_PICTORIAL + DWRITE_PANOSE_FAMILY_PICTORIAL +
+ + +

The enumeration contains values that specify the type of fill and line treatment.

+
+ + hh997728 + DWRITE_PANOSE_FILL + DWRITE_PANOSE_FILL +
+ + +

Any fill.

+
+ + hh997728 + DWRITE_PANOSE_FILL_ANY + DWRITE_PANOSE_FILL_ANY +
+ + +

No fit for fill.

+
+ + hh997728 + DWRITE_PANOSE_FILL_NO_FIT + DWRITE_PANOSE_FILL_NO_FIT +
+ + +

The fill is the standard solid fill.

+
+ + hh997728 + DWRITE_PANOSE_FILL_STANDARD_SOLID_FILL + DWRITE_PANOSE_FILL_STANDARD_SOLID_FILL +
+ + +

No fill.

+
+ + hh997728 + DWRITE_PANOSE_FILL_NO_FILL + DWRITE_PANOSE_FILL_NO_FILL +
+ + +

The fill is patterned fill.

+
+ + hh997728 + DWRITE_PANOSE_FILL_PATTERNED_FILL + DWRITE_PANOSE_FILL_PATTERNED_FILL +
+ + +

The fill is complex fill.

+
+ + hh997728 + DWRITE_PANOSE_FILL_COMPLEX_FILL + DWRITE_PANOSE_FILL_COMPLEX_FILL +
+ + +

The fill is shaped fill.

+
+ + hh997728 + DWRITE_PANOSE_FILL_SHAPED_FILL + DWRITE_PANOSE_FILL_SHAPED_FILL +
+ + +

The fill is drawn distressed.

+
+ + hh997728 + DWRITE_PANOSE_FILL_DRAWN_DISTRESSED + DWRITE_PANOSE_FILL_DRAWN_DISTRESSED +
+ + +

The enumeration contains values that specify how character ends and miniscule ascenders are treated.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS + DWRITE_PANOSE_FINIALS +
+ + +

Any finials.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_ANY + DWRITE_PANOSE_FINIALS_ANY +
+ + +

No fit for finials.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_NO_FIT + DWRITE_PANOSE_FINIALS_NO_FIT +
+ + +

No loops.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_NONE_NO_LOOPS + DWRITE_PANOSE_FINIALS_NONE_NO_LOOPS +
+ + +

No closed loops.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_NONE_CLOSED_LOOPS + DWRITE_PANOSE_FINIALS_NONE_CLOSED_LOOPS +
+ + +

No open loops.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_NONE_OPEN_LOOPS + DWRITE_PANOSE_FINIALS_NONE_OPEN_LOOPS +
+ + +

Sharp with no loops.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_SHARP_NO_LOOPS + DWRITE_PANOSE_FINIALS_SHARP_NO_LOOPS +
+ + +

Sharp with closed loops.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_SHARP_CLOSED_LOOPS + DWRITE_PANOSE_FINIALS_SHARP_CLOSED_LOOPS +
+ + +

Sharp with open loops.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_SHARP_OPEN_LOOPS + DWRITE_PANOSE_FINIALS_SHARP_OPEN_LOOPS +
+ + +

Tapered with no loops.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_TAPERED_NO_LOOPS + DWRITE_PANOSE_FINIALS_TAPERED_NO_LOOPS +
+ + +

Tapered with closed loops.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_TAPERED_CLOSED_LOOPS + DWRITE_PANOSE_FINIALS_TAPERED_CLOSED_LOOPS +
+ + +

Tapered with open loops.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_TAPERED_OPEN_LOOPS + DWRITE_PANOSE_FINIALS_TAPERED_OPEN_LOOPS +
+ + +

Round with no loops.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_ROUND_NO_LOOPS + DWRITE_PANOSE_FINIALS_ROUND_NO_LOOPS +
+ + +

Round with closed loops.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_ROUND_CLOSED_LOOPS + DWRITE_PANOSE_FINIALS_ROUND_CLOSED_LOOPS +
+ + +

Round with open loops.

+
+ + hh997729 + DWRITE_PANOSE_FINIALS_ROUND_OPEN_LOOPS + DWRITE_PANOSE_FINIALS_ROUND_OPEN_LOOPS +
+ + +

The enumeration contains values that specify the roundness of letterform for text.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM + DWRITE_PANOSE_LETTERFORM +
+ + +

Any letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_ANY + DWRITE_PANOSE_LETTERFORM_ANY +
+ + +

No fit letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_NO_FIT + DWRITE_PANOSE_LETTERFORM_NO_FIT +
+ + +

Normal contact letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_NORMAL_CONTACT + DWRITE_PANOSE_LETTERFORM_NORMAL_CONTACT +
+ + +

Normal weighted letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_NORMAL_WEIGHTED + DWRITE_PANOSE_LETTERFORM_NORMAL_WEIGHTED +
+ + +

Normal boxed letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_NORMAL_BOXED + DWRITE_PANOSE_LETTERFORM_NORMAL_BOXED +
+ + +

Normal flattened letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_NORMAL_FLATTENED + DWRITE_PANOSE_LETTERFORM_NORMAL_FLATTENED +
+ + +

Normal rounded letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_NORMAL_ROUNDED + DWRITE_PANOSE_LETTERFORM_NORMAL_ROUNDED +
+ + +

Normal off-center letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_NORMAL_OFF_CENTER + DWRITE_PANOSE_LETTERFORM_NORMAL_OFF_CENTER +
+ + +

Normal square letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_NORMAL_SQUARE + DWRITE_PANOSE_LETTERFORM_NORMAL_SQUARE +
+ + +

Oblique contact letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_OBLIQUE_CONTACT + DWRITE_PANOSE_LETTERFORM_OBLIQUE_CONTACT +
+ + +

Oblique weighted letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_OBLIQUE_WEIGHTED + DWRITE_PANOSE_LETTERFORM_OBLIQUE_WEIGHTED +
+ + +

Oblique boxed letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_OBLIQUE_BOXED + DWRITE_PANOSE_LETTERFORM_OBLIQUE_BOXED +
+ + +

Oblique flattened letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_OBLIQUE_FLATTENED + DWRITE_PANOSE_LETTERFORM_OBLIQUE_FLATTENED +
+ + +

Oblique rounded letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_OBLIQUE_ROUNDED + DWRITE_PANOSE_LETTERFORM_OBLIQUE_ROUNDED +
+ + +

Oblique off-center letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_OBLIQUE_OFF_CENTER + DWRITE_PANOSE_LETTERFORM_OBLIQUE_OFF_CENTER +
+ + +

Oblique square letterform.

+
+ + hh997730 + DWRITE_PANOSE_LETTERFORM_OBLIQUE_SQUARE + DWRITE_PANOSE_LETTERFORM_OBLIQUE_SQUARE +
+ + +

The enumeration contains values that specify the handling of the outline for the decorative typeface.

+
+ + hh997731 + DWRITE_PANOSE_LINING + DWRITE_PANOSE_LINING +
+ + +

Any lining.

+
+ + hh997731 + DWRITE_PANOSE_LINING_ANY + DWRITE_PANOSE_LINING_ANY +
+ + +

No fit for lining.

+
+ + hh997731 + DWRITE_PANOSE_LINING_NO_FIT + DWRITE_PANOSE_LINING_NO_FIT +
+ + +

No lining.

+
+ + hh997731 + DWRITE_PANOSE_LINING_NONE + DWRITE_PANOSE_LINING_NONE +
+ + +

The lining is inline.

+
+ + hh997731 + DWRITE_PANOSE_LINING_INLINE + DWRITE_PANOSE_LINING_INLINE +
+ + +

The lining is outline.

+
+ + hh997731 + DWRITE_PANOSE_LINING_OUTLINE + DWRITE_PANOSE_LINING_OUTLINE +
+ + +

The lining is engraved.

+
+ + hh997731 + DWRITE_PANOSE_LINING_ENGRAVED + DWRITE_PANOSE_LINING_ENGRAVED +
+ + +

The lining is shadowed.

+
+ + hh997731 + DWRITE_PANOSE_LINING_SHADOW + DWRITE_PANOSE_LINING_SHADOW +
+ + +

The lining is relief.

+
+ + hh997731 + DWRITE_PANOSE_LINING_RELIEF + DWRITE_PANOSE_LINING_RELIEF +
+ + +

The lining is backdrop.

+
+ + hh997731 + DWRITE_PANOSE_LINING_BACKDROP + DWRITE_PANOSE_LINING_BACKDROP +
+ + +

The enumeration contains values that specify info about the placement of midline across uppercase characters and the treatment of diagonal stem apexes.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE + DWRITE_PANOSE_MIDLINE +
+ + +

Any midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_ANY + DWRITE_PANOSE_MIDLINE_ANY +
+ + +

No fit midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_NO_FIT + DWRITE_PANOSE_MIDLINE_NO_FIT +
+ + +

Standard trimmed midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_STANDARD_TRIMMED + DWRITE_PANOSE_MIDLINE_STANDARD_TRIMMED +
+ + +

Standard pointed midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_STANDARD_POINTED + DWRITE_PANOSE_MIDLINE_STANDARD_POINTED +
+ + +

Standard serifed midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_STANDARD_SERIFED + DWRITE_PANOSE_MIDLINE_STANDARD_SERIFED +
+ + +

High trimmed midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_HIGH_TRIMMED + DWRITE_PANOSE_MIDLINE_HIGH_TRIMMED +
+ + +

High pointed midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_HIGH_POINTED + DWRITE_PANOSE_MIDLINE_HIGH_POINTED +
+ + +

High serifed midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_HIGH_SERIFED + DWRITE_PANOSE_MIDLINE_HIGH_SERIFED +
+ + +

Constant trimmed midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_CONSTANT_TRIMMED + DWRITE_PANOSE_MIDLINE_CONSTANT_TRIMMED +
+ + +

Constant pointed midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_CONSTANT_POINTED + DWRITE_PANOSE_MIDLINE_CONSTANT_POINTED +
+ + +

Constant serifed midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_CONSTANT_SERIFED + DWRITE_PANOSE_MIDLINE_CONSTANT_SERIFED +
+ + +

Low trimmed midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_LOW_TRIMMED + DWRITE_PANOSE_MIDLINE_LOW_TRIMMED +
+ + +

Low pointed midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_LOW_POINTED + DWRITE_PANOSE_MIDLINE_LOW_POINTED +
+ + +

Low serifed midline.

+
+ + hh997732 + DWRITE_PANOSE_MIDLINE_LOW_SERIFED + DWRITE_PANOSE_MIDLINE_LOW_SERIFED +
+ + +

The enumeration contains values that specify the proportion of the glyph shape by considering additional detail to standard characters.

+
+ + hh995029 + DWRITE_PANOSE_PROPORTION + DWRITE_PANOSE_PROPORTION +
+ + +

Any proportion for the text.

+
+ + hh995029 + DWRITE_PANOSE_PROPORTION_ANY + DWRITE_PANOSE_PROPORTION_ANY +
+ + +

No fit proportion for the text.

+
+ + hh995029 + DWRITE_PANOSE_PROPORTION_NO_FIT + DWRITE_PANOSE_PROPORTION_NO_FIT +
+ + +

Old style proportion for the text.

+
+ + hh995029 + DWRITE_PANOSE_PROPORTION_OLD_STYLE + DWRITE_PANOSE_PROPORTION_OLD_STYLE +
+ + +

Modern proportion for the text.

+
+ + hh995029 + DWRITE_PANOSE_PROPORTION_MODERN + DWRITE_PANOSE_PROPORTION_MODERN +
+ + +

Extra width proportion for the text.

+
+ + hh995029 + DWRITE_PANOSE_PROPORTION_EVEN_WIDTH + DWRITE_PANOSE_PROPORTION_EVEN_WIDTH +
+ + +

Expanded proportion for the text.

+
+ + hh995029 + DWRITE_PANOSE_PROPORTION_EXPANDED + DWRITE_PANOSE_PROPORTION_EXPANDED +
+ + +

Condensed proportion for the text.

+
+ + hh995029 + DWRITE_PANOSE_PROPORTION_CONDENSED + DWRITE_PANOSE_PROPORTION_CONDENSED +
+ + +

Very expanded proportion for the text.

+
+ + hh995029 + DWRITE_PANOSE_PROPORTION_VERY_EXPANDED + DWRITE_PANOSE_PROPORTION_VERY_EXPANDED +
+ + +

Very condensed proportion for the text.

+
+ + hh995029 + DWRITE_PANOSE_PROPORTION_VERY_CONDENSED + DWRITE_PANOSE_PROPORTION_VERY_CONDENSED +
+ + +

Monospaced proportion for the text.

+
+ + hh995029 + DWRITE_PANOSE_PROPORTION_MONOSPACED + DWRITE_PANOSE_PROPORTION_MONOSPACED +
+ + +

The enumeration contains values that specify the general look of the character face, with consideration of its slope and tails.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM + DWRITE_PANOSE_SCRIPT_FORM +
+ + +

Any script form.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_ANY + DWRITE_PANOSE_SCRIPT_FORM_ANY +
+ + +

No fit for script form.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_NO_FIT + DWRITE_PANOSE_SCRIPT_FORM_NO_FIT +
+ + +

Script form is upright with no wrapping.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_NO_WRAPPING + DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_NO_WRAPPING +
+ + +

Script form is upright with some wrapping.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_SOME_WRAPPING + DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_SOME_WRAPPING +
+ + +

Script form is upright with more wrapping.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_MORE_WRAPPING + DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_MORE_WRAPPING +
+ + +

Script form is upright with extreme wrapping.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_EXTREME_WRAPPING + DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_EXTREME_WRAPPING +
+ + +

Script form is oblique with no wrapping.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_NO_WRAPPING + DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_NO_WRAPPING +
+ + +

Script form is oblique with some wrapping.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_SOME_WRAPPING + DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_SOME_WRAPPING +
+ + +

Script form is oblique with more wrapping.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_MORE_WRAPPING + DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_MORE_WRAPPING +
+ + +

Script form is oblique with extreme wrapping.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_EXTREME_WRAPPING + DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_EXTREME_WRAPPING +
+ + +

Script form is exaggerated with no wrapping.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_NO_WRAPPING + DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_NO_WRAPPING +
+ + +

Script form is exaggerated with some wrapping.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_SOME_WRAPPING + DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_SOME_WRAPPING +
+ + +

Script form is exaggerated with more wrapping.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_MORE_WRAPPING + DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_MORE_WRAPPING +
+ + +

Script form is exaggerated with extreme wrapping.

+
+ + hh997733 + DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_EXTREME_WRAPPING + DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_EXTREME_WRAPPING +
+ + +

The enumeration contains values that specify the topology of letterforms.

+
+ + hh997734 + DWRITE_PANOSE_SCRIPT_TOPOLOGY + DWRITE_PANOSE_SCRIPT_TOPOLOGY +
+ + +

Any script topology.

+
+ + hh997734 + DWRITE_PANOSE_SCRIPT_TOPOLOGY_ANY + DWRITE_PANOSE_SCRIPT_TOPOLOGY_ANY +
+ + +

No fit for script topology.

+
+ + hh997734 + DWRITE_PANOSE_SCRIPT_TOPOLOGY_NO_FIT + DWRITE_PANOSE_SCRIPT_TOPOLOGY_NO_FIT +
+ + +

Script topology is roman disconnected.

+
+ + hh997734 + DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_DISCONNECTED + DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_DISCONNECTED +
+ + +

Script topology is roman trailing.

+
+ + hh997734 + DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_TRAILING + DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_TRAILING +
+ + +

Script topology is roman connected.

+
+ + hh997734 + DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_CONNECTED + DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_CONNECTED +
+ + +

Script topology is cursive disconnected.

+
+ + hh997734 + DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_DISCONNECTED + DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_DISCONNECTED +
+ + +

Script topology is cursive trailing.

+
+ + hh997734 + DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_TRAILING + DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_TRAILING +
+ + +

Script topology is cursive connected.

+
+ + hh997734 + DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_CONNECTED + DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_CONNECTED +
+ + +

Script topology is black-letter disconnected.

+
+ + hh997734 + DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_DISCONNECTED + DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_DISCONNECTED +
+ + +

Script topology is black-letter trailing.

+
+ + hh997734 + DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_TRAILING + DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_TRAILING +
+ + +

Script topology is black-letter connected.

+
+ + hh997734 + DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_CONNECTED + DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_CONNECTED +
+ + +

The enumeration contains values that specify the appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE + DWRITE_PANOSE_SERIF_STYLE +
+ + +

Any appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_ANY + DWRITE_PANOSE_SERIF_STYLE_ANY +
+ + +

No fit appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_NO_FIT + DWRITE_PANOSE_SERIF_STYLE_NO_FIT +
+ + +

Cove appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_COVE + DWRITE_PANOSE_SERIF_STYLE_COVE +
+ + +

Obtuse cove appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_OBTUSE_COVE + DWRITE_PANOSE_SERIF_STYLE_OBTUSE_COVE +
+ + +

Square cove appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_SQUARE_COVE + DWRITE_PANOSE_SERIF_STYLE_SQUARE_COVE +
+ + +

Obtuse square cove appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SQUARE_COVE + DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SQUARE_COVE +
+ + +

Square appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_SQUARE + DWRITE_PANOSE_SERIF_STYLE_SQUARE +
+ + +

Thin appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_THIN + DWRITE_PANOSE_SERIF_STYLE_THIN +
+ + +

Oval appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_OVAL + DWRITE_PANOSE_SERIF_STYLE_OVAL +
+ + +

Exaggerated appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_EXAGGERATED + DWRITE_PANOSE_SERIF_STYLE_EXAGGERATED +
+ + +

Triangle appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_TRIANGLE + DWRITE_PANOSE_SERIF_STYLE_TRIANGLE +
+ + +

Normal sans appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_NORMAL_SANS + DWRITE_PANOSE_SERIF_STYLE_NORMAL_SANS +
+ + +

Obtuse sans appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SANS + DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SANS +
+ + +

Perpendicular sans appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_PERPENDICULAR_SANS + DWRITE_PANOSE_SERIF_STYLE_PERPENDICULAR_SANS +
+ + +

Flared appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_FLARED + DWRITE_PANOSE_SERIF_STYLE_FLARED +
+ + +

Rounded appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_ROUNDED + DWRITE_PANOSE_SERIF_STYLE_ROUNDED +
+ + +

Script appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_SCRIPT + DWRITE_PANOSE_SERIF_STYLE_SCRIPT +
+ + +

Perpendicular sans appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_PERP_SANS + DWRITE_PANOSE_SERIF_STYLE_PERP_SANS +
+ + +

Oval appearance of the serif text.

+
+ + hh995030 + DWRITE_PANOSE_SERIF_STYLE_BONE + DWRITE_PANOSE_SERIF_STYLE_BONE +
+ + +

The enumeration contains values that specify character spacing (monospace versus proportional).

+
+ + hh997735 + DWRITE_PANOSE_SPACING + DWRITE_PANOSE_SPACING +
+ + +

Any spacing.

+
+ + hh997735 + DWRITE_PANOSE_SPACING_ANY + DWRITE_PANOSE_SPACING_ANY +
+ + +

No fit for spacing.

+
+ + hh997735 + DWRITE_PANOSE_SPACING_NO_FIT + DWRITE_PANOSE_SPACING_NO_FIT +
+ + +

Spacing is proportional.

+
+ + hh997735 + DWRITE_PANOSE_SPACING_PROPORTIONAL_SPACED + DWRITE_PANOSE_SPACING_PROPORTIONAL_SPACED +
+ + +

Spacing is monospace.

+
+ + hh997735 + DWRITE_PANOSE_SPACING_MONOSPACED + DWRITE_PANOSE_SPACING_MONOSPACED +
+ + +

The enumeration contains values that specify the relationship between thin and thick stems of text characters.

+
+ + hh997736 + DWRITE_PANOSE_STROKE_VARIATION + DWRITE_PANOSE_STROKE_VARIATION +
+ + +

Any stroke variation for text characters.

+
+ + hh997736 + DWRITE_PANOSE_STROKE_VARIATION_ANY + DWRITE_PANOSE_STROKE_VARIATION_ANY +
+ + +

No fit stroke variation for text characters.

+
+ + hh997736 + DWRITE_PANOSE_STROKE_VARIATION_NO_FIT + DWRITE_PANOSE_STROKE_VARIATION_NO_FIT +
+ + +

No stroke variation for text characters.

+
+ + hh997736 + DWRITE_PANOSE_STROKE_VARIATION_NO_VARIATION + DWRITE_PANOSE_STROKE_VARIATION_NO_VARIATION +
+ + +

The stroke variation for text characters is gradual diagonal.

+
+ + hh997736 + DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_DIAGONAL + DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_DIAGONAL +
+ + +

The stroke variation for text characters is gradual transitional.

+
+ + hh997736 + DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_TRANSITIONAL + DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_TRANSITIONAL +
+ + +

The stroke variation for text characters is gradual vertical.

+
+ + hh997736 + DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_VERTICAL + DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_VERTICAL +
+ + +

The stroke variation for text characters is gradual horizontal.

+
+ + hh997736 + DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_HORIZONTAL + DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_HORIZONTAL +
+ + +

The stroke variation for text characters is rapid vertical.

+
+ + hh997736 + DWRITE_PANOSE_STROKE_VARIATION_RAPID_VERTICAL + DWRITE_PANOSE_STROKE_VARIATION_RAPID_VERTICAL +
+ + +

The stroke variation for text characters is rapid horizontal.

+
+ + hh997736 + DWRITE_PANOSE_STROKE_VARIATION_RAPID_HORIZONTAL + DWRITE_PANOSE_STROKE_VARIATION_RAPID_HORIZONTAL +
+ + +

The stroke variation for text characters is instant vertical.

+
+ + hh997736 + DWRITE_PANOSE_STROKE_VARIATION_INSTANT_VERTICAL + DWRITE_PANOSE_STROKE_VARIATION_INSTANT_VERTICAL +
+ + +

The stroke variation for text characters is instant horizontal.

+
+ + hh997736 + DWRITE_PANOSE_STROKE_VARIATION_INSTANT_HORIZONTAL + DWRITE_PANOSE_STROKE_VARIATION_INSTANT_HORIZONTAL +
+ + +

The enumeration contains values that specify the aspect ratio of symbolic characters.

+
+ + jj126263 + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO +
+ + +

Any aspect ratio of symbolic characters.

+
+ + jj126263 + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_ANY + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_ANY +
+ + +

No fit for aspect ratio of symbolic characters.

+
+ + jj126263 + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_FIT + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_FIT +
+ + +

No width aspect ratio of symbolic characters.

+
+ + jj126263 + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_WIDTH + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_WIDTH +
+ + +

Exceptionally wide symbolic characters.

+
+ + jj126263 + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_EXCEPTIONALLY_WIDE + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_EXCEPTIONALLY_WIDE +
+ + +

Super wide symbolic characters.

+
+ + jj126263 + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_SUPER_WIDE + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_SUPER_WIDE +
+ + +

Very wide symbolic characters.

+
+ + jj126263 + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_WIDE + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_WIDE +
+ + +

Wide symbolic characters.

+
+ + jj126263 + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_WIDE + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_WIDE +
+ + +

Normal aspect ratio of symbolic characters.

+
+ + jj126263 + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NORMAL + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NORMAL +
+ + +

Narrow symbolic characters.

+
+ + jj126263 + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NARROW + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NARROW +
+ + +

Very narrow symbolic characters.

+
+ + jj126263 + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_NARROW + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_NARROW +
+ + +

The enumeration contains values that specify the kind of symbol set.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND + DWRITE_PANOSE_SYMBOL_KIND +
+ + +

Any kind of symbol set.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_ANY + DWRITE_PANOSE_SYMBOL_KIND_ANY +
+ + +

No fit for the kind of symbol set.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_NO_FIT + DWRITE_PANOSE_SYMBOL_KIND_NO_FIT +
+ + +

The kind of symbol set is montages.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_MONTAGES + DWRITE_PANOSE_SYMBOL_KIND_MONTAGES +
+ + +

The kind of symbol set is pictures.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_PICTURES + DWRITE_PANOSE_SYMBOL_KIND_PICTURES +
+ + +

The kind of symbol set is shapes.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_SHAPES + DWRITE_PANOSE_SYMBOL_KIND_SHAPES +
+ + +

The kind of symbol set is scientific symbols.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_SCIENTIFIC + DWRITE_PANOSE_SYMBOL_KIND_SCIENTIFIC +
+ + +

The kind of symbol set is music symbols.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_MUSIC + DWRITE_PANOSE_SYMBOL_KIND_MUSIC +
+ + +

The kind of symbol set is expert symbols.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_EXPERT + DWRITE_PANOSE_SYMBOL_KIND_EXPERT +
+ + +

The kind of symbol set is patterns.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_PATTERNS + DWRITE_PANOSE_SYMBOL_KIND_PATTERNS +
+ + +

The kind of symbol set is boarders.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_BOARDERS + DWRITE_PANOSE_SYMBOL_KIND_BOARDERS +
+ + +

The kind of symbol set is icons.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_ICONS + DWRITE_PANOSE_SYMBOL_KIND_ICONS +
+ + +

The kind of symbol set is logos.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_LOGOS + DWRITE_PANOSE_SYMBOL_KIND_LOGOS +
+ + +

The kind of symbol set is industry specific.

+
+ + hh997737 + DWRITE_PANOSE_SYMBOL_KIND_INDUSTRY_SPECIFIC + DWRITE_PANOSE_SYMBOL_KIND_INDUSTRY_SPECIFIC +
+ + +

The enumeration contains values that specify the kind of tool that is used to create character forms.

+
+ + hh997738 + DWRITE_PANOSE_TOOL_KIND + DWRITE_PANOSE_TOOL_KIND +
+ + +

Any kind of tool.

+
+ + hh997738 + DWRITE_PANOSE_TOOL_KIND_ANY + DWRITE_PANOSE_TOOL_KIND_ANY +
+ + +

No fit for the kind of tool.

+
+ + hh997738 + DWRITE_PANOSE_TOOL_KIND_NO_FIT + DWRITE_PANOSE_TOOL_KIND_NO_FIT +
+ + +

Flat NIB tool.

+
+ + hh997738 + DWRITE_PANOSE_TOOL_KIND_FLAT_NIB + DWRITE_PANOSE_TOOL_KIND_FLAT_NIB +
+ + +

Pressure point tool.

+
+ + hh997738 + DWRITE_PANOSE_TOOL_KIND_PRESSURE_POINT + DWRITE_PANOSE_TOOL_KIND_PRESSURE_POINT +
+ + +

Engraved tool.

+
+ + hh997738 + DWRITE_PANOSE_TOOL_KIND_ENGRAVED + DWRITE_PANOSE_TOOL_KIND_ENGRAVED +
+ + +

Ball tool.

+
+ + hh997738 + DWRITE_PANOSE_TOOL_KIND_BALL + DWRITE_PANOSE_TOOL_KIND_BALL +
+ + +

Brush tool.

+
+ + hh997738 + DWRITE_PANOSE_TOOL_KIND_BRUSH + DWRITE_PANOSE_TOOL_KIND_BRUSH +
+ + +

Rough tool.

+
+ + hh997738 + DWRITE_PANOSE_TOOL_KIND_ROUGH + DWRITE_PANOSE_TOOL_KIND_ROUGH +
+ + +

Felt-pen-brush-tip tool.

+
+ + hh997738 + DWRITE_PANOSE_TOOL_KIND_FELT_PEN_BRUSH_TIP + DWRITE_PANOSE_TOOL_KIND_FELT_PEN_BRUSH_TIP +
+ + +

Wild-brush tool.

+
+ + hh997738 + DWRITE_PANOSE_TOOL_KIND_WILD_BRUSH + DWRITE_PANOSE_TOOL_KIND_WILD_BRUSH +
+ + +

The enumeration contains values that specify the weight of characters.

+
+ +

The values roughly correspond to the values by using (panose_weight - 2) * 100 = font_weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT + DWRITE_PANOSE_WEIGHT +
+ + +

Any weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_ANY + DWRITE_PANOSE_WEIGHT_ANY +
+ + +

No fit weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_NO_FIT + DWRITE_PANOSE_WEIGHT_NO_FIT +
+ + +

Very light weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_VERY_LIGHT + DWRITE_PANOSE_WEIGHT_VERY_LIGHT +
+ + +

Light weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_LIGHT + DWRITE_PANOSE_WEIGHT_LIGHT +
+ + +

Thin weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_THIN + DWRITE_PANOSE_WEIGHT_THIN +
+ + +

Book weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_BOOK + DWRITE_PANOSE_WEIGHT_BOOK +
+ + +

Medium weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_MEDIUM + DWRITE_PANOSE_WEIGHT_MEDIUM +
+ + +

Demi weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_DEMI + DWRITE_PANOSE_WEIGHT_DEMI +
+ + +

Bold weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_BOLD + DWRITE_PANOSE_WEIGHT_BOLD +
+ + +

Heavy weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_HEAVY + DWRITE_PANOSE_WEIGHT_HEAVY +
+ + +

Black weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_BLACK + DWRITE_PANOSE_WEIGHT_BLACK +
+ + +

Extra black weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_EXTRA_BLACK + DWRITE_PANOSE_WEIGHT_EXTRA_BLACK +
+ + +

Extra black weight.

+
+ + hh995031 + DWRITE_PANOSE_WEIGHT_NORD + DWRITE_PANOSE_WEIGHT_NORD +
+ + +

The enumeration contains values that specify the relative size of the lowercase letters.

+
+ + hh997739 + DWRITE_PANOSE_XASCENT + DWRITE_PANOSE_XASCENT +
+ + +

Any xascent.

+
+ + hh997739 + DWRITE_PANOSE_XASCENT_ANY + DWRITE_PANOSE_XASCENT_ANY +
+ + +

No fit for xascent.

+
+ + hh997739 + DWRITE_PANOSE_XASCENT_NO_FIT + DWRITE_PANOSE_XASCENT_NO_FIT +
+ + +

Very low xascent.

+
+ + hh997739 + DWRITE_PANOSE_XASCENT_VERY_LOW + DWRITE_PANOSE_XASCENT_VERY_LOW +
+ + +

Low xascent.

+
+ + hh997739 + DWRITE_PANOSE_XASCENT_LOW + DWRITE_PANOSE_XASCENT_LOW +
+ + +

Medium xascent.

+
+ + hh997739 + DWRITE_PANOSE_XASCENT_MEDIUM + DWRITE_PANOSE_XASCENT_MEDIUM +
+ + +

High xascent.

+
+ + hh997739 + DWRITE_PANOSE_XASCENT_HIGH + DWRITE_PANOSE_XASCENT_HIGH +
+ + +

Very high xascent.

+
+ + hh997739 + DWRITE_PANOSE_XASCENT_VERY_HIGH + DWRITE_PANOSE_XASCENT_VERY_HIGH +
+ + +

The enumeration contains values that specify info about the relative size of lowercase letters and the treatment of diacritic marks (xheight).

+
+ + hh997740 + DWRITE_PANOSE_XHEIGHT + DWRITE_PANOSE_XHEIGHT +
+ + +

Any xheight.

+
+ + hh997740 + DWRITE_PANOSE_XHEIGHT_ANY + DWRITE_PANOSE_XHEIGHT_ANY +
+ + +

No fit xheight.

+
+ + hh997740 + DWRITE_PANOSE_XHEIGHT_NO_FIT + DWRITE_PANOSE_XHEIGHT_NO_FIT +
+ + +

Constant small xheight.

+
+ + hh997740 + DWRITE_PANOSE_XHEIGHT_CONSTANT_SMALL + DWRITE_PANOSE_XHEIGHT_CONSTANT_SMALL +
+ + +

Constant standard xheight.

+
+ + hh997740 + DWRITE_PANOSE_XHEIGHT_CONSTANT_STANDARD + DWRITE_PANOSE_XHEIGHT_CONSTANT_STANDARD +
+ + +

Constant large xheight.

+
+ + hh997740 + DWRITE_PANOSE_XHEIGHT_CONSTANT_LARGE + DWRITE_PANOSE_XHEIGHT_CONSTANT_LARGE +
+ + +

Ducking small xheight.

+
+ + hh997740 + DWRITE_PANOSE_XHEIGHT_DUCKING_SMALL + DWRITE_PANOSE_XHEIGHT_DUCKING_SMALL +
+ + +

Ducking standard xheight.

+
+ + hh997740 + DWRITE_PANOSE_XHEIGHT_DUCKING_STANDARD + DWRITE_PANOSE_XHEIGHT_DUCKING_STANDARD +
+ + +

Ducking large xheight.

+
+ + hh997740 + DWRITE_PANOSE_XHEIGHT_DUCKING_LARGE + DWRITE_PANOSE_XHEIGHT_DUCKING_LARGE +
+ + +

Constant standard xheight.

+
+ + hh997740 + DWRITE_PANOSE_XHEIGHT_CONSTANT_STD + DWRITE_PANOSE_XHEIGHT_CONSTANT_STD +
+ + +

Ducking standard xheight.

+
+ + hh997740 + DWRITE_PANOSE_XHEIGHT_DUCKING_STD + DWRITE_PANOSE_XHEIGHT_DUCKING_STD +
+ + +

Specifies the alignment of paragraph text along the flow direction axis, relative to the top and bottom of the flow's layout box.

+
+ + dd368112 + DWRITE_PARAGRAPH_ALIGNMENT + DWRITE_PARAGRAPH_ALIGNMENT +
+ + +

The top of the text flow is aligned to the top edge of the layout box.

+
+ + dd368112 + DWRITE_PARAGRAPH_ALIGNMENT_NEAR + DWRITE_PARAGRAPH_ALIGNMENT_NEAR +
+ + +

The bottom of the text flow is aligned to the bottom edge of the layout box.

+
+ + dd368112 + DWRITE_PARAGRAPH_ALIGNMENT_FAR + DWRITE_PARAGRAPH_ALIGNMENT_FAR +
+ + +

The center of the flow is aligned to the center of the layout box.

+
+ + dd368112 + DWRITE_PARAGRAPH_ALIGNMENT_CENTER + DWRITE_PARAGRAPH_ALIGNMENT_CENTER +
+ + +

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. +

+
+ + dd368114 + DWRITE_PIXEL_GEOMETRY + DWRITE_PIXEL_GEOMETRY +
+ + +

The red, green, and blue color components of each pixel are assumed to occupy the same point.

+
+ + dd368114 + DWRITE_PIXEL_GEOMETRY_FLAT + DWRITE_PIXEL_GEOMETRY_FLAT +
+ + +

Each pixel is composed of three vertical stripes, with red on the left, green in the center, and blue on the right. This is the most common pixel geometry for LCD monitors.

+
+ + dd368114 + DWRITE_PIXEL_GEOMETRY_RGB + DWRITE_PIXEL_GEOMETRY_RGB +
+ + +

Each pixel is composed of three vertical stripes, with blue on the left, green in the center, and red on the right.

+
+ + dd368114 + DWRITE_PIXEL_GEOMETRY_BGR + DWRITE_PIXEL_GEOMETRY_BGR +
+ + +

Specifies the direction in which reading progresses.

+
+ + dd368116 + DWRITE_READING_DIRECTION + DWRITE_READING_DIRECTION +
+ + +

Indicates that reading progresses from left to right.

+
+ + dd368116 + DWRITE_READING_DIRECTION_LEFT_TO_RIGHT + DWRITE_READING_DIRECTION_LEFT_TO_RIGHT +
+ + +

Indicates that reading progresses from right to left.

+
+ + dd368116 + DWRITE_READING_DIRECTION_RIGHT_TO_LEFT + DWRITE_READING_DIRECTION_RIGHT_TO_LEFT +
+ + +

Represents a method of rendering glyphs.

+
+ + dd368118 + DWRITE_RENDERING_MODE + DWRITE_RENDERING_MODE +
+ + +

Specifies that the rendering mode is determined automatically, based on the font and size.

+
+ + dd368118 + DWRITE_RENDERING_MODE_DEFAULT + DWRITE_RENDERING_MODE_DEFAULT +
+ + +

Specifies that no anti-aliasing is performed. Each pixel is either set to the foreground color of the text or retains the color of the background.

+
+ + dd368118 + DWRITE_RENDERING_MODE_ALIASED + DWRITE_RENDERING_MODE_ALIASED +
+ + +

Specifies ClearType rendering with the same metrics as bi-level text. Glyphs can only be positioned on whole-pixel boundaries.

+
+ + dd368118 + DWRITE_RENDERING_MODE_GDI_CLASSIC + DWRITE_RENDERING_MODE_GDI_CLASSIC +
+ + +

Specifies ClearType rendering with the same metrics as text rendering using GDI using a font created with CLEARTYPE_NATURAL_QUALITY. Glyph metrics are closer to their ideal values than with bi-level text, but glyphs are still positioned on whole-pixel boundaries.

+
+ + dd368118 + DWRITE_RENDERING_MODE_GDI_NATURAL + DWRITE_RENDERING_MODE_GDI_NATURAL +
+ + +

Specifies ClearType rendering with anti-aliasing in the horizontal dimension only. This is typically used with small to medium font sizes (up to 16 ppem).

+
+ + dd368118 + DWRITE_RENDERING_MODE_NATURAL + DWRITE_RENDERING_MODE_NATURAL +
+ + +

Specifies ClearType rendering with anti-aliasing in both horizontal and vertical dimensions. This is typically used at larger sizes to makes curves and diagonal lines look smoother, at the expense of some softness.

+
+ + dd368118 + DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC + DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC +
+ + +

Specifies that rendering should bypass the rasterizer and use the outlines directly. This is typically used at very large sizes.

+
+ + dd368118 + DWRITE_RENDERING_MODE_OUTLINE + DWRITE_RENDERING_MODE_OUTLINE +
+ + + No documentation. + + + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC + + + + No documentation. + + + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL + + + + No documentation. + + + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL + + + + No documentation. + + + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC + + + +

Indicates additional shaping requirements for text.

+
+ + dd368121 + DWRITE_SCRIPT_SHAPES + DWRITE_SCRIPT_SHAPES +
+ + +

Indicates that there is no additional shaping requirements for text. Text is shaped with the writing system default behavior.

+
+ + dd368121 + DWRITE_SCRIPT_SHAPES_DEFAULT + DWRITE_SCRIPT_SHAPES_DEFAULT +
+ + +

Indicates that text should leave no visible control or format control characters.

+
+ + dd368121 + DWRITE_SCRIPT_SHAPES_NO_VISUAL + DWRITE_SCRIPT_SHAPES_NO_VISUAL +
+ + +

Specifies the alignment of paragraph text along the reading direction axis, relative to the leading and trailing edge of the layout box.

+
+ + dd368131 + DWRITE_TEXT_ALIGNMENT + DWRITE_TEXT_ALIGNMENT +
+ + +

The leading edge of the paragraph text is aligned to the leading edge of the layout box.

+
+ + dd368131 + DWRITE_TEXT_ALIGNMENT_LEADING + DWRITE_TEXT_ALIGNMENT_LEADING +
+ + +

The trailing edge of the paragraph text is aligned to the trailing edge of the layout box.

+
+ + dd368131 + DWRITE_TEXT_ALIGNMENT_TRAILING + DWRITE_TEXT_ALIGNMENT_TRAILING +
+ + +

The center of the paragraph text is aligned to the center of the layout box.

+
+ + dd368131 + DWRITE_TEXT_ALIGNMENT_CENTER + DWRITE_TEXT_ALIGNMENT_CENTER +
+ + + No documentation. + + + DWRITE_TEXT_ALIGNMENT_JUSTIFIED + DWRITE_TEXT_ALIGNMENT_JUSTIFIED + + + +

The enumeration contains values that specify the type of antialiasing to use for text when the rendering mode calls for antialiasing.

+
+ + jj127237 + DWRITE_TEXT_ANTIALIAS_MODE + DWRITE_TEXT_ANTIALIAS_MODE +
+ + +

ClearType antialiasing computes coverage independently for the red, green, and blue color elements of each pixel. This allows for more detail than conventional antialiasing. However, because there is no one alpha value for each pixel, ClearType is not suitable for rendering text onto a transparent intermediate bitmap.

+
+ + jj127237 + DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE + DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE +
+ + +

Grayscale antialiasing computes one coverage value for each pixel. Because the alpha value of each pixel is well-defined, text can be rendered onto a transparent bitmap, which can then be composited with other content.

Note??Grayscale rendering with uses premultiplied alpha.

+
+ + jj127237 + DWRITE_TEXT_ANTIALIAS_MODE_GRAYSCALE + DWRITE_TEXT_ANTIALIAS_MODE_GRAYSCALE +
+ + +

Identifies a type of alpha texture.

+
+ +

An alpha texture is a bitmap of alpha values, each representing opacity of a pixel or subpixel.

+
+ + dd368129 + DWRITE_TEXTURE_TYPE + DWRITE_TEXTURE_TYPE +
+ + +

Specifies an alpha texture for aliased text rendering (that is, each pixel is either fully opaque or fully transparent), with one byte per pixel.

+
+ + dd368129 + DWRITE_TEXTURE_ALIASED_1x1 + DWRITE_TEXTURE_ALIASED_1x1 +
+ + +

Specifies an alpha texture for ClearType text rendering, with three bytes per pixel in the horizontal dimension and one byte per pixel in the vertical dimension.

+
+ + dd368129 + DWRITE_TEXTURE_CLEARTYPE_3x1 + DWRITE_TEXTURE_CLEARTYPE_3x1 +
+ + +

Specifies the text granularity used to trim text overflowing the layout box.

+
+ + dd368141 + DWRITE_TRIMMING_GRANULARITY + DWRITE_TRIMMING_GRANULARITY +
+ + +

No trimming occurs. Text flows beyond the layout width.

+
+ + dd368141 + DWRITE_TRIMMING_GRANULARITY_NONE + DWRITE_TRIMMING_GRANULARITY_NONE +
+ + +

Trimming occurs at a character cluster boundary.

+
+ + dd368141 + DWRITE_TRIMMING_GRANULARITY_CHARACTER + DWRITE_TRIMMING_GRANULARITY_CHARACTER +
+ + +

Trimming occurs at a word boundary.

+
+ + dd368141 + DWRITE_TRIMMING_GRANULARITY_WORD + DWRITE_TRIMMING_GRANULARITY_WORD +
+ + +

The enumeration contains values that specify the desired kind of glyph orientation for the text.

+
+ +

The client specifies a -typed value to the analyzer as the desired orientation.

Note??This is the client preference, and the constraints of the script determine the final presentation.

+
+ + jj126266 + DWRITE_VERTICAL_GLYPH_ORIENTATION + DWRITE_VERTICAL_GLYPH_ORIENTATION +
+ + +

The default glyph orientation. In vertical layout, naturally horizontal scripts (Latin, Thai, Arabic, Devanagari) rotate 90 degrees clockwise, while ideographic scripts (Chinese, Japanese, Korean) remain upright, 0 degrees.

+
+ + jj126266 + DWRITE_VERTICAL_GLYPH_ORIENTATION_DEFAULT + DWRITE_VERTICAL_GLYPH_ORIENTATION_DEFAULT +
+ + +

Stacked glyph orientation. Ideographic scripts and scripts that permit stacking (Latin, Hebrew) are stacked in vertical reading layout. Connected scripts (Arabic, Syriac, 'Phags-pa, Ogham), which would otherwise look broken if glyphs were kept at 0 degrees, remain connected and rotate.

+
+ + jj126266 + DWRITE_VERTICAL_GLYPH_ORIENTATION_STACKED + DWRITE_VERTICAL_GLYPH_ORIENTATION_STACKED +
+ + +

Specifies the word wrapping to be used in a particular multiline paragraph.

+
+ + dd368146 + DWRITE_WORD_WRAPPING + DWRITE_WORD_WRAPPING +
+ + +

Indicates that words are broken across lines to avoid text overflowing the layout box.

+
+ + dd368146 + DWRITE_WORD_WRAPPING_WRAP + DWRITE_WORD_WRAPPING_WRAP +
+ + +

Indicates that words are kept within the same line even when it overflows the layout box. This option is often used with scrolling to reveal overflow text.

+
+ + dd368146 + DWRITE_WORD_WRAPPING_NO_WRAP + DWRITE_WORD_WRAPPING_NO_WRAP +
+ + + Functions + + + + + +

Creates a DirectWrite factory object that is used for subsequent creation of individual DirectWrite objects.

+
+

A value that specifies whether the factory object will be shared or isolated.

+

A value that identifies the DirectWrite factory interface, such as __uuidof().

+

An address of a reference to the newly created DirectWrite factory object.

+

If this function succeeds, it returns . Otherwise, it returns an error code.

+ +

This function creates a DirectWrite factory object that is used for subsequent creation of individual DirectWrite objects. DirectWrite factory contains internal state data such as font loader registration and cached font data. In most cases it is recommended you use the shared factory object, because it allows multiple components that use DirectWrite to share internal DirectWrite state data, and thereby reduce memory usage. However, there are cases when it is desirable to reduce the impact of a component, such as a plug-in from an untrusted source, on the rest of the process, by sandboxing and isolating it from the rest of the process components. In such cases, it is recommended you use an isolated factory for the sandboxed component.

The following example shows how to create a shared DirectWrite factory.

 if (SUCCEEDED(hr))	
+            { hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory_) );	
+            } 
+
+ + dd368040 + HRESULT DWriteCreateFactory([In] DWRITE_FACTORY_TYPE factoryType,[In] const GUID& iid,[Out, Fast] IUnknown** factory) + DWriteCreateFactory +
+ + +

Encapsulates a 32-bit device independent bitmap and device context, which you can use for rendering glyphs.

+
+ + Hh780398 + IDWriteBitmapRenderTarget1 + IDWriteBitmapRenderTarget1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the current text antialiasing mode of the bitmap render target.

+
+

Returns a -typed value that specifies the antialiasing mode.

+ + Hh780399 + DWRITE_TEXT_ANTIALIAS_MODE IDWriteBitmapRenderTarget1::GetTextAntialiasMode() + IDWriteBitmapRenderTarget1::GetTextAntialiasMode +
+ + +

Sets the current text antialiasing mode of the bitmap render target.

+
+

A -typed value that specifies the antialiasing mode.

+

Returns if successful, or E_INVALIDARG if the argument is not valid.

+ +

The antialiasing mode of a newly-created bitmap render target defaults to . An app can change the antialiasing mode by calling SetTextAntialiasMode. For example, an app might specify for grayscale antialiasing when it renders text onto a transparent bitmap.

+
+ + Hh780400 + HRESULT IDWriteBitmapRenderTarget1::SetTextAntialiasMode([In] DWRITE_TEXT_ANTIALIAS_MODE antialiasMode) + IDWriteBitmapRenderTarget1::SetTextAntialiasMode +
+ + +

Gets or sets the current text antialiasing mode of the bitmap render target.

+
+ + Hh780399 + GetTextAntialiasMode / SetTextAntialiasMode + GetTextAntialiasMode + DWRITE_TEXT_ANTIALIAS_MODE IDWriteBitmapRenderTarget1::GetTextAntialiasMode() +
+ + +

Creates a rendering parameters object with the specified properties.

+
+ + Hh780402 + IDWriteFactory1 + IDWriteFactory1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a rendering parameters object with the specified properties.

+
+

The gamma level to be set for the new rendering parameters object.

+

The enhanced contrast level to be set for the new rendering parameters object.

+

The amount of contrast enhancement to use for grayscale antialiasing, zero or greater.

+

The ClearType level to be set for the new rendering parameters object.

+

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.

+

A value that represents the method (for example, ClearType natural quality) for rendering glyphs.

+

When this method returns, contains an address of a reference to the newly created rendering parameters object.

+

Standard error code.

+ + Hh780402 + HRESULT IDWriteFactory1::CreateCustomRenderingParams([In] float gamma,[In] float enhancedContrast,[In] float enhancedContrastGrayscale,[In] float clearTypeLevel,[In] DWRITE_PIXEL_GEOMETRY pixelGeometry,[In] DWRITE_RENDERING_MODE renderingMode,[Out] IDWriteRenderingParams1** renderingParams) + IDWriteFactory1::CreateCustomRenderingParams +
+ + +

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.

+
+ + dd368213 + IDWriteFont + IDWriteFont +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the font family to which the specified font belongs.

+
+

When this method returns, contains an address of a reference to the font family object to which the specified font belongs.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371143 + HRESULT IDWriteFont::GetFontFamily([Out] IDWriteFontFamily** fontFamily) + IDWriteFont::GetFontFamily +
+ + +

Gets the weight, or stroke thickness, of the specified font.

+
+

A value that indicates the weight for the specified font.

+ + dd371162 + DWRITE_FONT_WEIGHT IDWriteFont::GetWeight() + IDWriteFont::GetWeight +
+ + +

Gets the stretch, or width, of the specified font.

+
+

A value that indicates the type of stretch, or width, applied to the specified font.

+ + dd371156 + DWRITE_FONT_STRETCH IDWriteFont::GetStretch() + IDWriteFont::GetStretch +
+ + +

Gets the style, or slope, of the specified font.

+
+

A value that indicates the type of style, or slope, of the specified font.

+ + dd371159 + DWRITE_FONT_STYLE IDWriteFont::GetStyle() + IDWriteFont::GetStyle +
+ + +

Determines whether the font is a symbol font.

+
+

TRUE if the font is a symbol font; otherwise, .

+ + dd371168 + BOOL IDWriteFont::IsSymbolFont() + IDWriteFont::IsSymbolFont +
+ + +

Gets a localized strings collection containing the face names for the font (such as Regular or Bold), indexed by locale name.

+
+

When this method returns, contains an address to a reference to the newly created localized strings object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371140 + HRESULT IDWriteFont::GetFaceNames([Out] IDWriteLocalizedStrings** names) + IDWriteFont::GetFaceNames +
+ + +

Gets a localized strings collection containing the specified informational strings, indexed by locale name.

+
+

A value that identifies the informational string to get. For example, specifies a string that contains a description of the font.

+

When this method returns, contains an address of a reference to the newly created localized strings object.

+

When this method returns, TRUE if the font contains the specified string ID; otherwise, .

+ +

If the font does not contain the string specified by informationalStringID, the return value is but informationalStrings receives a null reference and exists receives the value .

+
+ + dd371147 + HRESULT IDWriteFont::GetInformationalStrings([In] DWRITE_INFORMATIONAL_STRING_ID informationalStringID,[Out] IDWriteLocalizedStrings** informationalStrings,[Out] BOOL* exists) + IDWriteFont::GetInformationalStrings +
+ + +

Gets a value that indicates what simulations are applied to the specified font.

+
+

A value that indicates one or more of the types of simulations (none, bold, or oblique) applied to the specified font.

+ + dd371153 + DWRITE_FONT_SIMULATIONS IDWriteFont::GetSimulations() + IDWriteFont::GetSimulations +
+ + +

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.

+
+

When this method returns, contains a structure that has font metrics for the current font face. The metrics returned by this function are in font design units.

+ + dd371149 + void IDWriteFont::GetMetrics([Out] DWRITE_FONT_METRICS* fontMetrics) + IDWriteFont::GetMetrics +
+ + +

Determines whether the font supports a specified character.

+
+

A Unicode (UCS-4) character value for the method to inspect.

+

When this method returns, TRUE if the font supports the specified character; otherwise, .

+ + dd371165 + HRESULT IDWriteFont::HasCharacter([In] unsigned int unicodeValue,[Out] BOOL* exists) + IDWriteFont::HasCharacter +
+ + +

Creates a font face object for the font.

+
+

When this method returns, contains an address of a reference to the newly created font face object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371137 + HRESULT IDWriteFont::CreateFontFace([Out, Fast] IDWriteFontFace** fontFace) + IDWriteFont::CreateFontFace +
+ + +

Gets the font family to which the specified font belongs.

+
+ + dd371143 + GetFontFamily + GetFontFamily + HRESULT IDWriteFont::GetFontFamily([Out] IDWriteFontFamily** fontFamily) +
+ + +

Gets the weight, or stroke thickness, of the specified font.

+
+ + dd371162 + GetWeight + GetWeight + DWRITE_FONT_WEIGHT IDWriteFont::GetWeight() +
+ + +

Gets the stretch, or width, of the specified font.

+
+ + dd371156 + GetStretch + GetStretch + DWRITE_FONT_STRETCH IDWriteFont::GetStretch() +
+ + +

Gets the style, or slope, of the specified font.

+
+ + dd371159 + GetStyle + GetStyle + DWRITE_FONT_STYLE IDWriteFont::GetStyle() +
+ + +

Determines whether the font is a symbol font.

+
+ + dd371168 + IsSymbolFont + IsSymbolFont + BOOL IDWriteFont::IsSymbolFont() +
+ + +

Gets a localized strings collection containing the face names for the font (such as Regular or Bold), indexed by locale name.

+
+ + dd371140 + GetFaceNames + GetFaceNames + HRESULT IDWriteFont::GetFaceNames([Out] IDWriteLocalizedStrings** names) +
+ + +

Gets a value that indicates what simulations are applied to the specified font.

+
+ + dd371153 + GetSimulations + GetSimulations + DWRITE_FONT_SIMULATIONS IDWriteFont::GetSimulations() +
+ + +

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.

+
+ + dd371149 + GetMetrics + GetMetrics + void IDWriteFont::GetMetrics([Out] DWRITE_FONT_METRICS* fontMetrics) +
+ + +

Represents a physical font in a font collection.

+
+ + Hh780404 + IDWriteFont1 + IDWriteFont1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

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.

+
+

A filled structure that has font metrics for the current font face. The metrics returned by this method are in font design units.

+ + Hh780405 + void IDWriteFont1::GetMetrics([Out] DWRITE_FONT_METRICS1* fontMetrics) + IDWriteFont1::GetMetrics +
+ + +

Gets the PANOSE values from the font and is used for font selection and matching.

+
+

A reference to the structure to fill in.

+ +

If the font has no PANOSE values, they are set to 'any' (0) and DirectWrite doesn't simulate those values.

+
+ + Hh780406 + void IDWriteFont1::GetPanose([Out] DWRITE_PANOSE* panose) + IDWriteFont1::GetPanose +
+ + +

Retrieves the list of character ranges supported by a font.

+
+

The maximum number of character ranges passed in from the client.

+

An array of structures that are filled with the character ranges.

+

A reference to the actual number of character ranges, regardless of the maximum count.

+

This method can return one of these values.

Return valueDescription

The method executed successfully.

E_NOT_SUFFICIENT_BUFFER

The buffer is too small. The actualRangeCount was more than the maxRangeCount.

?

+ +

The list of character ranges supported by a font, is useful for scenarios like character picking, glyph display, and efficient font selection lookup. GetUnicodeRanges is similar to GDI's GetFontUnicodeRanges, except that it returns the full Unicode range, not just 16-bit UCS-2.

These ranges are from the cmap, not the OS/2::ulCodePageRange1.

If this method is unavailable, you can use the method to check for missing glyphs. The method returns the 0 index for glyphs that aren't present in the font.

The method is often simpler in cases where you need to check a single character or a series of single characters in succession, such as in font fallback.

+
+ + Hh780407 + HRESULT IDWriteFont1::GetUnicodeRanges([In] unsigned int maxRangeCount,[Out, Buffer, Optional] DWRITE_UNICODE_RANGE* unicodeRanges,[Out] unsigned int* actualRangeCount) + IDWriteFont1::GetUnicodeRanges +
+ + +

Determines if the font is monospaced, that is, the characters are the same fixed-pitch width (non-proportional).

+
+

Returns true if the font is monospaced, else it returns false.

+ + Hh780408 + BOOL IDWriteFont1::IsMonospacedFont() + IDWriteFont1::IsMonospacedFont +
+ + +

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.

+
+ + Hh780405 + GetMetrics + GetMetrics + void IDWriteFont1::GetMetrics([Out] DWRITE_FONT_METRICS1* fontMetrics) +
+ + +

Gets the PANOSE values from the font and is used for font selection and matching.

+
+ +

If the font has no PANOSE values, they are set to 'any' (0) and DirectWrite doesn't simulate those values.

+
+ + Hh780406 + GetPanose + GetPanose + void IDWriteFont1::GetPanose([Out] DWRITE_PANOSE* panose) +
+ + +

Determines if the font is monospaced, that is, the characters are the same fixed-pitch width (non-proportional).

+
+ + Hh780408 + IsMonospacedFont + IsMonospacedFont + BOOL IDWriteFont1::IsMonospacedFont() +
+ + +

Determines the recommended rendering mode for the font, using the specified size and rendering parameters.

+
+ +

This method should be used to determine the actual rendering mode in cases where the rendering mode of the rendering params object is .

+
+ + Hh780416 + IDWriteFontFace1 + IDWriteFontFace1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

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.

+
+

A filled structure that holds metrics for the current font face element. The metrics returned by this method are in font design units.

+ + Hh780415 + void IDWriteFontFace1::GetMetrics([Out] DWRITE_FONT_METRICS1* fontMetrics) + IDWriteFontFace1::GetMetrics +
+ + +

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.

+
+

The logical size of the font in DIP units.

+

The number of physical pixels per DIP.

+

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip.

+

A reference to a structure to fill in. The metrics returned by this function are in font design units.

+

Standard error code.

+ + Hh780413 + HRESULT IDWriteFontFace1::GetGdiCompatibleMetrics([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[Out] DWRITE_FONT_METRICS1* fontMetrics) + IDWriteFontFace1::GetGdiCompatibleMetrics +
+ + +

Gets caret metrics for the font in design units.

+
+

A reference to the structure that is filled.

+ +

Caret metrics are used by text editors for drawing the correct caret placement and slant.

+
+ + Hh780410 + void IDWriteFontFace1::GetCaretMetrics([Out] DWRITE_CARET_METRICS* caretMetrics) + IDWriteFontFace1::GetCaretMetrics +
+ + +

Retrieves a list of character ranges supported by a font.

+
+

Maximum number of character ranges passed in from the client.

+

An array of structures that are filled with the character ranges.

+

A reference to the actual number of character ranges, regardless of the maximum count.

+

This method can return one of these values.

Return valueDescription

The method executed successfully.

E_NOT_SUFFICIENT_BUFFER

The buffer is too small. The actualRangeCount was more than the maxRangeCount.

?

+ +

A list of character ranges supported by the font is useful for scenarios like character picking, glyph display, and efficient font selection lookup. This is similar to GDI's GetFontUnicodeRanges, except that it returns the full Unicode range, not just 16-bit UCS-2.

These ranges are from the cmap, not the OS/2::ulCodePageRange1.

If this method is unavailable, you can use the method to check for missing glyphs. The method returns the 0 index for glyphs that aren't present in the font.

The method is often simpler in cases where you need to check a single character or a series of single characters in succession, such as in font fallback.

+
+ + Hh780417 + HRESULT IDWriteFontFace1::GetUnicodeRanges([In] unsigned int maxRangeCount,[Out, Buffer, Optional] DWRITE_UNICODE_RANGE* unicodeRanges,[Out] unsigned int* actualRangeCount) + IDWriteFontFace1::GetUnicodeRanges +
+ + +

Determines whether the font of a text range is monospaced, that is, the font characters are the same fixed-pitch width.

+
+

Returns TRUE if the font is monospaced, otherwise it returns .

+ + Hh780421 + BOOL IDWriteFontFace1::IsMonospacedFont() + IDWriteFontFace1::IsMonospacedFont +
+ + +

Retrieves the advances in design units for a sequences of glyphs.

+
+

The number of glyphs to retrieve advances for.

+

An array of glyph id's to retrieve advances for.

+

The returned advances in font design units for each glyph.

+

Retrieve the glyph's vertical advance height rather than horizontal advance widths.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This is equivalent to calling GetGlyphMetrics and using only the advance width and height.

+
+ + Hh780411 + HRESULT IDWriteFontFace1::GetDesignGlyphAdvances([In] unsigned int glyphCount,[In, Buffer] const unsigned short* glyphIndices,[Out, Buffer] int* glyphAdvances,[In] BOOL isSideways) + IDWriteFontFace1::GetDesignGlyphAdvances +
+ + +

Returns the pixel-aligned advances for a sequences of glyphs.

+
+

Logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch.

+

Number of physical pixels per DIP. For example, if the DPI of the rendering surface is 96 this value is 1.0f. If the DPI is 120, this value is 120.0f/96.

+

Optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip.

+

When , the metrics are the same as GDI aliased text (). When TRUE, the metrics are the same as those measured by GDI using a font using CLEARTYPE_NATURAL_QUALITY ().

+

Retrieve the glyph's vertical advances rather than horizontal advances.

+

Total glyphs to retrieve adjustments for.

+

An array of glyph id's to retrieve advances.

+

The returned advances in font design units for each glyph.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This is equivalent to calling GetGdiCompatibleGlyphMetrics and using only the advance width and height.

Like GetGdiCompatibleGlyphMetrics, these are in design units, meaning they must be scaled down by DWRITE_FONT_METRICS::designUnitsPerEm.

+
+ + Hh780412 + HRESULT IDWriteFontFace1::GetGdiCompatibleGlyphAdvances([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In] BOOL isSideways,[In] unsigned int glyphCount,[In, Buffer] const unsigned short* glyphIndices,[Out, Buffer] int* glyphAdvances) + IDWriteFontFace1::GetGdiCompatibleGlyphAdvances +
+ + +

Retrieves the kerning pair adjustments from the font's kern table.

+
+

Number of glyphs to retrieve adjustments for.

+

An array of glyph id's to retrieve adjustments for.

+

The advances, returned in font design units, for each glyph. The last glyph adjustment is zero.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

GetKerningPairAdjustments isn't a direct replacement for GDI's character based GetKerningPairs, but it serves the same role, without the client needing to cache them locally. GetKerningPairAdjustments also uses glyph id's directly rather than UCS-2 characters (how the kern table actually stores them), which avoids glyph collapse and ambiguity, such as the dash and hyphen, or space and non-breaking space.

Newer fonts may have only GPOS kerning instead of the legacy pair-table kerning. Such fonts, like Gabriola, will only return 0's for adjustments. GetKerningPairAdjustments doesn't virtualize and flatten these GPOS entries into kerning pairs.

You can realize a performance benefit by calling IDWriteFontFace1::HasKerningPairs to determine whether you need to call GetKerningPairAdjustments. If you previously called IDWriteFontFace1::HasKerningPairs and it returned , you can avoid calling GetKerningPairAdjustments because the font has no kerning pair-table entries. That is, in this situation, a call to GetKerningPairAdjustments would be a no-op.

+
+ + Hh780414 + HRESULT IDWriteFontFace1::GetKerningPairAdjustments([In] unsigned int glyphCount,[In, Buffer] const unsigned short* glyphIndices,[Out, Buffer] int* glyphAdvanceAdjustments) + IDWriteFontFace1::GetKerningPairAdjustments +
+ + +

Determines the recommended rendering mode for the font, using the specified size and rendering parameters.

+
+

The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch.

+

The number of physical pixels per DIP in a horizontal position. For example, if the DPI of the rendering surface is 96, this value is 1.0f. If the DPI is 120, this value is 120.0f/96.

+

The number of physical pixels per DIP in a vertical position. For example, if the DPI of the rendering surface is 96, this value is 1.0f. If the DPI is 120, this value is 120.0f/96.

+

Specifies the world transform.

+

Whether the glyphs in the run are sideways or not.

+

A -typed value that specifies the quality of the graphics system's outline rendering, affects the size threshold above which outline rendering is used.

+

The measuring method that will be used for glyphs in the font. Renderer implementations may choose different rendering modes for different measuring methods, for example:

  • for
  • for
  • for
+

When this method returns, contains a value that indicates the recommended rendering mode to use.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

This method should be used to determine the actual rendering mode in cases where the rendering mode of the rendering params object is .

+
+ + Hh780416 + HRESULT IDWriteFontFace1::GetRecommendedRenderingMode([In] float fontEmSize,[In] float dpiX,[In] float dpiY,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL isSideways,[In] DWRITE_OUTLINE_THRESHOLD outlineThreshold,[In] DWRITE_MEASURING_MODE measuringMode,[Out] DWRITE_RENDERING_MODE* renderingMode) + IDWriteFontFace1::GetRecommendedRenderingMode +
+ + +

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.

+
+ + Hh780415 + GetMetrics + GetMetrics + void IDWriteFontFace1::GetMetrics([Out] DWRITE_FONT_METRICS1* fontMetrics) +
+ + +

Gets caret metrics for the font in design units.

+
+ +

Caret metrics are used by text editors for drawing the correct caret placement and slant.

+
+ + Hh780410 + GetCaretMetrics + GetCaretMetrics + void IDWriteFontFace1::GetCaretMetrics([Out] DWRITE_CARET_METRICS* caretMetrics) +
+ + +

Determines whether the font of a text range is monospaced, that is, the font characters are the same fixed-pitch width.

+
+ + Hh780421 + IsMonospacedFont + IsMonospacedFont + BOOL IDWriteFontFace1::IsMonospacedFont() +
+ + +

Represents a family of related fonts.

+
+ +

A font family is a set of fonts that share the same family name, such as "Times New Roman", but that differ in features. These feature differences include style, such as italic, and weight, such as bold. The following illustration shows examples of fonts that are members of the "Times New Roman" font family.

An object can be retrieved from a font collection using the method shown in the following example. GetFontFamily takes a UINT32 index and returns the font family for the font at that index.

* pFontFamily = null; // Get the font family.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontCollection->GetFontFamily(i, &pFontFamily);	
+            }	
+            

The font family name is used to specify the font family for text layout and text format objects. You can get a list of localized font family names from an object in the form of an object by using the method, as shown in the following code.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
+            }	
+            
+
+ + dd371042 + IDWriteFontFamily + IDWriteFontFamily +
+ + +

Represents a list of fonts.

+
+ + dd371120 + IDWriteFontList + IDWriteFontList +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the font collection that contains the fonts in the font list.

+
+

When this method returns, contains the address of a reference to the current object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371129 + HRESULT IDWriteFontList::GetFontCollection([Out] IDWriteFontCollection** fontCollection) + IDWriteFontList::GetFontCollection +
+ + +

Gets the number of fonts in the font list.

+
+

The number of fonts in the font list.

+ + dd371133 + unsigned int IDWriteFontList::GetFontCount() + IDWriteFontList::GetFontCount +
+ + +

Gets a font given its zero-based index.

+
+

Zero-based index of the font in the font list.

+

When this method returns, contains the address of a reference to the newly created object.

+ + dd371125 + HRESULT IDWriteFontList::GetFont([In] unsigned int index,[Out] IDWriteFont** font) + IDWriteFontList::GetFont +
+ + +

Gets the font collection that contains the fonts in the font list.

+
+ + dd371129 + GetFontCollection + GetFontCollection + HRESULT IDWriteFontList::GetFontCollection([Out] IDWriteFontCollection** fontCollection) +
+ + +

Gets the number of fonts in the font list.

+
+ + dd371133 + GetFontCount + GetFontCount + unsigned int IDWriteFontList::GetFontCount() +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a localized strings object that contains the family names for the font family, indexed by locale name.

+
+

The address of a reference to the newly created object.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

The following code example shows how to get the font family name from a object.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
+            } UINT32 index = 0;	
+             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
+            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
+            } // If the specified locale doesn't exist, select the first on the list.	
+            if (!exists) index = 0; UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371047 + HRESULT IDWriteFontFamily::GetFamilyNames([Out] IDWriteLocalizedStrings** names) + IDWriteFontFamily::GetFamilyNames +
+ + +

Gets the font that best matches the specified properties.

+
+

A value that is used to match a requested font weight.

+

A value that is used to match a requested font stretch.

+

A value that is used to match a requested font style.

+

When this method returns, contains the address of a reference to the newly created object.

+ + dd371051 + HRESULT IDWriteFontFamily::GetFirstMatchingFont([In] DWRITE_FONT_WEIGHT weight,[In] DWRITE_FONT_STRETCH stretch,[In] DWRITE_FONT_STYLE style,[Out] IDWriteFont** matchingFont) + IDWriteFontFamily::GetFirstMatchingFont +
+ + +

Gets a list of fonts in the font family ranked in order of how well they match the specified properties.

+
+

A value that is used to match a requested font weight.

+

A value that is used to match a requested font stretch.

+

A value that is used to match a requested font style.

+

An address of a reference to the newly created object.

+ + dd371056 + HRESULT IDWriteFontFamily::GetMatchingFonts([In] DWRITE_FONT_WEIGHT weight,[In] DWRITE_FONT_STRETCH stretch,[In] DWRITE_FONT_STYLE style,[Out] IDWriteFontList** matchingFonts) + IDWriteFontFamily::GetMatchingFonts +
+ + +

Creates a localized strings object that contains the family names for the font family, indexed by locale name.

+
+ +

The following code example shows how to get the font family name from a object.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
+            } UINT32 index = 0;	
+             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
+            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
+            } // If the specified locale doesn't exist, select the first on the list.	
+            if (!exists) index = 0; UINT32 length = 0; // Get the string length.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetStringLength(index, &length);	
+            } // Allocate a string big enough to hold the name.	
+            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
+            if (name == null)	
+            { hr = E_OUTOFMEMORY;	
+            } // Get the family name.	
+            if (SUCCEEDED(hr))	
+            { hr = pFamilyNames->GetString(index, name, length+1);	
+            }	
+            
+
+ + dd371047 + GetFamilyNames + GetFamilyNames + HRESULT IDWriteFontFamily::GetFamilyNames([Out] IDWriteLocalizedStrings** names) +
+ + +

A built-in implementation of the interface, that operates on local font files + and exposes local font file information from the font file reference key. Font file references created using CreateFontFileReference use this font file loader.

+
+ + dd371238 + IDWriteLocalFontFileLoader + IDWriteLocalFontFileLoader +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Obtains the length of the absolute file path from the font file reference key.

+
+

Font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

+

Size of font file reference key in bytes.

+

Length of the file path string, not including the terminated null character.

+ + dd371244 + HRESULT IDWriteLocalFontFileLoader::GetFilePathLengthFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] unsigned int* filePathLength) + IDWriteLocalFontFileLoader::GetFilePathLengthFromKey +
+ + +

Obtains the absolute font file path from the font file reference key.

+
+

The font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

+

The size of font file reference key in bytes.

+

The character array that receives the local file path.

+

The length of the file path character array.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371241 + HRESULT IDWriteLocalFontFileLoader::GetFilePathFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out, Buffer] wchar_t* filePath,[In] unsigned int filePathSize) + IDWriteLocalFontFileLoader::GetFilePathFromKey +
+ + +

Obtains the last write time of the file from the font file reference key.

+
+

The font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

+

The size of font file reference key in bytes.

+

The time of the last font file modification.

+ + dd371247 + HRESULT IDWriteLocalFontFileLoader::GetLastWriteTimeFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] FILETIME* lastWriteTime) + IDWriteLocalFontFileLoader::GetLastWriteTimeFromKey +
+ + +

Represents text rendering settings for glyph rasterization and filtering.

+
+ + Hh780422 + IDWriteRenderingParams1 + IDWriteRenderingParams1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the amount of contrast enhancement to use for grayscale antialiasing.

+
+

The contrast enhancement value. Valid values are greater than or equal to zero.

+ + Hh780423 + float IDWriteRenderingParams1::GetGrayscaleEnhancedContrast() + IDWriteRenderingParams1::GetGrayscaleEnhancedContrast +
+ + +

Gets the amount of contrast enhancement to use for grayscale antialiasing.

+
+ + Hh780423 + GetGrayscaleEnhancedContrast + GetGrayscaleEnhancedContrast + float IDWriteRenderingParams1::GetGrayscaleEnhancedContrast() +
+ + +

Sets the spacing between characters.

+
+ + Hh780441 + IDWriteTextLayout1 + IDWriteTextLayout1 +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Enables or disables pair-kerning on a given text range.

+
+

The flag that indicates whether text is pair-kerned.

+

The text range to which the change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + Hh780442 + HRESULT IDWriteTextLayout1::SetPairKerning([In] BOOL isPairKerningEnabled,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout1::SetPairKerning +
+ + +

Gets whether or not pair-kerning is enabled at given position.

+
+

The current text position.

+

The flag that indicates whether text is pair-kerned.

+

The position range of the current format.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + Hh780440 + HRESULT IDWriteTextLayout1::GetPairKerning([In] unsigned int currentPosition,[Out] BOOL* isPairKerningEnabled,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout1::GetPairKerning +
+ + +

Sets the spacing between characters.

+
+

The spacing before each character, in reading order.

+

The spacing after each character, in reading order.

+

The minimum advance of each character, to prevent characters from becoming too thin or zero-width. This must be zero or greater.

+

Text range to which this change applies.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + Hh780441 + HRESULT IDWriteTextLayout1::SetCharacterSpacing([In] float leadingSpacing,[In] float trailingSpacing,[In] float minimumAdvanceWidth,[In] DWRITE_TEXT_RANGE textRange) + IDWriteTextLayout1::SetCharacterSpacing +
+ + +

Gets the spacing between characters.

+
+

The current text position.

+

The spacing before each character, in reading order.

+

The spacing after each character, in reading order.

+

The minimum advance of each character, to prevent characters from becoming too thin or zero-width. This must be zero or greater.

+

The position range of the current format.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + Hh780439 + HRESULT IDWriteTextLayout1::GetCharacterSpacing([In] unsigned int currentPosition,[Out] float* leadingSpacing,[Out] float* trailingSpacing,[Out] float* minimumAdvanceWidth,[Out, Optional] DWRITE_TEXT_RANGE* textRange) + IDWriteTextLayout1::GetCharacterSpacing +
+ + +

The structure specifies the metrics for caret placement in a font.

+
+ + jj126258 + DWRITE_CARET_METRICS + DWRITE_CARET_METRICS +
+ + +

Vertical rise of the caret. Rise / Run yields the caret angle. Rise = 1 for perfectly upright fonts (non-italic).

+
+ + jj126258 + short slopeRise + short slopeRise +
+ + +

Horizontal run of the caret. Rise / Run yields the caret angle. Run = 0 for perfectly upright fonts (non-italic).

+
+ + jj126258 + short slopeRun + short slopeRun +
+ + +

Horizontal offset of the caret along the baseline for good appearance. Offset = 0 for perfectly upright fonts (non-italic).

+
+ + jj126258 + short offset + short offset +
+ + +

Contains information about a glyph cluster.

+
+ + dd368054 + DWRITE_CLUSTER_METRICS + DWRITE_CLUSTER_METRICS +
+ + +

The total advance width of all glyphs in the cluster.

+
+ + dd368054 + float width + float width +
+ + +

The number of text positions in the cluster.

+
+ + dd368054 + unsigned short length + unsigned short length +
+ + +

Indicates whether a line can be broken right after the cluster.

+
+ + dd368054 + unsigned short canWrapLineAfter + unsigned short canWrapLineAfter +
+ + +

Indicates whether the cluster corresponds to a whitespace character.

+
+ + dd368054 + unsigned short isWhitespace + unsigned short isWhitespace +
+ + +

Indicates whether the cluster corresponds to a newline character.

+
+ + dd368054 + unsigned short isNewline + unsigned short isNewline +
+ + +

Indicates whether the cluster corresponds to a soft hyphen character.

+
+ + dd368054 + unsigned short isSoftHyphen + unsigned short isSoftHyphen +
+ + +

Indicates whether the cluster is read from right to left.

+
+ + dd368054 + unsigned short isRightToLeft + unsigned short isRightToLeft +
+ + +

Reserved for future use.

+
+ + dd368054 + unsigned short padding + unsigned short padding +
+ + +

The structure specifies the metrics that are applicable to all glyphs within the font face.

+
+ + dd368074 + DWRITE_FONT_METRICS + DWRITE_FONT_METRICS +
+ + +

The number of font design units per em unit. Font files use their own coordinate system of font design units. A font design unit is the smallest measurable unit in the em square, an imaginary square that is used to size and align glyphs. The concept of em square is used as a reference scale factor when defining font size and device transformation semantics. The size of one em square is also commonly used to compute the paragraph identation value.

+
+ + dd368074 + unsigned short designUnitsPerEm + unsigned short designUnitsPerEm +
+ + +

The ascent value of the font face in font design units. Ascent is the distance from the top of font character alignment box to the English baseline.

+
+ + dd368074 + unsigned short ascent + unsigned short ascent +
+ + +

The descent value of the font face in font design units. Descent is the distance from the bottom of font character alignment box to the English baseline.

+
+ + dd368074 + unsigned short descent + unsigned short descent +
+ + +

The line gap in font design units. Recommended additional white space to add between lines to improve legibility. The recommended line spacing (baseline-to-baseline distance) is the sum of ascent, descent, and lineGap. The line gap is usually positive or zero but can be negative, in which case the recommended line spacing is less than the height of the character alignment box.

+
+ + dd368074 + short lineGap + short lineGap +
+ + +

The cap height value of the font face in font design units. Cap height is the distance from the English baseline to the top of a typical English capital. Capital "H" is often used as a reference character for the purpose of calculating the cap height value.

+
+ + dd368074 + unsigned short capHeight + unsigned short capHeight +
+ + +

The x-height value of the font face in font design units. x-height is the distance from the English baseline to the top of lowercase letter "x", or a similar lowercase character.

+
+ + dd368074 + unsigned short xHeight + unsigned short xHeight +
+ + +

The underline position value of the font face in font design units. Underline position is the position of underline relative to the English baseline. The value is usually made negative in order to place the underline below the baseline.

+
+ + dd368074 + short underlinePosition + short underlinePosition +
+ + +

The suggested underline thickness value of the font face in font design units.

+
+ + dd368074 + unsigned short underlineThickness + unsigned short underlineThickness +
+ + +

The strikethrough position value of the font face in font design units. Strikethrough position is the position of strikethrough relative to the English baseline. The value is usually made positive in order to place the strikethrough above the baseline.

+
+ + dd368074 + short strikethroughPosition + short strikethroughPosition +
+ + +

The suggested strikethrough thickness value of the font face in font design units.

+
+ + dd368074 + unsigned short strikethroughThickness + unsigned short strikethroughThickness +
+ + +

The structure specifies the metrics that are applicable to all glyphs within the font face.

+
+ + dd368074 + DWRITE_FONT_METRICS1 + DWRITE_FONT_METRICS1 +
+ + +

The number of font design units per em unit. Font files use their own coordinate system of font design units. A font design unit is the smallest measurable unit in the em square, an imaginary square that is used to size and align glyphs. The concept of em square is used as a reference scale factor when defining font size and device transformation semantics. The size of one em square is also commonly used to compute the paragraph identation value.

+
+ + dd368074 + short glyphBoxLeft + short glyphBoxLeft +
+ + +

The ascent value of the font face in font design units. Ascent is the distance from the top of font character alignment box to the English baseline.

+
+ + dd368074 + short glyphBoxTop + short glyphBoxTop +
+ + +

The descent value of the font face in font design units. Descent is the distance from the bottom of font character alignment box to the English baseline.

+
+ + dd368074 + short glyphBoxRight + short glyphBoxRight +
+ + +

The line gap in font design units. Recommended additional white space to add between lines to improve legibility. The recommended line spacing (baseline-to-baseline distance) is the sum of ascent, descent, and lineGap. The line gap is usually positive or zero but can be negative, in which case the recommended line spacing is less than the height of the character alignment box.

+
+ + dd368074 + short glyphBoxBottom + short glyphBoxBottom +
+ + +

The cap height value of the font face in font design units. Cap height is the distance from the English baseline to the top of a typical English capital. Capital "H" is often used as a reference character for the purpose of calculating the cap height value.

+
+ + dd368074 + short subscriptPositionX + short subscriptPositionX +
+ + +

The x-height value of the font face in font design units. x-height is the distance from the English baseline to the top of lowercase letter "x", or a similar lowercase character.

+
+ + dd368074 + short subscriptPositionY + short subscriptPositionY +
+ + +

The underline position value of the font face in font design units. Underline position is the position of underline relative to the English baseline. The value is usually made negative in order to place the underline below the baseline.

+
+ + dd368074 + short subscriptSizeX + short subscriptSizeX +
+ + +

The suggested underline thickness value of the font face in font design units.

+
+ + dd368074 + short subscriptSizeY + short subscriptSizeY +
+ + +

The strikethrough position value of the font face in font design units. Strikethrough position is the position of strikethrough relative to the English baseline. The value is usually made positive in order to place the strikethrough above the baseline.

+
+ + dd368074 + short superscriptPositionX + short superscriptPositionX +
+ + +

The suggested strikethrough thickness value of the font face in font design units.

+
+ + dd368074 + short superscriptPositionY + short superscriptPositionY +
+ + + No documentation. + + + short superscriptSizeX + short superscriptSizeX + + + + No documentation. + + + short superscriptSizeY + short superscriptSizeY + + + + No documentation. + + + BOOL hasTypographicMetrics + BOOL hasTypographicMetrics + + + +

Specifies the metrics of an individual glyph. The units depend on how the metrics are obtained.

+
+ + dd368084 + DWRITE_GLYPH_METRICS + DWRITE_GLYPH_METRICS +
+ + +

Specifies the X offset from the glyph origin to the left edge of the black box. The glyph origin is the current horizontal writing position. A negative value means the black box extends to the left of the origin (often true for lowercase italic 'f').

+
+ + dd368084 + int leftSideBearing + int leftSideBearing +
+ + +

Specifies the X offset from the origin of the current glyph to the origin of the next glyph when writing horizontally.

+
+ + dd368084 + unsigned int advanceWidth + unsigned int advanceWidth +
+ + +

Specifies the X offset from the right edge of the black box to the origin of the next glyph when writing horizontally. The value is negative when the right edge of the black box overhangs the layout box.

+
+ + dd368084 + int rightSideBearing + int rightSideBearing +
+ + +

Specifies the vertical offset from the vertical origin to the top of the black box. Thus, a positive value adds whitespace whereas a negative value means the glyph overhangs the top of the layout box.

+
+ + dd368084 + int topSideBearing + int topSideBearing +
+ + +

Specifies the Y offset from the vertical origin of the current glyph to the vertical origin of the next glyph when writing vertically. Note that the term "origin" by itself denotes the horizontal origin. The vertical origin is different. Its Y coordinate is specified by verticalOriginY value, and its X coordinate is half the advanceWidth to the right of the horizontal origin.

+
+ + dd368084 + unsigned int advanceHeight + unsigned int advanceHeight +
+ + +

Specifies the vertical distance from the bottom edge of the black box to the advance height. This is positive when the bottom edge of the black box is within the layout box, or negative when the bottom edge of black box overhangs the layout box.

+
+ + dd368084 + int bottomSideBearing + int bottomSideBearing +
+ + +

Specifies the Y coordinate of a glyph's vertical origin, in the font's design coordinate system. The y coordinate of a glyph's vertical origin is the sum of the glyph's top side bearing and the top (that is, yMax) of the glyph's bounding box.

+
+ + dd368084 + int verticalOriginY + int verticalOriginY +
+ + +

The optional adjustment to a glyph's position.

+
+ +

An glyph offset changes the position of a glyph without affecting the pen position. Offsets are in logical, pre-transform units.

+
+ + dd368086 + DWRITE_GLYPH_OFFSET + DWRITE_GLYPH_OFFSET +
+ + +

The offset in the advance direction of the run. A positive advance offset moves the glyph to the right (in pre-transform coordinates) if the run is left-to-right or to the left if the run is right-to-left.

+
+ + dd368086 + float advanceOffset + float advanceOffset +
+ + +

The offset in the ascent direction, that is, the direction ascenders point. A positive ascender offset moves the glyph up (in pre-transform coordinates). A negative ascender offset moves the glyph down.

+
+ + dd368086 + float ascenderOffset + float ascenderOffset +
+ + +

Describes the region obtained by a hit test.

+
+ + dd368092 + DWRITE_HIT_TEST_METRICS + DWRITE_HIT_TEST_METRICS +
+ + +

The first text position within the hit region.

+
+ + dd368092 + unsigned int textPosition + unsigned int textPosition +
+ + +

The number of text positions within the hit region.

+
+ + dd368092 + unsigned int length + unsigned int length +
+ + +

The x-coordinate of the upper-left corner of the hit region.

+
+ + dd368092 + float left + float left +
+ + +

The y-coordinate of the upper-left corner of the hit region.

+
+ + dd368092 + float top + float top +
+ + +

The width of the hit region.

+
+ + dd368092 + float width + float width +
+ + +

The height of the hit region.

+
+ + dd368092 + float height + float height +
+ + +

The BIDI level of the text positions within the hit region.

+
+ + dd368092 + unsigned int bidiLevel + unsigned int bidiLevel +
+ + +

true if the hit region contains text; otherwise, false.

+
+ + dd368092 + BOOL isText + BOOL isText +
+ + + No documentation. + + + BOOL isTrimmed + BOOL isTrimmed + + + +

Contains properties describing the geometric measurement of an + application-defined inline object.

+
+ + dd368096 + DWRITE_INLINE_OBJECT_METRICS + DWRITE_INLINE_OBJECT_METRICS +
+ + +

The width of the inline object.

+
+ + dd368096 + float width + float width +
+ + +

The height of the inline object.

+
+ + dd368096 + float height + float height +
+ + +

The distance from the top of the object to the point where it is lined up with the adjacent text. If the baseline is at the bottom, then baseline simply equals height.

+
+ + dd368096 + float baseline + float baseline +
+ + +

A Boolean flag that indicates whether the object is to be placed upright or alongside the text baseline for vertical text.

+
+ + dd368096 + BOOL supportsSideways + BOOL supportsSideways +
+ + +

Justifies an array of glyph advances to fit the line width.

+
+ +

You call JustifyGlyphAdvances after you call to collect all the opportunities, and JustifyGlyphAdvances spans across the entire line. The input and output arrays are allowed to alias each other, permitting in-place update.

+
+ + Hh780437 + DWRITE_JUSTIFICATION_OPPORTUNITY + DWRITE_JUSTIFICATION_OPPORTUNITY +
+ + +

The line width.

+
+ + Hh780437 + float expansionMinimum + float expansionMinimum +
+ + +

The glyph count.

+
+ + Hh780437 + float expansionMaximum + float expansionMaximum +
+ + +

A reference to a structure that contains info for the allowed justification expansion/compression for each glyph. Get this info from .

+
+ + Hh780437 + float compressionMaximum + float compressionMaximum +
+ + +

An array of glyph advances.

+
+ + Hh780437 + unsigned int expansionPriority + unsigned int expansionPriority +
+ + +

An array of glyph offsets.

+
+ + Hh780437 + unsigned int compressionPriority + unsigned int compressionPriority +
+ + +

The returned array of justified glyph advances.

+
+ + Hh780437 + unsigned int allowResidualExpansion + unsigned int allowResidualExpansion +
+ + +

The returned array of justified glyph offsets.

+
+ + Hh780437 + unsigned int allowResidualCompression + unsigned int allowResidualCompression +
+ + + No documentation. + + + unsigned int applyToLeadingEdge + unsigned int applyToLeadingEdge + + + + No documentation. + + + unsigned int applyToTrailingEdge + unsigned int applyToTrailingEdge + + + + No documentation. + + + unsigned int reserved + unsigned int reserved + + + +

Contains information about a formatted line of text.

+
+ + dd368099 + DWRITE_LINE_METRICS + DWRITE_LINE_METRICS +
+ + +

The number of text positions in the text line. This includes any trailing whitespace and newline characters.

+
+ + dd368099 + unsigned int length + unsigned int length +
+ + +

The number of whitespace positions at the end of the text line. Newline sequences are considered whitespace.

+
+ + dd368099 + unsigned int trailingWhitespaceLength + unsigned int trailingWhitespaceLength +
+ + +

The number of characters in the newline sequence at the end of the text line. If the count is zero, then the text line was either wrapped or it is the end of the text.

+
+ + dd368099 + unsigned int newlineLength + unsigned int newlineLength +
+ + +

The height of the text line.

+
+ + dd368099 + float height + float height +
+ + +

The distance from the top of the text line to its baseline.

+
+ + dd368099 + float baseline + float baseline +
+ + +

The line is trimmed.

+
+ + dd368099 + BOOL isTrimmed + BOOL isTrimmed +
+ + +

Indicates how much any visible DIPs (device independent pixels) overshoot each side of the layout or inline objects.

Positive overhangs indicate that the visible area extends outside the layout box or inline object, while negative values mean there is whitespace inside. The returned values are unaffected by rendering transforms or pixel snapping. Additionally, they may not exactly match the final target's pixel bounds after applying grid fitting and hinting.

+
+ + dd368109 + DWRITE_OVERHANG_METRICS + DWRITE_OVERHANG_METRICS +
+ + +

The distance from the left-most visible DIP to its left-alignment edge.

+
+ + dd368109 + float left + float left +
+ + +

The distance from the top-most visible DIP to its top alignment edge.

+
+ + dd368109 + float top + float top +
+ + +

The distance from the right-most visible DIP to its right-alignment edge.

+
+ + dd368109 + float right + float right +
+ + +

The distance from the bottom-most visible DIP to its lower-alignment edge.

+
+ + dd368109 + float bottom + float bottom +
+ + +

The enumeration contains values that specify the type of characters available in the font.

+
+ + hh997724 + DWRITE_PANOSE + DWRITE_PANOSE +
+ + +

No fit for range.

+
+ + hh997724 + unsigned char familyKind + unsigned char familyKind +
+ + +

The range includes extended collection.

+
+ + hh997724 + DWRITE_PANOSE_INNER_0 text + DWRITE_PANOSE_INNER_0 text +
+ + +

The range includes literals.

+
+ + hh997724 + DWRITE_PANOSE_INNER_1 script + DWRITE_PANOSE_INNER_1 script +
+ + +

The range doesn't include lower case.

+
+ + hh997724 + DWRITE_PANOSE_INNER_2 decorative + DWRITE_PANOSE_INNER_2 decorative +
+ + +

The range includes small capitals.

+
+ + hh997724 + DWRITE_PANOSE_INNER_3 symbol + DWRITE_PANOSE_INNER_3 symbol +
+ + +

Any range.

+
+ + hh997724 + unsigned char values[10] + unsigned char values +
+ + + No documentation. + + + DWRITE_PANOSE_INNER_2 + DWRITE_PANOSE_INNER_2 + + + + No documentation. + + + unsigned char familyKind + unsigned char familyKind + + + + No documentation. + + + unsigned char decorativeClass + unsigned char decorativeClass + + + + No documentation. + + + unsigned char weight + unsigned char weight + + + + No documentation. + + + unsigned char aspect + unsigned char aspect + + + + No documentation. + + + unsigned char contrast + unsigned char contrast + + + + No documentation. + + + unsigned char serifVariant + unsigned char serifVariant + + + + No documentation. + + + unsigned char fill + unsigned char fill + + + + No documentation. + + + unsigned char lining + unsigned char lining + + + + No documentation. + + + unsigned char decorativeTopology + unsigned char decorativeTopology + + + + No documentation. + + + unsigned char characterRange + unsigned char characterRange + + + + No documentation. + + + DWRITE_PANOSE_INNER_1 + DWRITE_PANOSE_INNER_1 + + + + No documentation. + + + unsigned char familyKind + unsigned char familyKind + + + + No documentation. + + + unsigned char toolKind + unsigned char toolKind + + + + No documentation. + + + unsigned char weight + unsigned char weight + + + + No documentation. + + + unsigned char spacing + unsigned char spacing + + + + No documentation. + + + unsigned char aspectRatio + unsigned char aspectRatio + + + + No documentation. + + + unsigned char contrast + unsigned char contrast + + + + No documentation. + + + unsigned char scriptTopology + unsigned char scriptTopology + + + + No documentation. + + + unsigned char scriptForm + unsigned char scriptForm + + + + No documentation. + + + unsigned char finials + unsigned char finials + + + + No documentation. + + + unsigned char xAscent + unsigned char xAscent + + + + No documentation. + + + DWRITE_PANOSE_INNER_3 + DWRITE_PANOSE_INNER_3 + + + + No documentation. + + + unsigned char familyKind + unsigned char familyKind + + + + No documentation. + + + unsigned char symbolKind + unsigned char symbolKind + + + + No documentation. + + + unsigned char weight + unsigned char weight + + + + No documentation. + + + unsigned char spacing + unsigned char spacing + + + + No documentation. + + + unsigned char aspectRatioAndContrast + unsigned char aspectRatioAndContrast + + + + No documentation. + + + unsigned char aspectRatio94 + unsigned char aspectRatio94 + + + + No documentation. + + + unsigned char aspectRatio119 + unsigned char aspectRatio119 + + + + No documentation. + + + unsigned char aspectRatio157 + unsigned char aspectRatio157 + + + + No documentation. + + + unsigned char aspectRatio163 + unsigned char aspectRatio163 + + + + No documentation. + + + unsigned char aspectRatio211 + unsigned char aspectRatio211 + + + + No documentation. + + + DWRITE_PANOSE_INNER_0 + DWRITE_PANOSE_INNER_0 + + + + No documentation. + + + unsigned char familyKind + unsigned char familyKind + + + + No documentation. + + + unsigned char serifStyle + unsigned char serifStyle + + + + No documentation. + + + unsigned char weight + unsigned char weight + + + + No documentation. + + + unsigned char proportion + unsigned char proportion + + + + No documentation. + + + unsigned char contrast + unsigned char contrast + + + + No documentation. + + + unsigned char strokeVariation + unsigned char strokeVariation + + + + No documentation. + + + unsigned char armStyle + unsigned char armStyle + + + + No documentation. + + + unsigned char letterform + unsigned char letterform + + + + No documentation. + + + unsigned char midline + unsigned char midline + + + + No documentation. + + + unsigned char xHeight + unsigned char xHeight + + + +

Stores the association of text and its writing system script, as well as some display attributes.

+
+ + dd368120 + DWRITE_SCRIPT_ANALYSIS + DWRITE_SCRIPT_ANALYSIS +
+ + +

The zero-based index representation of writing system script.

+
+ + dd368120 + unsigned short script + unsigned short script +
+ + +

A value that indicates additional shaping requirement of text.

+
+ + dd368120 + DWRITE_SCRIPT_SHAPES shapes + DWRITE_SCRIPT_SHAPES shapes +
+ + +

Retrieves the properties for a given script.

+
+ + Hh780435 + DWRITE_SCRIPT_PROPERTIES + DWRITE_SCRIPT_PROPERTIES +
+ + +

The script for a run of text returned from .

+
+ + Hh780435 + unsigned int isoScriptCode + unsigned int isoScriptCode +
+ + +

A reference to a structure that describes info for the script.

+
+ + Hh780435 + unsigned int isoScriptNumber + unsigned int isoScriptNumber +
+ + + No documentation. + + + unsigned int clusterLookahead + unsigned int clusterLookahead + + + + No documentation. + + + unsigned int justificationCharacter + unsigned int justificationCharacter + + + + No documentation. + + + unsigned int restrictCaretToClusters + unsigned int restrictCaretToClusters + + + + No documentation. + + + unsigned int usesWordDividers + unsigned int usesWordDividers + + + + No documentation. + + + unsigned int isDiscreteWriting + unsigned int isDiscreteWriting + + + + No documentation. + + + unsigned int isBlockWriting + unsigned int isBlockWriting + + + + No documentation. + + + unsigned int isDistributedWithinCluster + unsigned int isDistributedWithinCluster + + + + No documentation. + + + unsigned int isConnectedWriting + unsigned int isConnectedWriting + + + + No documentation. + + + unsigned int isCursiveWriting + unsigned int isCursiveWriting + + + + No documentation. + + + unsigned int reserved + unsigned int reserved + + + +

Shaping output properties for an output glyph.

+
+ + dd368125 + DWRITE_SHAPING_TEXT_PROPERTIES + DWRITE_SHAPING_TEXT_PROPERTIES +
+ + +

Indicates that the glyph is shaped alone.

+
+ + dd368125 + unsigned short isShapedAlone + unsigned short isShapedAlone +
+ + +

Reserved for future use.

+
+ + dd368125 + unsigned short reserved + unsigned short reserved +
+ + +

Contains information regarding the size and placement of strikethroughs. All coordinates are in device independent pixels (DIPs).

+
+ + dd368126 + DWRITE_STRIKETHROUGH + DWRITE_STRIKETHROUGH +
+ + +

A value that indicates the width of the strikethrough, measured parallel to the baseline.

+
+ + dd368126 + float width + float width +
+ + +

A value that indicates the thickness of the strikethrough, measured perpendicular to the baseline.

+
+ + dd368126 + float thickness + float thickness +
+ + +

A value that indicates the offset of the strikethrough from the baseline. A positive offset represents a position below the baseline and a negative offset is above. Typically, the offset will be negative.

+
+ + dd368126 + float offset + float offset +
+ + +

Reading direction of the text associated with the strikethrough. This value is used to interpret whether the width value runs horizontally or vertically.

+
+ + dd368126 + DWRITE_READING_DIRECTION readingDirection + DWRITE_READING_DIRECTION readingDirection +
+ + +

Flow direction of the text associated with the strikethrough. This value is used to interpret whether the thickness value advances top to bottom, left to right, or right to left.

+
+ + dd368126 + DWRITE_FLOW_DIRECTION flowDirection + DWRITE_FLOW_DIRECTION flowDirection +
+ + +

An array of characters containing the locale of the text that is the strikethrough is being drawn over.

+
+ + dd368126 + const wchar_t* localeName + wchar_t localeName +
+ + +

The measuring mode can be useful to the renderer to determine how underlines are rendered, such as rounding the thickness to a whole pixel in GDI-compatible modes.

+
+ + dd368126 + DWRITE_MEASURING_MODE measuringMode + DWRITE_MEASURING_MODE measuringMode +
+ + +

Contains the metrics associated with text after layout. All coordinates are in device independent pixels (DIPs).

+
+ + dd368135 + DWRITE_TEXT_METRICS + DWRITE_TEXT_METRICS +
+ + +

A value that indicates the left-most point of formatted text relative to the layout box, while excluding any glyph overhang.

+
+ + dd368135 + float left + float left +
+ + +

A value that indicates the top-most point of formatted text relative to the layout box, while excluding any glyph overhang.

+
+ + dd368135 + float top + float top +
+ + +

A value that indicates the width of the formatted text, while ignoring trailing whitespace at the end of each line.

+
+ + dd368135 + float width + float width +
+ + +

The width of the formatted text, taking into account the trailing whitespace at the end of each line.

+
+ + dd368135 + float widthIncludingTrailingWhitespace + float widthIncludingTrailingWhitespace +
+ + +

The height of the formatted text. The height of an empty string is set to the same value as that of the default font.

+
+ + dd368135 + float height + float height +
+ + +

The initial width given to the layout. It can be either larger or smaller than the text content width, depending on whether the text was wrapped.

+
+ + dd368135 + float layoutWidth + float layoutWidth +
+ + +

Initial height given to the layout. Depending on the length of the text, it may be larger or smaller than the text content height.

+
+ + dd368135 + float layoutHeight + float layoutHeight +
+ + +

The maximum reordering count of any line of text, used to calculate the most number of hit-testing boxes needed. If the layout has no bidirectional text, or no text at all, the minimum level is 1.

+
+ + dd368135 + unsigned int maxBidiReorderingDepth + unsigned int maxBidiReorderingDepth +
+ + + No documentation. + + + unsigned int lineCount + unsigned int lineCount + + + +

Specifies the trimming option for text overflowing the layout box.

+
+ + dd368139 + DWRITE_TRIMMING + DWRITE_TRIMMING +
+ + +

A value that specifies the text granularity used to trim text overflowing the layout box.

+
+ + dd368139 + DWRITE_TRIMMING_GRANULARITY granularity + DWRITE_TRIMMING_GRANULARITY granularity +
+ + +

A character code used as the delimiter that signals the beginning of the portion of text to be preserved. Most useful for path ellipsis, where the delimiter would be a slash.

+
+ + dd368139 + unsigned int delimiter + unsigned int delimiter +
+ + +

A value that indicates how many occurrences of the delimiter to step back.

+
+ + dd368139 + unsigned int delimiterCount + unsigned int delimiterCount +
+ + +

Contains a set of typographic features to be applied during text shaping.

+
+ + dd368143 + DWRITE_TYPOGRAPHIC_FEATURES + DWRITE_TYPOGRAPHIC_FEATURES +
+ + +

A reference to a structure that specifies properties used to identify and execute typographic features in the font.

+
+ + dd368143 + DWRITE_FONT_FEATURE* features + DWRITE_FONT_FEATURE features +
+ + +

A value that indicates the number of features being applied to a font face.

+
+ + dd368143 + unsigned int featureCount + unsigned int featureCount +
+ + +

Contains information about the width, thickness, offset, run height, reading direction, and flow direction of an underline.

+
+ +

All coordinates are in device independent pixels (DIPs).

+
+ + dd368145 + DWRITE_UNDERLINE + DWRITE_UNDERLINE +
+ + +

A value that indicates the width of the underline, measured parallel to the baseline.

+
+ + dd368145 + float width + float width +
+ + +

A value that indicates the thickness of the underline, measured perpendicular to the baseline.

+
+ + dd368145 + float thickness + float thickness +
+ + +

A value that indicates the offset of the underline from the baseline. A positive offset represents a position below the baseline (away from the text) and a negative offset is above (toward the text).

+
+ + dd368145 + float offset + float offset +
+ + +

A value that indicates the height of the tallest run where the underline is applied.

+
+ + dd368145 + float runHeight + float runHeight +
+ + +

A value that indicates the reading direction of the text associated with the underline. This value is used to interpret whether the width value runs horizontally or vertically.

+
+ + dd368145 + DWRITE_READING_DIRECTION readingDirection + DWRITE_READING_DIRECTION readingDirection +
+ + +

A value that indicates the flow direction of the text associated with the underline. This value is used to interpret whether the thickness value advances top to bottom, left to right, or right to left.

+
+ + dd368145 + DWRITE_FLOW_DIRECTION flowDirection + DWRITE_FLOW_DIRECTION flowDirection +
+ + +

An array of characters which contains the locale of the text that the underline is being drawn under. For example, in vertical text, the underline belongs on the left for Chinese but on the right for Japanese.

+
+ + dd368145 + const wchar_t* localeName + wchar_t localeName +
+ + +

The measuring mode can be useful to the renderer to determine how underlines are rendered, such as rounding the thickness to a whole pixel in GDI-compatible modes.

+
+ + dd368145 + DWRITE_MEASURING_MODE measuringMode + DWRITE_MEASURING_MODE measuringMode +
+ + +

Retrieves the list of character ranges supported by a font.

+
+ +

The list of character ranges supported by a font, is useful for scenarios like character picking, glyph display, and efficient font selection lookup. GetUnicodeRanges is similar to GDI's GetFontUnicodeRanges, except that it returns the full Unicode range, not just 16-bit UCS-2.

These ranges are from the cmap, not the OS/2::ulCodePageRange1.

If this method is unavailable, you can use the method to check for missing glyphs. The method returns the 0 index for glyphs that aren't present in the font.

The method is often simpler in cases where you need to check a single character or a series of single characters in succession, such as in font fallback.

+
+ + Hh780407 + DWRITE_UNICODE_RANGE + DWRITE_UNICODE_RANGE +
+ + +

The maximum number of character ranges passed in from the client.

+
+ + Hh780407 + unsigned int first + unsigned int first +
+ + +

An array of structures that are filled with the character ranges.

+
+ + Hh780407 + unsigned int last + unsigned int last +
+ + +

[This documentation is preliminary and is subject to change.]

The 2D affine transform effect applies a spatial transform to a image based on a 3X2 matrix using the Direct2D matrix transform and any of six interpolation modes. You can use this effect to rotate, scale, skew, or translate an image. Or, you can combine these operations. Affine transfers preserve parallel lines and the ratio of distances between any three points in an image.

The CLSID for this effect is .

  • Example
  • Effect
  • Border
  • Interpolation
  • Output
+
+ + hh706309 + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE +
+ + + No documentation. + + + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR + + + + No documentation. + + + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC + + + + No documentation. + + + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC + + + + No documentation. + + + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC + D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC + + + +

[This documentation is preliminary and is subject to change.]

The 2D affine transform effect applies a spatial transform to a image based on a 3X2 matrix using the Direct2D matrix transform and any of six interpolation modes. You can use this effect to rotate, scale, skew, or translate an image. Or, you can combine these operations. Affine transfers preserve parallel lines and the ratio of distances between any three points in an image.

The CLSID for this effect is .

  • Example
  • Effect
  • Border
  • Interpolation
  • Output
+
+ + hh706309 + D2D1_2DAFFINETRANSFORM_PROP + D2D1_2DAFFINETRANSFORM_PROP +
+ + + No documentation. + + + D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE + D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE + + + + No documentation. + + + D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE + D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE + + + + No documentation. + + + D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX + D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX + + + + No documentation. + + + D2D1_2DAFFINETRANSFORM_PROP_SHARPNESS + D2D1_2DAFFINETRANSFORM_PROP_SHARPNESS + + + +

Specifies how the alpha value of a bitmap or render target should be treated.

+
+ +

The enumeration is used with the enumeration to specify the alpha mode of a render target or bitmap. Different render targets and bitmaps support different alpha modes. For a list, see Supported Pixel Formats and Alpha Modes.

The Differences Between Straight and Premultiplied Alpha

When describing an RGBA color using straight alpha, the alpha value of the color is stored in the alpha channel. For example, to describe a red color that is 60% opaque, you'd use the following values: (255, 0, 0, 255 * 0.6) = (255, 0, 0, 153). The 255 value indicates full red, and 153 (which is 60 percent of 255) indicates that the color should have an opacity of 60 percent.

When describing an RGBA color using premultiplied alpha, each color is multiplied by the alpha value: (255 * 0.6, 0 * 0.6, 0 * 0.6, 255 * 0.6) = (153, 0, 0, 153).

Regardless of the alpha mode of the render target, D2D1_COLOR_F values are always interpreted as straight alpha. For example, when specifying the color of an for use with a bitmap that uses the premultiplied alpha mode, you'd specify the color just as you would if the bitmap used straight alpha. When you paint with the brush, Direct2D translates the color to the destination format for you.

Alpha Mode for Render Targets

Regardless of the alpha mode setting, a render target's contents support transparency. For example, if you draw a partially transparent red rectangle with a render target with an alpha mode of , the rectangle will appear pink (if the background is white), as you might expect.

If you draw a partially transparent red rectangle when the alpha mode is , the rectangle will appear pink (assuming the background is white) and you can see through it to whatever is behind the render target. This is useful when using a to render to a transparent window or when using an compatible render target (a render targeted created by the CreateCompatibleRenderTarget method) to create a bitmap that supports transparency.

ClearType and Alpha Modes

If you specify an alpha mode other than for a render target, the text antialiasing mode automatically changes from CLEARTYPE to GRAYSCALE. (When you specify an alpha mode of , Direct2D sets the alpha for you depending on the type of render target. For a list of what the setting resolves to for each render target, see the Supported Pixel Formats and Alpha Modes overview.)

You can use the SetTextAntialiasMode method to change the text antialias mode back to CLEARTYPE, but rendering ClearType text to a transparent surface can create unpredictable results. If you want to render ClearType text to an transparent render target, we recommend that you use one of the following two techniques.

  • Use the PushAxisAlignedClip method to clip the render target to the area where the text will be rendered, then call the Clear method and specify an opaque color, then render your text.
  • Use DrawRectangle to draw an opaque rectangle behind the area where the text will be rendered.
+
+ + dd368058 + D2D1_ALPHA_MODE + D2D1_ALPHA_MODE +
+ + +

The alpha value might not be meaningful.

+
+ + dd368058 + D2D1_ALPHA_MODE_UNKNOWN + D2D1_ALPHA_MODE_UNKNOWN +
+ + +

The alpha value has been premultiplied. Each color is first scaled by the alpha value. The alpha value itself is the same in both straight and premultiplied alpha. Typically, no color channel value is greater than the alpha channel value. If a color channel value in a premultiplied format is greater than the alpha channel, the standard source-over blending math results in an additive blend.

+
+ + dd368058 + D2D1_ALPHA_MODE_PREMULTIPLIED + D2D1_ALPHA_MODE_PREMULTIPLIED +
+ + +

The alpha value has not been premultiplied. The alpha channel indicates the transparency of the color.

+
+ + dd368058 + D2D1_ALPHA_MODE_STRAIGHT + D2D1_ALPHA_MODE_STRAIGHT +
+ + +

The alpha value is ignored.

+
+ + dd368058 + D2D1_ALPHA_MODE_IGNORE + D2D1_ALPHA_MODE_IGNORE +
+ + +

Specifies how the edges of nontext primitives are rendered.

+
+ + dd368061 + D2D1_ANTIALIAS_MODE + D2D1_ANTIALIAS_MODE +
+ + +

Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.

+
+ + dd368061 + D2D1_ANTIALIAS_MODE_PER_PRIMITIVE + D2D1_ANTIALIAS_MODE_PER_PRIMITIVE +
+ + +

Objects are aliased in most cases. Objects are antialiased only when they are drawn to a render target created by the CreateDxgiSurfaceRenderTarget method and Direct3D multisampling has been enabled on the backing DirectX Graphics Infrastructure (DXGI) surface.

+
+ + dd368061 + D2D1_ANTIALIAS_MODE_ALIASED + D2D1_ANTIALIAS_MODE_ALIASED +
+ + +

Specifies whether an arc should be greater than 180 degrees.

+
+ + dd368068 + D2D1_ARC_SIZE + D2D1_ARC_SIZE +
+ + +

An arc's sweep should be 180 degrees or less.

+
+ + dd368068 + D2D1_ARC_SIZE_SMALL + D2D1_ARC_SIZE_SMALL +
+ + +

An arc's sweep should be 180 degrees or greater.

+
+ + dd368068 + D2D1_ARC_SIZE_LARGE + D2D1_ARC_SIZE_LARGE +
+ + +

[This documentation is preliminary and is subject to change.]

You can use the Direct2D Effects API to process images using GPU accelerated effects and develop your own effects. It also provides interoperation with other parts of Direct2D, DirectWrite, Windows Imaging Component (WIC) and Direct3D.

This topic contains:

  • About
  • Built-in
  • Custom
  • Effects
  • Related
+
+ + hh706358 + D2D1_ARITHMETICCOMPOSITE_PROP + D2D1_ARITHMETICCOMPOSITE_PROP +
+ + + No documentation. + + + D2D1_ARITHMETICCOMPOSITE_PROP_COEFFICIENTS + D2D1_ARITHMETICCOMPOSITE_PROP_COEFFICIENTS + + + + No documentation. + + + D2D1_ARITHMETICCOMPOSITE_PROP_CLAMP_OUTPUT + D2D1_ARITHMETICCOMPOSITE_PROP_CLAMP_OUTPUT + + + + No documentation. + + + D2D1_ATLAS_PROP + D2D1_ATLAS_PROP + + + + No documentation. + + + D2D1_ATLAS_PROP_INPUT_RECT + D2D1_ATLAS_PROP_INPUT_RECT + + + + No documentation. + + + D2D1_ATLAS_PROP_INPUT_PADDING_RECT + D2D1_ATLAS_PROP_INPUT_PADDING_RECT + + + +

Specifies the algorithm that is used when images are scaled or rotated.

+
+ +

To stretch an image, each pixel in the original image must be mapped to a group of pixels in the larger image. To shrink an image, groups of pixels in the original image must be mapped to single pixels in the smaller image. The effectiveness of the algorithms that perform these mappings determines the quality of a scaled image. Algorithms that produce higher-quality scaled images tend to require more processing time. provides faster but lower-quality interpolation, while provides higher-quality interpolation.

+
+ + dd368073 + D2D1_BITMAP_INTERPOLATION_MODE + D2D1_BITMAP_INTERPOLATION_MODE +
+ + +

Use the exact color of the nearest bitmap pixel to the current rendering pixel.

+
+ + dd368073 + D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR + D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR +
+ + +

Interpolate a color from the four bitmap pixels that are the nearest to the rendering pixel.

+
+ + dd368073 + D2D1_BITMAP_INTERPOLATION_MODE_LINEAR + D2D1_BITMAP_INTERPOLATION_MODE_LINEAR +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Used to represent the bit depth of the imaging pipeline in Direct2D.

+
+ +

If is specified, the bitmap can be used for drawing but cannot be set as a target and cannot be read by the CPU.

If is specfied, the bitmap can be used as a target for .

must be specified in conjunction with . If specified, the bitmap can be used as a target but it cannot be drawn from. Attempting to draw with a bitmap that has this flag set will result in the device context returning the error .

If is specified, the bitmap can be mapped using . This flag requires and cannot be combined with any other flags. The bitmap must be updated with either CopyFromBitmap or CopyFromRenderTarget.

specifies that a Windows Graphics Device Interface (GDI) device context associated with this bitmap is available. This must be used in conjunction with . The must be either or .

+
+ + hh446984 + D2D1_BITMAP_OPTIONS + D2D1_BITMAP_OPTIONS +
+ + +

The bitmap is created with default properties.

+
+ + hh446984 + D2D1_BITMAP_OPTIONS_NONE + D2D1_BITMAP_OPTIONS_NONE +
+ + +

The bitmap can be used as a device context target.

+
+ + hh446984 + D2D1_BITMAP_OPTIONS_TARGET + D2D1_BITMAP_OPTIONS_TARGET +
+ + +

The bitmap cannot be used as an input.

+
+ + hh446984 + D2D1_BITMAP_OPTIONS_CANNOT_DRAW + D2D1_BITMAP_OPTIONS_CANNOT_DRAW +
+ + +

The bitmap can be read from from the CPU.

+
+ + hh446984 + D2D1_BITMAP_OPTIONS_CPU_READ + D2D1_BITMAP_OPTIONS_CPU_READ +
+ + +

The bitmap works with ID2D1GdiInteropRenderTarget::GetDC.

+
+ + hh446984 + D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE + D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE +
+ + + No documentation. + + + D2D1_BITMAPSOURCE_ALPHA_MODE + D2D1_BITMAPSOURCE_ALPHA_MODE + + + + No documentation. + + + D2D1_BITMAPSOURCE_ALPHA_MODE_PREMULTIPLIED + D2D1_BITMAPSOURCE_ALPHA_MODE_PREMULTIPLIED + + + + No documentation. + + + D2D1_BITMAPSOURCE_ALPHA_MODE_STRAIGHT + D2D1_BITMAPSOURCE_ALPHA_MODE_STRAIGHT + + + + No documentation. + + + D2D1_BITMAPSOURCE_INTERPOLATION_MODE + D2D1_BITMAPSOURCE_INTERPOLATION_MODE + + + + No documentation. + + + D2D1_BITMAPSOURCE_INTERPOLATION_MODE_NEAREST_NEIGHBOR + D2D1_BITMAPSOURCE_INTERPOLATION_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_BITMAPSOURCE_INTERPOLATION_MODE_LINEAR + D2D1_BITMAPSOURCE_INTERPOLATION_MODE_LINEAR + + + + No documentation. + + + D2D1_BITMAPSOURCE_INTERPOLATION_MODE_CUBIC + D2D1_BITMAPSOURCE_INTERPOLATION_MODE_CUBIC + + + + No documentation. + + + D2D1_BITMAPSOURCE_INTERPOLATION_MODE_FANT + D2D1_BITMAPSOURCE_INTERPOLATION_MODE_FANT + + + + No documentation. + + + D2D1_BITMAPSOURCE_INTERPOLATION_MODE_MIPMAP_LINEAR + D2D1_BITMAPSOURCE_INTERPOLATION_MODE_MIPMAP_LINEAR + + + + No documentation. + + + D2D1_BITMAPSOURCE_ORIENTATION + D2D1_BITMAPSOURCE_ORIENTATION + + + + No documentation. + + + D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT + D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT + + + + No documentation. + + + D2D1_BITMAPSOURCE_ORIENTATION_FLIP_HORIZONTAL + D2D1_BITMAPSOURCE_ORIENTATION_FLIP_HORIZONTAL + + + + No documentation. + + + D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180 + D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180 + + + + No documentation. + + + D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL + D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL + + + + No documentation. + + + D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL + D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL + + + + No documentation. + + + D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90 + D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90 + + + + No documentation. + + + D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL + D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL + + + + No documentation. + + + D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270 + D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270 + + + +

[This documentation is preliminary and is subject to change.]

Shows how to use the Windows::Storage::FileOpenPicker to load an image into Direct2D Effects. If you want to let the user select an image file from storage in a Metro style app, we recommend that you use the FileOpenPicker.

+
+ + hh780393 + D2D1_BITMAPSOURCE_PROP + D2D1_BITMAPSOURCE_PROP +
+ + + No documentation. + + + D2D1_BITMAPSOURCE_PROP_WIC_BITMAP_SOURCE + D2D1_BITMAPSOURCE_PROP_WIC_BITMAP_SOURCE + + + + No documentation. + + + D2D1_BITMAPSOURCE_PROP_SCALE + D2D1_BITMAPSOURCE_PROP_SCALE + + + + No documentation. + + + D2D1_BITMAPSOURCE_PROP_INTERPOLATION_MODE + D2D1_BITMAPSOURCE_PROP_INTERPOLATION_MODE + + + + No documentation. + + + D2D1_BITMAPSOURCE_PROP_ENABLE_DPI_CORRECTION + D2D1_BITMAPSOURCE_PROP_ENABLE_DPI_CORRECTION + + + + No documentation. + + + D2D1_BITMAPSOURCE_PROP_ALPHA_MODE + D2D1_BITMAPSOURCE_PROP_ALPHA_MODE + + + + No documentation. + + + D2D1_BITMAPSOURCE_PROP_ORIENTATION + D2D1_BITMAPSOURCE_PROP_ORIENTATION + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Specifies how one of the color sources is to be derived and optionally specifies a preblend operation on the color source.

+
+ +

This enumeration has the same numeric values as D3D10_BLEND.

+
+ + hh404276 + D2D1_BLEND + D2D1_BLEND +
+ + +

The data source is black (0, 0, 0, 0). There is no preblend operation.

+
+ + hh404276 + D2D1_BLEND_ZERO + D2D1_BLEND_ZERO +
+ + +

The data source is white (1, 1, 1, 1). There is no preblend operation.

+
+ + hh404276 + D2D1_BLEND_ONE + D2D1_BLEND_ONE +
+ + +

The data source is color data (RGB) from the second input of the blend transform. There is a preblend operation.

+
+ + hh404276 + D2D1_BLEND_SRC_COLOR + D2D1_BLEND_SRC_COLOR +
+ + +

The data source is color data (RGB) from second input of the blend transform. The preblend operation inverts the data, generating 1 - RGB.

+
+ + hh404276 + D2D1_BLEND_INV_SRC_COLOR + D2D1_BLEND_INV_SRC_COLOR +
+ + +

The data source is alpha data (A) from second input of the blend transform. There is no preblend operation.

+
+ + hh404276 + D2D1_BLEND_SRC_ALPHA + D2D1_BLEND_SRC_ALPHA +
+ + +

The data source is alpha data (A) from the second input of the blend transform. The preblend operation inverts the data, generating 1 - A.

+
+ + hh404276 + D2D1_BLEND_INV_SRC_ALPHA + D2D1_BLEND_INV_SRC_ALPHA +
+ + +

The data source is alpha data (A) from the first input of the blend transform. There is no preblend operation.

+
+ + hh404276 + D2D1_BLEND_DEST_ALPHA + D2D1_BLEND_DEST_ALPHA +
+ + +

The data source is alpha data (A) from the first input of the blend transform. The preblend operation inverts the data, generating 1 - A.

+
+ + hh404276 + D2D1_BLEND_INV_DEST_ALPHA + D2D1_BLEND_INV_DEST_ALPHA +
+ + +

The data source is color data from the first input of the blend transform. There is no preblend operation.

+
+ + hh404276 + D2D1_BLEND_DEST_COLOR + D2D1_BLEND_DEST_COLOR +
+ + +

The data source is color data from the first input of the blend transform. The preblend operation inverts the data, generating 1 - RGB.

+
+ + hh404276 + D2D1_BLEND_INV_DEST_COLOR + D2D1_BLEND_INV_DEST_COLOR +
+ + +

The data source is alpha data from the second input of the blend transform. The preblend operation clamps the data to 1 or less.

+
+ + hh404276 + D2D1_BLEND_SRC_ALPHA_SAT + D2D1_BLEND_SRC_ALPHA_SAT +
+ + +

The data source is the blend factor. There is no preblend operation.

+
+ + hh404276 + D2D1_BLEND_BLEND_FACTOR + D2D1_BLEND_BLEND_FACTOR +
+ + +

The data source is the blend factor. The preblend operation inverts the blend factor, generating 1 - blend_factor.

+
+ + hh404276 + D2D1_BLEND_INV_BLEND_FACTOR + D2D1_BLEND_INV_BLEND_FACTOR +
+ + +

[This documentation is preliminary and is subject to change.]

Use the blend effect to combine 2 images. This effect has 26 blend modes. These modes are useful for overlapping images that have transparency.

The CLSID for this effect is The CLSID for this effect is .

  • Blending
  • Effect
  • Blend
  • Blend
  • HSL
  • Output
+
+ + hh706313 + D2D1_BLEND_MODE + D2D1_BLEND_MODE +
+ + + No documentation. + + + D2D1_BLEND_MODE_MULTIPLY + D2D1_BLEND_MODE_MULTIPLY + + + + No documentation. + + + D2D1_BLEND_MODE_SCREEN + D2D1_BLEND_MODE_SCREEN + + + + No documentation. + + + D2D1_BLEND_MODE_DARKEN + D2D1_BLEND_MODE_DARKEN + + + + No documentation. + + + D2D1_BLEND_MODE_LIGHTEN + D2D1_BLEND_MODE_LIGHTEN + + + + No documentation. + + + D2D1_BLEND_MODE_DISSOLVE + D2D1_BLEND_MODE_DISSOLVE + + + + No documentation. + + + D2D1_BLEND_MODE_COLOR_BURN + D2D1_BLEND_MODE_COLOR_BURN + + + + No documentation. + + + D2D1_BLEND_MODE_LINEAR_BURN + D2D1_BLEND_MODE_LINEAR_BURN + + + + No documentation. + + + D2D1_BLEND_MODE_DARKER_COLOR + D2D1_BLEND_MODE_DARKER_COLOR + + + + No documentation. + + + D2D1_BLEND_MODE_LIGHTER_COLOR + D2D1_BLEND_MODE_LIGHTER_COLOR + + + + No documentation. + + + D2D1_BLEND_MODE_COLOR_DODGE + D2D1_BLEND_MODE_COLOR_DODGE + + + + No documentation. + + + D2D1_BLEND_MODE_LINEAR_DODGE + D2D1_BLEND_MODE_LINEAR_DODGE + + + + No documentation. + + + D2D1_BLEND_MODE_OVERLAY + D2D1_BLEND_MODE_OVERLAY + + + + No documentation. + + + D2D1_BLEND_MODE_SOFT_LIGHT + D2D1_BLEND_MODE_SOFT_LIGHT + + + + No documentation. + + + D2D1_BLEND_MODE_HARD_LIGHT + D2D1_BLEND_MODE_HARD_LIGHT + + + + No documentation. + + + D2D1_BLEND_MODE_VIVID_LIGHT + D2D1_BLEND_MODE_VIVID_LIGHT + + + + No documentation. + + + D2D1_BLEND_MODE_LINEAR_LIGHT + D2D1_BLEND_MODE_LINEAR_LIGHT + + + + No documentation. + + + D2D1_BLEND_MODE_PIN_LIGHT + D2D1_BLEND_MODE_PIN_LIGHT + + + + No documentation. + + + D2D1_BLEND_MODE_HARD_MIX + D2D1_BLEND_MODE_HARD_MIX + + + + No documentation. + + + D2D1_BLEND_MODE_DIFFERENCE + D2D1_BLEND_MODE_DIFFERENCE + + + + No documentation. + + + D2D1_BLEND_MODE_EXCLUSION + D2D1_BLEND_MODE_EXCLUSION + + + + No documentation. + + + D2D1_BLEND_MODE_HUE + D2D1_BLEND_MODE_HUE + + + + No documentation. + + + D2D1_BLEND_MODE_SATURATION + D2D1_BLEND_MODE_SATURATION + + + + No documentation. + + + D2D1_BLEND_MODE_COLOR + D2D1_BLEND_MODE_COLOR + + + + No documentation. + + + D2D1_BLEND_MODE_LUMINOSITY + D2D1_BLEND_MODE_LUMINOSITY + + + + No documentation. + + + D2D1_BLEND_MODE_SUBTRACT + D2D1_BLEND_MODE_SUBTRACT + + + + No documentation. + + + D2D1_BLEND_MODE_DIVISION + D2D1_BLEND_MODE_DIVISION + + + +

Applies to: desktop apps | Metro style apps

Specifies how the edges of nontext primitives are rendered.

+
+ + dd368061 + D2D1_BLEND_OPERATION + D2D1_BLEND_OPERATION +
+ + +

Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.

+
+ + dd368061 + D2D1_BLEND_OPERATION_ADD + D2D1_BLEND_OPERATION_ADD +
+ + +

Objects are aliased in most cases. Objects are antialiased only when they are drawn to a render target created by the CreateDxgiSurfaceRenderTarget method and Direct3D multisampling has been enabled on the backing DirectX Graphics Infrastructure (DXGI) surface.

+
+ + dd368061 + D2D1_BLEND_OPERATION_SUBTRACT + D2D1_BLEND_OPERATION_SUBTRACT +
+ + + No documentation. + + + D2D1_BLEND_OPERATION_REV_SUBTRACT + D2D1_BLEND_OPERATION_REV_SUBTRACT + + + + No documentation. + + + D2D1_BLEND_OPERATION_MIN + D2D1_BLEND_OPERATION_MIN + + + + No documentation. + + + D2D1_BLEND_OPERATION_MAX + D2D1_BLEND_OPERATION_MAX + + + +

[This documentation is preliminary and is subject to change.]

Use the blend effect to combine 2 images. This effect has 26 blend modes. These modes are useful for overlapping images that have transparency.

The CLSID for this effect is The CLSID for this effect is .

  • Blending
  • Effect
  • Blend
  • Blend
  • HSL
  • Output
+
+ + hh706313 + D2D1_BLEND_PROP + D2D1_BLEND_PROP +
+ + + No documentation. + + + D2D1_BLEND_PROP_MODE + D2D1_BLEND_PROP_MODE + + + + No documentation. + + + D2D1_BORDER_EDGE_MODE + D2D1_BORDER_EDGE_MODE + + + + No documentation. + + + D2D1_BORDER_EDGE_MODE_CLAMP + D2D1_BORDER_EDGE_MODE_CLAMP + + + + No documentation. + + + D2D1_BORDER_EDGE_MODE_WRAP + D2D1_BORDER_EDGE_MODE_WRAP + + + + No documentation. + + + D2D1_BORDER_EDGE_MODE_MIRROR + D2D1_BORDER_EDGE_MODE_MIRROR + + + +

[This documentation is preliminary and is subject to change.]

Use the 3D transform effect to apply an arbitrary 4x4 transform matrix to an image.

This effect applies the matrix (Mt) you provide to the corner vertices of the source image ([ x y z 1 ]) using this calculation:

[ xr yr zr 1 ]=[ x y z 1 ]*Mt

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • 4x4
+
+ + Hh706310 + D2D1_BORDER_MODE + D2D1_BORDER_MODE +
+ + + No documentation. + + + D2D1_BORDER_MODE_SOFT + D2D1_BORDER_MODE_SOFT + + + + No documentation. + + + D2D1_BORDER_MODE_HARD + D2D1_BORDER_MODE_HARD + + + + No documentation. + + + D2D1_BORDER_PROP + D2D1_BORDER_PROP + + + + No documentation. + + + D2D1_BORDER_PROP_EDGE_MODE_X + D2D1_BORDER_PROP_EDGE_MODE_X + + + + No documentation. + + + D2D1_BORDER_PROP_EDGE_MODE_Y + D2D1_BORDER_PROP_EDGE_MODE_Y + + + + No documentation. + + + D2D1_BRIGHTNESS_PROP + D2D1_BRIGHTNESS_PROP + + + + No documentation. + + + D2D1_BRIGHTNESS_PROP_WHITE_POINT + D2D1_BRIGHTNESS_PROP_WHITE_POINT + + + + No documentation. + + + D2D1_BRIGHTNESS_PROP_BLACK_POINT + D2D1_BRIGHTNESS_PROP_BLACK_POINT + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Represents the bit depth of the imaging pipeline in Direct2D.

+
+ + hh446986 + D2D1_BUFFER_PRECISION + D2D1_BUFFER_PRECISION +
+ + +

The buffer precision is not specified.

+
+ + hh446986 + D2D1_BUFFER_PRECISION_UNKNOWN + D2D1_BUFFER_PRECISION_UNKNOWN +
+ + +

Use 8-bit normalized integer per channel.

+
+ + hh446986 + D2D1_BUFFER_PRECISION_8BPC_UNORM + D2D1_BUFFER_PRECISION_8BPC_UNORM +
+ + +

Use 16-bit floats per channel.

+
+ + hh446986 + D2D1_BUFFER_PRECISION_8BPC_UNORM_SRGB + D2D1_BUFFER_PRECISION_8BPC_UNORM_SRGB +
+ + +

Use 16-bit normalized integer per channel.

+
+ + hh446986 + D2D1_BUFFER_PRECISION_16BPC_UNORM + D2D1_BUFFER_PRECISION_16BPC_UNORM +
+ + +

Use 32-bit floats per channel.

+
+ + hh446986 + D2D1_BUFFER_PRECISION_16BPC_FLOAT + D2D1_BUFFER_PRECISION_16BPC_FLOAT +
+ + + No documentation. + + + D2D1_BUFFER_PRECISION_32BPC_FLOAT + D2D1_BUFFER_PRECISION_32BPC_FLOAT + + + +

Describes the shape at the end of a line or segment.

+
+ +

The following illustration shows the available cap styles for lines or segments. The red portion of the line shows the extra area added by the line cap setting.

+
+ + dd368079 + D2D1_CAP_STYLE + D2D1_CAP_STYLE +
+ + +

A cap that does not extend past the last point of the line. Comparable to cap used for objects other than lines.

+
+ + dd368079 + D2D1_CAP_STYLE_FLAT + D2D1_CAP_STYLE_FLAT +
+ + +

Half of a square that has a length equal to the line thickness.

+
+ + dd368079 + D2D1_CAP_STYLE_SQUARE + D2D1_CAP_STYLE_SQUARE +
+ + +

A semicircle that has a diameter equal to the line thickness.

+
+ + dd368079 + D2D1_CAP_STYLE_ROUND + D2D1_CAP_STYLE_ROUND +
+ + +

An isosceles right triangle whose hypotenuse is equal in length to the thickness of the line.

+
+ + dd368079 + D2D1_CAP_STYLE_TRIANGLE + D2D1_CAP_STYLE_TRIANGLE +
+ + +

Applies to: desktop apps | Metro style apps

Specifies how the edges of nontext primitives are rendered.

+
+ + dd368061 + D2D1_CHANGE_TYPE + D2D1_CHANGE_TYPE +
+ + +

Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.

+
+ + dd368061 + D2D1_CHANGE_TYPE_NONE + D2D1_CHANGE_TYPE_NONE +
+ + +

Objects are aliased in most cases. Objects are antialiased only when they are drawn to a render target created by the CreateDxgiSurfaceRenderTarget method and Direct3D multisampling has been enabled on the backing DirectX Graphics Infrastructure (DXGI) surface.

+
+ + dd368061 + D2D1_CHANGE_TYPE_PROPERTIES + D2D1_CHANGE_TYPE_PROPERTIES +
+ + + No documentation. + + + D2D1_CHANGE_TYPE_CONTEXT + D2D1_CHANGE_TYPE_CONTEXT + + + + No documentation. + + + D2D1_CHANGE_TYPE_GRAPH + D2D1_CHANGE_TYPE_GRAPH + + + +

Applies to: desktop apps | Metro style apps

Specifies how the edges of nontext primitives are rendered.

+
+ + dd368061 + D2D1_CHANNEL_DEPTH + D2D1_CHANNEL_DEPTH +
+ + +

Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.

+
+ + dd368061 + D2D1_CHANNEL_DEPTH_DEFAULT + D2D1_CHANNEL_DEPTH_DEFAULT +
+ + +

Objects are aliased in most cases. Objects are antialiased only when they are drawn to a render target created by the CreateDxgiSurfaceRenderTarget method and Direct3D multisampling has been enabled on the backing DirectX Graphics Infrastructure (DXGI) surface.

+
+ + dd368061 + D2D1_CHANNEL_DEPTH_1 + D2D1_CHANNEL_DEPTH_1 +
+ + + No documentation. + + + D2D1_CHANNEL_DEPTH_4 + D2D1_CHANNEL_DEPTH_4 + + + +

[This documentation is preliminary and is subject to change.]

Use the displacement map effect to displace the pixels of the input image by the intensity values of a second input image.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • Color
  • Output
+
+ + hh706330 + D2D1_CHANNEL_SELECTOR + D2D1_CHANNEL_SELECTOR +
+ + +
YChannelSelector the intensity of the selected RGBA channel from the displacement bitmap that displaces the input image in the Y direction.
+
+ + hh706330 + D2D1_CHANNEL_SELECTOR_R + D2D1_CHANNEL_SELECTOR_R +
+ + + No documentation. + + + D2D1_CHANNEL_SELECTOR_G + D2D1_CHANNEL_SELECTOR_G + + + + No documentation. + + + D2D1_CHANNEL_SELECTOR_B + D2D1_CHANNEL_SELECTOR_B + + + + No documentation. + + + D2D1_CHANNEL_SELECTOR_A + D2D1_CHANNEL_SELECTOR_A + + + +

Applies to: desktop apps | Metro style apps

Specifies how the edges of nontext primitives are rendered.

+
+ + dd368061 + D2D1_COLOR_INTERPOLATION_MODE + D2D1_COLOR_INTERPOLATION_MODE +
+ + +

Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.

+
+ + dd368061 + D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT + D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT +
+ + +

Objects are aliased in most cases. Objects are antialiased only when they are drawn to a render target created by the CreateDxgiSurfaceRenderTarget method and Direct3D multisampling has been enabled on the backing DirectX Graphics Infrastructure (DXGI) surface.

+
+ + dd368061 + D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED + D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED +
+ + + No documentation. + + + D2D1_COLORMANAGEMENT_ALPHA_MODE + D2D1_COLORMANAGEMENT_ALPHA_MODE + + + + No documentation. + + + D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED + D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED + + + + No documentation. + + + D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT + D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT + + + +

[This documentation is preliminary and is subject to change.]

Use the color management effect to transform an image from one ICC (International Color Consortium color profile to another. The effect transforms the image according to the ICC specification.

The CLSID for this effect is .

  • Effect
  • Rendering
  • Alpha
  • Alpha
+
+ + hh706318 + D2D1_COLORMANAGEMENT_PROP + D2D1_COLORMANAGEMENT_PROP +
+ + + No documentation. + + + D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT + D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT + + + + No documentation. + + + D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT + D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT + + + + No documentation. + + + D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT + D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT + + + + No documentation. + + + D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT + D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT + + + + No documentation. + + + D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE + D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE + + + + No documentation. + + + D2D1_COLORMANAGEMENT_PROP_QUALITY + D2D1_COLORMANAGEMENT_PROP_QUALITY + + + + No documentation. + + + D2D1_COLORMANAGEMENT_QUALITY + D2D1_COLORMANAGEMENT_QUALITY + + + + No documentation. + + + D2D1_COLORMANAGEMENT_QUALITY_PROOF + D2D1_COLORMANAGEMENT_QUALITY_PROOF + + + + No documentation. + + + D2D1_COLORMANAGEMENT_QUALITY_NORMAL + D2D1_COLORMANAGEMENT_QUALITY_NORMAL + + + + No documentation. + + + D2D1_COLORMANAGEMENT_QUALITY_BEST + D2D1_COLORMANAGEMENT_QUALITY_BEST + + + + No documentation. + + + D2D1_COLORMANAGEMENT_RENDERING_INTENT + D2D1_COLORMANAGEMENT_RENDERING_INTENT + + + + No documentation. + + + D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL + D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL + + + + No documentation. + + + D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC + D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC + + + + No documentation. + + + D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION + D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION + + + + No documentation. + + + D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC + D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC + + + + No documentation. + + + D2D1_COLORMATRIX_ALPHA_MODE + D2D1_COLORMATRIX_ALPHA_MODE + + + + No documentation. + + + D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED + D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED + + + + No documentation. + + + D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT + D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT + + + + No documentation. + + + D2D1_COLORMATRIX_PROP + D2D1_COLORMATRIX_PROP + + + + No documentation. + + + D2D1_COLORMATRIX_PROP_COLOR_MATRIX + D2D1_COLORMATRIX_PROP_COLOR_MATRIX + + + + No documentation. + + + D2D1_COLORMATRIX_PROP_ALPHA_MODE + D2D1_COLORMATRIX_PROP_ALPHA_MODE + + + + No documentation. + + + D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT + D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT + + + +

Applies to: desktop apps | Metro style apps

Specifies how the edges of nontext primitives are rendered.

+
+ + dd368061 + D2D1_COLOR_SPACE + D2D1_COLOR_SPACE +
+ + +

Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.

+
+ + dd368061 + D2D1_COLOR_SPACE_CUSTOM + D2D1_COLOR_SPACE_CUSTOM +
+ + +

Objects are aliased in most cases. Objects are antialiased only when they are drawn to a render target created by the CreateDxgiSurfaceRenderTarget method and Direct3D multisampling has been enabled on the backing DirectX Graphics Infrastructure (DXGI) surface.

+
+ + dd368061 + D2D1_COLOR_SPACE_SRGB + D2D1_COLOR_SPACE_SRGB +
+ + + No documentation. + + + D2D1_COLOR_SPACE_SCRGB + D2D1_COLOR_SPACE_SCRGB + + + +

Specifies the different methods by which two geometries can be combined.

+
+ +

The following illustration shows the different geometry combine modes. +

+
+ + dd368083 + D2D1_COMBINE_MODE + D2D1_COMBINE_MODE +
+ + +

The two regions are combined by taking the union of both. Given two geometries, A and B, the resulting geometry is geometry A + geometry B.

+
+ + dd368083 + D2D1_COMBINE_MODE_UNION + D2D1_COMBINE_MODE_UNION +
+ + +

The two regions are combined by taking their intersection. The new area consists of the overlapping region between the two geometries.

+
+ + dd368083 + D2D1_COMBINE_MODE_INTERSECT + D2D1_COMBINE_MODE_INTERSECT +
+ + +

The two regions are combined by taking the area that exists in the first region but not the second and the area that exists in the second region but not the first. Given two geometries, A and B, the new region consists of (A-B) + (B-A).

+
+ + dd368083 + D2D1_COMBINE_MODE_XOR + D2D1_COMBINE_MODE_XOR +
+ + +

The second region is excluded from the first. Given two geometries, A and B, the area of geometry B is removed from the area of geometry A, producing a region that is A-B.

+
+ + dd368083 + D2D1_COMBINE_MODE_EXCLUDE + D2D1_COMBINE_MODE_EXCLUDE +
+ + +

Specifies additional features supportable by a compatible render target when it is created. This enumeration allows a bitwise combination of its member values.

+
+ +

Use this enumeration when creating a compatible render target with the CreateCompatibleRenderTarget method. For more information about compatible render targets, see the Render Targets Overview.

The option may only be requested if the parent render target was created with (for most render targets) or (for render targets created by the CreateCompatibleRenderTarget method).

+
+ + dd368085 + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS +
+ + +

The render target supports no additional features.

+
+ + dd368085 + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE +
+ + +

The render target supports interoperability with the Windows Graphics Device Interface (GDI).

+
+ + dd368085 + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Used to specify the blend mode for all of the Direct2D blending operations.

+
+ + hh446995 + D2D1_COMPOSITE_MODE + D2D1_COMPOSITE_MODE +
+ + +

The composite mode is the default for the type of object.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_SOURCE_OVER + D2D1_COMPOSITE_MODE_SOURCE_OVER +
+ + +

The standard source-over-destination blend mode.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_DESTINATION_OVER + D2D1_COMPOSITE_MODE_DESTINATION_OVER +
+ + +

The destination is rendered over the source.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_SOURCE_IN + D2D1_COMPOSITE_MODE_SOURCE_IN +
+ + +

Performs a logical clip of the source pixels against the destination pixels.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_DESTINATION_IN + D2D1_COMPOSITE_MODE_DESTINATION_IN +
+ + +

Performs a logical clip of the destination pixels against the source pixels.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_SOURCE_OUT + D2D1_COMPOSITE_MODE_SOURCE_OUT +
+ + +

This is the logical inverse to source in.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_DESTINATION_OUT + D2D1_COMPOSITE_MODE_DESTINATION_OUT +
+ + +

The is the logical inverse to destination in.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_SOURCE_ATOP + D2D1_COMPOSITE_MODE_SOURCE_ATOP +
+ + +

Writes the source pixels over the destination where there are destination pixels.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_DESTINATION_ATOP + D2D1_COMPOSITE_MODE_DESTINATION_ATOP +
+ + +

Writes the destination pixels over the source where there are destination pixels.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_XOR + D2D1_COMPOSITE_MODE_XOR +
+ + +

The source is inverted with the destination.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_PLUS + D2D1_COMPOSITE_MODE_PLUS +
+ + +

The channel components are summed.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_SOURCE_COPY + D2D1_COMPOSITE_MODE_SOURCE_COPY +
+ + +

The source is copied to the destination; the destination pixels are ignored.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY + D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY +
+ + +

The destination is copied over the source pixels.

+
+ + hh446995 + D2D1_COMPOSITE_MODE_MASK_INVERT + D2D1_COMPOSITE_MODE_MASK_INVERT +
+ + +

[This documentation is preliminary and is subject to change.]

Use the composite effect to combine 2 or more images. This effect has 13 different composite modes. The composite modes are as subset of those that are defined by the Scalable Vector Graphics (SVG) filter effects.

The composite effect accepts 2 or more inputs. When you specify 2 images, destination is the first input (index 0) and the source is the second input (index 1). If you specify more than 2 inputs the images are composited starting with the first input and the second and so on.

This effect implements all of the modes using the blending unit of the graphics processing unit (GPU).

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • Mode
+
+ + hh706320 + D2D1_COMPOSITE_PROP + D2D1_COMPOSITE_PROP +
+ + + No documentation. + + + D2D1_COMPOSITE_PROP_MODE + D2D1_COMPOSITE_PROP_MODE + + + +

[This documentation is preliminary and is subject to change.]

Use the convolve matrix effect to apply an arbitrary 2D kernel to an image. You can use this effect to blur, detect edges, emboss, or sharpen an image.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • Scale
  • Border
  • Output
+
+ + hh706323 + D2D1_CONVOLVEMATRIX_PROP + D2D1_CONVOLVEMATRIX_PROP +
+ + + No documentation. + + + D2D1_CONVOLVEMATRIX_PROP_KERNEL_UNIT_LENGTH + D2D1_CONVOLVEMATRIX_PROP_KERNEL_UNIT_LENGTH + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_PROP_SCALE_MODE + D2D1_CONVOLVEMATRIX_PROP_SCALE_MODE + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_X + D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_X + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_Y + D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_Y + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_PROP_KERNEL_MATRIX + D2D1_CONVOLVEMATRIX_PROP_KERNEL_MATRIX + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_PROP_DIVISOR + D2D1_CONVOLVEMATRIX_PROP_DIVISOR + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_PROP_BIAS + D2D1_CONVOLVEMATRIX_PROP_BIAS + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_PROP_KERNEL_OFFSET + D2D1_CONVOLVEMATRIX_PROP_KERNEL_OFFSET + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_PROP_PRESERVE_ALPHA + D2D1_CONVOLVEMATRIX_PROP_PRESERVE_ALPHA + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_PROP_BORDER_MODE + D2D1_CONVOLVEMATRIX_PROP_BORDER_MODE + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_PROP_CLAMP_OUTPUT + D2D1_CONVOLVEMATRIX_PROP_CLAMP_OUTPUT + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_SCALE_MODE + D2D1_CONVOLVEMATRIX_SCALE_MODE + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_SCALE_MODE_NEAREST_NEIGHBOR + D2D1_CONVOLVEMATRIX_SCALE_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_SCALE_MODE_LINEAR + D2D1_CONVOLVEMATRIX_SCALE_MODE_LINEAR + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_SCALE_MODE_CUBIC + D2D1_CONVOLVEMATRIX_SCALE_MODE_CUBIC + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_SCALE_MODE_MULTI_SAMPLE_LINEAR + D2D1_CONVOLVEMATRIX_SCALE_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_SCALE_MODE_ANISOTROPIC + D2D1_CONVOLVEMATRIX_SCALE_MODE_ANISOTROPIC + + + + No documentation. + + + D2D1_CONVOLVEMATRIX_SCALE_MODE_HIGH_QUALITY_CUBIC + D2D1_CONVOLVEMATRIX_SCALE_MODE_HIGH_QUALITY_CUBIC + + + + No documentation. + + + D2D1_CROP_PROP + D2D1_CROP_PROP + + + + No documentation. + + + D2D1_CROP_PROP_RECT + D2D1_CROP_PROP_RECT + + + + No documentation. + + + D2D1_CROP_PROP_BORDER_MODE + D2D1_CROP_PROP_BORDER_MODE + + + +

Describes the sequence of dashes and gaps in a stroke.

+
+ +

The following illustration shows several available dash styles. For more information, see the Stroke Style Example.

+
+ + dd368087 + D2D1_DASH_STYLE + D2D1_DASH_STYLE +
+ + +

A solid line with no breaks.

+
+ + dd368087 + D2D1_DASH_STYLE_SOLID + D2D1_DASH_STYLE_SOLID +
+ + +

A dash followed by a gap of equal length. The dash and the gap are each twice as long as the stroke thickness.

The equivalent dash array for is {2, 2}.

+
+ + dd368087 + D2D1_DASH_STYLE_DASH + D2D1_DASH_STYLE_DASH +
+ + +

A dot followed by a longer gap.

The equivalent dash array for is {0, 2}.

+
+ + dd368087 + D2D1_DASH_STYLE_DOT + D2D1_DASH_STYLE_DOT +
+ + +

A dash, followed by a gap, followed by a dot, followed by another gap.

The equivalent dash array for is {2, 2, 0, 2}.

+
+ + dd368087 + D2D1_DASH_STYLE_DASH_DOT + D2D1_DASH_STYLE_DASH_DOT +
+ + +

A dash, followed by a gap, followed by a dot, followed by another gap, followed by another dot, followed by another gap.

The equivalent dash array for is {2, 2, 0, 2, 0, 2}.

+
+ + dd368087 + D2D1_DASH_STYLE_DASH_DOT_DOT + D2D1_DASH_STYLE_DASH_DOT_DOT +
+ + +

The dash pattern is specified by an array of floating-point values.

+
+ + dd368087 + D2D1_DASH_STYLE_CUSTOM + D2D1_DASH_STYLE_CUSTOM +
+ + +

Indicates the type of information provided by the Direct2D Debug Layer.

+
+ +

To receive debugging messages, you must install the Direct2D Debug Layer.

+
+ + dd368090 + D2D1_DEBUG_LEVEL + D2D1_DEBUG_LEVEL +
+ + + No documentation. + + + D2D1_DEBUG_LEVEL_NONE + D2D1_DEBUG_LEVEL_NONE + + + + No documentation. + + + D2D1_DEBUG_LEVEL_ERROR + D2D1_DEBUG_LEVEL_ERROR + + + + No documentation. + + + D2D1_DEBUG_LEVEL_WARNING + D2D1_DEBUG_LEVEL_WARNING + + + + No documentation. + + + D2D1_DEBUG_LEVEL_INFORMATION + D2D1_DEBUG_LEVEL_INFORMATION + + + +

Specifies how a device context is initialized for GDI rendering when it is retrieved from the render target.

+
+ +

Use this enumeration with the ID2D1GdiInteropRenderTarget::GetDC method to specify how the device context is initialized for GDI rendering.

+
+ + dd368088 + D2D1_DC_INITIALIZE_MODE + D2D1_DC_INITIALIZE_MODE +
+ + +

The current contents of the render target are copied to the device context when it is initialized.

+
+ + dd368088 + D2D1_DC_INITIALIZE_MODE_COPY + D2D1_DC_INITIALIZE_MODE_COPY +
+ + +

The device context is cleared to transparent black when it is initialized.

+
+ + dd368088 + D2D1_DC_INITIALIZE_MODE_CLEAR + D2D1_DC_INITIALIZE_MODE_CLEAR +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Defines options that should be applied to a device context.

+
+ + hh446998 + D2D1_DEVICE_CONTEXT_OPTIONS + D2D1_DEVICE_CONTEXT_OPTIONS +
+ + +

The device context is created with default options.

+
+ + hh446998 + D2D1_DEVICE_CONTEXT_OPTIONS_NONE + D2D1_DEVICE_CONTEXT_OPTIONS_NONE +
+ + +

Distribute rendering work across multiple threads.

+
+ + hh446998 + D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS + D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS +
+ + + No documentation. + + + D2D1_DIRECTIONALBLUR_OPTIMIZATION + D2D1_DIRECTIONALBLUR_OPTIMIZATION + + + + No documentation. + + + D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED + D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED + + + + No documentation. + + + D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED + D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED + + + + No documentation. + + + D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY + D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY + + + +

[This documentation is preliminary and is subject to change.]

The directional blur effect is similar to Gaussian blur, except you can skew the blur in a particular direction. You can use this effect to make an image look as if it is in motion or to emphasize an animated image.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • Optimization
  • Border
  • Output
+
+ + hh706328 + D2D1_DIRECTIONALBLUR_PROP + D2D1_DIRECTIONALBLUR_PROP +
+ + + No documentation. + + + D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION + D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION + + + + No documentation. + + + D2D1_DIRECTIONALBLUR_PROP_ANGLE + D2D1_DIRECTIONALBLUR_PROP_ANGLE + + + + No documentation. + + + D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION + D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION + + + + No documentation. + + + D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE + D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE + + + +

[This documentation is preliminary and is subject to change.]

Use the discrete transfer effect to map the color intensities of an image using a step transfer function created from a list of values you provide.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
+
+ + hh706329 + D2D1_DISCRETETRANSFER_PROP + D2D1_DISCRETETRANSFER_PROP +
+ + + No documentation. + + + D2D1_DISCRETETRANSFER_PROP_RED_TABLE + D2D1_DISCRETETRANSFER_PROP_RED_TABLE + + + + No documentation. + + + D2D1_DISCRETETRANSFER_PROP_RED_DISABLE + D2D1_DISCRETETRANSFER_PROP_RED_DISABLE + + + + No documentation. + + + D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE + D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE + + + + No documentation. + + + D2D1_DISCRETETRANSFER_PROP_GREEN_DISABLE + D2D1_DISCRETETRANSFER_PROP_GREEN_DISABLE + + + + No documentation. + + + D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE + D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE + + + + No documentation. + + + D2D1_DISCRETETRANSFER_PROP_BLUE_DISABLE + D2D1_DISCRETETRANSFER_PROP_BLUE_DISABLE + + + + No documentation. + + + D2D1_DISCRETETRANSFER_PROP_ALPHA_TABLE + D2D1_DISCRETETRANSFER_PROP_ALPHA_TABLE + + + + No documentation. + + + D2D1_DISCRETETRANSFER_PROP_ALPHA_DISABLE + D2D1_DISCRETETRANSFER_PROP_ALPHA_DISABLE + + + + No documentation. + + + D2D1_DISCRETETRANSFER_PROP_CLAMP_OUTPUT + D2D1_DISCRETETRANSFER_PROP_CLAMP_OUTPUT + + + +

[This documentation is preliminary and is subject to change.]

Use the displacement map effect to displace the pixels of the input image by the intensity values of a second input image.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • Color
  • Output
+
+ + hh706330 + D2D1_DISPLACEMENTMAP_PROP + D2D1_DISPLACEMENTMAP_PROP +
+ + +
YChannelSelector the intensity of the selected RGBA channel from the displacement bitmap that displaces the input image in the Y direction.
+
+ + hh706330 + D2D1_DISPLACEMENTMAP_PROP_SCALE + D2D1_DISPLACEMENTMAP_PROP_SCALE +
+ + + No documentation. + + + D2D1_DISPLACEMENTMAP_PROP_X_CHANNEL_SELECT + D2D1_DISPLACEMENTMAP_PROP_X_CHANNEL_SELECT + + + + No documentation. + + + D2D1_DISPLACEMENTMAP_PROP_Y_CHANNEL_SELECT + D2D1_DISPLACEMENTMAP_PROP_Y_CHANNEL_SELECT + + + +

[This documentation is preliminary and is subject to change.]

Use the distant-diffuse lighting effect to create an image that appears to be a reflective surface with where the light source appears to be coming from a long distance (like the sun or overhead lights) and the light is reflecting in all directions. This effect uses the alpha channel as a height map and lights the image with a distant light source. The color of the output bitmap is a result of light color, light position, and the surface geometry of the image.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • Scale
+
+ + hh706331 + D2D1_DISTANTDIFFUSE_PROP + D2D1_DISTANTDIFFUSE_PROP +
+ + + No documentation. + + + D2D1_DISTANTDIFFUSE_PROP_AZIMUTH + D2D1_DISTANTDIFFUSE_PROP_AZIMUTH + + + + No documentation. + + + D2D1_DISTANTDIFFUSE_PROP_ELEVATION + D2D1_DISTANTDIFFUSE_PROP_ELEVATION + + + + No documentation. + + + D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT + D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT + + + + No documentation. + + + D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE + D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE + + + + No documentation. + + + D2D1_DISTANTDIFFUSE_PROP_COLOR + D2D1_DISTANTDIFFUSE_PROP_COLOR + + + + No documentation. + + + D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH + D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH + + + + No documentation. + + + D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE + D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE + + + +

[This documentation is preliminary and is subject to change.]

Use the distant-diffuse lighting effect to create an image that appears to be a reflective surface with where the light source appears to be coming from a long distance (like the sun or overhead lights) and the light is reflecting in all directions. This effect uses the alpha channel as a height map and lights the image with a distant light source. The color of the output bitmap is a result of light color, light position, and the surface geometry of the image.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • Scale
+
+ + hh706331 + D2D1_DISTANTDIFFUSE_SCALE_MODE + D2D1_DISTANTDIFFUSE_SCALE_MODE +
+ + + No documentation. + + + D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR + D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR + D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR + + + + No documentation. + + + D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC + D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC + + + + No documentation. + + + D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR + D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC + D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC + + + + No documentation. + + + D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC + D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC + + + +

[This documentation is preliminary and is subject to change.]

Use the distant-specular lighting effect to create an image that appears to be a reflective surface where the light source appears to be coming from a long distance (like the sun or overhead lights). This effect uses the alpha channel as a height map and lights the image with a distant light source. The color of the output bitmap is a result of light color, light position, and the surface geometry.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Distant
  • Effect
  • Scale
+
+ + hh706332 + D2D1_DISTANTSPECULAR_PROP + D2D1_DISTANTSPECULAR_PROP +
+ + + No documentation. + + + D2D1_DISTANTSPECULAR_PROP_AZIMUTH + D2D1_DISTANTSPECULAR_PROP_AZIMUTH + + + + No documentation. + + + D2D1_DISTANTSPECULAR_PROP_ELEVATION + D2D1_DISTANTSPECULAR_PROP_ELEVATION + + + + No documentation. + + + D2D1_DISTANTSPECULAR_PROP_SPECULAR_EXPONENT + D2D1_DISTANTSPECULAR_PROP_SPECULAR_EXPONENT + + + + No documentation. + + + D2D1_DISTANTSPECULAR_PROP_SPECULAR_CONSTANT + D2D1_DISTANTSPECULAR_PROP_SPECULAR_CONSTANT + + + + No documentation. + + + D2D1_DISTANTSPECULAR_PROP_SURFACE_SCALE + D2D1_DISTANTSPECULAR_PROP_SURFACE_SCALE + + + + No documentation. + + + D2D1_DISTANTSPECULAR_PROP_COLOR + D2D1_DISTANTSPECULAR_PROP_COLOR + + + + No documentation. + + + D2D1_DISTANTSPECULAR_PROP_KERNEL_UNIT_LENGTH + D2D1_DISTANTSPECULAR_PROP_KERNEL_UNIT_LENGTH + + + + No documentation. + + + D2D1_DISTANTSPECULAR_PROP_SCALE_MODE + D2D1_DISTANTSPECULAR_PROP_SCALE_MODE + + + +

[This documentation is preliminary and is subject to change.]

Use the distant-specular lighting effect to create an image that appears to be a reflective surface where the light source appears to be coming from a long distance (like the sun or overhead lights). This effect uses the alpha channel as a height map and lights the image with a distant light source. The color of the output bitmap is a result of light color, light position, and the surface geometry.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Distant
  • Effect
  • Scale
+
+ + hh706332 + D2D1_DISTANTSPECULAR_SCALE_MODE + D2D1_DISTANTSPECULAR_SCALE_MODE +
+ + + No documentation. + + + D2D1_DISTANTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR + D2D1_DISTANTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_DISTANTSPECULAR_SCALE_MODE_LINEAR + D2D1_DISTANTSPECULAR_SCALE_MODE_LINEAR + + + + No documentation. + + + D2D1_DISTANTSPECULAR_SCALE_MODE_CUBIC + D2D1_DISTANTSPECULAR_SCALE_MODE_CUBIC + + + + No documentation. + + + D2D1_DISTANTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR + D2D1_DISTANTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_DISTANTSPECULAR_SCALE_MODE_ANISOTROPIC + D2D1_DISTANTSPECULAR_SCALE_MODE_ANISOTROPIC + + + + No documentation. + + + D2D1_DISTANTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC + D2D1_DISTANTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC + + + + No documentation. + + + D2D1_DPICOMPENSATION_INTERPOLATION_MODE + D2D1_DPICOMPENSATION_INTERPOLATION_MODE + + + + No documentation. + + + D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR + D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR + D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR + + + + No documentation. + + + D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC + D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC + + + + No documentation. + + + D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC + D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC + + + + No documentation. + + + D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC + D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC + + + +

[This documentation is preliminary and is subject to change.]

Use the DPI compensation effect to automatically adjust an input bitmap to match the DPI of the context. This is useful for situations where a bitmap is created or loaded at a different DPI than the screen.

The CLSID for this effect is .

+
+ + hh780341 + D2D1_DPICOMPENSATION_PROP + D2D1_DPICOMPENSATION_PROP +
+ + + No documentation. + + + D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE + D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE + + + + No documentation. + + + D2D1_DPICOMPENSATION_PROP_BORDER_MODE + D2D1_DPICOMPENSATION_PROP_BORDER_MODE + + + + No documentation. + + + D2D1_DPICOMPENSATION_PROP_INPUT_DPI + D2D1_DPICOMPENSATION_PROP_INPUT_DPI + + + +

Specifies whether text snapping is suppressed or clipping to the layout rectangle is enabled. This enumeration allows a bitwise combination of its member values.

+
+ + dd368095 + D2D1_DRAW_TEXT_OPTIONS + D2D1_DRAW_TEXT_OPTIONS +
+ + +

Text is not vertically snapped to pixel boundaries. This setting is recommended for text that is being animated.

+
+ + dd368095 + D2D1_DRAW_TEXT_OPTIONS_NO_SNAP + D2D1_DRAW_TEXT_OPTIONS_NO_SNAP +
+ + +

Text is clipped to the layout rectangle.

+
+ + dd368095 + D2D1_DRAW_TEXT_OPTIONS_CLIP + D2D1_DRAW_TEXT_OPTIONS_CLIP +
+ + +

Text is vertically snapped to pixel boundaries and is not clipped to the layout rectangle.

+
+ + dd368095 + D2D1_DRAW_TEXT_OPTIONS_NONE + D2D1_DRAW_TEXT_OPTIONS_NONE +
+ + +

Specifies how a brush paints areas outside of its normal content area.

+
+ +

For an , the brush's content is the brush's bitmap. For an , the brush's content area is the gradient axis. For an , the brush's content is the area within the gradient ellipse.

For an example, see the Draw Extend Mode Example.

+
+ + dd368100 + D2D1_EXTEND_MODE + D2D1_EXTEND_MODE +
+ + +

Repeat the edge pixels of the brush's content for all regions outside the normal content area.

+
+ + dd368100 + D2D1_EXTEND_MODE_CLAMP + D2D1_EXTEND_MODE_CLAMP +
+ + +

Repeat the brush's content.

+
+ + dd368100 + D2D1_EXTEND_MODE_WRAP + D2D1_EXTEND_MODE_WRAP +
+ + +

The same as , except that alternate tiles of the brush's content are flipped. (The brush's normal content is drawn untransformed.)

+
+ + dd368100 + D2D1_EXTEND_MODE_MIRROR + D2D1_EXTEND_MODE_MIRROR +
+ + +

Specifies whether Direct2D provides synchronization for an and the resources it creates, so that they may be safely accessed from multiple threads.

+
+ +

When you create a factory, you can specify whether it is multithreaded or singlethreaded. A singlethreaded factory provides no serialization against any other single threaded instance within Direct2D, so this mechanism provides a very large degree of scaling on the CPU.

You can also create a multithreaded factory instance. In this case, the factory and all derived objects can be used from any thread, and each render target can be rendered to independently. Direct2D serializes calls to these objects, so a single multithreaded Direct2D instance won't scale as well on the CPU as many single threaded instances. However, the resources can be shared within the multithreaded instance.

Note the qualifier "On the CPU": GPUs generally take advantage of fine-grained parallelism more so than CPUs. For example, multithreaded calls from the CPU might still end up being serialized when being sent to the GPU; however, a whole bank of pixel and vertex shaders will run in parallel to perform the rendering.

+
+ + dd368104 + D2D1_FACTORY_TYPE + D2D1_FACTORY_TYPE +
+ + + No documentation. + + + D2D1_FACTORY_TYPE_SINGLE_THREADED + D2D1_FACTORY_TYPE_SINGLE_THREADED + + + + No documentation. + + + D2D1_FACTORY_TYPE_MULTI_THREADED + D2D1_FACTORY_TYPE_MULTI_THREADED + + + +

Applies to: desktop apps | Metro style apps

Describes the minimum DirectX support required for hardware rendering by a render target.

+
+ + dd756628 + D2D1_FEATURE + D2D1_FEATURE +
+ + +

Direct2D determines whether the video card provides adequate hardware rendering support.

+
+ + dd756628 + D2D1_FEATURE_DOUBLES + D2D1_FEATURE_DOUBLES +
+ + +

The video card must support DirectX 9.

+
+ + dd756628 + D2D1_FEATURE_D3D10_X_HARDWARE_OPTIONS + D2D1_FEATURE_D3D10_X_HARDWARE_OPTIONS +
+ + +

Describes the minimum DirectX support required for hardware rendering by a render target.

+
+ + dd756628 + D2D1_FEATURE_LEVEL + D2D1_FEATURE_LEVEL +
+ + +

Direct2D determines whether the video card provides adequate hardware rendering support.

+
+ + dd756628 + D2D1_FEATURE_LEVEL_DEFAULT + D2D1_FEATURE_LEVEL_DEFAULT +
+ + +

The video card must support DirectX 9.

+
+ + dd756628 + D2D1_FEATURE_LEVEL_9 + D2D1_FEATURE_LEVEL_9 +
+ + +

The video card must support DirectX 10.

+
+ + dd756628 + D2D1_FEATURE_LEVEL_10 + D2D1_FEATURE_LEVEL_10 +
+ + +

Indicates whether a specific figure is filled or hollow.

+
+ + dd368106 + D2D1_FIGURE_BEGIN + D2D1_FIGURE_BEGIN +
+ + + No documentation. + + + D2D1_FIGURE_BEGIN_FILLED + D2D1_FIGURE_BEGIN_FILLED + + + + No documentation. + + + D2D1_FIGURE_BEGIN_HOLLOW + D2D1_FIGURE_BEGIN_HOLLOW + + + +

Indicates whether a specific figure is open or closed.

+
+ + dd368108 + D2D1_FIGURE_END + D2D1_FIGURE_END +
+ + + No documentation. + + + D2D1_FIGURE_END_OPEN + D2D1_FIGURE_END_OPEN + + + + No documentation. + + + D2D1_FIGURE_END_CLOSED + D2D1_FIGURE_END_CLOSED + + + +

Specifies how the intersecting areas of geometries or figures are combined to form the area of the composite geometry.

+
+ +

Use the enumeration when creating an with the CreateGeometryGroup method, or when modifying the fill mode of an with the method.

Direct2D fills the interior of a path by using one of the two fill modes specified by this enumeration: (alternate) or (winding). Because the modes determine how to fill the interior of a closed shape, all shapes are treated as closed when they are filled. If there is a gap in a segment in a shape, draw an imaginary line to close it.

To see the difference between the winding and alternate fill modes, assume that you have four circles with the same center and a different radius, as shown in the following illustration. The first one has the radius of 25, the second 50, the third 75, and the fourth 100.

The following illustration shows the shape filled by using the alternate fill mode. Notice that the center and third ring are not filled. This is because a ray drawn from any point in either of those two rings passes through an even number of segments.

The following illustration explains this process.

The following illustration shows how the same shape is filled when the winding fill mode is specified.

Notice that all the rings are filled. This is because all the segments run in the same direction, so a ray drawn from any point will cross one or more segments, and the sum of the crossings will not equal zero.

The following illustration explains this process. The red arrows represent the direction in which the segments are drawn and the black arrow represents an arbitrary ray that runs from a point in the innermost ring. Starting with a value of zero, for each segment that the ray crosses, a value of one is added for every clockwise intersection. All points lie in the fill region in this illustration, because the count does not equal zero.

+
+ + dd368110 + D2D1_FILL_MODE + D2D1_FILL_MODE +
+ + +

Determines whether a point is in the fill region by drawing a ray from that point to infinity in any direction, and then counting the number of path segments within the given shape that the ray crosses. If this number is odd, the point is in the fill region; if even, the point is outside the fill region.

+
+ + dd368110 + D2D1_FILL_MODE_ALTERNATE + D2D1_FILL_MODE_ALTERNATE +
+ + +

Determines whether a point is in the fill region of the path by drawing a ray from that point to infinity in any direction, and then examining the places where a segment of the shape crosses the ray. Starting with a count of zero, add one each time a segment crosses the ray from left to right and subtract one each time a path segment crosses the ray from right to left, as long as left and right are seen from the perspective of the ray. After counting the crossings, if the result is zero, then the point is outside the path. Otherwise, it is inside the path.

+
+ + dd368110 + D2D1_FILL_MODE_WINDING + D2D1_FILL_MODE_WINDING +
+ + +

Applies to: desktop apps | Metro style apps

Describes how a render target is remoted and whether it should be GDI-compatible. This enumeration allows a bitwise combination of its member values.

+
+ + dd368157 + D2D1_FILTER + D2D1_FILTER +
+ + +

The render target attempts to use Direct3D command-stream remoting and uses bitmap remoting if stream remoting fails. The render target is not GDI-compatible.

+
+ + dd368157 + D2D1_FILTER_MIN_MAG_MIP_POINT + D2D1_FILTER_MIN_MAG_MIP_POINT +
+ + +

The render target renders content locally and sends it to the terminal services client as a bitmap.

+
+ + dd368157 + D2D1_FILTER_MIN_MAG_POINT_MIP_LINEAR + D2D1_FILTER_MIN_MAG_POINT_MIP_LINEAR +
+ + +

The render target can be used efficiently with GDI.

+
+ + dd368157 + D2D1_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT + D2D1_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT +
+ + + No documentation. + + + D2D1_FILTER_MIN_POINT_MAG_MIP_LINEAR + D2D1_FILTER_MIN_POINT_MAG_MIP_LINEAR + + + + No documentation. + + + D2D1_FILTER_MIN_LINEAR_MAG_MIP_POINT + D2D1_FILTER_MIN_LINEAR_MAG_MIP_POINT + + + + No documentation. + + + D2D1_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR + D2D1_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR + + + + No documentation. + + + D2D1_FILTER_MIN_MAG_LINEAR_MIP_POINT + D2D1_FILTER_MIN_MAG_LINEAR_MIP_POINT + + + + No documentation. + + + D2D1_FILTER_MIN_MAG_MIP_LINEAR + D2D1_FILTER_MIN_MAG_MIP_LINEAR + + + + No documentation. + + + D2D1_FILTER_ANISOTROPIC + D2D1_FILTER_ANISOTROPIC + + + + No documentation. + + + D2D1_FLOOD_PROP + D2D1_FLOOD_PROP + + + + No documentation. + + + D2D1_FLOOD_PROP_COLOR + D2D1_FLOOD_PROP_COLOR + + + +

Specifies which gamma is used for interpolation.

+
+ +

Interpolating in a linear gamma space () can avoid changes in perceived brightness caused by the effect of gamma correction in spaces where the gamma is not 1.0, such as the default sRGB color space, where the gamma is 2.2. For an example of the differences between these two blending modes, consider the following illustration, which shows two gradients, each of which blends from red to blue to green:

The first gradient is interpolated linearly in the space of the render target (sRGB in this case), and one can see the dark bands between each color. The second gradient uses a gamma-correct linear interpolation, and thus does not exhibit the same variations in brightness.

+
+ + dd368113 + D2D1_GAMMA + D2D1_GAMMA +
+ + +

Interpolation is performed in the standard RGB (sRGB) gamma.

+
+ + dd368113 + D2D1_GAMMA_2_2 + D2D1_GAMMA_2_2 +
+ + +

Interpolation is performed in the linear-gamma color space.

+
+ + dd368113 + D2D1_GAMMA_1_0 + D2D1_GAMMA_1_0 +
+ + +

[This documentation is preliminary and is subject to change.]

Use the gamma transfer effect to map the color intensities of an image using a gamma function created using an amplitude, exponent, and offset you provide for each channel.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
+
+ + hh706337 + D2D1_GAMMATRANSFER_PROP + D2D1_GAMMATRANSFER_PROP +
+ + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE + D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_RED_EXPONENT + D2D1_GAMMATRANSFER_PROP_RED_EXPONENT + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_RED_OFFSET + D2D1_GAMMATRANSFER_PROP_RED_OFFSET + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_RED_DISABLE + D2D1_GAMMATRANSFER_PROP_RED_DISABLE + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE + D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT + D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET + D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE + D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE + D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT + D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET + D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE + D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE + D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT + D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET + D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE + D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE + + + + No documentation. + + + D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT + D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT + + + + No documentation. + + + D2D1_GAUSSIANBLUR_OPTIMIZATION + D2D1_GAUSSIANBLUR_OPTIMIZATION + + + + No documentation. + + + D2D1_GAUSSIANBLUR_OPTIMIZATION_SPEED + D2D1_GAUSSIANBLUR_OPTIMIZATION_SPEED + + + + No documentation. + + + D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED + D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED + + + + No documentation. + + + D2D1_GAUSSIANBLUR_OPTIMIZATION_QUALITY + D2D1_GAUSSIANBLUR_OPTIMIZATION_QUALITY + + + +

[This documentation is preliminary and is subject to change.]

Use the Gaussian blur effect to create a blur based on the Gaussian function over the entire input image.

You can use this effect to create glows and drop shadows and use the composite effect to apply the result to the original image. It is useful in photo processing for filters like highlights and shadows. You can use the output of this effect for input into lighting effects, like the Specular Lighting or Diffuse Lighting effects, because the alpha channel is blurred, too and lighting effects use the alpha channel to determine surface geometry as a height map.

This effect is used by the built-in Shadow effect.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • Optimization
  • Border
  • Output
+
+ + hh706338 + D2D1_GAUSSIANBLUR_PROP + D2D1_GAUSSIANBLUR_PROP +
+ + + No documentation. + + + D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION + D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION + + + + No documentation. + + + D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION + D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION + + + + No documentation. + + + D2D1_GAUSSIANBLUR_PROP_BORDER_MODE + D2D1_GAUSSIANBLUR_PROP_BORDER_MODE + + + +

Describes how one geometry object is spatially related to another geometry object.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION + D2D1_GEOMETRY_RELATION +
+ + +

The relationship between the two geometries cannot be determined. This value is never returned by any D2D method.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_UNKNOWN + D2D1_GEOMETRY_RELATION_UNKNOWN +
+ + +

The two geometries do not intersect at all.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_DISJOINT + D2D1_GEOMETRY_RELATION_DISJOINT +
+ + +

The instance geometry is entirely contained by the passed-in geometry.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_IS_CONTAINED + D2D1_GEOMETRY_RELATION_IS_CONTAINED +
+ + +

The instance geometry entirely contains the passed-in geometry.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_CONTAINS + D2D1_GEOMETRY_RELATION_CONTAINS +
+ + +

The two geometries overlap but neither completely contains the other.

+
+ + dd368115 + D2D1_GEOMETRY_RELATION_OVERLAP + D2D1_GEOMETRY_RELATION_OVERLAP +
+ + +

Specifies how a geometry is simplified to an .

+
+ + dd368117 + D2D1_GEOMETRY_SIMPLIFICATION_OPTION + D2D1_GEOMETRY_SIMPLIFICATION_OPTION +
+ + + No documentation. + + + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES + + + + No documentation. + + + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES + + + + No documentation. + + + D2D1_HISTOGRAM_PROP + D2D1_HISTOGRAM_PROP + + + + No documentation. + + + D2D1_HISTOGRAM_PROP_NUM_BINS + D2D1_HISTOGRAM_PROP_NUM_BINS + + + + No documentation. + + + D2D1_HISTOGRAM_PROP_CHANNEL_SELECT + D2D1_HISTOGRAM_PROP_CHANNEL_SELECT + + + + No documentation. + + + D2D1_HISTOGRAM_PROP_HISTOGRAM_OUTPUT + D2D1_HISTOGRAM_PROP_HISTOGRAM_OUTPUT + + + + No documentation. + + + D2D1_HUEROTATION_PROP + D2D1_HUEROTATION_PROP + + + + No documentation. + + + D2D1_HUEROTATION_PROP_ANGLE + D2D1_HUEROTATION_PROP_ANGLE + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Specifies the interpolation mode of a bitmap in DrawImage.

+
+ + hh447004 + D2D1_INTERPOLATION_MODE + D2D1_INTERPOLATION_MODE +
+ + + No documentation. + + + D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR + D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_LINEAR + D2D1_INTERPOLATION_MODE_LINEAR + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_CUBIC + D2D1_INTERPOLATION_MODE_CUBIC + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_ANISOTROPIC + D2D1_INTERPOLATION_MODE_ANISOTROPIC + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC + D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC + + + + No documentation. + + + D2D1_ENUM_0 + D2D1_ENUM_0 + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR + D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR + D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC + D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR + D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC + D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC + D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_DEFINITION_FANT + D2D1_INTERPOLATION_MODE_DEFINITION_FANT + + + + No documentation. + + + D2D1_INTERPOLATION_MODE_DEFINITION_MIPMAP_LINEAR + D2D1_INTERPOLATION_MODE_DEFINITION_MIPMAP_LINEAR + + + +

Specifies options that can be applied when a layer resource is applied to create a layer.

+
+ +

ClearType antialiasing must use the current contents of the render target to blend properly. When a pushed layer requests initializing for ClearType, Direct 2D copies the current contents of the render target into the layer so that ClearType antialiasing can be performed. Rendering ClearType text into a transparent layer does not produce the desired results.

A small performance hit from re-copying content occurs when is called.

+
+ + dd368124 + D2D1_LAYER_OPTIONS + D2D1_LAYER_OPTIONS +
+ + +

The text in this layer does not use ClearType antialiasing.

+
+ + dd368124 + D2D1_LAYER_OPTIONS_NONE + D2D1_LAYER_OPTIONS_NONE +
+ + +

The layer renders correctly for ClearType text. If the render target is set to ClearType, the layer continues to render ClearType. If the render target is set to ClearType and this option is not specified, the render target will be set to render gray-scale until the layer is popped. The caller can override this default by calling SetTextAntialiasMode while within the layer. This flag is slightly slower than the default.

+
+ + dd368124 + D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE + D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Returns a struct that contains the content bounds, mask information, opacity settings, and other options for a layer resource.

+
+ + hh848003 + D2D1_LAYER_OPTIONS1 + D2D1_LAYER_OPTIONS1 +
+ + + No documentation. + + + D2D1_LAYER_OPTIONS1_NONE + D2D1_LAYER_OPTIONS1_NONE + + + + No documentation. + + + D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND + D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND + + + + No documentation. + + + D2D1_LAYER_OPTIONS1_IGNORE_ALPHA + D2D1_LAYER_OPTIONS1_IGNORE_ALPHA + + + +

[This documentation is preliminary and is subject to change.]

Use the linear transfer effect to map the color intensities of an image using a linear function created a list of values you provide for each channel.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
+
+ + hh706362 + D2D1_LINEARTRANSFER_PROP + D2D1_LINEARTRANSFER_PROP +
+ + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT + D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT + + + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_RED_SLOPE + D2D1_LINEARTRANSFER_PROP_RED_SLOPE + + + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_RED_DISABLE + D2D1_LINEARTRANSFER_PROP_RED_DISABLE + + + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT + D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT + + + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE + D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE + + + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE + D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE + + + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT + D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT + + + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE + D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE + + + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE + D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE + + + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT + D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT + + + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE + D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE + + + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE + D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE + + + + No documentation. + + + D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT + D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT + + + +

Describes the shape that joins two lines or segments.

+
+ +

A miter limit affects how sharp miter joins are allowed to be. If the line join style is , then the join will be mitered with regular angular vertices if it doesn't extend beyond the miter limit; otherwise, the line join will be beveled.

The following illustration shows different line join settings for the same stroked path geometry. For more information, see Stroke Style Example.

+
+ + dd368130 + D2D1_LINE_JOIN + D2D1_LINE_JOIN +
+ + +

Regular angular vertices.

+
+ + dd368130 + D2D1_LINE_JOIN_MITER + D2D1_LINE_JOIN_MITER +
+ + +

Beveled vertices.

+
+ + dd368130 + D2D1_LINE_JOIN_BEVEL + D2D1_LINE_JOIN_BEVEL +
+ + +

Rounded vertices.

+
+ + dd368130 + D2D1_LINE_JOIN_ROUND + D2D1_LINE_JOIN_ROUND +
+ + +

Regular angular vertices unless the join would extend beyond the miter limit; otherwise, beveled vertices.

+
+ + dd368130 + D2D1_LINE_JOIN_MITER_OR_BEVEL + D2D1_LINE_JOIN_MITER_OR_BEVEL +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Specifies how the memory to be mapped from the corresponding should be treated.

+
+ +

The option can be used only if the bitmap was created with the flag.

These flags will be not be able to be used on bitmaps created by the . However, the IDImageSourceTransform will receive bitmaps for which these flags are valid.

+
+ + hh447006 + D2D1_MAP_OPTIONS + D2D1_MAP_OPTIONS +
+ + + No documentation. + + + D2D1_MAP_OPTIONS_NONE + D2D1_MAP_OPTIONS_NONE + + + + No documentation. + + + D2D1_MAP_OPTIONS_READ + D2D1_MAP_OPTIONS_READ + + + + No documentation. + + + D2D1_MAP_OPTIONS_WRITE + D2D1_MAP_OPTIONS_WRITE + + + + No documentation. + + + D2D1_MAP_OPTIONS_DISCARD + D2D1_MAP_OPTIONS_DISCARD + + + +

Indicates the measuring method used for text layout.

+
+ + dd368133 + DWRITE_MEASURING_MODE + DWRITE_MEASURING_MODE +
+ + +

Specifies that text is measured using glyph ideal metrics whose values are independent to the current display resolution.

+
+ + dd368133 + DWRITE_MEASURING_MODE_NATURAL + DWRITE_MEASURING_MODE_NATURAL +
+ + +

Specifies that text is measured using glyph display-compatible metrics whose values tuned for the current display resolution.

+
+ + dd368133 + DWRITE_MEASURING_MODE_GDI_CLASSIC + DWRITE_MEASURING_MODE_GDI_CLASSIC +
+ + +

Specifies that text is measured using the same glyph display metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.

+
+ + dd368133 + DWRITE_MEASURING_MODE_GDI_NATURAL + DWRITE_MEASURING_MODE_GDI_NATURAL +
+ + + No documentation. + + + D2D1_MORPHOLOGY_MODE + D2D1_MORPHOLOGY_MODE + + + + No documentation. + + + D2D1_MORPHOLOGY_MODE_ERODE + D2D1_MORPHOLOGY_MODE_ERODE + + + + No documentation. + + + D2D1_MORPHOLOGY_MODE_DILATE + D2D1_MORPHOLOGY_MODE_DILATE + + + + No documentation. + + + D2D1_MORPHOLOGY_PROP + D2D1_MORPHOLOGY_PROP + + + + No documentation. + + + D2D1_MORPHOLOGY_PROP_MODE + D2D1_MORPHOLOGY_PROP_MODE + + + + No documentation. + + + D2D1_MORPHOLOGY_PROP_WIDTH + D2D1_MORPHOLOGY_PROP_WIDTH + + + + No documentation. + + + D2D1_MORPHOLOGY_PROP_HEIGHT + D2D1_MORPHOLOGY_PROP_HEIGHT + + + +

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.

+
+ + dd756629 + D2D1_OPACITY_MASK_CONTENT + D2D1_OPACITY_MASK_CONTENT +
+ + +

The opacity mask contains graphics. The opacity mask is blended in the gamma 2.2 color space.

+
+ + dd756629 + D2D1_OPACITY_MASK_CONTENT_GRAPHICS + D2D1_OPACITY_MASK_CONTENT_GRAPHICS +
+ + +

The opacity mask contains non-GDI text. The gamma space used for blending is obtained from the render target's text rendering parameters. ().

+
+ + dd756629 + D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL + D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL +
+ + +

The opacity mask contains text rendered using the GDI-compatible rendering mode. The opacity mask is blended using the gamma for GDI rendering.

+
+ + dd756629 + D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE + D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE +
+ + + No documentation. + + + D2D1_OPACITYMETADATA_PROP + D2D1_OPACITYMETADATA_PROP + + + + No documentation. + + + D2D1_OPACITYMETADATA_PROP_INPUT_OPAQUE_RECT + D2D1_OPACITYMETADATA_PROP_INPUT_OPAQUE_RECT + + + +

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.

+
+ + dd368136 + D2D1_PATH_SEGMENT + D2D1_PATH_SEGMENT +
+ + +

The segment is joined as specified by the interface, and it is stroked.

+
+ + dd368136 + D2D1_PATH_SEGMENT_NONE + D2D1_PATH_SEGMENT_NONE +
+ + +

The segment is not stroked.

+
+ + dd368136 + D2D1_PATH_SEGMENT_FORCE_UNSTROKED + D2D1_PATH_SEGMENT_FORCE_UNSTROKED +
+ + +

The segment is always joined with the one preceding it using a round line join, regardless of which enumeration is specified by the interface. If this segment is the first segment and the figure is closed, a round line join is used to connect the closing segment with the first segment. If the figure is not closed, this setting has no effect on the first segment of the figure. If is called just before , the join between the closing segment and the last explicitly specified segment is affected.

+
+ + dd368136 + D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN + D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN +
+ + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE + D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR + D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR + D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC + D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC + D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_PROP + D2D1_3DPERSPECTIVETRANSFORM_PROP + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE + D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE + D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH + D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN + D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET + D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET + D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN + D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN + + + + No documentation. + + + D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION + D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION + + + +

Applies to: desktop apps | Metro style apps

Describes how a render target is remoted and whether it should be GDI-compatible. This enumeration allows a bitwise combination of its member values.

+
+ + dd368157 + D2D1_PIXEL_OPTIONS + D2D1_PIXEL_OPTIONS +
+ + +

The render target attempts to use Direct3D command-stream remoting and uses bitmap remoting if stream remoting fails. The render target is not GDI-compatible.

+
+ + dd368157 + D2D1_PIXEL_OPTIONS_NONE + D2D1_PIXEL_OPTIONS_NONE +
+ + +

The render target renders content locally and sends it to the terminal services client as a bitmap.

+
+ + dd368157 + D2D1_PIXEL_OPTIONS_TRIVIAL_SAMPLING + D2D1_PIXEL_OPTIONS_TRIVIAL_SAMPLING +
+ + +

[This documentation is preliminary and is subject to change.]

Use the point-diffuse lighting effect to create an image that appears to be a reflective surface with light reflecting in all directions. This effect uses the alpha channel as a height map and lights the image with a point light source. The color of the output bitmap is a result of light color, light position, and the surface geometry of the image.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • Scale
+
+ + hh706367 + D2D1_POINTDIFFUSE_PROP + D2D1_POINTDIFFUSE_PROP +
+ + + No documentation. + + + D2D1_POINTDIFFUSE_PROP_LIGHT_POSITION + D2D1_POINTDIFFUSE_PROP_LIGHT_POSITION + + + + No documentation. + + + D2D1_POINTDIFFUSE_PROP_DIFFUSE_CONSTANT + D2D1_POINTDIFFUSE_PROP_DIFFUSE_CONSTANT + + + + No documentation. + + + D2D1_POINTDIFFUSE_PROP_SURFACE_SCALE + D2D1_POINTDIFFUSE_PROP_SURFACE_SCALE + + + + No documentation. + + + D2D1_POINTDIFFUSE_PROP_COLOR + D2D1_POINTDIFFUSE_PROP_COLOR + + + + No documentation. + + + D2D1_POINTDIFFUSE_PROP_KERNEL_UNIT_LENGTH + D2D1_POINTDIFFUSE_PROP_KERNEL_UNIT_LENGTH + + + + No documentation. + + + D2D1_POINTDIFFUSE_PROP_SCALE_MODE + D2D1_POINTDIFFUSE_PROP_SCALE_MODE + + + + No documentation. + + + D2D1_POINTDIFFUSE_SCALE_MODE + D2D1_POINTDIFFUSE_SCALE_MODE + + + + No documentation. + + + D2D1_POINTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR + D2D1_POINTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_POINTDIFFUSE_SCALE_MODE_LINEAR + D2D1_POINTDIFFUSE_SCALE_MODE_LINEAR + + + + No documentation. + + + D2D1_POINTDIFFUSE_SCALE_MODE_CUBIC + D2D1_POINTDIFFUSE_SCALE_MODE_CUBIC + + + + No documentation. + + + D2D1_POINTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR + D2D1_POINTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_POINTDIFFUSE_SCALE_MODE_ANISOTROPIC + D2D1_POINTDIFFUSE_SCALE_MODE_ANISOTROPIC + + + + No documentation. + + + D2D1_POINTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC + D2D1_POINTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC + + + +

[This documentation is preliminary and is subject to change.]

Use the point-specular lighting effect to create an image that appears to be a reflective surface. The effect uses the alpha channel of the image as a height map and a point light source that you position, and calculates the reflection and light according to the specular portion of the Phong lighting model.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Point
  • Height
  • Specular
  • Effect
  • Scales
+
+ + hh706368 + D2D1_POINTSPECULAR_PROP + D2D1_POINTSPECULAR_PROP +
+ + + No documentation. + + + D2D1_POINTSPECULAR_PROP_LIGHT_POSITION + D2D1_POINTSPECULAR_PROP_LIGHT_POSITION + + + + No documentation. + + + D2D1_POINTSPECULAR_PROP_SPECULAR_EXPONENT + D2D1_POINTSPECULAR_PROP_SPECULAR_EXPONENT + + + + No documentation. + + + D2D1_POINTSPECULAR_PROP_SPECULAR_CONSTANT + D2D1_POINTSPECULAR_PROP_SPECULAR_CONSTANT + + + + No documentation. + + + D2D1_POINTSPECULAR_PROP_SURFACE_SCALE + D2D1_POINTSPECULAR_PROP_SURFACE_SCALE + + + + No documentation. + + + D2D1_POINTSPECULAR_PROP_COLOR + D2D1_POINTSPECULAR_PROP_COLOR + + + + No documentation. + + + D2D1_POINTSPECULAR_PROP_KERNEL_UNIT_LENGTH + D2D1_POINTSPECULAR_PROP_KERNEL_UNIT_LENGTH + + + + No documentation. + + + D2D1_POINTSPECULAR_PROP_SCALE_MODE + D2D1_POINTSPECULAR_PROP_SCALE_MODE + + + +

[This documentation is preliminary and is subject to change.]

Use the point-specular lighting effect to create an image that appears to be a reflective surface. The effect uses the alpha channel of the image as a height map and a point light source that you position, and calculates the reflection and light according to the specular portion of the Phong lighting model.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Point
  • Height
  • Specular
  • Effect
  • Scales
+
+ + hh706368 + D2D1_POINTSPECULAR_SCALE_MODE + D2D1_POINTSPECULAR_SCALE_MODE +
+ + + No documentation. + + + D2D1_POINTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR + D2D1_POINTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_POINTSPECULAR_SCALE_MODE_LINEAR + D2D1_POINTSPECULAR_SCALE_MODE_LINEAR + + + + No documentation. + + + D2D1_POINTSPECULAR_SCALE_MODE_CUBIC + D2D1_POINTSPECULAR_SCALE_MODE_CUBIC + + + + No documentation. + + + D2D1_POINTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR + D2D1_POINTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_POINTSPECULAR_SCALE_MODE_ANISOTROPIC + D2D1_POINTSPECULAR_SCALE_MODE_ANISOTROPIC + + + + No documentation. + + + D2D1_POINTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC + D2D1_POINTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC + + + +

Describes how a render target behaves when it presents its content. This enumeration allows a bitwise combination of its member values.

+
+ + dd368144 + D2D1_PRESENT_OPTIONS + D2D1_PRESENT_OPTIONS +
+ + +

The render target waits until the display refreshes to present and discards the frame upon presenting.

+
+ + dd368144 + D2D1_PRESENT_OPTIONS_NONE + D2D1_PRESENT_OPTIONS_NONE +
+ + +

The render target does not discard the frame upon presenting.

+
+ + dd368144 + D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS + D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS +
+ + +

The render target does not wait until the display refreshes to present.

+
+ + dd368144 + D2D1_PRESENT_OPTIONS_IMMEDIATELY + D2D1_PRESENT_OPTIONS_IMMEDIATELY +
+ + +

Applies to: desktop apps | Metro style apps

Describes how a render target is remoted and whether it should be GDI-compatible. This enumeration allows a bitwise combination of its member values.

+
+ + dd368157 + D2D1_PRIMITIVE_BLEND + D2D1_PRIMITIVE_BLEND +
+ + +

The render target attempts to use Direct3D command-stream remoting and uses bitmap remoting if stream remoting fails. The render target is not GDI-compatible.

+
+ + dd368157 + D2D1_PRIMITIVE_BLEND_SOURCE_OVER + D2D1_PRIMITIVE_BLEND_SOURCE_OVER +
+ + +

The render target renders content locally and sends it to the terminal services client as a bitmap.

+
+ + dd368157 + D2D1_PRIMITIVE_BLEND_COPY + D2D1_PRIMITIVE_BLEND_COPY +
+ + +

Applies to: desktop apps | Metro style apps

Specifies how the edges of nontext primitives are rendered.

+
+ + dd368061 + D2D1_PRINT_FONT_SUBSET_MODE + D2D1_PRINT_FONT_SUBSET_MODE +
+ + +

Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.

+
+ + dd368061 + D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT + D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT +
+ + +

Objects are aliased in most cases. Objects are antialiased only when they are drawn to a render target created by the CreateDxgiSurfaceRenderTarget method and Direct3D multisampling has been enabled on the backing DirectX Graphics Infrastructure (DXGI) surface.

+
+ + dd368061 + D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE + D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE +
+ + + No documentation. + + + D2D1_PRINT_FONT_SUBSET_MODE_NONE + D2D1_PRINT_FONT_SUBSET_MODE_NONE + + + +

Applies to: desktop apps | Metro style apps

Specifies how the edges of nontext primitives are rendered.

+
+ + dd368061 + D2D1_PROPERTY + D2D1_PROPERTY +
+ + +

Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.

+
+ + dd368061 + D2D1_PROPERTY_CLSID + D2D1_PROPERTY_CLSID +
+ + +

Objects are aliased in most cases. Objects are antialiased only when they are drawn to a render target created by the CreateDxgiSurfaceRenderTarget method and Direct3D multisampling has been enabled on the backing DirectX Graphics Infrastructure (DXGI) surface.

+
+ + dd368061 + D2D1_PROPERTY_DISPLAYNAME + D2D1_PROPERTY_DISPLAYNAME +
+ + + No documentation. + + + D2D1_PROPERTY_AUTHOR + D2D1_PROPERTY_AUTHOR + + + + No documentation. + + + D2D1_PROPERTY_CATEGORY + D2D1_PROPERTY_CATEGORY + + + + No documentation. + + + D2D1_PROPERTY_DESCRIPTION + D2D1_PROPERTY_DESCRIPTION + + + + No documentation. + + + D2D1_PROPERTY_INPUTS + D2D1_PROPERTY_INPUTS + + + + No documentation. + + + D2D1_PROPERTY_CACHED + D2D1_PROPERTY_CACHED + + + + No documentation. + + + D2D1_PROPERTY_PRECISION + D2D1_PROPERTY_PRECISION + + + + No documentation. + + + D2D1_PROPERTY_MIN_INPUTS + D2D1_PROPERTY_MIN_INPUTS + + + + No documentation. + + + D2D1_PROPERTY_MAX_INPUTS + D2D1_PROPERTY_MAX_INPUTS + + + +

Applies to: desktop apps | Metro style apps

Describes how a render target is remoted and whether it should be GDI-compatible. This enumeration allows a bitwise combination of its member values.

+
+ + dd368157 + D2D1_PROPERTY_TYPE + D2D1_PROPERTY_TYPE +
+ + +

The render target attempts to use Direct3D command-stream remoting and uses bitmap remoting if stream remoting fails. The render target is not GDI-compatible.

+
+ + dd368157 + D2D1_PROPERTY_TYPE_UNKNOWN + D2D1_PROPERTY_TYPE_UNKNOWN +
+ + +

The render target renders content locally and sends it to the terminal services client as a bitmap.

+
+ + dd368157 + D2D1_PROPERTY_TYPE_STRING + D2D1_PROPERTY_TYPE_STRING +
+ + +

The render target can be used efficiently with GDI.

+
+ + dd368157 + D2D1_PROPERTY_TYPE_BOOL + D2D1_PROPERTY_TYPE_BOOL +
+ + + No documentation. + + + D2D1_PROPERTY_TYPE_UINT32 + D2D1_PROPERTY_TYPE_UINT32 + + + + No documentation. + + + D2D1_PROPERTY_TYPE_INT32 + D2D1_PROPERTY_TYPE_INT32 + + + + No documentation. + + + D2D1_PROPERTY_TYPE_FLOAT + D2D1_PROPERTY_TYPE_FLOAT + + + + No documentation. + + + D2D1_PROPERTY_TYPE_VECTOR2 + D2D1_PROPERTY_TYPE_VECTOR2 + + + + No documentation. + + + D2D1_PROPERTY_TYPE_VECTOR3 + D2D1_PROPERTY_TYPE_VECTOR3 + + + + No documentation. + + + D2D1_PROPERTY_TYPE_VECTOR4 + D2D1_PROPERTY_TYPE_VECTOR4 + + + + No documentation. + + + D2D1_PROPERTY_TYPE_BLOB + D2D1_PROPERTY_TYPE_BLOB + + + + No documentation. + + + D2D1_PROPERTY_TYPE_IUNKNOWN + D2D1_PROPERTY_TYPE_IUNKNOWN + + + + No documentation. + + + D2D1_PROPERTY_TYPE_ENUM + D2D1_PROPERTY_TYPE_ENUM + + + + No documentation. + + + D2D1_PROPERTY_TYPE_ARRAY + D2D1_PROPERTY_TYPE_ARRAY + + + + No documentation. + + + D2D1_PROPERTY_TYPE_CLSID + D2D1_PROPERTY_TYPE_CLSID + + + + No documentation. + + + D2D1_PROPERTY_TYPE_MATRIX_3X2 + D2D1_PROPERTY_TYPE_MATRIX_3X2 + + + + No documentation. + + + D2D1_PROPERTY_TYPE_MATRIX_4X3 + D2D1_PROPERTY_TYPE_MATRIX_4X3 + + + + No documentation. + + + D2D1_PROPERTY_TYPE_MATRIX_4X4 + D2D1_PROPERTY_TYPE_MATRIX_4X4 + + + + No documentation. + + + D2D1_PROPERTY_TYPE_MATRIX_5X4 + D2D1_PROPERTY_TYPE_MATRIX_5X4 + + + + No documentation. + + + D2D1_PROPERTY_TYPE_COLOR_CONTEXT + D2D1_PROPERTY_TYPE_COLOR_CONTEXT + + + +

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

+
+ +

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

+
+ + dd756630 + D2D1_RENDER_TARGET_TYPE + D2D1_RENDER_TARGET_TYPE +
+ + +

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

+
+ + dd756630 + D2D1_RENDER_TARGET_TYPE_DEFAULT + D2D1_RENDER_TARGET_TYPE_DEFAULT +
+ + +

The render target uses software rendering only.

+
+ + dd756630 + D2D1_RENDER_TARGET_TYPE_SOFTWARE + D2D1_RENDER_TARGET_TYPE_SOFTWARE +
+ + +

The render target uses hardware rendering only.

+
+ + dd756630 + D2D1_RENDER_TARGET_TYPE_HARDWARE + D2D1_RENDER_TARGET_TYPE_HARDWARE +
+ + +

Describes how a render target is remoted and whether it should be GDI-compatible. This enumeration allows a bitwise combination of its member values.

+
+ + dd368157 + D2D1_RENDER_TARGET_USAGE + D2D1_RENDER_TARGET_USAGE +
+ + +

The render target attempts to use Direct3D command-stream remoting and uses bitmap remoting if stream remoting fails. The render target is not GDI-compatible.

+
+ + dd368157 + D2D1_RENDER_TARGET_USAGE_NONE + D2D1_RENDER_TARGET_USAGE_NONE +
+ + +

The render target renders content locally and sends it to the terminal services client as a bitmap.

+
+ + dd368157 + D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING + D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING +
+ + +

The render target can be used efficiently with GDI.

+
+ + dd368157 + D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE + D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE +
+ + + No documentation. + + + D2D1_SATURATION_PROP + D2D1_SATURATION_PROP + + + + No documentation. + + + D2D1_SATURATION_PROP_SATURATION + D2D1_SATURATION_PROP_SATURATION + + + +

[This documentation is preliminary and is subject to change.]

Use this effect to scale an image up or down. The effect has six scaling modes: nearest neighbor, linear, cubic, multi-sample linear, anisotropic, and high quality cubic.

The CLSID for this effect is .

  • Example
  • Effect
  • Interpolation
  • Output
+
+ + hh706339 + D2D1_SCALE_INTERPOLATION_MODE + D2D1_SCALE_INTERPOLATION_MODE +
+ + + No documentation. + + + D2D1_SCALE_INTERPOLATION_MODE_NEAREST_NEIGHBOR + D2D1_SCALE_INTERPOLATION_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_SCALE_INTERPOLATION_MODE_LINEAR + D2D1_SCALE_INTERPOLATION_MODE_LINEAR + + + + No documentation. + + + D2D1_SCALE_INTERPOLATION_MODE_CUBIC + D2D1_SCALE_INTERPOLATION_MODE_CUBIC + + + + No documentation. + + + D2D1_SCALE_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + D2D1_SCALE_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_SCALE_INTERPOLATION_MODE_ANISOTROPIC + D2D1_SCALE_INTERPOLATION_MODE_ANISOTROPIC + + + + No documentation. + + + D2D1_SCALE_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC + D2D1_SCALE_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC + + + +

[This documentation is preliminary and is subject to change.]

Use this effect to scale an image up or down. The effect has six scaling modes: nearest neighbor, linear, cubic, multi-sample linear, anisotropic, and high quality cubic.

The CLSID for this effect is .

  • Example
  • Effect
  • Interpolation
  • Output
+
+ + hh706339 + D2D1_SCALE_PROP + D2D1_SCALE_PROP +
+ + + No documentation. + + + D2D1_SCALE_PROP_SCALE + D2D1_SCALE_PROP_SCALE + + + + No documentation. + + + D2D1_SCALE_PROP_CENTER_POINT + D2D1_SCALE_PROP_CENTER_POINT + + + + No documentation. + + + D2D1_SCALE_PROP_INTERPOLATION_MODE + D2D1_SCALE_PROP_INTERPOLATION_MODE + + + + No documentation. + + + D2D1_SCALE_PROP_BORDER_MODE + D2D1_SCALE_PROP_BORDER_MODE + + + + No documentation. + + + D2D1_SCALE_PROP_SHARPNESS + D2D1_SCALE_PROP_SHARPNESS + + + + No documentation. + + + D2D1_SHADOW_OPTIMIZATION + D2D1_SHADOW_OPTIMIZATION + + + + No documentation. + + + D2D1_SHADOW_OPTIMIZATION_SPEED + D2D1_SHADOW_OPTIMIZATION_SPEED + + + + No documentation. + + + D2D1_SHADOW_OPTIMIZATION_BALANCED + D2D1_SHADOW_OPTIMIZATION_BALANCED + + + + No documentation. + + + D2D1_SHADOW_OPTIMIZATION_QUALITY + D2D1_SHADOW_OPTIMIZATION_QUALITY + + + + No documentation. + + + D2D1_SHADOW_PROP + D2D1_SHADOW_PROP + + + + No documentation. + + + D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION + D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION + + + + No documentation. + + + D2D1_SHADOW_PROP_COLOR + D2D1_SHADOW_PROP_COLOR + + + + No documentation. + + + D2D1_SHADOW_PROP_OPTIMIZATION + D2D1_SHADOW_PROP_OPTIMIZATION + + + +

[This documentation is preliminary and is subject to change.]

Use the spot-diffuse lighting effect to create an image that appears to be a reflective surface with where the light source is limited to a directed cone of light and the light is reflecting in all directions. This effect uses the alpha channel as a height map and lights the image with a spot light source. The color of the output bitmap is a result of light color, light position, and the surface geometry.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • Scale
+
+ + hh706326 + D2D1_SPOTDIFFUSE_PROP + D2D1_SPOTDIFFUSE_PROP +
+ + + No documentation. + + + D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION + D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION + + + + No documentation. + + + D2D1_SPOTDIFFUSE_PROP_POINTS_AT + D2D1_SPOTDIFFUSE_PROP_POINTS_AT + + + + No documentation. + + + D2D1_SPOTDIFFUSE_PROP_FOCUS + D2D1_SPOTDIFFUSE_PROP_FOCUS + + + + No documentation. + + + D2D1_SPOTDIFFUSE_PROP_LIMITING_CONE_ANGLE + D2D1_SPOTDIFFUSE_PROP_LIMITING_CONE_ANGLE + + + + No documentation. + + + D2D1_SPOTDIFFUSE_PROP_DIFFUSE_CONSTANT + D2D1_SPOTDIFFUSE_PROP_DIFFUSE_CONSTANT + + + + No documentation. + + + D2D1_SPOTDIFFUSE_PROP_SURFACE_SCALE + D2D1_SPOTDIFFUSE_PROP_SURFACE_SCALE + + + + No documentation. + + + D2D1_SPOTDIFFUSE_PROP_COLOR + D2D1_SPOTDIFFUSE_PROP_COLOR + + + + No documentation. + + + D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH + D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH + + + + No documentation. + + + D2D1_SPOTDIFFUSE_PROP_SCALE_MODE + D2D1_SPOTDIFFUSE_PROP_SCALE_MODE + + + +

[This documentation is preliminary and is subject to change.]

Use the spot-diffuse lighting effect to create an image that appears to be a reflective surface with where the light source is limited to a directed cone of light and the light is reflecting in all directions. This effect uses the alpha channel as a height map and lights the image with a spot light source. The color of the output bitmap is a result of light color, light position, and the surface geometry.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • Scale
+
+ + hh706326 + D2D1_SPOTDIFFUSE_SCALE_MODE + D2D1_SPOTDIFFUSE_SCALE_MODE +
+ + + No documentation. + + + D2D1_SPOTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR + D2D1_SPOTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR + D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR + + + + No documentation. + + + D2D1_SPOTDIFFUSE_SCALE_MODE_CUBIC + D2D1_SPOTDIFFUSE_SCALE_MODE_CUBIC + + + + No documentation. + + + D2D1_SPOTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR + D2D1_SPOTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_SPOTDIFFUSE_SCALE_MODE_ANISOTROPIC + D2D1_SPOTDIFFUSE_SCALE_MODE_ANISOTROPIC + + + + No documentation. + + + D2D1_SPOTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC + D2D1_SPOTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC + + + +

[This documentation is preliminary and is subject to change.]

Use the spot-specular lighting effect to create an image that appears to be a reflective surface where the light source is limited to a directed cone of light. This effect uses the alpha channel as a height map and lights the image with a point light source. The color of the output bitmap is a result of light color, light position, the direction of the cone and the surface geometry according to the specular portion of the Phong lighting model.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Spot
  • Effect
  • Scale
+
+ + hh706371 + D2D1_SPOTSPECULAR_PROP + D2D1_SPOTSPECULAR_PROP +
+ + + No documentation. + + + D2D1_SPOTSPECULAR_PROP_LIGHT_POSITION + D2D1_SPOTSPECULAR_PROP_LIGHT_POSITION + + + + No documentation. + + + D2D1_SPOTSPECULAR_PROP_POINTS_AT + D2D1_SPOTSPECULAR_PROP_POINTS_AT + + + + No documentation. + + + D2D1_SPOTSPECULAR_PROP_FOCUS + D2D1_SPOTSPECULAR_PROP_FOCUS + + + + No documentation. + + + D2D1_SPOTSPECULAR_PROP_LIMITING_CONE_ANGLE + D2D1_SPOTSPECULAR_PROP_LIMITING_CONE_ANGLE + + + + No documentation. + + + D2D1_SPOTSPECULAR_PROP_SPECULAR_EXPONENT + D2D1_SPOTSPECULAR_PROP_SPECULAR_EXPONENT + + + + No documentation. + + + D2D1_SPOTSPECULAR_PROP_SPECULAR_CONSTANT + D2D1_SPOTSPECULAR_PROP_SPECULAR_CONSTANT + + + + No documentation. + + + D2D1_SPOTSPECULAR_PROP_SURFACE_SCALE + D2D1_SPOTSPECULAR_PROP_SURFACE_SCALE + + + + No documentation. + + + D2D1_SPOTSPECULAR_PROP_COLOR + D2D1_SPOTSPECULAR_PROP_COLOR + + + + No documentation. + + + D2D1_SPOTSPECULAR_PROP_KERNEL_UNIT_LENGTH + D2D1_SPOTSPECULAR_PROP_KERNEL_UNIT_LENGTH + + + + No documentation. + + + D2D1_SPOTSPECULAR_PROP_SCALE_MODE + D2D1_SPOTSPECULAR_PROP_SCALE_MODE + + + + No documentation. + + + D2D1_SPOTSPECULAR_SCALE_MODE + D2D1_SPOTSPECULAR_SCALE_MODE + + + + No documentation. + + + D2D1_SPOTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR + D2D1_SPOTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_SPOTSPECULAR_SCALE_MODE_LINEAR + D2D1_SPOTSPECULAR_SCALE_MODE_LINEAR + + + + No documentation. + + + D2D1_SPOTSPECULAR_SCALE_MODE_CUBIC + D2D1_SPOTSPECULAR_SCALE_MODE_CUBIC + + + + No documentation. + + + D2D1_SPOTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR + D2D1_SPOTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_SPOTSPECULAR_SCALE_MODE_ANISOTROPIC + D2D1_SPOTSPECULAR_SCALE_MODE_ANISOTROPIC + + + + No documentation. + + + D2D1_SPOTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC + D2D1_SPOTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

sDefines how the world transform, dots per inch (dpi), and stroke width affect the shape of the pen used to stroke a primitive.

+
+ +

It is important to distinguish between the geometry being stroked and the shape of the stroke pen. When or is specified, the geometry still respects the transform and dpi, but the pen that traces the geometry will not.

+
+ + hh447016 + D2D1_STROKE_TRANSFORM_TYPE + D2D1_STROKE_TRANSFORM_TYPE +
+ + +

The stroke respects the currently set world transform, the dpi, and the stroke width.

+
+ + hh447016 + D2D1_STROKE_TRANSFORM_TYPE_NORMAL + D2D1_STROKE_TRANSFORM_TYPE_NORMAL +
+ + +

The stroke does not respect the world transform but it does respect the dpi and stroke width.

+
+ + hh447016 + D2D1_STROKE_TRANSFORM_TYPE_FIXED + D2D1_STROKE_TRANSFORM_TYPE_FIXED +
+ + +

The stroke is forced to 1 pixel wide (in device space) and does not respect the world transform, the dpi, or the stroke width.

+
+ + hh447016 + D2D1_STROKE_TRANSFORM_TYPE_HAIRLINE + D2D1_STROKE_TRANSFORM_TYPE_HAIRLINE +
+ + +

Applies to: desktop apps | Metro style apps

Specifies how the edges of nontext primitives are rendered.

+
+ + dd368061 + D2D1_SUBPROPERTY + D2D1_SUBPROPERTY +
+ + +

Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.

+
+ + dd368061 + D2D1_SUBPROPERTY_DISPLAYNAME + D2D1_SUBPROPERTY_DISPLAYNAME +
+ + +

Objects are aliased in most cases. Objects are antialiased only when they are drawn to a render target created by the CreateDxgiSurfaceRenderTarget method and Direct3D multisampling has been enabled on the backing DirectX Graphics Infrastructure (DXGI) surface.

+
+ + dd368061 + D2D1_SUBPROPERTY_ISREADONLY + D2D1_SUBPROPERTY_ISREADONLY +
+ + + No documentation. + + + D2D1_SUBPROPERTY_MIN + D2D1_SUBPROPERTY_MIN + + + + No documentation. + + + D2D1_SUBPROPERTY_MAX + D2D1_SUBPROPERTY_MAX + + + + No documentation. + + + D2D1_SUBPROPERTY_DEFAULT + D2D1_SUBPROPERTY_DEFAULT + + + + No documentation. + + + D2D1_SUBPROPERTY_FIELDS + D2D1_SUBPROPERTY_FIELDS + + + + No documentation. + + + D2D1_SUBPROPERTY_INDEX + D2D1_SUBPROPERTY_INDEX + + + +

Defines the direction that an elliptical arc is drawn.

+
+ + dd368166 + D2D1_SWEEP_DIRECTION + D2D1_SWEEP_DIRECTION +
+ + +

Arcs are drawn in a counterclockwise (negative-angle) direction.

+
+ + dd368166 + D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE + D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE +
+ + +

Arcs are drawn in a clockwise (positive-angle) direction.

+
+ + dd368166 + D2D1_SWEEP_DIRECTION_CLOCKWISE + D2D1_SWEEP_DIRECTION_CLOCKWISE +
+ + +

[This documentation is preliminary and is subject to change.]

Use the table transfer effect to map the color intensities of an image using a transfer function created from interpolating a list of values you provide.

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
+
+ + hh706373 + D2D1_TABLETRANSFER_PROP + D2D1_TABLETRANSFER_PROP +
+ + + No documentation. + + + D2D1_TABLETRANSFER_PROP_RED_TABLE + D2D1_TABLETRANSFER_PROP_RED_TABLE + + + + No documentation. + + + D2D1_TABLETRANSFER_PROP_RED_DISABLE + D2D1_TABLETRANSFER_PROP_RED_DISABLE + + + + No documentation. + + + D2D1_TABLETRANSFER_PROP_GREEN_TABLE + D2D1_TABLETRANSFER_PROP_GREEN_TABLE + + + + No documentation. + + + D2D1_TABLETRANSFER_PROP_GREEN_DISABLE + D2D1_TABLETRANSFER_PROP_GREEN_DISABLE + + + + No documentation. + + + D2D1_TABLETRANSFER_PROP_BLUE_TABLE + D2D1_TABLETRANSFER_PROP_BLUE_TABLE + + + + No documentation. + + + D2D1_TABLETRANSFER_PROP_BLUE_DISABLE + D2D1_TABLETRANSFER_PROP_BLUE_DISABLE + + + + No documentation. + + + D2D1_TABLETRANSFER_PROP_ALPHA_TABLE + D2D1_TABLETRANSFER_PROP_ALPHA_TABLE + + + + No documentation. + + + D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE + D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE + + + + No documentation. + + + D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT + D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT + + + +

Describes the antialiasing mode used for drawing text.

+
+ +

This enumeration is used with the SetTextAntialiasMode of an to specify how text and glyphs are antialiased.

By default, Direct2D renders text in ClearType mode. Factors that can downgrade the default quality to grayscale or aliased:

  • If the value is , then the default text antialiasing mode is aliased. To change the DirectWrite rendering mode of an , use the method.
  • If the value is , then the default text antialiasing mode is grayscale.
  • If the render target has an alpha channel and is not set to , then the default text antialiasing mode is grayscale.
  • If is called without (and the corresponding PopLayer has not been called yet), then the default text antialiasing mode is grayscale.
+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE + D2D1_TEXT_ANTIALIAS_MODE +
+ + +

Use the system default. See Remarks.

+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE_DEFAULT + D2D1_TEXT_ANTIALIAS_MODE_DEFAULT +
+ + +

Use ClearType antialiasing.

+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE + D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE +
+ + +

Use grayscale antialiasing.

+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE + D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE +
+ + +

Do not use antialiasing.

+
+ + dd368170 + D2D1_TEXT_ANTIALIAS_MODE_ALIASED + D2D1_TEXT_ANTIALIAS_MODE_ALIASED +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Specifies whether rental-threaded or multi-threaded objects should be created by Direct2D.

+
+ + hh447020 + D2D1_THREADING_MODE + D2D1_THREADING_MODE +
+ + +

The created objects can be used in a rental-threaded manner.

+
+ + hh447020 + D2D1_THREADING_MODE_SINGLE_THREADED + D2D1_THREADING_MODE_SINGLE_THREADED +
+ + +

The created objects will be free threaded.

+
+ + hh447020 + D2D1_THREADING_MODE_MULTI_THREADED + D2D1_THREADING_MODE_MULTI_THREADED +
+ + + No documentation. + + + D2D1_TILE_PROP + D2D1_TILE_PROP + + + + No documentation. + + + D2D1_TILE_PROP_RECT + D2D1_TILE_PROP_RECT + + + +

[This documentation is preliminary and is subject to change.]

Use the 3D transform effect to apply an arbitrary 4x4 transform matrix to an image.

This effect applies the matrix (Mt) you provide to the corner vertices of the source image ([ x y z 1 ]) using this calculation:

[ xr yr zr 1 ]=[ x y z 1 ]*Mt

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • 4x4
+
+ + Hh706310 + D2D1_3DTRANSFORM_INTERPOLATION_MODE + D2D1_3DTRANSFORM_INTERPOLATION_MODE +
+ + + No documentation. + + + D2D1_3DTRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR + D2D1_3DTRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR + + + + No documentation. + + + D2D1_3DTRANSFORM_INTERPOLATION_MODE_LINEAR + D2D1_3DTRANSFORM_INTERPOLATION_MODE_LINEAR + + + + No documentation. + + + D2D1_3DTRANSFORM_INTERPOLATION_MODE_CUBIC + D2D1_3DTRANSFORM_INTERPOLATION_MODE_CUBIC + + + + No documentation. + + + D2D1_3DTRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + D2D1_3DTRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + + + + No documentation. + + + D2D1_3DTRANSFORM_INTERPOLATION_MODE_ANISOTROPIC + D2D1_3DTRANSFORM_INTERPOLATION_MODE_ANISOTROPIC + + + +

[This documentation is preliminary and is subject to change.]

Use the 3D transform effect to apply an arbitrary 4x4 transform matrix to an image.

This effect applies the matrix (Mt) you provide to the corner vertices of the source image ([ x y z 1 ]) using this calculation:

[ xr yr zr 1 ]=[ x y z 1 ]*Mt

The CLSID for this effect is The CLSID for this effect is .

  • Example
  • Effect
  • 4x4
+
+ + Hh706310 + D2D1_3DTRANSFORM_PROP + D2D1_3DTRANSFORM_PROP +
+ + + No documentation. + + + D2D1_3DTRANSFORM_PROP_INTERPOLATION_MODE + D2D1_3DTRANSFORM_PROP_INTERPOLATION_MODE + + + + No documentation. + + + D2D1_3DTRANSFORM_PROP_BORDER_MODE + D2D1_3DTRANSFORM_PROP_BORDER_MODE + + + + No documentation. + + + D2D1_3DTRANSFORM_PROP_TRANSFORM_MATRIX + D2D1_3DTRANSFORM_PROP_TRANSFORM_MATRIX + + + + No documentation. + + + D2D1_TURBULENCE_NOISE + D2D1_TURBULENCE_NOISE + + + + No documentation. + + + D2D1_TURBULENCE_NOISE_FRACTAL_SUM + D2D1_TURBULENCE_NOISE_FRACTAL_SUM + + + + No documentation. + + + D2D1_TURBULENCE_NOISE_TURBULENCE + D2D1_TURBULENCE_NOISE_TURBULENCE + + + + No documentation. + + + D2D1_TURBULENCE_PROP + D2D1_TURBULENCE_PROP + + + + No documentation. + + + D2D1_TURBULENCE_PROP_OFFSET + D2D1_TURBULENCE_PROP_OFFSET + + + + No documentation. + + + D2D1_TURBULENCE_PROP_SIZE + D2D1_TURBULENCE_PROP_SIZE + + + + No documentation. + + + D2D1_TURBULENCE_PROP_BASE_FREQUENCY + D2D1_TURBULENCE_PROP_BASE_FREQUENCY + + + + No documentation. + + + D2D1_TURBULENCE_PROP_NUM_OCTAVES + D2D1_TURBULENCE_PROP_NUM_OCTAVES + + + + No documentation. + + + D2D1_TURBULENCE_PROP_SEED + D2D1_TURBULENCE_PROP_SEED + + + + No documentation. + + + D2D1_TURBULENCE_PROP_NOISE + D2D1_TURBULENCE_PROP_NOISE + + + + No documentation. + + + D2D1_TURBULENCE_PROP_STITCHABLE + D2D1_TURBULENCE_PROP_STITCHABLE + + + +

Applies to: desktop apps | Metro style apps

Describes how a render target is remoted and whether it should be GDI-compatible. This enumeration allows a bitwise combination of its member values.

+
+ + dd368157 + D2D1_UNIT_MODE + D2D1_UNIT_MODE +
+ + +

The render target attempts to use Direct3D command-stream remoting and uses bitmap remoting if stream remoting fails. The render target is not GDI-compatible.

+
+ + dd368157 + D2D1_UNIT_MODE_DIPS + D2D1_UNIT_MODE_DIPS +
+ + +

The render target renders content locally and sends it to the terminal services client as a bitmap.

+
+ + dd368157 + D2D1_UNIT_MODE_PIXELS + D2D1_UNIT_MODE_PIXELS +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Describes flags that influence how the renderer interacts with a custom vertex shader.

+
+ + hh404332 + D2D1_VERTEX_OPTIONS + D2D1_VERTEX_OPTIONS +
+ + +

The logical equivalent of having no flags set.

+
+ + hh404332 + D2D1_VERTEX_OPTIONS_NONE + D2D1_VERTEX_OPTIONS_NONE +
+ + +

If this flag is set, the renderer assumes that the vertex shader will cover the entire region of interest with vertices and need not clear the destination render target. If this flag is not set, the renderer assumes that the vertices do not cover the entire region interest and must clear the render target to transparent black first.

+
+ + hh404332 + D2D1_VERTEX_OPTIONS_DO_NOT_CLEAR + D2D1_VERTEX_OPTIONS_DO_NOT_CLEAR +
+ + +

The renderer will use a depth buffer when rendering custom vertices. The depth buffer will be used for calculating occlusion information. This can result in the renderer output being draw-order dependent if it contains transparency.

+
+ + hh404332 + D2D1_VERTEX_OPTIONS_USE_DEPTH_BUFFER + D2D1_VERTEX_OPTIONS_USE_DEPTH_BUFFER +
+ + +

Indicates that custom vertices do not overlap each other.

+
+ + hh404332 + D2D1_VERTEX_OPTIONS_ASSUME_NO_OVERLAP + D2D1_VERTEX_OPTIONS_ASSUME_NO_OVERLAP +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Defines the properties of a vertex buffer that are standard for all vertex shader definitions.

+
+ +

If usage is dynamic, the system might return a system memory buffer and copy these vertices into the rendering vertex buffer for each element.

If the initialization data is not specified, the buffer will be uninitialized.

+
+ + hh404330 + D2D1_VERTEX_USAGE + D2D1_VERTEX_USAGE +
+ + +

The number of inputs to the vertex shader.

+
+ + hh404330 + D2D1_VERTEX_USAGE_STATIC + D2D1_VERTEX_USAGE_STATIC +
+ + +

Indicates how frequently the vertex buffer is likely to be updated.

+
+ + hh404330 + D2D1_VERTEX_USAGE_DYNAMIC + D2D1_VERTEX_USAGE_DYNAMIC +
+ + +

Describes whether a window is occluded.

+
+ +

If the window was occluded the last time EndDraw was called, the next time the render target calls CheckWindowState, it returns regardless of the current window state. If you want to use CheckWindowState to check the current window state, call CheckWindowState after every EndDraw call and ignore its return value. This will ensure that your next call to CheckWindowState state returns the actual window state.

+
+ + dd368174 + D2D1_WINDOW_STATE + D2D1_WINDOW_STATE +
+ + +

The window is not occluded.

+
+ + dd368174 + D2D1_WINDOW_STATE_NONE + D2D1_WINDOW_STATE_NONE +
+ + +

The window is occluded.

+
+ + dd368174 + D2D1_WINDOW_STATE_OCCLUDED + D2D1_WINDOW_STATE_OCCLUDED +
+ + + Functions + + + + + +

Tries to invert the specified matrix.

+
+

The matrix to invert.

+

true if the matrix was inverted; otherwise, false.

+ + dd368044 + BOOL D2D1InvertMatrix([InOut] D2D_MATRIX_3X2_F* matrix) + D2D1InvertMatrix +
+ + +

Indicates whether the specified matrix is invertible.

+
+

The matrix to test.

+

true if the matrix was inverted; otherwise, false.

+ + dd368045 + BOOL D2D1IsMatrixInvertible([In] const D2D_MATRIX_3X2_F* matrix) + D2D1IsMatrixInvertible +
+ + +

Creates a rotation transformation that rotates by the specified angle about the specified point.

+
+

The clockwise rotation angle, in degrees.

+

The point about which to rotate.

+

When this method returns, contains the new rotation transformation. You must allocate storage for this parameter.

+ +

Rotation occurs in the plane of the 2-D surface.

+
+ + dd368049 + void D2D1MakeRotateMatrix([In] float angle,[In] D2D_POINT_2F center,[Out] D2D_MATRIX_3X2_F* matrix) + D2D1MakeRotateMatrix +
+ + +

Creates a factory object that can be used to create Direct2D resources.

+
+

The threading model of the factory and the resources it creates.

+

A reference to the IID of that is obtained by using __uuidof().

+

The level of detail provided to the debugging layer.

+

When this method returns, contains the address to a reference to the new factory.

+

If this function succeeds, it returns . Otherwise, it returns an error code.

+ +

The interface provides the starting point for Direct2D. In general, objects created from a single instance of a factory object can be used with other resources created from that instance, but not with resources created by other factory instances.

+
+ + dd368034 + HRESULT D2D1CreateFactory([In] D2D1_FACTORY_TYPE factoryType,[In] const GUID& riid,[In, Optional] const D2D1_FACTORY_OPTIONS* pFactoryOptions,[Out] void** ppIFactory) + D2D1CreateFactory +
+ + +

Creates a skew transformation that has the specified x-axis angle, y-axis angle, and center point.

+
+

The x-axis skew angle, which is measured in degrees counterclockwise from the y-axis.

+

The y-axis skew angle, which is measured in degrees counterclockwise from the x-axis.

+

The center point of the skew operation.

+

When this method returns, contains the rotation transformation. You must allocate storate for this parameter.

+ + dd368052 + void D2D1MakeSkewMatrix([In] float angleX,[In] float angleY,[In] D2D_POINT_2F center,[Out] D2D_MATRIX_3X2_F* matrix) + D2D1MakeSkewMatrix +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

+
+

TBD

+

TBD

+

TBD

+ + hh847940 + void D2D1SinCos([In] float angle,[Out] float* s,[Out] float* c) + D2D1SinCos +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a new Direct2D device associated with the provided DXGI device.

+
+

The DXGI device the Direct2D device is associated with.

+

The properties to apply to the Direct2D device.

+

When this function returns, contains the address of a reference to a Direct2D device.

+

The function returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

+ +

This function will also create a new that can be retrieved through .

If the creation properties are not specified, then d2dDevice will inherit its threading mode from dxgiDevice and debug tracing will not be enabled.

+
+ + hh404272 + HRESULT D2D1CreateDevice([In] IDXGIDevice* dxgiDevice,[In, Optional] const D2D1_CREATION_PROPERTIES* creationProperties,[Out, Fast] ID2D1Device** d2dDevice) + D2D1CreateDevice +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

+
+

TBD

+

TBD

+ + hh847941 + float D2D1Tan([In] float angle) + D2D1Tan +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Creates a new Direct2D device context associated with a DXGI surface.

+
+

The DXGI surface the Direct2D device context is associated with.

+

The properties to apply to the Direct2D device context.

+

When this function returns, contains the address of a reference to a Direct2D device context.

+

The function returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

+ +

This function will also create a new that can be retrieved through .

This function will also create a new that can be retrieved through .

The DXGI device will be specified implicitly through dxgiSurface.

The created device context will have exactly the same behavior as if ID2D1DeviceContext::SetTargetSurface were called with the corresponding surface.

If creationProperties are not specified, the Direct2D device will inherit its threading mode from the DXGI device implied by dxgiSurface and debug tracing will not be enabled.

+
+ + hh404273 + HRESULT D2D1CreateDeviceContext([In] IDXGISurface* dxgiSurface,[In, Optional] const D2D1_CREATION_PROPERTIES* creationProperties,[Out, Fast] ID2D1DeviceContext** d2dDeviceContext) + D2D1CreateDeviceContext +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

+
+

TBD

+

TBD

+

TBD

+

TBD

+ + hh847939 + D2D_COLOR_F D2D1ConvertColorSpace([In] D2D1_COLOR_SPACE sourceColorSpace,[In] D2D1_COLOR_SPACE destinationColorSpace,[In] const D2D_COLOR_F* color) + D2D1ConvertColorSpace +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

+
+

TBD

+

TBD

+

TBD

+

TBD

+ + hh847942 + float D2D1Vec3Length([In] float x,[In] float y,[In] float z) + D2D1Vec3Length +
+ + + Functions + + + + + Constant PopCallDidNotMatchPush. + D2DERR_POP_CALL_DID_NOT_MATCH_PUSH + + + Constant BadNumber. + D2DERR_BAD_NUMBER + + + Constant TooManyTransformInputs. + D2DERR_TOO_MANY_TRANSFORM_INPUTS + + + Constant NoSubProperties. + D2DERR_NO_SUBPROPERTIES + + + Constant TargetNotGdiCompatible. + D2DERR_TARGET_NOT_GDI_COMPATIBLE + + + Constant InvalidInternalGraphConfiguration. + D2DERR_INVALID_INTERNAL_GRAPH_CONFIGURATION + + + Constant RenderTargetHasLayerOrCliprect. + D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT + + + Constant InvalidProperty. + D2DERR_INVALID_PROPERTY + + + Constant InvalidGraphConfiguration. + D2DERR_INVALID_GRAPH_CONFIGURATION + + + Constant MaximumTextureSizeExceeded. + D2DERR_MAX_TEXTURE_SIZE_EXCEEDED + + + Constant NoHardwareDevice. + D2DERR_NO_HARDWARE_DEVICE + + + Constant PushPopUnbalanced. + D2DERR_PUSH_POP_UNBALANCED + + + Constant BitmapBoundAsTarget. + D2DERR_BITMAP_BOUND_AS_TARGET + + + Constant WrongResourceDomain. + D2DERR_WRONG_RESOURCE_DOMAIN + + + Constant Win32Error. + D2DERR_WIN32_ERROR + + + Constant RecreateTarget. + D2DERR_RECREATE_TARGET + + + Constant PrintJobClosed. + D2DERR_PRINT_JOB_CLOSED + + + Constant WrongFactory. + D2DERR_WRONG_FACTORY + + + Constant WrongState. + D2DERR_WRONG_STATE + + + Constant InternalError. + D2DERR_INTERNAL_ERROR + + + Constant OutstandingBitmapReferences. + D2DERR_OUTSTANDING_BITMAP_REFERENCES + + + Constant ExceedsMaximumBitmapSize. + D2DERR_EXCEEDS_MAX_BITMAP_SIZE + + + Constant LayerAlreadyInUse. + D2DERR_LAYER_ALREADY_IN_USE + + + Constant CyclicGraph. + D2DERR_CYCLIC_GRAPH + + + Constant DisplayStateInvalid. + D2DERR_DISPLAY_STATE_INVALID + + + Constant ShaderCompileFailed. + D2DERR_SHADER_COMPILE_FAILED + + + Constant NotInitializeD. + D2DERR_NOT_INITIALIZED + + + Constant InvalidTarget. + D2DERR_INVALID_TARGET + + + Constant TextEffectIsWrongType. + D2DERR_TEXT_EFFECT_IS_WRONG_TYPE + + + Constant UnsupportedOperation. + D2DERR_UNSUPPORTED_OPERATION + + + Constant UnsupportedVersion. + D2DERR_UNSUPPORTED_VERSION + + + Constant InsufficientDeviceCapabilities. + D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES + + + Constant IntermediateTooLarge. + D2DERR_INTERMEDIATE_TOO_LARGE + + + Constant ZeroVector. + D2DERR_ZERO_VECTOR + + + Constant OriginalTargetNotBound. + D2DERR_ORIGINAL_TARGET_NOT_BOUND + + + Constant DisplayFormatNotSupported. + D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED + + + Constant EffectIsNotRegistered. + D2DERR_EFFECT_IS_NOT_REGISTERED + + + Constant InvalidCall. + D2DERR_INVALID_CALL + + + Constant ScannerFailed. + D2DERR_SCANNER_FAILED + + + Constant TooManyShaderElements. + D2DERR_TOO_MANY_SHADER_ELEMENTS + + + Constant TextRendererNotReleased. + D2DERR_TEXT_RENDERER_NOT_RELEASED + + + Constant PrintFormatNotSupported. + D2DERR_PRINT_FORMAT_NOT_SUPPORTED + + + Constant BitmapCannotDraw. + D2DERR_BITMAP_CANNOT_DRAW + + + Constant IncompatibleBrushTypes. + D2DERR_INCOMPATIBLE_BRUSH_TYPES + + + Constant ScreenAccessDenied. + D2DERR_SCREEN_ACCESS_DENIED + + + +

Issues drawing commands to a GDI device context.

+
+ + Creating Objects

To create an , use the method.

Before you can render with the DC render target, you must use its BindDC method to associate it with a GDI DC. You do this each time you use a different DC, or the size of the area you want to draw to changes.

To enable the DC render target to work with GDI, set its pixel format to and its alpha mode to or .

Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

ID2D1DCRenderTargets, GDI Transforms, and Right-to-Left Language Builds of Windows

When you use an , it renders Direct2D content to an internal bitmap, and then renders the bitmap to the DC with GDI.

It's possible for GDI to apply a GDI transform (through the SetWorldTransform method) or other effect to the same DC used by the render target, in which case GDI transforms the bitmap produced by Direct2D. Using a GDI transform to transform the Direct2D content has the potential to degrade the visual quality of the output, because you're transforming a bitmap for which antialiasing and subpixel positioning have already been calculated.

For example, suppose you use the render target to draw a scene that contains antialiased geometries and text. If you use a GDI transform to apply a scale transform to the DC and scale the scene so that it's 10 times larger, you'll see pixelization and jagged edges. (If, however, you applied a similar transform using Direct2D, the visual quality of the scene would not be degraded.)

In some cases, it might not be obvious that GDI is performing additional processing that might degrade the quality of the Direct2D content. For example, on a right-to-left (RTL) build of Windows, content rendered by an might be horizontally inverted when GDI copies it to its destination. Whether the content is actually inverted depends on the current settings of the DC.

Depending on the type of content being rendered, you might want to prevent the inversion. If the Direct2D content includes ClearType text, this inversion will degrade the quality of the text.

You can control RTL rendering behavior by using the SetLayout GDI function. To prevent the mirroring, call the SetLayout GDI function and specify LAYOUT_BITMAPORIENTATIONPRESERVED as the only value for the second parameter (do not combine it with LAYOUT_RTL), as shown in the following example:

SetLayout(m_hwnd, LAYOUT_BITMAPORIENTATIONPRESERVED);
+
+ + dd371213 + ID2D1DCRenderTarget + ID2D1DCRenderTarget +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Binds the render target to the device context to which it issues drawing commands.

+
+

The device context to which the render target issues drawing commands.

+

The dimensions of the handle to a device context () to which the render target is bound.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Before you can render with the DC render target, you must use its BindDC method to associate it with a GDI DC. You do this each time you use a different DC, or the size of the area you want to draw to changes.

+
+ + dd371214 + HRESULT ID2D1DCRenderTarget::BindDC([In] const HDC hDC,[In] const RECT* pSubRect) + ID2D1DCRenderTarget::BindDC +
+ + + Creates a render target that draws to a Windows Graphics Device Interface (GDI) device context. + + + Before you can render with a DC render target, you must use the render target's {{BindDC}} method to associate it with a GDI DC. Do this for each different DC and whenever there is a change in the size of the area you want to draw to.To enable the DC render target to work with GDI, set the render target's DXGI format to and alpha mode to or D2D1_ALPHA_MODE_IGNORE.Your application should create render targets once and hold on to them for the life of the application or until the render target's {{EndDraw}} method returns the {{D2DERR_RECREATE_TARGET}} error. When you receive this error, recreate the render target (and any resources it created). + + an instance of + The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. To enable the device context (DC) render target to work with GDI, set the DXGI format to and the alpha mode to or D2D1_ALPHA_MODE_IGNORE. For more information about pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + + + +

Represents an ellipse.

+
+ + Creating Objects

To create an elipse geometry, use the method.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd371239 + ID2D1EllipseGeometry + ID2D1EllipseGeometry +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the structure that describes this ellipse geometry.

+
+ No documentation. + + dd371243 + void ID2D1EllipseGeometry::GetEllipse([Out] D2D1_ELLIPSE* ellipse) + ID2D1EllipseGeometry::GetEllipse +
+ + + Creates an . + + an instance of + A value that describes the center point, x-radius, and y-radius of the ellipse geometry. + + + +

Gets the structure that describes this ellipse geometry.

+
+ + dd371243 + GetEllipse + GetEllipse + void ID2D1EllipseGeometry::GetEllipse([Out] D2D1_ELLIPSE* ellipse) +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

A Direct2D resource that wraps a WMF, EMF, or EMF+ metafile.

+
+ + hh871460 + ID2D1GdiMetafile + ID2D1GdiMetafile +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + No documentation. + + No documentation. + No documentation. + + HRESULT ID2D1GdiMetafile::Stream([In] ID2D1GdiMetafileSink* sink) + ID2D1GdiMetafile::Stream + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

A Direct2D resource that wraps a WMF, EMF, or EMF+ metafile.

+
+ No documentation. + No documentation. + + hh871460 + HRESULT ID2D1GdiMetafile::GetBounds([Out] D2D_RECT_F* bounds) + ID2D1GdiMetafile::GetBounds +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

A Direct2D resource that wraps a WMF, EMF, or EMF+ metafile.

+
+ + hh871460 + GetBounds + GetBounds + HRESULT ID2D1GdiMetafile::GetBounds([Out] D2D_RECT_F* bounds) +
+ + +

Direct2D provides the following interfaces.

+
+ + dd372272 + ID2D1GdiMetafileSink + ID2D1GdiMetafileSink +
+ + +

Direct2D provides the following interfaces.

+
+ + dd372272 + ID2D1GdiMetafileSink + ID2D1GdiMetafileSink +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + No documentation. + + No documentation. + No documentation. + No documentation. + No documentation. + + HRESULT ID2D1GdiMetafileSink::ProcessRecord([In] unsigned int recordType,[In, Optional] const void* recordData,[In] unsigned int recordDataSize) + ID2D1GdiMetafileSink::ProcessRecord + + + +

Represents a composite geometry, composed of other objects.

+
+ +

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one.

Creating Objects

To create a object, call the method, passing in the fillMode with possible values of (alternate) and , an array of geometry objects to add to the geometry group, and the number of elements in this array.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd316581 + ID2D1GeometryGroup + ID2D1GeometryGroup +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Indicates how the intersecting areas of the geometries contained in this geometry group are combined.

+
+

A value that indicates how the intersecting areas of the geometries contained in this geometry group are combined.

+ + dd316583 + D2D1_FILL_MODE ID2D1GeometryGroup::GetFillMode() + ID2D1GeometryGroup::GetFillMode +
+ + +

Indicates the number of geometry objects in the geometry group.

+
+

The number of geometries in the .

+ + dd316589 + unsigned int ID2D1GeometryGroup::GetSourceGeometryCount() + ID2D1GeometryGroup::GetSourceGeometryCount +
+ + +

Retrieves the geometries in the geometry group.

+
+

When this method returns, contains the address of a reference to an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. If the array is null, then this method performs no operation. You must allocate the memory for this array.

+

A value indicating the number of geometries to return in the geometries array. If this value is less than the number of geometries in the geometry group, the remaining geometries are omitted. If this value is larger than the number of geometries in the geometry group, the extra geometries are set to null. To obtain the number of geometries currently in the geometry group, use the GetSourceGeometryCount method.

+ +

The returned geometries are referenced and counted, and the caller must release them.

+
+ + dd316586 + void ID2D1GeometryGroup::GetSourceGeometries([Out, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount) + ID2D1GeometryGroup::GetSourceGeometries +
+ + + Creates an , which is an object that holds other geometries. + + + Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and D2D1_FILL_MODE_WINDING, an array of geometry objects to add to the geometry group, and the number of elements in this array. + + an instance of + A value that specifies the rule that a composite shape uses to determine whether a given point is part of the geometry. + An array containing the geometry objects to add to the geometry group. The number of elements in this array is indicated by the geometriesCount parameter. + + + + Retrieves the geometries in the geometry group. + + + The returned geometries are referenced and counted, and the caller must release them. + + an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. + void ID2D1GeometryGroup::GetSourceGeometries([Out, Buffer] ID2D1Geometry** geometries,[None] int geometriesCount) + + + + Retrieves the geometries in the geometry group. + + + The returned geometries are referenced and counted, and the caller must release them. + + A value indicating the number of geometries to return in the geometries array. If this value is less than the number of geometries in the geometry group, the remaining geometries are omitted. If this value is larger than the number of geometries in the geometry group, the extra geometries are set to NULL. To obtain the number of geometries currently in the geometry group, use the {{GetSourceGeometryCount}} method. + an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. + void ID2D1GeometryGroup::GetSourceGeometries([Out, Buffer] ID2D1Geometry** geometries,[None] int geometriesCount) + + + +

Indicates how the intersecting areas of the geometries contained in this geometry group are combined.

+
+ + dd316583 + GetFillMode + GetFillMode + D2D1_FILL_MODE ID2D1GeometryGroup::GetFillMode() +
+ + +

Indicates the number of geometry objects in the geometry group.

+
+ + dd316589 + GetSourceGeometryCount + GetSourceGeometryCount + unsigned int ID2D1GeometryGroup::GetSourceGeometryCount() +
+ + +

Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.

+
+ +

The interface extends the interface to add support for arcs and quadratic beziers, as well as functions for adding single lines and cubic beziers.

A geometry sink consists of one or more figures. Each figure is made up of one or more line, curve, or arc segments. To create a figure, call the BeginFigure method, specify the figure's start point, and then use its Add methods (such as AddLine and AddBezier) to add segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

+
+ + dd316592 + ID2D1GeometrySink + ID2D1GeometrySink +
+ + +

Describes a geometric path that does not contain quadratic bezier curves or arcs.

+
+ +

A geometry sink consists of one or more figures. Each figure is made up of one or more line or Bezier curve segments. To create a figure, call the BeginFigure method and specify the figure's start point, then use AddLines and AddBeziers to add line and Bezier segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

To create geometry paths that can contain arcs and quadratic Bezier curves, use an .

+
+ + dd316919 + ID2D1SimplifiedGeometrySink + ID2D1SimplifiedGeometrySink +
+ + + Specifies the method used to determine which points are inside the geometry described by this geometry sink and which points are outside. + + + The fill mode defaults to D2D1_FILL_MODE_ALTERNATE. To set the fill mode, call SetFillMode before the first call to {{BeginFigure}}. Not doing will put the geometry sink in an error state. + + The method used to determine whether a given point is part of the geometry. + void SetFillMode([None] D2D1_FILL_MODE fillMode) + + + + Specifies stroke and join options to be applied to new segments added to the geometry sink. + + + After this method is called, the specified segment flags are applied to each segment subsequently added to the sink. The segment flags are applied to every additional segment until this method is called again and a different set of segment flags is specified. + + Stroke and join options to be applied to new segments added to the geometry sink. + void SetSegmentFlags([None] D2D1_PATH_SEGMENT vertexFlags) + + + + Starts a new figure at the specified point. + + + If this method is called while a figure is currently in progress, the interface is invalidated and all future methods will fail. + + The point at which to begin the new figure. + Whether the new figure should be hollow or filled. + void BeginFigure([None] D2D1_POINT_2F startPoint,[None] D2D1_FIGURE_BEGIN figureBegin) + + + + Creates a sequence of lines using the specified points and adds them to the geometry sink. + + A pointer to an array of one or more points that describe the lines to draw. A line is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by {{BeginFigure}}) to the first point in the array. if the array contains additional points, a line is drawn from the first point to the second point in the array, from the second point to the third point, and so on. + void AddLines([In, Buffer] const D2D1_POINT_2F* points,[None] UINT pointsCount) + + + + Creates a sequence of cubic Bezier curves and adds them to the geometry sink. + + A pointer to an array of Bezier segments that describes the Bezier curves to create. A curve is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by {{BeginFigure}}) to the end point of the first Bezier segment in the array. if the array contains additional Bezier segments, each subsequent Bezier segment uses the end point of the preceding Bezier segment as its start point. + void AddBeziers([In, Buffer] const D2D1_BEZIER_SEGMENT* beziers,[None] UINT beziersCount) + + + + Ends the current figure; optionally, closes it. + + + Calling this method without a matching call to {{BeginFigure}} places the geometry sink in an error state; subsequent calls are ignored, and the overall failure will be returned when the {{Close}} method is called. + + A value that indicates whether the current figure is closed. If the figure is closed, a line is drawn between the current point and the start point specified by {{BeginFigure}}. + void EndFigure([None] D2D1_FIGURE_END figureEnd) + + + + Closes the geometry sink, indicates whether it is in an error state, and resets the sink's error state. + + + Do not close the geometry sink while a figure is still in progress; doing so puts the geometry sink in an error state. For the close operation to be successful, there must be one {{EndFigure}} call for each call to {{BeginFigure}}.After calling this method, the geometry sink might not be usable. Direct2D implementations of this interface do not allow the geometry sink to be modified after it is closed, but other implementations might not impose this restriction. + + HRESULT Close() + + + + Creates a line segment between the current point and the specified end point and adds it to the geometry sink. + + The end point of the line to draw. + void AddLine([None] D2D1_POINT_2F point) + + + + Creates a cubic Bezier curve between the current point and the specified endpoint. + + A structure that describes the control points and endpoint of the Bezier curve to add. + void AddBezier([In] const D2D1_BEZIER_SEGMENT* bezier) + + + + Creates a quadratic Bezier curve between the current point and the specified endpoint. + + A structure that describes the control point and the endpoint of the quadratic Bezier curve to add. + void AddQuadraticBezier([In] const D2D1_QUADRATIC_BEZIER_SEGMENT* bezier) + + + + Adds a sequence of quadratic Bezier segments as an array in a single call. + + An array of a sequence of quadratic Bezier segments. + void AddQuadraticBeziers([In, Buffer] const D2D1_QUADRATIC_BEZIER_SEGMENT* beziers,[None] UINT beziersCount) + + + + Adds a single arc to the path geometry. + + The arc segment to add to the figure. + void AddArc([In] const D2D1_ARC_SEGMENT* arc) + + + +

Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.

+
+ +

The interface extends the interface to add support for arcs and quadratic beziers, as well as functions for adding single lines and cubic beziers.

A geometry sink consists of one or more figures. Each figure is made up of one or more line, curve, or arc segments. To create a figure, call the BeginFigure method, specify the figure's start point, and then use its Add methods (such as AddLine and AddBezier) to add segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

+
+ + dd316592 + ID2D1GeometrySink + ID2D1GeometrySink +
+ + +

Describes a geometric path that does not contain quadratic bezier curves or arcs.

+
+ +

A geometry sink consists of one or more figures. Each figure is made up of one or more line or Bezier curve segments. To create a figure, call the BeginFigure method and specify the figure's start point, then use AddLines and AddBeziers to add line and Bezier segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

To create geometry paths that can contain arcs and quadratic Bezier curves, use an .

+
+ + dd316919 + ID2D1SimplifiedGeometrySink + ID2D1SimplifiedGeometrySink +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Specifies the method used to determine which points are inside the geometry described by this geometry sink and which points are outside.

+
+

The method used to determine whether a given point is part of the geometry.

+ +

The fill mode defaults to . To set the fill mode, call SetFillMode before the first call to BeginFigure. Not doing will put the geometry sink in an error state.

+
+ + dd316937 + void ID2D1SimplifiedGeometrySink::SetFillMode([In] D2D1_FILL_MODE fillMode) + ID2D1SimplifiedGeometrySink::SetFillMode +
+ + +

Specifies stroke and join options to be applied to new segments added to the geometry sink.

+
+

Stroke and join options to be applied to new segments added to the geometry sink.

+ +

After this method is called, the specified segment flags are applied to each segment subsequently added to the sink. The segment flags are applied to every additional segment until this method is called again and a different set of segment flags is specified.

+
+ + dd316939 + void ID2D1SimplifiedGeometrySink::SetSegmentFlags([In] D2D1_PATH_SEGMENT vertexFlags) + ID2D1SimplifiedGeometrySink::SetSegmentFlags +
+ + +

Starts a new figure at the specified point.

+
+

The point at which to begin the new figure.

+

Whether the new figure should be hollow or filled.

+ +

If this method is called while a figure is currently in progress, the interface is invalidated and all future methods will fail.

+
+ + dd316929 + void ID2D1SimplifiedGeometrySink::BeginFigure([In] D2D_POINT_2F startPoint,[In] D2D1_FIGURE_BEGIN figureBegin) + ID2D1SimplifiedGeometrySink::BeginFigure +
+ + +

Creates a sequence of lines using the specified points and adds them to the geometry sink.

+
+

A reference to an array of one or more points that describe the lines to draw. A line is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the first point in the array. if the array contains additional points, a line is drawn from the first point to the second point in the array, from the second point to the third point, and so on.

+

The number of points in the points array.

+ + dd316925 + void ID2D1SimplifiedGeometrySink::AddLines([In, Buffer] const D2D_POINT_2F* points,[In] unsigned int pointsCount) + ID2D1SimplifiedGeometrySink::AddLines +
+ + +

Creates a sequence of cubic Bezier curves and adds them to the geometry sink.

+
+

A reference to an array of Bezier segments that describes the Bezier curves to create. A curve is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the end point of the first Bezier segment in the array. if the array contains additional Bezier segments, each subsequent Bezier segment uses the end point of the preceding Bezier segment as its start point.

+

The number of Bezier segments in the beziers array.

+ + dd316922 + void ID2D1SimplifiedGeometrySink::AddBeziers([In, Buffer] const D2D1_BEZIER_SEGMENT* beziers,[In] unsigned int beziersCount) + ID2D1SimplifiedGeometrySink::AddBeziers +
+ + +

Ends the current figure; optionally, closes it.

+
+

A value that indicates whether the current figure is closed. If the figure is closed, a line is drawn between the current point and the start point specified by BeginFigure.

+ +

Calling this method without a matching call to BeginFigure places the geometry sink in an error state; subsequent calls are ignored, and the overall failure will be returned when the Close method is called.

+
+ + dd316934 + void ID2D1SimplifiedGeometrySink::EndFigure([In] D2D1_FIGURE_END figureEnd) + ID2D1SimplifiedGeometrySink::EndFigure +
+ + +

Closes the geometry sink, indicates whether it is in an error state, and resets the sink's error state.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ +

Do not close the geometry sink while a figure is still in progress; doing so puts the geometry sink in an error state. For the close operation to be successful, there must be one EndFigure call for each call to BeginFigure.

After calling this method, the geometry sink might not be usable. Direct2D implementations of this interface do not allow the geometry sink to be modified after it is closed, but other implementations might not impose this restriction.

+
+ + dd316932 + HRESULT ID2D1SimplifiedGeometrySink::Close() + ID2D1SimplifiedGeometrySink::Close +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Creates a line segment between the current point and the specified end point and adds it to the geometry sink.

+
+

The end point of the line to draw.

+ + dd316604 + void ID2D1GeometrySink::AddLine([In] D2D_POINT_2F point) + ID2D1GeometrySink::AddLine +
+ + +

Creates a cubic Bezier curve between the current point and the specified end point.

+
+

A structure that describes the control points and end point of the Bezier curve to add.

+ + dd316601 + void ID2D1GeometrySink::AddBezier([In] const D2D1_BEZIER_SEGMENT* bezier) + ID2D1GeometrySink::AddBezier +
+ + +

Creates a quadratic Bezier curve between the current point and the specified endpoint.

+
+

A structure that describes the control point and the endpoint of the quadratic Bezier curve to add.

+ + dd316611 + void ID2D1GeometrySink::AddQuadraticBezier([In] const D2D1_QUADRATIC_BEZIER_SEGMENT* bezier) + ID2D1GeometrySink::AddQuadraticBezier +
+ + +

Adds a sequence of quadratic Bezier segments as an array in a single call.

+
+

An array of a sequence of quadratic Bezier segments.

+

A value indicating the number of quadratic Bezier segments in beziers.

+ + dd316608 + void ID2D1GeometrySink::AddQuadraticBeziers([In, Buffer] const D2D1_QUADRATIC_BEZIER_SEGMENT* beziers,[In] unsigned int beziersCount) + ID2D1GeometrySink::AddQuadraticBeziers +
+ + +

Adds a single arc to the path geometry.

+
+

The arc segment to add to the figure.

+ + dd316595 + void ID2D1GeometrySink::AddArc([In] const D2D1_ARC_SEGMENT* arc) + ID2D1GeometrySink::AddArc +
+ + +

Represents the backing store required to render a layer.

+
+ +

To create a layer, call the CreateLayer method of the render target where the layer will be used. To draw to a layer, push the layer to the render target stack by calling the PushLayer method. After you have finished drawing to the layer, call the PopLayer method.

Between PushLayer and PopLayer calls, the layer is in use and cannot be used by another render target.

If the size of the layer is not specified, the corresponding PushLayer call determines the minimum layer size, based on the layer content bounds and the geometric mask. The layer resource can be larger than the size required by PushLayer without any rendering artifacts.

If the size of a layer is specified, or if the layer has been used and the required backing store size as calculated during PushLayer is larger than the layer, then the layer resource is expanded on each axis monotonically to ensure that it is large enough. The layer resource never shrinks in size.

Creating Objects

To create a layer, call the CreateLayer method of the render target where the layer will be used.

A layer is a device-dependent resource: your application should create layers after it initializes the render target with which the layers will be used, and recreate the layers whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371483 + ID2D1Layer + ID2D1Layer +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Gets the size of the layer in device-independent pixels.

+
+

The size of the layer in device-independent pixels.

+ + dd371485 + D2D_SIZE_F ID2D1Layer::GetSize() + ID2D1Layer::GetSize +
+ + + 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. The layer resource is allocated to the minimum size when {{PushLayer}} is called. + + + Regardless of whether a size is initially specified, the layer automatically resizes as needed. + + an instance of + HRESULT CreateLayer([In, Optional] const D2D1_SIZE_F* size,[Out] ID2D1Layer** layer) + + + + 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. + + + Regardless of whether a size is initially specified, the layer automatically resizes as needed. + + an instance of + If (0, 0) is specified, no backing store is created behind the layer resource. The layer resource is allocated to the minimum size when {{PushLayer}} is called. + HRESULT CreateLayer([In, Optional] const D2D1_SIZE_F* size,[Out] ID2D1Layer** layer) + + + +

Gets the size of the layer in device-independent pixels.

+
+ + dd371485 + GetSize + GetSize + D2D_SIZE_F ID2D1Layer::GetSize() +
+ + +

Paints an area with a linear gradient.

+
+ +

An paints an area with a linear gradient along a line between the brush start point and end point. The gradient, defined by the brush , is extruded perpendicular to this line, and then transformed by a brush transform (if specified).

The start point and end point are described in the brush space and are mappped to the render target when the brush is used. Note the starting and ending coordinates are absolute, not relative to the render target size. A value of (0, 0) maps to the upper-left corner of the render target, while a value of (1, 1) maps one pixel diagonally away from (0, 0). If there is a nonidentity brush transform or render target transform, the brush start point and end point are also transformed.

It is possible to specify a gradient axis that does not completely fill the area that is being painted. When this occurs, the , specified by the , determines how the remaining area is painted. +

Creating Objects

To create a linear gradient brush, use the method of the render target on which the brush will be used. The brush can only be used with the render target that created it or with the compatible targets for that render target.

A linear gradient brush is a device-dependent resource: your application should create linear gradient brushes after it initializes the render target with which the brushes will be used, and recreate the brushes whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371488 + ID2D1LinearGradientBrush + ID2D1LinearGradientBrush +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Sets the starting coordinates of the linear gradient in the brush's coordinate space.

+
+

The starting two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371505 + void ID2D1LinearGradientBrush::SetStartPoint([In] D2D_POINT_2F startPoint) + ID2D1LinearGradientBrush::SetStartPoint +
+ + +

Sets the ending coordinates of the linear gradient in the brush's coordinate space.

+
+

The ending two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371501 + void ID2D1LinearGradientBrush::SetEndPoint([In] D2D_POINT_2F endPoint) + ID2D1LinearGradientBrush::SetEndPoint +
+ + +

Retrieves the starting coordinates of the linear gradient.

+
+

The starting two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371497 + D2D_POINT_2F ID2D1LinearGradientBrush::GetStartPoint() + ID2D1LinearGradientBrush::GetStartPoint +
+ + +

Retrieves the ending coordinates of the linear gradient.

+
+

The ending two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371492 + D2D_POINT_2F ID2D1LinearGradientBrush::GetEndPoint() + ID2D1LinearGradientBrush::GetEndPoint +
+ + +

Retrieves the associated with this linear gradient brush.

+
+ No documentation. + +

contains an array of structures and information, such as the extend mode and the color interpolation mode.

+
+ + dd371496 + void ID2D1LinearGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) + ID2D1LinearGradientBrush::GetGradientStopCollection +
+ + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The start and end points of the gradient. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient line. + HRESULT CreateLinearGradientBrush([In] const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1LinearGradientBrush** linearGradientBrush) + + + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The start and end points of the gradient. + The transform and base opacity of the new brush, or NULL. If this value is NULL, the brush defaults to a base opacity of 1.0f and the identity matrix as its transformation. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient line. + HRESULT CreateLinearGradientBrush([In] const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1LinearGradientBrush** linearGradientBrush) + + + +

Retrieves or sets the starting coordinates of the linear gradient.

+
+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371497 + GetStartPoint / SetStartPoint + GetStartPoint + D2D_POINT_2F ID2D1LinearGradientBrush::GetStartPoint() +
+ + +

Retrieves or sets the ending coordinates of the linear gradient.

+
+ +

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

+
+ + dd371492 + GetEndPoint / SetEndPoint + GetEndPoint + D2D_POINT_2F ID2D1LinearGradientBrush::GetEndPoint() +
+ + +

Retrieves the associated with this linear gradient brush.

+
+ +

contains an array of structures and information, such as the extend mode and the color interpolation mode.

+
+ + dd371496 + GetGradientStopCollection + GetGradientStopCollection + void ID2D1LinearGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) +
+ + +

Represents a set of vertices that form a list of triangles.

+
+ + Creating Objects

To create a mesh, call the method on the render target with which the mesh will be used. A mesh can only be used with the render target that created it and the render target's compatible targets.

A mesh is a device-dependent resource: your application should create meshes after it initializes the render target with which the meshes will be used, and recreate the meshes whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371508 + ID2D1Mesh + ID2D1Mesh +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Opens the mesh for population.

+
+

When this method returns, contains a reference to a reference to an that is used to populate the mesh. This parameter is passed uninitialized.

+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd371510 + HRESULT ID2D1Mesh::Open([Out] ID2D1TessellationSink** tessellationSink) + ID2D1Mesh::Open +
+ + + Create a mesh that uses triangles to describe a shape. + + + To populate a mesh, use its {{Open}} method to obtain an . To draw the mesh, use the render target's {{FillMesh}} method. + + an instance of + HRESULT CreateMesh([Out] ID2D1Mesh** mesh) + + + + Create a mesh that uses triangles to describe a shape and populates it with triangles. + + an instance of + An array of structures that describe the triangles to add to this mesh. + HRESULT CreateMesh([Out] ID2D1Mesh** mesh) + + + + Opens the mesh for population. + + When this method returns, contains a pointer to a pointer to an that is used to populate the mesh. This parameter is passed uninitialized. + HRESULT Open([Out] ID2D1TessellationSink** tessellationSink) + + + + No documentation. + + + ID2D1Multithread + ID2D1Multithread + + + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + + No documentation. + + No documentation. + + BOOL ID2D1Multithread::GetMultithreadProtected() + ID2D1Multithread::GetMultithreadProtected + + + + No documentation. + + + void ID2D1Multithread::Enter() + ID2D1Multithread::Enter + + + + No documentation. + + + void ID2D1Multithread::Leave() + ID2D1Multithread::Leave + + + + No documentation. + + + GetMultithreadProtected + GetMultithreadProtected + BOOL ID2D1Multithread::GetMultithreadProtected() + + + +

Paints an area with a radial gradient.

+
+ +

The is similar to the in that they both map a collection of gradient stops to a gradient. However, the linear gradient has a start and an end point to define the gradient vector, while the radial gradient uses an ellipse and a gradient origin to define its gradient behavior. To define the position and size of the ellipse, use the SetCenter, SetRadiusX, and SetRadiusY methods to specify the center, x-radius, and y-radius of the ellipse. The gradient origin is the center of the ellipse, unless a gradient offset is specified by using the SetGradientOriginOffset method.

The brush maps the gradient stop position 0.0f of the gradient origin, and the position 1.0f is mapped to the ellipse boundary. When the gradient origin is within the ellipse, the contents of the ellipse enclose the entire [0, 1] range of the brush gradient stops. If the gradient origin is outside the bounds of the ellipse, the brush still works, but its gradient is not well-defined.

The start point and end point are described in the brush space and are mappped to the render target when the brush is used. Note the starting and ending coordinates are absolute, not relative to the render target size. A value of (0, 0) maps to the upper-left corner of the render target, while a value of (1, 1) maps just one pixel diagonally away from (0, 0). If there is a nonidentity brush transform or render target transform, the brush ellipse and gradient origin are also transformed.

It is possible to specify an ellipse that does not completely fill area being painted. When this occurs, the and setting (specified by the brush ) determines how the remaining area is painted. +

Creating Objects

To create a radial gradient brush, use the method of the render target on which the brush will be used. The brush may be used only with the render target that created it or with the compatible targets for that render target.

A radial gradient brush is a device-dependent resource: your application should create radial gradient brushes after it initializes the render target with which the brushes will be used, and recreate the brushes whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

+
+ + dd371529 + ID2D1RadialGradientBrush + ID2D1RadialGradientBrush +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Specifies the center of the gradient ellipse in the brush's coordinate space.

+
+

The center of the gradient ellipse, in the brush's coordinate space.

+ + dd371547 + void ID2D1RadialGradientBrush::SetCenter([In] D2D_POINT_2F center) + ID2D1RadialGradientBrush::SetCenter +
+ + +

Specifies the offset of the gradient origin relative to the gradient ellipse's center.

+
+

The offset of the gradient origin from the center of the gradient ellipse.

+ + dd371550 + void ID2D1RadialGradientBrush::SetGradientOriginOffset([In] D2D_POINT_2F gradientOriginOffset) + ID2D1RadialGradientBrush::SetGradientOriginOffset +
+ + +

Specifies the x-radius of the gradient ellipse, in the brush's coordinate space.

+
+

The x-radius of the gradient ellipse. This value is in the brush's coordinate space.

+ + dd371553 + void ID2D1RadialGradientBrush::SetRadiusX([In] float radiusX) + ID2D1RadialGradientBrush::SetRadiusX +
+ + +

Specifies the y-radius of the gradient ellipse, in the brush's coordinate space.

+
+

The y-radius of the gradient ellipse. This value is in the brush's coordinate space.

+ + dd371557 + void ID2D1RadialGradientBrush::SetRadiusY([In] float radiusY) + ID2D1RadialGradientBrush::SetRadiusY +
+ + +

Retrieves the center of the gradient ellipse.

+
+

The center of the gradient ellipse. This value is expressed in the brush's coordinate space.

+ + dd371532 + D2D_POINT_2F ID2D1RadialGradientBrush::GetCenter() + ID2D1RadialGradientBrush::GetCenter +
+ + +

Retrieves the offset of the gradient origin relative to the gradient ellipse's center.

+
+

The offset of the gradient origin from the center of the gradient ellipse. This value is expressed in the brush's coordinate space.

+ + dd371535 + D2D_POINT_2F ID2D1RadialGradientBrush::GetGradientOriginOffset() + ID2D1RadialGradientBrush::GetGradientOriginOffset +
+ + +

Retrieves the x-radius of the gradient ellipse.

+
+

The x-radius of the gradient ellipse. This value is expressed in the brush's coordinate space.

+ + dd371542 + float ID2D1RadialGradientBrush::GetRadiusX() + ID2D1RadialGradientBrush::GetRadiusX +
+ + +

Retrieves the y-radius of the gradient ellipse.

+
+

The y-radius of the gradient ellipse. This value is expressed in the brush's coordinate space.

+ + dd371544 + float ID2D1RadialGradientBrush::GetRadiusY() + ID2D1RadialGradientBrush::GetRadiusY +
+ + +

Retrieves the associated with this radial gradient brush object.

+
+ No documentation. + +

contains an array of structures and additional information, such as the extend mode and the color interpolation mode.

+
+ + dd371539 + void ID2D1RadialGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) + ID2D1RadialGradientBrush::GetGradientStopCollection +
+ + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. + HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) + + + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. + HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) + + + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. + The transform and base opacity of the new brush, or NULL. If this value is NULL, the brush defaults to a base opacity of 1.0f and the identity matrix as its transformation. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. + HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) + + + + Creates an that contains the specified gradient stops and has the specified transform and base opacity. + + an instance of + The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. + The transform and base opacity of the new brush, or NULL. If this value is NULL, the brush defaults to a base opacity of 1.0f and the identity matrix as its transformation. + A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. + HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) + + + +

Retrieves or sets the center of the gradient ellipse.

+
+ + dd371532 + GetCenter / SetCenter + GetCenter + D2D_POINT_2F ID2D1RadialGradientBrush::GetCenter() +
+ + +

Retrieves or sets the offset of the gradient origin relative to the gradient ellipse's center.

+
+ + dd371535 + GetGradientOriginOffset / SetGradientOriginOffset + GetGradientOriginOffset + D2D_POINT_2F ID2D1RadialGradientBrush::GetGradientOriginOffset() +
+ + +

Retrieves or sets the x-radius of the gradient ellipse.

+
+ + dd371542 + GetRadiusX / SetRadiusX + GetRadiusX + float ID2D1RadialGradientBrush::GetRadiusX() +
+ + +

Retrieves or sets the y-radius of the gradient ellipse.

+
+ + dd371544 + GetRadiusY / SetRadiusY + GetRadiusY + float ID2D1RadialGradientBrush::GetRadiusY() +
+ + +

Retrieves the associated with this radial gradient brush object.

+
+ +

contains an array of structures and additional information, such as the extend mode and the color interpolation mode.

+
+ + dd371539 + GetGradientStopCollection + GetGradientStopCollection + void ID2D1RadialGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) +
+ + +

Describes a two-dimensional rectangle.

+
+ + Creating Objects

To create a rectangle geometry, use the method.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd371561 + ID2D1RectangleGeometry + ID2D1RectangleGeometry +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the rectangle that describes the rectangle geometry's dimensions.

+
+

Contains a reference to a rectangle that describes the rectangle geometry's dimensions when this method returns. You must allocate storage for this parameter.

+ + dd371762 + void ID2D1RectangleGeometry::GetRect([Out] D2D_RECT_F* rect) + ID2D1RectangleGeometry::GetRect +
+ + + Creates an . + + an instance of + The coordinates of the rectangle geometry. + + + +

Retrieves the rectangle that describes the rectangle geometry's dimensions.

+
+ + dd371762 + GetRect + GetRect + void ID2D1RectangleGeometry::GetRect([Out] D2D_RECT_F* rect) +
+ + +

Retrieves a rounded rectangle that describes this rounded rectangle geometry.

+
+ + dd316917 + ID2D1RoundedRectangleGeometry + ID2D1RoundedRectangleGeometry +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves a rounded rectangle that describes this rounded rectangle geometry.

+
+

A reference that receives a rounded rectangle that describes this rounded rectangle geometry. You must allocate storage for this parameter.

+ + dd316917 + void ID2D1RoundedRectangleGeometry::GetRoundedRect([Out] D2D1_ROUNDED_RECT* roundedRect) + ID2D1RoundedRectangleGeometry::GetRoundedRect +
+ + + Creates an . + + an instance of + The coordinates and corner radii of the rounded rectangle geometry. + + + +

Retrieves a rounded rectangle that describes this rounded rectangle geometry.

+
+ + dd316917 + GetRoundedRect + GetRoundedRect + void ID2D1RoundedRectangleGeometry::GetRoundedRect([Out] D2D1_ROUNDED_RECT* roundedRect) +
+ + +

Paints an area with a solid color.

+
+ + Creating Objects

To create a solid color brush, use the method of the render target on which the brush will be used. The brush can only be used with the render target that created it or with the compatible targets for that render target.

A solid color brush is a device-dependent resource. (For more information about resources, see Resources Overview.)

+
+ + dd372207 + ID2D1SolidColorBrush + ID2D1SolidColorBrush +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Specifies the color of this solid-color brush.

+
+

The color of this solid-color brush.

+ +

To help create colors, Direct2D provides the ColorF class. It offers several helper methods for creating colors and provides a set or predefined colors.

+
+ + dd372215 + void ID2D1SolidColorBrush::SetColor([In] const D2D_COLOR_F* color) + ID2D1SolidColorBrush::SetColor +
+ + +

Retrieves the color of the solid color brush.

+
+

The color of this solid color brush.

+ + dd372209 + D2D_COLOR_F ID2D1SolidColorBrush::GetColor() + ID2D1SolidColorBrush::GetColor +
+ + + Creates a new that has the specified color and opacity. + + an instance of + The red, green, blue, and alpha values of the brush's color. + + + + Creates a new that has the specified color and opacity. + + an instance of + The red, green, blue, and alpha values of the brush's color. + The base opacity of the brush. + + + +

Retrieves or sets the color of the solid color brush.

+
+ + dd372209 + GetColor / SetColor + GetColor + D2D_COLOR_F ID2D1SolidColorBrush::GetColor() +
+ + +

Populates an object with triangles.

+
+ + dd372245 + ID2D1TessellationSink + ID2D1TessellationSink +
+ + + Copies the specified triangles to the sink. + + An array of structures that describe the triangles to add to the sink. + void AddTriangles([In, Buffer] const D2D1_TRIANGLE* triangles,[None] UINT trianglesCount) + + + + Closes the sink. + + HRESULT Close() + + + +

Populates an object with triangles.

+
+ + dd372245 + ID2D1TessellationSink + ID2D1TessellationSink +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Copies the specified triangles to the sink.

+
+

An array of structures that describe the triangles to add to the sink.

+

The number of triangles to copy from the triangles array.

+ + dd372248 + void ID2D1TessellationSink::AddTriangles([In, Buffer] const D2D1_TRIANGLE* triangles,[In] unsigned int trianglesCount) + ID2D1TessellationSink::AddTriangles +
+ + +

Closes the sink and returns its error status.

+
+

If this method succeeds, it returns . Otherwise, it returns an error code.

+ + dd372250 + HRESULT ID2D1TessellationSink::Close() + ID2D1TessellationSink::Close +
+ + +

Represents a geometry that has been transformed.

+
+ +

Using an rather than transforming a geometry by using a render target's transform enables you to transform a geometry without transforming its stroke.

Creating Objects

To create an , call the method.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

+
+ + dd372252 + ID2D1TransformedGeometry + ID2D1TransformedGeometry +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Retrieves the source geometry of this transformed geometry object.

+
+

When this method returns, contains a reference to a reference to the source geometry for this transformed geometry object. This parameter is passed uninitialized.

+ + dd372255 + void ID2D1TransformedGeometry::GetSourceGeometry([Out] ID2D1Geometry** sourceGeometry) + ID2D1TransformedGeometry::GetSourceGeometry +
+ + +

Retrieves the matrix used to transform the object's source geometry.

+
+ No documentation. + + dd372256 + void ID2D1TransformedGeometry::GetTransform([Out] D2D_MATRIX_3X2_F* transform) + ID2D1TransformedGeometry::GetTransform +
+ + + Default Constructor for a . + + an instance of + + + + + +

Retrieves the source geometry of this transformed geometry object.

+
+ + dd372255 + GetSourceGeometry + GetSourceGeometry + void ID2D1TransformedGeometry::GetSourceGeometry([Out] ID2D1Geometry** sourceGeometry) +
+ + +

Retrieves the matrix used to transform the object's source geometry.

+
+ + dd372256 + GetTransform + GetTransform + void ID2D1TransformedGeometry::GetTransform([Out] D2D_MATRIX_3X2_F* transform) +
+ + +

Renders drawing instructions to a window.

+
+ +

As is the case with other render targets, you must call BeginDraw before issuing drawing commands. After you've finished drawing, call EndDraw to indicate that drawing is finished and to release access to the buffer backing the render target. For , the only side effect of BeginDraw is changing the state of the render target to allow drawing commands to be issued. EndDraw flushes any batched drawing commands. If no errors have occurred, then it also presents the buffer, causing it to appear on the associated window. Finally, EndDraw returns the of the first error that occurred in drawing or presenting, as well as the tag state at the time the error occurred.

objects are double buffered, so drawing commands issued do not appear immediately, but rather are performed on an offscreen surface. When EndDraw is called, if there have been no rendering errors, the offscreen buffer is presented. If there have been rendering errors in the batch flushed by EndDraw, then the buffer is not presented, and the application must call BeginDraw and re-draw the frame. Flush can be used to check for errors before calling EndDraw if an application wants the frame to be presented regardless of errors.

A hardware render target's back-buffer is the size specified by GetPixelSize. If EndDraw presents the buffer, this bitmap is stretched to cover the surface where it is presented: the entire client area of the window. This stretch is performed using bilinear filtering if the render target is rendering in hardware and using nearest-neighbor filtering if the rendering target is using software. (Typically, an application will call Resize to ensure the pixel size of the render target and the pixel size of the destination match, and no scaling is necessary, though this is not a requirement.)

In the case where a window straddles adapters, Direct2D ensures that the portion of the off-screen render target is copied from the adapter where rendering is occurring to the adapter that needs to display the contents. If the adapter a render target is on has been removed or the driver upgraded while the application is running, this is returned as an error in the EndDraw call. In this case, the application should create a new render target and resources as necessary. +

Creating Objects

To create an , use the method.

Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

+
+ + dd371461 + ID2D1HwndRenderTarget + ID2D1HwndRenderTarget +
+ + + Initializes a new instance of the class. + + The native pointer. + + + + Performs an explicit conversion from to . (This method is a shortcut to ) + + The native pointer. + + The result of the conversion. + + + + +

Indicates whether the associated with this render target is occluded.

+
+

A value that indicates whether the associated with this render target is occluded.

+ +

Note??If the window was occluded the last time that EndDraw was called, the next time that the render target calls CheckWindowState, it will return regardless of the current window state. If you want to use CheckWindowState to determine the current window state, you should call CheckWindowState after every EndDraw call and ignore its return value. This call will ensure that your next call to CheckWindowState state will return the actual window state.

+
+ + dd371466 + D2D1_WINDOW_STATE ID2D1HwndRenderTarget::CheckWindowState() + ID2D1HwndRenderTarget::CheckWindowState +
+ + + Changes the size of the render target to the specified pixel size.Overload list + + No documentation. + No documentation. + +

After this method is called, the contents of the render target's back-buffer are not defined, even if the option was specified when the render target was created.

+
+ + dd742774 + HRESULT ID2D1HwndRenderTarget::Resize([In] const D2D_SIZE_U* pixelSize) + ID2D1HwndRenderTarget::Resize +
+ + +

Returns the associated with this render target.

+
+

The associated with this render target.

+ + dd371470 + HWND ID2D1HwndRenderTarget::GetHwnd() + ID2D1HwndRenderTarget::GetHwnd +
+ + + Creates an , a render target that renders to a window. + + + When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the {{D2DERR_RECREATE_TARGET}} error is received. When you receive this error, you need to recreate the render target (and any resources it created). + + an instance of + The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. + The window handle, initial size (in pixels), and present options. + + + +

Returns the associated with this render target.

+
+ + dd371470 + GetHwnd + GetHwnd + HWND ID2D1HwndRenderTarget::GetHwnd() +
+ + +

Describes an elliptical arc between two points.

+
+ + dd368065 + D2D1_ARC_SEGMENT + D2D1_ARC_SEGMENT +
+ + +

The end point of the arc.

+
+ + dd368065 + D2D_POINT_2F point + D2D_POINT_2F point +
+ + +

The x-radius and y-radius of the arc.

+
+ + dd368065 + D2D_SIZE_F size + D2D_SIZE_F size +
+ + +

A value that specifies how many degrees in the clockwise direction the ellipse is rotated relative to the current coordinate system.

+
+ + dd368065 + float rotationAngle + float rotationAngle +
+ + +

A value that specifies whether the arc sweep is clockwise or counterclockwise.

+
+ + dd368065 + D2D1_SWEEP_DIRECTION sweepDirection + D2D1_SWEEP_DIRECTION sweepDirection +
+ + +

A value that specifies whether the given arc is larger than 180 degrees.

+
+ + dd368065 + D2D1_ARC_SIZE arcSize + D2D1_ARC_SIZE arcSize +
+ + +

Represents a cubic bezier segment drawn between two points.

+
+ +

A cubic Bezier curve is defined by four points: a start point, an end point (point3), and two control points (point1 and point2). A Bezier segment does not contain a property for the starting point of the curve; it defines only the end point. The beginning point of the curve is the current point of the path to which the Bezier curve is added.

The two control points of a cubic Bezier curve behave like magnets, attracting portions of what would otherwise be a straight line toward themselves and producing a curve. The first control point, point1, affects the beginning portion of the curve; the second control point, point2, affects the ending portion of the curve.

Note??The curve doesn't necessarily pass through either of the control points; each control point moves its portion of the line toward itself, but not through itself.

+
+ + dd368070 + D2D1_BEZIER_SEGMENT + D2D1_BEZIER_SEGMENT +
+ + +

The first control point for the Bezier segment.

+
+ + dd368070 + D2D_POINT_2F point1 + D2D_POINT_2F point1 +
+ + +

The second control point for the Bezier segment.

+
+ + dd368070 + D2D_POINT_2F point2 + D2D_POINT_2F point2 +
+ + +

The end point for the Bezier segment.

+
+ + dd368070 + D2D_POINT_2F point3 + D2D_POINT_2F point3 +
+ + +

Describes the extend modes and the interpolation mode of an .

+
+ + dd368071 + D2D1_BITMAP_BRUSH_PROPERTIES + D2D1_BITMAP_BRUSH_PROPERTIES +
+ + + No documentation. + + + D2D1_EXTEND_MODE extendModeX + D2D1_EXTEND_MODE extendModeX + + + + No documentation. + + + D2D1_EXTEND_MODE extendModeY + D2D1_EXTEND_MODE extendModeY + + + + No documentation. + + + D2D1_BITMAP_INTERPOLATION_MODE interpolationMode + D2D1_BITMAP_INTERPOLATION_MODE interpolationMode + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Describes the extend modes and the interpolation mode of an .

+
+ + hh847943 + D2D1_BITMAP_BRUSH_PROPERTIES1 + D2D1_BITMAP_BRUSH_PROPERTIES1 +
+ + + No documentation. + + + D2D1_EXTEND_MODE extendModeX + D2D1_EXTEND_MODE extendModeX + + + + No documentation. + + + D2D1_EXTEND_MODE extendModeY + D2D1_EXTEND_MODE extendModeY + + + + No documentation. + + + D2D1_INTERPOLATION_MODE interpolationMode + D2D1_INTERPOLATION_MODE interpolationMode + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Defines a blend description to be used in a particular blend transform.

+
+ + hh404277 + D2D1_BLEND_DESCRIPTION + D2D1_BLEND_DESCRIPTION +
+ + +

Specifies the first RGB data source and includes an optional preblend operation.

+
+ + hh404277 + D2D1_BLEND sourceBlend + D2D1_BLEND sourceBlend +
+ + +

Specifies the second RGB data source and includes an optional preblend operation.

+
+ + hh404277 + D2D1_BLEND destinationBlend + D2D1_BLEND destinationBlend +
+ + +

Specifies how to combine the RGB data sources.

+
+ + hh404277 + D2D1_BLEND_OPERATION blendOperation + D2D1_BLEND_OPERATION blendOperation +
+ + +

Specifies the first alpha data source and includes an optional preblend operation. Blend options that end in _COLOR are not allowed.

+
+ + hh404277 + D2D1_BLEND sourceBlendAlpha + D2D1_BLEND sourceBlendAlpha +
+ + +

Specifies the second alpha data source and includes an optional preblend operation. Blend options that end in _COLOR are not allowed.

+
+ + hh404277 + D2D1_BLEND destinationBlendAlpha + D2D1_BLEND destinationBlendAlpha +
+ + +

Specifies how to combine the alpha data sources.

+
+ + hh404277 + D2D1_BLEND_OPERATION blendOperationAlpha + D2D1_BLEND_OPERATION blendOperationAlpha +
+ + +

Parameters to the blend operations. The blend must use for this to be used.

+
+ + hh404277 + SHARPDX_COLOR4 blendFactor + SHARPDX_COLOR4 blendFactor +
+ + +

Describes the opacity and transformation of a brush.

+
+ +

This structure is used when creating a brush. For convenience, Direct2D provides the D2D1::BrushProperties function for creating structures.

After creating a brush, you can change its opacity or transform by calling the SetOpacity or SetTransform methods.

+
+ + dd368077 + D2D1_BRUSH_PROPERTIES + D2D1_BRUSH_PROPERTIES +
+ + +

A value between 0.0f and 1.0f, inclusive, that specifies the degree of opacity of the brush.

+
+ + dd368077 + float opacity + float opacity +
+ + +

The transformation that is applied to the brush.

+
+ + dd368077 + D2D_MATRIX_3X2_F transform + D2D_MATRIX_3X2_F transform +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Describes root-level creation details.

+
+ + hh404298 + D2D1_CREATION_PROPERTIES + D2D1_CREATION_PROPERTIES +
+ + +

The threading mode with which the corresponding root objects will be created.

+
+ + hh404298 + D2D1_THREADING_MODE threadingMode + D2D1_THREADING_MODE threadingMode +
+ + +

The debug level that the root objects should be created with.

+
+ + hh404298 + D2D1_DEBUG_LEVEL debugLevel + D2D1_DEBUG_LEVEL debugLevel +
+ + +

The device context options that the root objects should be created with.

+
+ + hh404298 + D2D1_DEVICE_CONTEXT_OPTIONS options + D2D1_DEVICE_CONTEXT_OPTIONS options +
+ + +

Describes the drawing state of a render target.

+
+ + dd368093 + D2D1_DRAWING_STATE_DESCRIPTION + D2D1_DRAWING_STATE_DESCRIPTION +
+ + +

The antialiasing mode for subsequent nontext drawing operations.

+
+ + dd368093 + D2D1_ANTIALIAS_MODE antialiasMode + D2D1_ANTIALIAS_MODE antialiasMode +
+ + +

The antialiasing mode for subsequent text and glyph drawing operations.

+
+ + dd368093 + D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode + D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode +
+ + +

A label for subsequent drawing operations.

+
+ + dd368093 + unsigned longlong tag1 + unsigned longlong tag1 +
+ + +

A label for subsequent drawing operations.

+
+ + dd368093 + unsigned longlong tag2 + unsigned longlong tag2 +
+ + +

The transformation to apply to subsequent drawing operations.

+
+ + dd368093 + D2D_MATRIX_3X2_F transform + D2D_MATRIX_3X2_F transform +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Describes the drawing state of a render target.

+
+ + hh847946 + D2D1_DRAWING_STATE_DESCRIPTION1 + D2D1_DRAWING_STATE_DESCRIPTION1 +
+ + +

The antialiasing mode for subsequent nontext drawing operations.

+
+ + hh847946 + D2D1_ANTIALIAS_MODE antialiasMode + D2D1_ANTIALIAS_MODE antialiasMode +
+ + +

The antialiasing mode for subsequent text and glyph drawing operations.

+
+ + hh847946 + D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode + D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode +
+ + +

A label for subsequent drawing operations.

+
+ + hh847946 + unsigned longlong tag1 + unsigned longlong tag1 +
+ + +

A label for subsequent drawing operations.

+
+ + hh847946 + unsigned longlong tag2 + unsigned longlong tag2 +
+ + +

The transformation to apply to subsequent drawing operations.

+
+ + hh847946 + D2D_MATRIX_3X2_F transform + D2D_MATRIX_3X2_F transform +
+ + +

The blend mode for the device context to apply to subsequent drawing operations.

+
+ + hh847946 + D2D1_PRIMITIVE_BLEND primitiveBlend + D2D1_PRIMITIVE_BLEND primitiveBlend +
+ + +

+
+ + hh847946 + D2D1_UNIT_MODE unitMode + D2D1_UNIT_MODE unitMode +
+ + +

Contains the debugging level of an object.

+
+ +

To enable debugging, you must install the Direct2D Debug Layer.

+
+ + dd368102 + D2D1_FACTORY_OPTIONS + D2D1_FACTORY_OPTIONS +
+ + + No documentation. + + + D2D1_DEBUG_LEVEL debugLevel + D2D1_DEBUG_LEVEL debugLevel + + + +

Applies to: desktop apps only

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.

+
+ + dd368185 + D2D1_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS + D2D1_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS +
+ + +

The x-coordinate of the upper-left corner of the rectangle.

+
+ + dd368185 + BOOL computeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x + BOOL computeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x +
+ + +

Applies to: desktop apps only

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.

+
+ + dd368185 + D2D1_FEATURE_DATA_DOUBLES + D2D1_FEATURE_DATA_DOUBLES +
+ + +

The x-coordinate of the upper-left corner of the rectangle.

+
+ + dd368185 + BOOL doublePrecisionFloatShaderOps + BOOL doublePrecisionFloatShaderOps +
+ + +

Contains the position and color of a gradient stop.

+
+ +

Gradient stops can be specified in any order if they are at different positions. Two stops may share a position. In this case, the first stop specified is treated as the "low" stop (nearer 0.0f) and subsequent stops are treated as "higher" (nearer 1.0f). This behavior is useful if a caller wants an instant transition in the middle of a stop.

Typically, there are at least two points in a collection, although creation with only one stop is permitted. For example, one point is at position 0.0f, another point is at position 1.0f, and additional points are distributed in the [0, 1] range. Where the gradient progression is beyond the range of [0, 1], the stops are stored, but may affect the gradient.

When drawn, the [0, 1] range of positions is mapped to the brush, in a brush-dependent way. For details, see and .

Gradient stops with a position outside the [0, 1] range cannot be seen explicitly, but they can still affect the colors produced in the [0, 1] range. For example, a two-stop gradient 0.0f, Black}, {2.0f, White is indistinguishable visually from 0.0f, Black}, {1.0f, Mid-level gray. Also, the colors are clamped before interpolation.

+
+ + dd368119 + D2D1_GRADIENT_STOP + D2D1_GRADIENT_STOP +
+ + +

A value that indicates the relative position of the gradient stop in the brush. This value must be in the [0.0f, 1.0f] range if the gradient stop is to be seen explicitly.

+
+ + dd368119 + float position + float position +
+ + +

The color of the gradient stop.

+
+ + dd368119 + D2D_COLOR_F color + D2D_COLOR_F color +
+ + +

Contains the , pixel size, and presentation options for an .

+
+ +

Use this structure when you call the CreateHwndRenderTarget method to create a new .

For convenience, Direct2D provides the D2D1::HwndRenderTargetProperties function for creating new structures.

+
+ + dd368122 + D2D1_HWND_RENDER_TARGET_PROPERTIES + D2D1_HWND_RENDER_TARGET_PROPERTIES +
+ + + No documentation. + + + HWND hwnd + HWND hwnd + + + + No documentation. + + + D2D_SIZE_U pixelSize + D2D_SIZE_U pixelSize + + + + No documentation. + + + D2D1_PRESENT_OPTIONS presentOptions + D2D1_PRESENT_OPTIONS presentOptions + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Describes image brush features.

+
+ + hh404308 + D2D1_IMAGE_BRUSH_PROPERTIES + D2D1_IMAGE_BRUSH_PROPERTIES +
+ + +

The source rectangle in the image space from which the image will be tiled or interpolated.

+
+ + hh404308 + D2D_RECT_F sourceRectangle + D2D_RECT_F sourceRectangle +
+ + +

The extend mode in the image x-axis.

+
+ + hh404308 + D2D1_EXTEND_MODE extendModeX + D2D1_EXTEND_MODE extendModeX +
+ + +

The extend mode in the image y-axis.

+
+ + hh404308 + D2D1_EXTEND_MODE extendModeY + D2D1_EXTEND_MODE extendModeY +
+ + +

The interpolation mode to use when scaling the image brush.

+
+ + hh404308 + D2D1_INTERPOLATION_MODE interpolationMode + D2D1_INTERPOLATION_MODE interpolationMode +
+ + +

Contains the starting point and endpoint of the gradient axis for an .

+
+ +

Use this method when creating new objects with the CreateLinearGradientBrush method. For convenience, Direct2D provides the D2D1::LinearGradientBrushProperties helper function for creating new structures.

The following illustration shows how a linear gradient changes as you change its start and end points. For the first gradient, the start point is set to (0,0) and the end point to (150, 50); this creates a diagonal gradient that starts at the upper-left corner and extends to the lower-right corner of the area being painted. When you set the start point to (0, 25) and the end point to (150, 25), a horizontal gradient is created. Similarly, setting the start point to (75, 0) and the end point to (75, 50) creates a vertical gradient. Setting the start point to (0, 50) and the end point to (150, 0) creates a diagonal gradient that starts at the lower-left corner and extends to the upper-right corner of the area being painted.

+
+ + dd368128 + D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES + D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES +
+ + + No documentation. + + + D2D_POINT_2F startPoint + D2D_POINT_2F startPoint + + + + No documentation. + + + D2D_POINT_2F endPoint + D2D_POINT_2F endPoint + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes features of a rectangle that is mapped to memory.

+
+ +

The mapped rectangle is used to map a rectangle into the caller's address space.

+
+ + hh404314 + D2D1_MAPPED_RECT + D2D1_MAPPED_RECT +
+ + +

The size in bytes of an individual scanline in the bitmap.

+
+ + hh404314 + unsigned int pitch + unsigned int pitch +
+ + +

The data inside the bitmap.

+
+ + hh404314 + unsigned char* bits + unsigned char bits +
+ + +

Contains the data format and alpha mode for a bitmap or render target.

+
+ +

For more information about the pixel formats and alpha modes supported by each render target, see Supported Pixel Formats and Alpha Modes.

+
+ + dd368138 + D2D1_PIXEL_FORMAT + D2D1_PIXEL_FORMAT +
+ + +

A value that specifies the size and arrangement of channels in each pixel.

+
+ + dd368138 + DXGI_FORMAT format + DXGI_FORMAT format +
+ + +

A value that specifies whether the alpha channel is using pre-multiplied alpha, straight alpha, whether it should be ignored and considered opaque, or whether it is unkown.

+
+ + dd368138 + D2D1_ALPHA_MODE alphaMode + D2D1_ALPHA_MODE alphaMode +
+ + + Initializes a new instance of the struct. + + A value that specifies the size and arrangement of channels in each pixel. + A value that specifies whether the alpha channel is using pre-multiplied alpha, straight alpha, whether it should be ignored and considered opaque, or whether it is unknown. + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

Describes a point on a path geometry.

+
+ + hh404318 + D2D1_POINT_DESCRIPTION + D2D1_POINT_DESCRIPTION +
+ + +

The end point after walking the path.

+
+ + hh404318 + D2D_POINT_2F point + D2D_POINT_2F point +
+ + +

A unit vector indicating the tangent point.

+
+ + hh404318 + D2D_POINT_2F unitTangentVector + D2D_POINT_2F unitTangentVector +
+ + +

The index of the segment on which point resides. This index is global to the entire path, not just to a particular figure.

+
+ + hh404318 + unsigned int endSegment + unsigned int endSegment +
+ + +

The index of the figure on which point resides.

+
+ + hh404318 + unsigned int endFigure + unsigned int endFigure +
+ + +

The length of the section of the path stretching from the start of the path to the start of endSegment.

+
+ + hh404318 + float lengthToEndSegment + float lengthToEndSegment +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps only

The creation properties for a object.

+
+ + hh847949 + D2D1_PRINT_CONTROL_PROPERTIES + D2D1_PRINT_CONTROL_PROPERTIES +
+ + + No documentation. + + + D2D1_PRINT_FONT_SUBSET_MODE fontSubset + D2D1_PRINT_FONT_SUBSET_MODE fontSubset + + + + No documentation. + + + float rasterDPI + float rasterDPI + + + + No documentation. + + + D2D1_COLOR_SPACE colorSpace + D2D1_COLOR_SPACE colorSpace + + + +

Contains the control point and end point for a quadratic Bezier segment.

+
+ + dd368147 + D2D1_QUADRATIC_BEZIER_SEGMENT + D2D1_QUADRATIC_BEZIER_SEGMENT +
+ + +

The control point of the quadratic Bezier segment.

+
+ + dd368147 + D2D_POINT_2F point1 + D2D_POINT_2F point1 +
+ + +

The end point of the quadratic Bezier segment.

+
+ + dd368147 + D2D_POINT_2F point2 + D2D_POINT_2F point2 +
+ + +

Contains the gradient origin offset and the size and position of the gradient ellipse for an .

+
+ +

Different values for center, gradientOriginOffset, radiusX and/or radiusY produce different gradients. The following illustration shows several radial gradients that have different gradient origin offsets, creating the appearance of the light illuminating the circles from different angles.

For convenience, Direct2D provides the D2D1::RadialGradientBrushProperties function for creating new D2D1_RADIAL_GRADIENT_BRUSH structures.

+
+ + dd368149 + D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES + D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES +
+ + + No documentation. + + + D2D_POINT_2F center + D2D_POINT_2F center + + + + No documentation. + + + D2D_POINT_2F gradientOriginOffset + D2D_POINT_2F gradientOriginOffset + + + + No documentation. + + + float radiusX + float radiusX + + + + No documentation. + + + float radiusY + float radiusY + + + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes limitations to be applied to an imaging effect renderer.

+
+ +

The renderer can allocate tiles larger than the minimum tile allocation. The allocated tiles will be powers of two of the minimum size on each axis, except that the size on each axis will not exceed the guaranteed maximum texture size for the device feature level.

The minimumPixelRenderExtent is the size of the square tile below which the renderer will expand the tile allocation rather than attempting to subdivide the rendering tile any further. When this threshold is reached, the allocation tile size is expanded. This might occur repeatedly until rendering can either proceed or it is determined that the graph cannot be rendered.

The buffer precision is used for intermediate buffers if it is otherwise unspecified by the effects or the internal effect topology. The application can also use the Output.BufferPrecision method to specify the output precision for a particular effect. This takes precedence over the context precision. In addition, the effect might set a different precision internally if required. If the buffer type on the context is and otherwise not specified by the effect or transform, the precision of the output will be the maximum precision of the inputs to the transform. The buffer precision does not affect the number of channels used.

+
+ + hh404322 + D2D1_RENDERING_CONTROLS + D2D1_RENDERING_CONTROLS +
+ + +

The buffer precision used by default if the buffer precision is not otherwise specified by the effect or the transform.

+
+ + hh404322 + D2D1_BUFFER_PRECISION bufferPrecision + D2D1_BUFFER_PRECISION bufferPrecision +
+ + +

The tile allocation size to be used by the imaging effect renderer.

+
+ + hh404322 + D2D_SIZE_U tileSize + D2D_SIZE_U tileSize +
+ + +

Contains rendering options (hardware or software), pixel format, DPI information, remoting options, and Direct3D support requirements for a render target.

+
+ +

Use this structure when creating a render target, or use it with the method to check the properties supported by an existing render target.

As a convenience, Direct2D provides the D2D1::RenderTargetProperties helper function for creating structures. An easy way to create a structure that works for most render targets is to call the function without specifying any parameters. Doing so creates a structure that has its fields set to default values. For more information, see D2D1::RenderTargetProperties.

Not all render targets support hardware rendering. For a list, see the Render Targets Overview.

Using Default DPI Settings

To use the default DPI, set dpiX and dpiY to 0. The default DPI varies depending on the render target:

  • For a compatible render target, the default DPI is the DPI of the parent render target.
  • For a , the default DPI is the system DPI obtained from the render target's .
  • For other render targets, the default DPI is 96.

To use the default DPI setting, both dpiX and dpiY must be set to 0. Setting only one value to 0 causes an E_INVALIDARG error when attempting to create a render target.

+
+ + dd368155 + D2D1_RENDER_TARGET_PROPERTIES + D2D1_RENDER_TARGET_PROPERTIES +
+ + +

A value that specifies whether the render target should force hardware or software rendering. A value of specifies that the render target should use hardware rendering if it is available; otherwise, it uses software rendering. Note that WIC bitmap render targets do not support hardware rendering.

+
+ + dd368155 + D2D1_RENDER_TARGET_TYPE type + D2D1_RENDER_TARGET_TYPE type +
+ + +

The pixel format and alpha mode of the render target. You can use the D2D1::PixelFormat function to create a pixel format that specifies that Direct2D should select the pixel format and alpha mode for you. For a list of pixel formats and alpha modes supported by each render target, see Supported Pixel Formats and Alpha Modes.

+
+ + dd368155 + D2D1_PIXEL_FORMAT pixelFormat + D2D1_PIXEL_FORMAT pixelFormat +
+ + +

The horizontal DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section.

+
+ + dd368155 + float dpiX + float dpiX +
+ + +

The vertical DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section.

+
+ + dd368155 + float dpiY + float dpiY +
+ + +

A value that specifies how the render target is remoted and whether it should be GDI-compatible. Set to to create a render target that is not compatible with GDI and uses Direct3D command-stream remoting if it is available.

+
+ + dd368155 + D2D1_RENDER_TARGET_USAGE usage + D2D1_RENDER_TARGET_USAGE usage +
+ + +

A value that specifies the minimum Direct3D feature level required for hardware rendering. If the specified minimum level is not available, the render target uses software rendering if the type member is set to ; if type is set to to , render target creation fails. A value of indicates that Direct2D should determine whether the Direct3D feature level of the device is adequate. This field is used only when creating and objects.

+
+ + dd368155 + D2D1_FEATURE_LEVEL minLevel + D2D1_FEATURE_LEVEL minLevel +
+ + + Initializes a new instance of the struct. + + The pixel format and alpha mode of the render target. You can use the {{D2D1::PixelFormat}} function to create a pixel format that specifies that Direct2D should select the pixel format and alpha mode for you. For a list of pixel formats and alpha modes supported by each render target, see {{Supported Pixel Formats and Alpha Modes}}. + + + + Initializes a new instance of the struct. + + A value that specifies whether the render target should force hardware or software rendering. A value of specifies that the render target should use hardware rendering if it is available; otherwise, it uses software rendering. Note that WIC bitmap render targets do not support hardware rendering. + The pixel format and alpha mode of the render target. You can use the {{D2D1::PixelFormat}} function to create a pixel format that specifies that Direct2D should select the pixel format and alpha mode for you. For a list of pixel formats and alpha modes supported by each render target, see {{Supported Pixel Formats and Alpha Modes}}. + The horizontal DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section. + The vertical DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section. + A value that specifies how the render target is remoted and whether it should be GDI-compatible. Set to to create a render target that is not compatible with GDI and uses Direct3D command-stream remoting if it is available. + A value that specifies the minimum Direct3D feature level required for hardware rendering. If the specified minimum level is not available, the render target uses software rendering if the type member is set to ; if type is set to to D2D1_RENDER_TARGET_TYPE_HARDWARE, render target creation fails. A value of indicates that Direct2D should determine whether the Direct3D feature level of the device is adequate. This field is used only when creating and objects. + + + +

Contains the dimensions and corner radii of a rounded rectangle.

+
+ +

Each corner of the rectangle specified by the rect is replaced with a quarter ellipse, with a radius in each direction specified by radiusX and radiusY.

If the radiusX is greater than or equal to half the width of the rectangle, and the radiusY is greater than or equal to one-half the height, the rounded rectangle is an ellipse with the same width and height of the rect.

Even when both radiuX and radiusY are zero, the rounded rectangle is different from a rectangle., When stroked, the corners of the rounded rectangle are roundly joined, not mitered (square).

+
+ + dd368158 + D2D1_ROUNDED_RECT + D2D1_ROUNDED_RECT +
+ + +

The coordinates of the rectangle.

+
+ + dd368158 + D2D_RECT_F rect + D2D_RECT_F rect +
+ + +

The x-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.

+
+ + dd368158 + float radiusX + float radiusX +
+ + +

The y-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.

+
+ + dd368158 + float radiusY + float radiusY +
+ + +

Describes the stroke that outlines a shape.

+
+ +

The following illustration shows different dashOffset values for the same custom dash style.

+
+ + dd368164 + D2D1_STROKE_STYLE_PROPERTIES + D2D1_STROKE_STYLE_PROPERTIES +
+ + +

The cap applied to the start of all the open figures in a stroked geometry.

+
+ + dd368164 + D2D1_CAP_STYLE startCap + D2D1_CAP_STYLE startCap +
+ + +

The cap applied to the end of all the open figures in a stroked geometry.

+
+ + dd368164 + D2D1_CAP_STYLE endCap + D2D1_CAP_STYLE endCap +
+ + +

The shape at either end of each dash segment.

+
+ + dd368164 + D2D1_CAP_STYLE dashCap + D2D1_CAP_STYLE dashCap +
+ + +

A value that describes how segments are joined. This value is ignored for a vertex if the segment flags specify that the segment should have a smooth join.

+
+ + dd368164 + D2D1_LINE_JOIN lineJoin + D2D1_LINE_JOIN lineJoin +
+ + +

The limit of the thickness of the join on a mitered corner. This value is always treated as though it is greater than or equal to 1.0f.

+
+ + dd368164 + float miterLimit + float miterLimit +
+ + +

A value that specifies whether the stroke has a dash pattern and, if so, the dash style.

+
+ + dd368164 + D2D1_DASH_STYLE dashStyle + D2D1_DASH_STYLE dashStyle +
+ + +

A value that specifies an offset in the dash sequence. A positive dash offset value shifts the dash pattern, in units of stroke width, toward the start of the stroked geometry. A negative dash offset value shifts the dash pattern, in units of stroke width, toward the end of the stroked geometry.

+
+ + dd368164 + float dashOffset + float dashOffset +
+ + +

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Describes the stroke that outlines a shape.

+
+ + hh404328 + D2D1_STROKE_STYLE_PROPERTIES1 + D2D1_STROKE_STYLE_PROPERTIES1 +
+ + +

The cap to use at the start of each open figure.

+
+ + hh404328 + D2D1_CAP_STYLE startCap + D2D1_CAP_STYLE startCap +
+ + +

The cap to use at the end of each open figure.

+
+ + hh404328 + D2D1_CAP_STYLE endCap + D2D1_CAP_STYLE endCap +
+ + +

The cap to use at the start and end of each dash.

+
+ + hh404328 + D2D1_CAP_STYLE dashCap + D2D1_CAP_STYLE dashCap +
+ + +

The line join to use.

+
+ + hh404328 + D2D1_LINE_JOIN lineJoin + D2D1_LINE_JOIN lineJoin +
+ + +

The limit beyond which miters are either clamped or converted to bevels.

+
+ + hh404328 + float miterLimit + float miterLimit +
+ + +

The type of dash to use.

+
+ + hh404328 + D2D1_DASH_STYLE dashStyle + D2D1_DASH_STYLE dashStyle +
+ + +

The location of the first dash, relative to the start of the figure.

+
+ + hh404328 + float dashOffset + float dashOffset +
+ + +

The rule that determines what render target properties affect the nib of the stroke.

+
+ + hh404328 + D2D1_STROKE_TRANSFORM_TYPE transformType + D2D1_STROKE_TRANSFORM_TYPE transformType +
+ + +

Contains the three vertices that describe a triangle.

+
+ + dd368172 + D2D1_TRIANGLE + D2D1_TRIANGLE +
+ + +

The first vertex of a triangle.

+
+ + dd368172 + D2D_POINT_2F point1 + D2D_POINT_2F point1 +
+ + +

The second vertex of a triangle.

+
+ + dd368172 + D2D_POINT_2F point2 + D2D_POINT_2F point2 +
+ + +

The third vertex of a triangle.

+
+ + dd368172 + D2D_POINT_2F point3 + D2D_POINT_2F point3 +
+ + + Internal GeometrySink Callback + + + + + Internal SimplifiedGeometrySink Callback + + + + + Return a pointer to the unmanaged version of this callback. + + The callback. + A pointer to a shadow c++ callback + + + + Get a native callback pointer from a managed callback. + + The geometry sink. + A pointer to the unmanaged geometry sink counterpart + + + + Internal TessellationSink Callback + + + + + Get a native callback pointer from a managed callback. + + The geometry sink. + A pointer to the unmanaged geometry sink counterpart + + + + BitmapEncoderOptions used for encoding. + + + + + Initializes a new instance of the class. + + The property bag pointer. + + + + Gets or sets the image quality. + + + The image quality. + + + Range value: 0-1.0f + Applicable Codecs: JPEG, HDPhoto + + + + + Gets or sets the compression quality. + + + The compression quality. + + + Range value: 0-1.0f + Applicable Codecs: TIFF + + + + + Gets or sets a value indicating whether loss less compression is enabled. + + + true if [loss less]; otherwise, false. + + + Range value: true-false + Applicable Codecs: HDPhoto + + + + + Gets or sets the bitmap transform. + + + The bitmap transform. + + + Range value: + Applicable Codecs: JPEG + + + + + Gets or sets a value indicating whether [interlace option]. + + + true if [interlace option]; otherwise, false. + + + Range value: true-false + Applicable Codecs: PNG + + + + + Gets or sets the filter option. + + + The filter option. + + + Range value: + Applicable Codecs: PNG + + + + + Gets or sets the TIFF compression method. + + + The TIFF compression method. + + + Range value: + Applicable Codecs: TIFF + + + + + Gets or sets the luminance. + + + The luminance. + + + Range value: 64 Entries (DCT) + Applicable Codecs: JPEG + + + + + Gets or sets the chrominance. + + + The chrominance. + + + Range value: 64 Entries (DCT) + Applicable Codecs: JPEG + + + + + Gets or sets the JPEG Y Cr Cb subsampling. + + + The JPEG Y Cr Cb subsampling. + + + Range value: + Applicable Codecs: JPEG + + + + + Gets or sets a value indicating whether [suppress app0]. + + + true if [suppress app0]; otherwise, false. + + + Range value: true-false + Applicable Codecs: JPEG + + + + + Bmp bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Bmp bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Gif bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Gif bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Tiff bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Tiff bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + The namespace provides a managed WIC API. + + ee719902 + WIC + WIC + + + + Png bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Png bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Tiff bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + Tiff bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Wmp bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + + + + WMP bitmap encoder using initialized with default guid . + + + + + Initializes a new instance of the class. + + The native PTR. + + + + Initializes a new instance of the class. + + The factory. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The output stream. + + + + Initializes a new instance of the class. + + The factory. + The GUID vendor ref. + The output stream. + +
+
diff --git a/packages/repositories.config b/packages/repositories.config new file mode 100644 index 00000000000..c3ec62a63cd --- /dev/null +++ b/packages/repositories.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file